2012年7月20日金曜日

モデリングとシステム工学


1980年のころ筆者が初めてアメリカに行った時は、「やけに老人が多い社会だな」 と思いましたが、最近の日本は全人口中の老人の比率でアメリカを抜いたそうです(アメリカの老人比率は、当時から今に至るまでほぼ横ばいです)。
 20歳の頃の筆者が今の日本に現れたら当時と同じく「やけに老人が多い社会だな」と思ったに違いありません。
これと似たようなデジャヴ(既視感)を、筆者はごく最近、体験しました。
昨年、鎌倉に越して来たのですが、老人の比率がやけに高いのです。
住民の老人比率が全国平均を大きく上回る上に、観光客の年齢層が輪を掛けて全体に高いため、老人の渦巻く日中の鎌倉市街では、筆者などはまだまだ若者の部類です。
日本が突入するであろう2〜30年後の老齢化社会に、一足早く踏み入れている状況と言えます。
鎌倉生まれのM君によると、この鎌倉の老人の多さは今に始まった話ではなく、彼が知る範囲で相当大昔からこのような状態だったそうです。
老人と言っても、しかしながら、気が若く元気な人が多い点は、鎌倉の美点と言っていいでしょう。
こちらに越して来て間もない頃、駅裏のスーパーの駐車場でぼーっとしていた所、真っ赤なスーツ姿の老婆があふれんばかりの白髪を振り乱しながら真っ赤なツーシーター(2人乗りのスポーツカー)から現れた時は正直驚きました。
てっきり、鎌倉山に棲むと言う伝説の山姥が里に下りて来たのだと思いました( (;゚Д゚) )。


デジャヴ

筆者は、学校その他でSysMLを人に教え、そしてシステム・モデリングの演習中によく出くわす光景があります。
システムのモデル図をツールを使って描こうとする時、SysMLの特性から、一カ所を変更しようとすると関連する他の図まですべて自動的に変更されてしまうため、初学者の人は、なかなか思い描く通りの図が描けず四苦八苦してしまいます。
 こちらを直せば、あちらがおかしくなる、と言う具合に悪戦苦闘する姿は、システム・モデリングの通過儀礼、バンジージャンプのようなものと言えます。
  • SysMLと言っても、言語的にはUML図を書いているので、この分野で活躍したいと考える若い方には、UMLも勉強する事をお勧めします。けっして、遠回りにはならないと思います。上級のモデリングには、OCUPインターミディエート程度の知識は必須です。また、システムが大規模化、複雑化するにつれて、ソフトウェアへの依存度が急速に高まって来る事が多く、ソフトウェア畑出身でないシステム設計者にとってもソフトウェア工学の知識は重要です。
 これだけであれば大した問題ではないのですが、本当の問題はその次です: こうして苦労して描き上げたモデル図群を見て、システム・エンジニアリングした気になってしまう事です。
実は、システム・エンジニアリングしているどころか、始まりもしていません。
MBSEは、モデル・ベースのシステム・エンジニアリングの略であり、 モデル図をもとにシステム・エンジニアリングを行なう事であって、モデリングはその前提技術です。

表題にデジャヴと大きく掲げたのはこの問題で、UMLを使ったソフトウェアのモデリングでも、そっくり同じ現象が発生します。
つまり、モデリングした時点でソフトウェア・エンジニアリングをした気になってしまうのです。
モデリングを元にソフトウェア・エンジニアリングの観点から分析を行なう事が主題のはずが、それを飛ばしていきなり実装に移ってしまいます。

これは、時々友人にも話すのですが、MDA(モデル駆動型アーキテクチャ)という言葉自身にも原因の一端があるのではないかと思います(特に実装志向の強い日本の環境下では。 歴史的には、モデリングは実装ではなく、問題の分析、ソリューションの設計のために発達して来た技術です。)

むしろ、MBSEと同じように、モデル・ベースのアーキテクチャあるいはモデル・ベースのソフトウェア・エンジニアリングと言った方が誤解がないと思います。
モデル・ベースのアーキテクチャがあれば、モデル・ベースでないアーキテクチャもあるわけで、どちらを選ぶべきかは、良し悪しの問題ではなく、向き不向きの問題です。



0 件のコメント:

コメントを投稿