ソフトウェア開発方法論
ソフトウェア・情報システムは目的を達成するために開発される。開発を1つのプロセス(ソフトウェア開発工程)として捉えると、開発スタイルにより様々な構造・制約(ルール)・原則が見いだされる。一連のルール・ガイドラインからなる1つの開発スタイルがソフトウェア開発方法論である。また様々なスタイルに共通するあるいは特有なルールを研究するソフトウェア工学の分野もソフトウェア開発方法論と呼ばれる。
スパイラルモデルはトップダウン設計とボトムアップ設計のそれぞれの利点を生かしたもので、設計とプロトタイピングの工程を繰り返す手法である。これは一種のメタモデルで、他のモデルが利用することができる。
基本原則は次の通り。
プロジェクトのリスクを最小化することを主眼としており、小さな部分に分割して開発工程での修正を容易にし、リスクの再評価の機会を提供し、プロジェクト継続の検討を可能にする。
各サイクルは同じ一連の工程からなり、製品全体の概念を個々のプログラムのコーディングにまで落とし込み、一回のサイクルで1つの部分を完成させたり、全体の改良を施したりする。
1つのサイクルは、(1) その反復の目的・選択肢・制約の決定、(2) 選択肢の評価、リスクの識別と解決、(3) 具体的な開発とそのサイクルの成果物の評価、(4) 次の反復の計画立案、という4つに分けられる。
各サイクルは利害関係者と彼らの勝利条件の識別で始まり、レビューとコミットメントで終わる。
どのソフトウェア開発方法論も特定のフレームワークをソフトウェアの開発・保守に適用する際の基盤となる。情報技術の生まれたころから、いくつかのソフトウェア開発手法が使われてきた。主なものを以下に挙げる。
ウォーターフォール - 直線的なフレームワーク
プロトタイピング - 反復的なフレームワーク
インクリメンタル - 直線的な要素と反復的な要素を組み合わせたフレームワーク
スパイラル - 直線的な要素と反復的な要素を組み合わせたフレームワーク
RAD - 反復的なフレームワーク
エクストリームプログラミング
モデリング言語は情報・知識・システムを構造的に表現するのに使われる人工言語であり、一貫した規則群で定義されている。それら規則群は構造内の各コンポーネントの意味を表すためのものである。モデリング言語はグラフィカルなものと文字のみから成るものがある。グラフィカルなモデリング言語は何らかの概念を表す名前付きのシンボルとそれらの関係を表すシンボル間を繋ぐ線によるダイアグラムを表現として採用しており、そこに制約を表すグラフィカルな注釈を加えている。文字のみのモデリング言語は、パラメータを伴う標準化されたキーワードを使うのが一般的で、コンピュータが解読可能な表現にしている。
ソフトウェア工学分野のグラフィカルなモデリング言語としては、以下のようなものがある。
Business Process Modeling Notation(BPMN、およびXMLを基盤とするBPML)は、プロセス・モデリング言語のひとつ。
EXPRESS(英語版)とEXPRESS-G (ISO 10303-11) は、汎用データモデリング言語の国際規格(STEPの一部)
Extended Enterprise Modeling Language (EEML) は、多層にまたがるビジネスプロセスのモデリングによく使われている。
フローチャートは、アルゴリズムや作業工程の概略を表現する図である。