Loading [Contrib]/a11y/accessibility-menu.js

2018年11月14日水曜日

[一次専門]UML

作成:2018年11月14日
専門科目(情報工学)では、UMLに関する問題が頻出で、毎年のように出題されています。

UMLと言えば、僕は「OCUPファンダメンタル」という資格を持っています。

OCUPとは「OMG認定UML技術者試験プログラム」の略で、UMLに関する知識を評価・認定するものです。

10年近く前だったと思いますが、当時クラス図とかを使ってシステム設計をバリバリ(?)やっていて、これからはUMLの時代だ!と豪語したかどうかは忘れたけれど、勢いに乗ってOCUPファンダメンタルを受験したのでした。

OCUPのWebサイトはずーっと更新されていないようで、資格そのものが無くなってしまったのかなと思ったのですが、今も存続していて、さらに「OCUP2」にバージョンアップしているようです(詳細は不明ですが)。


話が脱線してしまいました(汗)。

技術士試験の話に戻すと、UML関連問題の1つとして、ダイアグラムの概要や定義の有無などを問うものがあります。

OCUPファンダメンタル保持者としては一瞬で正解すべき問題なのですが・・・、本番で見事に間違えてしまいました。

使わなくなった知識はどんどん忘れていく・・・と言い訳しても仕方ないですよね。
復習と反省を込めて、以下にまとめていきたいと思います。

【出典:平成30年度技術士第一次試験〔専門科目〕 III-18】

業務要件定義において業務フローをUML (Unified Modeling Language) 2.0以降を用いて記述する際に,並行処理,処理の同期,処理の分岐などを表現できる図として,最も適切なものはどれか。

① アクテイビティ図
② クラス図
③ コミュニケー ション図
④ シーケンス図
⑤ ユ ースケ ース図

解答は①のアクティビティ図です。
アクティビティ図は、UML版フローチャートと捉えれば良いと思います。

ちなみに僕は本番で①と③で悩んだ末、③と答えてしまいました。
2択で悩んだ問題は大抵間違っている気がするなぁ(汗)。

ところで、④のシーケンス図も並行処理、処理同期、条件分岐を表現できるので、④も正解なんじゃないの? 日本技術士会に申告した方がいいんじゃないの?と一瞬思ってしまいました。

が、問題文の冒頭に「業務要件定義において業務フロー」を記述する場合、とあります。
ここがポイントです。

アクティビティ図は業務フローも記載できる一方で、シーケンス図はオブジェクト間のメッセージのやり取りを時系列に表現するものであり、要件定義ではなくシステム設計で用いられるダイアグラムです。

ということで、① アクティビティ図 が正解となります。
こうやって振り返ると、なかなかの良問だったんだなぁと思います。


なお、UMLについては「IT専科」というサイトに大変わかりやすくまとめられていて、各ダイアグラムの概要を把握するのにオススメです。

0 件のコメント:

コメントを投稿