その結果はホストマシンを中心にした過去のソフトウェア開発がたどった「いつかきた道」に舞い戻り,大量の使い捨てプログラムの発生や保守トラブルを頻発させている.このような事態の発生を少しでも回避するには,再度,設計のもつ意義に立ち戻って,その重要性を経験の少ないソフトウェア技術者に認識してもらう必要がある.
設計の重要性は,大規模なシステム開発ではいうまでもないが,小規模なソフトウェアであっても,ソフトウェアのライフサイクルの観点から見れば変わりはない.また,ソフトウェア技術者の成長過程から見れば,よく考え抜かれた良質で小規模なソフトウェア開発を通して知識や経験を蓄積し,それらを大規模システムに適用してゆくことが,ソフトウェア開発技術者育成の近道である. そこで,実践に役立ち,かつ設計の考え方と作業手順を身につけるような手頃なソフトウェア開発の事例を経験できることが望ましいが,残念ながら,設計とプログラミングの両者をバランスよく経験できる教材が少なかった.
筆者もかつてはソフトウェア技術者として開発現場に席をおき,効果的な訓練の必要性を渇望した身として,このような状況を非力ながら何とか打破したいと思い,本書を出版させていただくことにした. 願望とは裏腹に,内容的に十分とはいえないかもしれないが,できるだけ実践に役立つ考え方,および事例を網羅した教材にしたつもりである.本書の原型は3年前にすでに出来上がっていたが,大学におけるソフトウェア開発演習授業を通して,多くの学生諸君にバグ取りと説明方法の改善に協力してもらい,その後多少の加筆をへて出版にこぎつけた次第である.
|