あどみちゃんが新社会人へ送る“5つの超常識”特別企画 超常識シリーズ(4/6 ページ)

» 2008年03月28日 12時00分 公開
[構成:@IT情報マネジメント編集部, イラスト:カトウナオコ,@IT]

超常識その3:ソフトウェア開発の基本的な流れを知ろう

 米国で生まれた標準的な開発プロセス「Unified Process」(UP)を参考に、ソフトウェア開発の流れを簡単に説明します。

 「イテレーション」と「フェイズ」という2つの概念の組み合わせがUPの最大の特徴です。

 これにより、反復的で漸進(ぜんしん)的な工程管理が可能となりました。つまり、小さく始めて、少しずつ育てながら大きなものを着実に作りましょうということです。

 1回の反復期間は2〜6週間が基本とされています。この間に開発者は5段階のワークフローをこなします。すなわち、

要求(requirement) システムに対する要求定義を作成
分析(analysis) システムの基本構成を分析
設計(design) 動作環境に依存したシステムの構成を設計
実装(implementation) プログラミングなどによる実装
テスト(test) 成果物に対するテスト

です。

 上記の5段階のステップを踏めば、ソフトウェアを開発することができます。この5つのステップを何回も繰り返すことで、機能を豊富にしていくというのが「反復」の意味です。

 UPにはさらに、反復する開発作業の指針も定めています。それが以下の4つです。

  • 方向付け(inception):開発の可否を判断するためのフェイズ開発の可否を判断するためのフェイズ
  • 推敲(elaboration):アーキテクチャを定めるためのフェイズアーキテクチャを定めるためのフェイズ
  • 作成(construction):システムが提供する機能を作成するためのフェイズシステムが提供する機能を作成するためのフェイズ
  • 移行(transition):システムをリリースするためのフェイズシステムをリリースするためのフェイズ

 あるソフトウェア(あるいは機能)を開発するには、最初に「方向付け」をします。その機能は本当に必要なのかどうかを議論するわけです。その上で、どんなアーキテクチャが最適なのかという「推敲」フェイズを経ます。そして「作成」「移行」というふうに流れます。

 これらの手順を少しずつ積み重ねて、完成品を構築していきます。

 以上、ソフトウェアを開発するための代表的な手順を紹介しました。開発者によっては、5段階のワークフローにあと1つのステップを足して6段階とする人もいます。ソフトウェアの要求を定義する前の段階で「ドメイン分析」をしましょう、ということです。ソフトウェアというのは多くの場合、ある業務の自動化を目指して開発されます。自動化されるべき業務をきちんと分析しなければ、その業務を機能としてソフトウェア化することは困難だからです。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ