オブジェクト指向ソフトウェア工学(OOSE)の概要
オブジェクト指向
ソフトウェア工学(OOSE、Object-oriented software engineering)は、1990年代初頭にイヴァー・ヤコブソンを中心とする開発チームによって確立された、オブジェクト指向ソフトウェア開発の方法論です。OOSEの最大の特徴は、ユースケースをソフトウェア設計の中核的な概念として位置づけている点です。これは、ソフトウェアの要件をユーザーの視点から捉え、設計段階からユーザーのニーズを反映させることを重視するアプローチです。
OOSEは、単に新しい開発方法論を生み出しただけでなく、ソフトウェア開発における設計思想に大きな変化をもたらしました。従来のソフトウェア開発では、機能やデータ構造を重視する傾向がありましたが、OOSEはユーザーの視点、つまりソフトウェアがどのように使われるのかという点を重視することで、よりユーザーフレンドリーで、かつ保守しやすいソフトウェア開発を目指しました。
さらに、OOSEはオブジェクトモデル化技法(OMT)で用いられていた設計の概念を取り入れることで、オブジェクト指向設計の効率性と実用性を高めました。OMTで培われた設計手法とOOSE独自のユースケース駆動開発を組み合わせることで、複雑なソフトウェア開発でも、より体系的で分かりやすい設計を行うことが可能になります。
OOSEの開発と進化
OOSEの開発は、イヴァー・ヤコブソンが1987年に設立したObjective Systems社を起点としています。この会社は後にObjectory AB社に改名され、そこでOOSEが開発されました。Objectory AB社は、OOSEの開発手法を実践するためのツールも開発し、市場で成功を収めました。その成功は、他のツール開発企業にもOOSEのサポートを促し、OOSEの普及に大きく貢献しました。
1995年には、Objectory AB社はRational Software社に買収されます。Rational Software社はOOSEの開発方法論、モデル図の記法、そしてツール群を引き継ぎ、OOSEの技術的資産を継承し、発展させていきました。
UMLと統一プロセスへの統合
OOSEは、その後、UML(Unified Modeling Language)と統一プロセス(Unified Process)という、現代のソフトウェア開発において標準的な技術に統合されました。OOSEで使用されていたモデル図の記法は、OMTやBooch法などの他のオブジェクト指向開発方法論とともに、UMLに統合されました。これにより、OOSEの設計手法は、より広い範囲で利用可能となり、ソフトウェア開発における標準的な設計言語として定着しました。
また、OOSEの開発手法は、OMT、Booch法と共に、Rational Software社においてUnified Process(UP)に統合されました。UPは、ソフトウェア開発ライフサイクル全体を管理するためのフレームワークであり、OOSEの開発手法を包括的に取り入れることで、より効果的なソフトウェア開発を支援するようになりました。この統合においては、イヴァー・ヤコブソン、グラディ・ブーチ、ジェームズ・ランボーの3名(スリーアミーゴスとして知られる)が重要な役割を果たしました。
Rational Software社は、UPを基にRUP(Rational Unified Process)を開発し、OOSEのツール群は、UMLとRUPをサポートするツールに取って代わられました。後にRational Software社は
IBM社に買収されましたが、現在でも
IBM社はRationalブランドで、UMLとRUPを活用したソフトウェア開発ソリューションを提供しています。
OOSEの遺産
OOSEは、その後のソフトウェア開発方法論に多大な影響を与え、現代のソフトウェア開発の基礎を築いたと言えるでしょう。UMLや統一プロセスといった現在の標準的な技術にOOSEの要素が多く取り込まれていることは、その影響力の大きさを示しています。OOSEは単なる過去の技術ではなく、現代のソフトウェア開発の根幹をなす重要な概念を提供し続けています。
イヴァー・ヤコブソンによる著書『オブジェクト指向
ソフトウェア工学OOSE:use-caseによるアプローチ』は、OOSEの概念を理解するための重要な文献であり、ソフトウェア開発に関わる技術者にとって必読書と言えるでしょう。