イチから全部作ってみよう(1)ソフトウェア開発の大まかな流れを把握する:山浦恒央の“くみこみ”な話(170)(1/3 ページ)
ECサイトを題材にソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」がスタート。シリーズ第1回は、イントロダクションとしてソフトウェア開発の大まかな流れを説明する。
1.はじめに
前回まで、16回にわたり「業務効率化の道具箱」と題して、業務効率化に関するトピックを取り上げました。少しでも皆さんの業務改善の役に立っていれば幸いです。
今回からは新シリーズ「イチから全部作ってみよう」が始まります。筆者が実際に関わってきたECサイトを題材として、入門者向けに、企画の立案、要求仕様書の作成、設計、コーディング、デバッグ、テスト、保守(新機能の追加を含む)まで、プログラマーとしてソフトウェア開発の全工程を学びながら、実際に体験もできるようにします。
さらにはその続編として、このソフトウェア開発をプロジェクトマネジャーとして関わる場合に、何をどのように立案、計画、制御すべきかについても触れます。
2.テーマ選定のきっかけ
情報技術の発達によって、私たちの暮らしは劇的に変化しました。一昔前、欲しい商品を購入するときは、電車やバスを乗り継いで店舗まで行って購入することが一般的でした。いつもと違う電車やバスに乗る非日常的な感覚は、ちょっとした旅行の趣(おもむき)がありましたが、時間効率を重視する今ではインターネット経由で購入することも多くなりました。
情報通信系の技術が急激に発達する中、ソフトウェア開発系のエンジニアを目指す人が増えています。筆者は、情報系の大学で講義をしているのですが、学生が、ソフトウェア技術者の業務に対して少し誤解しているのではないかと感じています。よくあるのが、「ソフトウェア開発の主な業務はプログラミング」と考えていることです。
皆さんもご存じの通り、企業でのソフトウェア開発の仕事は多岐にわたります。例えば、ソフトウェア開発技術者は、プログラムの設計図となる要求仕様書を作ったり、プログラムが意図した通りに動作するかを確かめるテストをしたりします。プロジェクト管理者の業務は、ソフトウェア開発の「安い、うまい、早い」のコントロール、すなわち、開発コスト、品質、スケジュールを管理することですが、開発に要する技術者の人数、年月、コストを正確に見積もれないと、会社は瞬時に倒産します。
大学などの教育現場では、PCの操作、プログラミング、ネットワークなどの「何を使って作るか」に着目しており、「どのように作るか」という視点が欠落しています。その結果、自分や友人が作ったソースコードの良しあしで一喜一憂しているように感じます。
最もよくある例が、「プログラミング系教科の点数が低いから自分はエンジニアに向いていない」というものです。プログラミング技術は、ソフトウェア開発工程のごく一部でしかありません。そんなことで諦めてほしくないと思っています(もちろん、できる方がいいでしょうが……)。逆に、「50ステップ程度のソースコードをバグなしで10分で作る能力」は、ソフトウェアを工学的に開発する能力とは一致しません。
今回、学生のような入門者をターゲットとして、学校の授業ではカバーしきれないソフトウェア開発の一連の流れを、実際に成果物を作成しながら解説したいと考えました※1)。
※1)中には、プログラミング以外のソフトウェアの開発の流れを学習する学校もあります。例えば、ソフトウェア工学の授業で開発工程を学んだり、PBL(ProjECt Based Learning)というプロジェクトベースの開発教育を行っていたりするケースもあります。
3.シリーズの対象読者
本シリーズは、本流である学校やスクールの授業の副教材的な位置付けで、これからソフトウェア開発関連を実戦的に勉強したい人を対象にしています。例えば、下記の人が対象です。
- 情報処理系学科の学部生
- ソフトウェア業界に興味がある他業種の人
逆に、実務経験者の方にとっては非常に物足りないと感じるでしょう。その場合は、「実際はこうなんだけどね……」とコメントやツッコミを入れてもらえればと思います。
シリーズの第1回は、イントロダクションとしてソフトウェア開発の全体の流れを説明します。
Copyright © ITmedia, Inc. All Rights Reserved.