これから始めるサービス指向型設計――単独システムとは違う世界へようこそ戦う現場に贈る分散システム構築−開発現場編(7)(2/2 ページ)

» 2009年07月24日 12時00分 公開
[岩崎浩文,豆蔵 BS事業部]
前のページへ 1|2       

システム要件定義とは

 本連載の特徴であるが、開発作業を実施する対象が単体のシステムではなく複数の既存システムであり、しかも新規開発ではないというおまけ付きである。このような複数の(単体)システムをまたがる大規模なシステムの要件を定めることもまた必要となるだろう。この複数のシステムをまたがる仮想的な大きなシステムのことを「スーパーシステム」(またはメタシステム)と筆者らは呼んでいる。

 この要件定義からソフトウェア要件定義・開発までのグレーの部分をカバーし、スーパーシステムの要件を定義するのが、豆成くんたちが次ぎに行うべきシステム要件定義である。システム要件定義は前段に相当する、豆成くんが前回までに実施してきた要件定義を技術的に検証しつつ、技術的な要件に変換する作業となる。

 システム要件定義は前段に相当する要件定義と同じく、システム機能要件とシステム非機能要件の2つの側面を持っている。冒頭に蔵田がいったとおり、業務に精通している作業者がシステム機能要件の面を、技術に精通している作業者がシステム非機能要件の面を担当するのが適当だろう。

 もし豆成くんが1人でそのすべてを担当することになった場合、業務内容を知らずに設計してしまうことになる。この場合、最悪のケースとして納品時に「想定していたものと違う」というクレームを受けて紛糾してしまうこともあるだろう。この点でも、(偶然とはいえ)豆成くんが業務に精通していた蔵田を引き込んだことは正解だったといえよう。

システム方式設計とサービス指向型設計

 その後の作業として、この“開発現場編”の主題でもある「システム方式設計」が待っている。システム方式設計とは、システム要件定義で実装可能な要件として変換されたものに対して、一対一で設計していく作業である。ちなみに「方式」とはArchitectureの訳であり、建築用語の「様式」「思想」などに相当する。転じて、システム全体が持つべき決まりごとや設計方針などを設計し、そのうえに各機能を載せていく作業となる。

ALT 図2 システム開発の流れにおける方式設計

 本編でこの作業時にテーマとしたいのが、サービス指向型設計である。このサービス指向という単語はSOA(Service Oriented Architecture)ですでにおなじみの言葉ではあるが、残念ながらこの単語自体にはESBやBPMスイートなど製品寄りのイメージがつきまとっている。本編ではそうした製品の話ではなく、純粋に「設計手法としてのサービス指向」として取り上げていきたい。

 この「サービス」という言葉であるが、物理的なシステムのサービスという狭い意味合いだけのものではない。業務が実現すべき機能としてのサービスという、より抽象度が高く、論理的な話をも含む。つまり、業務から導き出した要件を基にして、「サービス」の側面からシステム化のための設計を行っていくという手法である。この手法は特に複数のシステムをまたがるスーパーシステムの設計時に有用であると考えている。

 このあと豆成くんが前回までに苦労して仕上げた要件定義を基にして、どのようにシステムの設計を行っていくべきなのか。その点を中心にして、次回以降豆成くん+蔵田先輩のコンビが直面する苦難に少しばかりお付き合いいただきたい。

筆者プロフィール

岩崎 浩文(いわさき ひろふみ)

株式会社豆蔵 BS事業部。ITコンサルティング会社にて商用フレームワーク設計・構築およびITアーキテクトとして多数の企業システム設計・構築に携わる。その後、サーバ製品ベンダにてSOAコンサルタントを担当したのち、2005年より現職。現在、方法論「enThology」(エンソロジー)の策定とSOA型システム設計支援の主任担当として多くの現場へ支援を行っている。

株式会社豆蔵


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ