UTI UML教育研究所
読み物
OCUPブログ
OCRESブログ
UMLコラムから学ぶ
スキル・キャリアコラム
プロジェクト導入事例
エキスパートインタビュー
資格取得までのステップ
FAQ
教育コンテンツ
キャンペーン
ブックプラス
パートナープログラム
認定ユーザープログラム
メールマガジン登録
お問合わせ
組込み開発に携わる方のためのOCRESブログ 第7回

前段については、株式会社ストラタジーナムのプロマネBlogでご覧いただけます。


ソフトウェア工学 傾向と対策 その1

次の表は、先日発行の「組込みシステムのためのソフトウェアエンジニアリング(基礎編)」の目次を抜粋したもので、OCRESの試験範囲を色で示しています。(OCRES中級は赤、上級は青色)なお、OCRESの試験範囲をこの書籍で示しているのは、本書をあくまで指標として使っているだけなので、ほかの書籍や授業、トレーニング・コースで勉強しても全く問題ありません。
ただ、学習範囲の過不足を確認する上で、一度目を通しておいた方が安全である事は確かです。

「組込みシステムのためのソフトウェアエンジニアリング(基礎編)」目次

さて、第1章と第2章は概論にあたる部分ですので、既に組込み系の経験がある人は、読み飛ばしても問題はありません。しかし、他の分野から参入される方は、一通り読んでおいた方が良いでしょう。
第3章は要件分析、第4章はソフトウェア設計に当てられていますが、ここにOCRESの試験の性格が如実に現れており、ビューポイント法やユースケース法、あるいはオブジェクト指向設計等の方法論の部分が完全に試験範囲から外れています。

実は、OCRESでは、このような方法論に属する分野はペーパー試験に向かないエリア、あるいは、設問を作る事が無意味なエリアと考えられております。
実際、学校や企業では、方法論に属する分野は、事例研究や演習等、実際に手を動かして学習する分野であり、方法論の知識をがどの程度持っているかを聞くこと事態に意味がなく、実際のアウトプットそのものを評価すべきである、という考え方が圧倒的です。

また、事例研究や演習の場でも、こじんまりまとまった解答よりも、ユニークなアプローチや面白い考え方を提示した方が高得点が得られる傾向があります。従って、OCRES試験の特長は、方法論は無用と考えているのではなく、ペーパー試験には向かない分野と考えている、という点にご注意ください。

また、方法論で、もう一点注意しておかなければならない点があります。
現在、組込み系IT系を問わず、オブジェクト指向分析設計は、ソフトウェア開発の中心的な役割を演じていますが、これは決して他の方法論、例えばデーターフローや機能設計等、のアプローチを完全に駆逐した事を意味している訳ではありません。

方法論というのは、一般的に言って、常に一長一短があり、設計者、アーキテクトは、それぞれの特徴を知りながら、使い分けや、時には併用が必要になって来ます。OCRES試験の上級編で、「4.4 ソフトウェア設計の機能的構造化」の節を試験範囲として指定していますが、これはヨードン法の系列に属する機能構造設計法につながる前提知識の分野です。これは、OCRESが、いわゆるオブジェクト指向型開発だけで十分とは考えていない事を表しています。
演習や事例研究に関しては、この「傾向と対策シリーズ」の最後で、具体的なコース体系を提示しながら解説したいと思います。

さて、最後の第5章は、リアルタイムOSに関する知識から出題されます。
歴史的に言って、リアルタイム系組込み系システムは、単なるアプリケーション開発ではなく、アプリケーション付きOSの開発と言った方が適切なほどOSと密接な関係があります。使用するOSもIT系と比べると決してファンシーな機能がついている訳ではなく、スケジューラがOSについてなかったり、あるいは、機能が不十分であったりして、スケジューラそのものを自分で書かなければならなかったり、また、排他制御を(OS任せにすると遅いので)アプリケーションで解決しなければならなかったりします。
第5章の出題は、こういったリアルタイムOSの基礎的な分野から出題されます。上級編では、さらに分散システムや、スケジューリング・ポリシーの問題も出題されます。