ソフトウェアライフサイクルプロセス
ソフトウェアライフサイクルプロセス
IEEE(Institute of Electrical and Electronics Engineers)によれば、ソフトウェアのライフサイクルは「ソフトウェア成果物を何か考えたときにはじまり、ソフトウェアが使えなくなったときに終了する」とされています。ソフトウェア開発ライフサイクルはこのうち保守・運用フェーズを除外したものを指します。
一方、ソフトウェアライフサイクルプロセスの可視化を目的に規定された「共通フレーム98 SLCP-JCF98:ソフトウェアを中心としたシステム開発および取引のための共通フレーム(以下、共通フレーム)」(注1)ではもう少し範囲を広げて、基本構成として図1のように定めています。
図1のように、供給と取得の二者間契約の視点や管理・支援・監査などのプロセスも定義されています。
共通フレームはソフトウェア産業界で「共通の物差し」として用いることで、「ソフトウェア開発および取引の明確化」を実現できるため、国際規格に適合した共通フレームの適用により「国際取引への対応」を可能としています。
共通フレーム
共通フレームのシステム開発作業の中心となる開発プロセスの中身を、もう少し詳細に示したのが図2になります。
一見するとレイアウトのせいもあり順次型のVモデルのように思われますが、特定の開発モデルに依存しているわけではありません。
共通フレームでは実施すべき作業項目を定義しているのみで、選択した開発モデルにマッピングして(あてはめて)利用することを前提としています。
残念ながら共通フレームでは文書化(開発成果物)の詳細を規定しておらず、またソフトウェアの尺度(信頼性や保守性レベルなどのソフトウェアの属性の定義)も規定していません。そのため利用者がほかの規格を利用するなどして、自所の標準(全社標準、プロジェクト基準など)に組み入れて使用することになります。
共通フレームでの用語の定義を誤解のないよういくつかご紹介します。
- システム
- 一連の業務フローを完了するためのすべてです。FAXや電話、データのハンドキャリーなどの人間系の作業も含みます。
- ソフトウェア
- 機械化するものまたは機械化されたもの自体と関連文書を指しています。
- 方式設計
- 今流行の表現だとアーキテクチャ設計を指します。アーキテクチャとは、システムまたはソフトウェアの骨格で、建築でいうところの青写真にあたります。その目的によりエンタープライズ(企業)、システム、アプリケーション(ターゲットのソフトウェア)に階層化できると考えます。
エンタープライズアーキテクチャは共通フレームの企画プロセスで設計され、システムおよびアプリケーションアーキテクチャは同開発プロセスのそれぞれシステム方式設計、ソフトウェア方式設計で策定されます。

