インターネットと経営/ソフトウェア開発工程
提供: Internet Web School
UNIQ213d487061619acd-MathJax-2-QINU2 による版
インターネットと経営 > ソフトウェア開発工程
目次 |
概要
ソフトウェア開発工程(Software Development Process)とは,ソフトウェア製品の開発の構造を意味する. ソフトウェアライフサイクル,ソフトウェア開発プロセス,ソフトウェアプロセスもほぼ同義語である. 開発工程にはいくつかのモデルがあり,開発工程内の各種タスク・活動のための手法を提案している [w1] .
開発工程
- ソフトウェア製品を作るにあたっての最初のタスクは要求を引き出す・集めることである。顧客はソフトウェアに何をさせたいのかを知っているものである。しかし、その要求は不完全だったり、曖昧だったり、互いに矛盾していたりする。経験をつんだソフトウェア技術者はそれを聞き出して一貫性のある要求仕様に纏め上げる。
- 仕様記述は可能な限り厳密な方法で開発すべきソフトウェアを正確に記述するタスクである。安全性が重要なソフトウェアシステムでは、開発に先駆けて仕様記述を注意深く行うが、実際に最も成功している仕様記述とは、既存のアプリケーションを理解して改善するために書かれるものであろう。安定していなければならない外部インターフェイスにとって仕様記述は最も重要である。
- ソフトウェアシステムのアーキテクチャとは、システムを抽象的に表現したものである。アーキテクチャはソフトウェアシステムが製品として要求に適合しているかを検証するのに使用される他、将来の追加要求に応えるためにも使用される。アーキテクチャ作成段階ではソフトウェアシステム間や他のソフトウェア製品間のインターフェイスも規定し、ハードウェアやオペレーティングシステムも規定する。
- 設計からコードを作成する段階はソフトウェア開発において最も明白な工程であるが、必ずしも最大の工程とは限らない。
- 特に複数の技術者が開発したコードを結合して行う評価はソフトウェア技術者が行う。
- ソフトウェアの内部設計を文書化するタスクは重要だが、しばしば見過ごされている。これは将来の保守と改良に使用される。文書化は外部インターフェイスにとっては最も重要である。
トレーニングとサポート
- ソフトウェアプロジェクトの失敗の最大の要因は、そのソフトウェアを最終的に使用する人の育成を全く考えていないことにある。人々は不慣れな環境や領域に進むことには抵抗を示すものである。従ってソフトウェアを配備する段階では、実際にそのソフトウェアを使用する人を対象にトレーニングを行うことが重要である。また、実際に使ってみることでユーザーから問題点や疑問点が多数上げられてくる。それらが次のソフトウェアの開発への入力となる。
- ソフトウェアの保守と改良は初期の開発よりも長期に渡り、手間もかかる。本来の設計になじまないコードを追加しなければならなくなるだけでなく、既存のソフトウェアがどう動作しているのかを理解するだけでも多大な労力を必要とする。ソフトウェア開発の3分の2は保守作業であると言われているが、この統計は誤解を生みやすい。バグの修正は保守作業のほんの一部である。保守作業の大部分は既存のソフトウェアに新たな機能を組み込むことであり、それは別の新たな開発とみなされることが多い。同様に土木/建築でも保守作業が全体の3分の2を占めると言われている。
sectionタイトル
subsectionタイトル
subsectionタイトル
sectionタイトル
subsectionタイトル
subsectionタイトル
参考文献
- [r1] 『アジャイル開発』NEC情報システムズ.
- [r2] Ken Schwaber, Jeff Sutherland : Scrum.
- [r3] The new new product development game.
関連項目
- [w1] ソフトウェア開発工程 (Wikipedia)
- アジャイルソフトウェア開発 (Wikipedia)
- ウォーターフォール・モデル (Wikipedia)
- ソフトウェア要求分析 (Wikipedia)
- 仕様記述 (Wikipedia)
- ソフトウェアアーキテクチャ (Wikipedia)
- 実装 (Wikipedia)