SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

匠のキャリアへ(AD)

実践型UMLモデルベースで組み込みソフトウェア開発に変革をもたらす

上流工程における問題点の可視化と整理

  • X ポスト
  • このエントリーをはてなブックマークに追加

組み込みソフトは故障しないことが前提のため、ITシステム以上の制約や安全性が求められます。また、この組み込みソフトウェアの開発力が、メーカーの競争力を左右するほどの影響力を持ってきています。本稿では、このような組み込みソフトの開発現場で起きているさまざまな問題を、実践型モデルベースによる手法を用いて解決する方法を紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

キャリアコンサルタント推薦記事 実践型UMLモデルベースで組み込みソフトウェア開発に変革をもたらす
株式会社オージス総研
ソリューション開発本部 組み込みソリューション部部長 渡辺 博之
 デジタルカメラや携帯電話などのデジタル家電、さらには自動車などの高機能化、インテリジェント化が進む中で、我々の眼に触れないところで活躍している組み込みソフト。故障しないことが前提の組み込みソフトウェアは、ITシステム以上の制約や安全性が求められ、この組み込みソフトウェアの開発力が、メーカーの競争力を左右するほどの影響力を持ってきています。しかし、組み込みソフトウェアの開発現場ではさまざまな問題が起きています。その解決手法である実践型モデルベースによる組み込みソフト開発について解説します。
組み込みソフト開発をめぐる環境は悪化している
 組み込みソフトの巨大化・複雑化は目をみはるものがあります。例えば、ソースの量を比較しても携帯電話は5年で15倍になり、自動車は2年で倍増しています。巨大化しているのにも関わらず、半年~1年周期のひんぱんなモデルチェンジに合わせて開発を進めなくてはならず、品質や開発生産性が低下し、さらには慢性的な組み込み技術者開発が不足するという環境に追い込まれてきています。

ソースの再利用を繰り返すことで、品質の低下を招く
 この環境の中でソフト開発の手法に混乱をきたしていることも多いようです。今の組み込みソフト開発においては、短期間で開発するためにコードを流用することが多くみられます。
例えば、ソースの95%を再利用して新型を開発しようとする。これは、今の組み込みソフトの開発現場ではありがちなことだと思います。残りの5%だけを開発すればいいのだから、楽に開発できる…と考えがちです。しかし、開発をする残り5%の部分はどこか? それを探し当てることだけでも相当な工数がかかってしまうことが多いのです。さらに、ソースの再利用といっても元となるプログラムそのものの完成度が低かったら…、技術的な指針のないままに開発されたものだったら…、それをそのまま利用してしまうとエントロピーが増大し、ソースはさらに汚くなっていきます。組み込みソフトにおける問題点が、まさにここにあると言ってよいでしょう。
実装中心のアプローチだけでは限界がきているから
実践型UMLモデルベース開発が必要
 前述のような状況にならないために必要なのは、技術的な指針を固めて開発に入ることなのです。すぐ、そのまま作ってみるというような実装中心のアプローチだけではなく、より上流部分の工程において問題点を可視化したり、整理したりすることが必要になってくるのです。
オージス総研は、UMLモデルを活用することで、従来の開発手法に「可視化」と「整理」を持ち込みます。上流工程でまずUMLモデルを作成し、そのモデルを基にソフトウェアを体系的に作成するのです。このモデリング作業は、お客さまと共同で進め、開発対象装置の特性についてはお客さまが、論理モデルについてはオージス総研が、それぞれの経験と知識を持ち寄ります。これを、実践型UMLモデルベース開発と呼んでいるのです。
このように、従来の取り組みに実践型UMLモデルベース開発がプラスされることで、組み込みソフトウェア開発現場によりよいソリューションを与えることができるのです。

なぜ「実践型」なのか?
 オージス総研の組み込みソフト開発が実践型であるのは、我々が開発現場に常駐して技術トレーナーとしての役割を担うことになるからです。そこでは、大きく分けて2種類の仕事をすることになります。「解決屋」と「改善屋」です。解決屋は開発現場の問題をまさに、「解決する」コンサルタントです。一方、「改善屋」が技術トレーナーになります。
我々のサービスラインナップとしては、開発現場の問題を診断し、問題点の指摘と対処方法を提示する「診断」。開発現場の「体質を改善」するコンサルティング。開発で困っていることが発生すれば「手当て」として開発する開発アウトソーシング。技術者のスキル向上を支援し、リスク化を「予防」する技術者開発。このように、組み込みソフト開発の現場に入り込んで、モデル作成からソースコードの変換・テスト、さらには技術者の教育まで担います。こうしたサービスを使い、開発現場での成功体験を重ねることで、現場が育っていきます。そうなることで、ものづくりの開発力が向上していくのです。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/589 2015/11/04 17:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング