ソフトウェア工学が誕生してから、40年が過ぎようとしている。今回からは、ソフトウェア工学が要求仕様にどのようにアプローチしてきたのかを、3回にわたって紹介していく。
「工学」とは何か。定義はいくつかあるが、いずれもややこしい。筆者流に分かりやすく言えば、工学とは「それに従って作業をすれば、同じ性能と品質が得られるような手順を研究する学問」となる。
つまり、要求仕様の作成に対する工学的アプローチとは、「ユーザーの要求を正しくとらえ、システム仕様として表現する手順や技法を見出そうとする取り組み」のことである。工学的アプローチと要求仕様は、いかに離合集散を繰り返したのだろうか。以下で簡単に見ていこう。
要求仕様への工学的アプローチは、「あいまいさ」との格闘を繰り返してきた。
ソフトウェア開発手法が活発に研究されるようになったのは、1960年代のこと。これ以降、構造化設計技術やDOA(Data Oriented Architecture:データ中心開発手法)が提唱された。これらが発展して、オブジェクト指向という考え方に至ったのは、みなさんもご存じの通りである。
その一方で1970年代後半には、要求仕様があいまいであるために開発コストが増加するという問題が多発するようになった。この問題を解決するため、あいまいさを排除した厳密な要求仕様言語であるRSLが開発された。RSLとはRequirement Specification Languageを略したものである。「要求仕様言語」とでも訳せようか。
ところが、できあがったRSLはその厳密さゆえに実用に適さなかった。このため、実用的になるようあいまいさを許容するよう仕様に変更を加えていったところ、最後には自然言語と何ら変わらぬものになってしまった。
その後、1990年代に入ると多くの技術者がそれぞれ独自のオブジェクト指向技術について提案し、システムの設計図であるドキュメントの表記法を提唱。「OMT法」や「Booch法」「OOSE/Obectory法」「シュレイヤー/メラー法」といった表記法が乱立した。1994年になり、これらの表記法を統一しようという動きが生まれた。
こうした動きのなかで登場したのが、UMLである。UMLは、オブジェクト指向によるシステムの構造を図(ダイヤグラム)としてモデル化するときの表記法をまとめたもの。1997年、UMLはOMG(Object Management Group:オブジェクト指向技術の標準化団体)によって標準技法として認められた(図1)。OMGは、オブジェクト指向開発の表記法としてはUMLを、開発プロセスとしてはUP(Unified Process:統一プロセス)を利用するという統一方針を打ち出した。それ以来、今日に至るまでUMLはオブジェクト指向開発における表記法のスタンダードとして使われ続けている。
ちなみに、UPとは「Use Case Driven」「Architecture Centric」「Iterative& Incremental」の3つを特徴とする開発プロセスのこと。具体的には、各成果物をユースケース図を元にUMLによって作成し、システムの統一的なアーキテクチャを確立したうえで、開発範囲を反復的に拡張していく手法である。
●Next:UMLによるモデリングではなぜ図を使うのか?
会員登録(無料)が必要です
- 1
- 2
- 3
- 次へ >
- 要求仕様作成における最大のコツ─機能の2割をカットする:第14回(2009/11/02)
- システム仕様を数式に変換─Z言語で要求仕様を厳密に記述する:第13回(2009/10/02)
- 業務の粒度やアクターの役割を明確化し、システムのふるまいをUMLで表現する:第12回(2009/09/04)
- ブレーンストーミング、KJ法、NM法、マインドマップ─発想法のエッセンスを理解する:第10回(2009/07/06)
- 現実解に固執せず自由に発想し独創性の高い解決策を生み出す:第9回(2009/06/04)