組み込み最前線――理想と現実のギャップを前に 進まぬ開発技法の確立

http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20050713/164540/

これまでの組み込みソフトウェア開発では,個人や企業の知識あるいは経験に依存してきた部分が少なからずあった。
チーム内の暗黙知と密接なコミュニケーション,あるいは職人的な技術に頼らざるを得なかったことである。

これはサーバーサイドでも変わらない.*1組込みだけが異質であるかのような誤解を誘ってるところが悪質だ.

開発方法論を確立する一つのアプローチとして,かねてから注目されているのがオブジェクト指向技術である。オブジェクト指向の考え方を取り入れることには利点が多い。例えば,人間が理解しやすい現実的な「モノ」を単位としてプログラムが分割されるので,管理がしやすくなる。プログラムをうまく分割すれば,再利用可能な部品として活用し,開発期間の短縮が図れるし,保守性の向上も見込める。

違うっつーの.
こういうやり方でやると失敗は必至.これでまた『オブジェクト指向』に対する誤解が広まるのは苦痛だ.

 ソースコードを自動生成するMDA(Model Driven Architecture)への展開も考えられる。

理論的には考えられる(かもしれない)が,

単なる『ナイト・オブ・ザ・リビング・CASEツール/ゾンビの誕生*1』に過ぎないという人もいます。私は後者の立場ですが、(以下略)
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?ModelDrivenArchitecture

現実的には全く期待してない.

システムの要件定義だけをUMLでドキュメント化し,設計や実装は従来の構造化設計でC言語を用いてコーディングを行っているというのが,現場の状況だろう。

これはいいのか悪いのか.
要件定義にUMLを使うのは悪くはない(良くもない).だが,もし『オブジェクト指向設計』をして,それをCで実装しているというのなら,それは最悪の開発手法だ.開発者は地獄を見るだろうが,その責任は一体誰が取ってくれるのか.

*1:サーバーサイドだろうと組込みだろうと,密接なコミュニケーションと職人的な技術を持った人こそが,ソフトウエア開発の本質だ.