ストラタジーナム メニュー

2008年10月18日土曜日

OCRESブログ 第16回 ソフトウェア設計のトレーニング法 2

先日、久しぶりに一橋の学士会館に行って来ました。
昔、友人の結婚式で何度か足を運んだ事がありましたが、ここしばらくは全く縁がなく、場所をすっかり忘れてしまっており、地図なしにはたどり着けないほどになっていました。
そして、何気なく会館の関係者の方とお話ししている中で、この地が、漱石ゆかりの場所であった事を初めて知りました。

現在、筆者の自宅がある町から、長い坂道を下って行った所に、明治の文豪、夏目漱石の生家跡があります。そして、ここに越して来たばかりの頃は、散歩がてらに、漱石が歩いたであろう道筋をたどったりしていました。(この近辺は、江戸末期の道筋が結構残っています。)
その結果、筆者も、漱石を通して江戸や昔の東京の歴史に興味が涌いてくるようになりました。

漱石は、明治維新の頃、今の早稲田大学のすぐそばで生まれ、当時出来たばかりの東京大学予備門(後の旧制一高)へ入学し、帝大(今の東京大学)へ進んだ事は有名ですが、その当時、予備門や帝大がどこにあったかは、あまり知られていません。
筆者も、漠然と今の本郷にあったのだろうと言う位にしか考えていませんでしたが、実は、漱石が予備門の学生だった頃の東大は、今の学士会館の場所あたりにあったそうです。
この近辺から神保町、駿河台にかけて大学が多く、神田に古本屋が集まり日本一の学生街が形成されたのも、それがきっかけだったそうです。

SysMLを使ったシステム工学 講座
前回に引き続き、ジム・クーリング博士のトレーニングコースを見て行きたいと思います。
本日は、「SysMLを使ったシステム工学 講座」を、ご紹介します。





システム工学/要求工学の重要性

現在のシステム設計において、要件フェーズはますます重要性となって来ており、昨今では要件を分析しまとめるための工学、要求工学と呼ばれる分野が急速に発達してきました。
この要件フェーズは、一つの方法論、一つの視点からだけではなく、複数の方法論、視点を組み合わせて用いる事が重要である事が知られて来ています。
ジム・クーリング博士の本には、要件分析と仕様化の手法として、「ビューポイント法」、「ユースケース法」、「プロトタイピング法】等が取り上げられていますが、これらに加えて、ここ数年の間に急激に普及して来た手法があり、それがSysMLです。
このSysMLの普及速度は、かつてのUMLの普及速度を遥かに凌駕しており、本格的な登場からまだ3〜4年ほどしか経っていないのにも関わらず、システム設計の事実上の主流になっており、急激にデファクト・スタンダード化して来ています。

SysMLとは ?

読者は、UMLが第2版(UML2.0)になって、UMLが単にソフトウェアの表記法ではなく、極めて強力な汎用モデリング言語になった事はご存知だと思います。

実は、SysMLは、UMLの一種であり(サブセット)、特に「システム」を記述するために(プロファイリング機能を用いて)拡張されたものなのです。

システム・エンジニアリングあるいはシステム工学と言う分野は、コンピュータの誕生以前から存在し、飛行機や自動車と言ったシステム製品を、個々の部品や技術要素の観点からではなく、システム全体としての動きや品質にフォーカスを当てています。
勿論、この分野でも従来から様々な表記上の工夫はなされていましたが、不統一で一貫性に問題があり(メタモデル化されていない)、また分野ごとにバラバラでした(標準化されていなかった)。
UML2.0の登場とともに、システム・エンジニアたちは、待ってましたとばかりに、SysMLを標準化し、本格的に使い始めました。(既存のUMLツールが使用できるのも、メリットの一つです。)

ソフトウェア工学とシステム工学

ソフトウェアを設計する上でソフトウェア工学(もしくはソフトウェア・エンジニアリング)の知識が有益である事は論を待ちませんが、システム工学(システム・エンジニアリング)を学ぶ事は、ある意味もっと重要な事なのです。(全体と技術要素の関係)

下に、本コースのアウトラインをまとめました。

コース概要

システム工学入門
ー システム工学とは?
ー システム工学の概念
ー 「揺りかごから墓場まで」のための工学
ー System V-model

UML2.0とSysMLの違い
ー UML2.0のサブセットとしてのSysML
ー UML2.0の拡張

要求分析
ー ”従来の方法” 対 ”ビューポイント法”
ー 要件図
☆ 従来の要件をモデリング
ー ユースケース・モデル
☆ ユースケース・レベル
☆ ゴール指向ユースケース
☆ ユースケース記述
ー システム・コンテキスト・モデル
ー システム・モード・モデル

システム構造の定義
ー パッケージ図
ー ブロック定義図
☆ システムの論理構造の定義
ー 内部ブロック図
☆ 内部アーキテクチャの定義
☆ 構造化クラス(UML2.0)との比較
ー ポートとフロー
☆ 標準ポート
☆ アトミック・フロー・ポートと項目フロー
☆ ノンーアトミック・フロー・ポートとフロー仕様
☆ インタフェース

システム動的モデリング
ー シーケンス図
ー アクティビティ図
ー ステート図

システムのパフォーマンス分析
— 制約のモデリング
☆ パラメトリック・モデル
☆ システム要素に数学モデルを割り当てる

標準
ー IEEE-1471-2000
— ARP-4754

システム工学のためのPragma+プロセス
ー すべてを統合する