教科書 "事例演習 プログラム設計と開発" 

大木 幹雄,日本理工出版会 2000年 (249頁,\2,500)

表紙
概要を見る

IT革命がさまざまな企業に浸透し,従来のやり方にとらわれない企業経営を迫りつつある.同時に情報処理技術者に対しても,プロフェッショナルとして,情報化社会に対し重要な役割を果たすような意識変革を迫られている.今後ますます情報処理技術者(特にソフトウェア開発技術者)に対して,単にプログラミング能力だけでなく,ソフトウェア設計についても深い知識と訓練,経験を積んでいることが要求されるようになろう.

しかしながら,現実の情報系企業の新入社員教育は,相変わらずのOJTを主体にした教育・訓練が多く,情報工学教育機関のカリキュラムもプログラミング言語の習得に主眼が置かれたものが多い.最近のプログラミング環境の飛躍的な改善によってプログラミングに要する工数が確実に減少し,ソフトウェアの設計に時間をかける下地はできているにもかかわらず,多くの場合,安易にプログラミングに走る逆の傾向に拍車がかかっているように思える.

その結果はホストマシンを中心にした過去のソフトウェア開発がたどった「いつかきた道」に舞い戻り,大量の使い捨てプログラムの発生や保守トラブルを頻発させている.このような事態の発生を少しでも回避するには,再度,設計のもつ意義に立ち戻って,その重要性を経験の少ないソフトウェア技術者に認識してもらう必要がある.

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

● 本書の目的
 上述のような背景から,本書はソフトウェア開発における基本的な知識(例えば,プログラミング言語の記述方法やデータ構造とアルゴリズムに関する知識等)を習得した者を対象に,現実に近いプログラム設計を体感していただき,設計の重要性と"設計する習慣"を身に付けていただくことを目的としている.
● 本書の構成
 本書では,まず設計の考え方や表現方法,ソフトウェア構成の知識を解説した後に,具体的な事例演習をいくつか経験してもらう構成にしている.事例演習については,基本的なアルゴリズムやデータ構造はあらかじめ決定してあり,どのような手順で設計するかの過程が自然に理解できるようにしたつもりである.読者はソフトウェア開発チームのメンバになったつもりで先輩諸氏からの説明に相当する解説を読み,その後,設計とプログラミングの一部を任されたものとして,事例演習中に配された課題をやりとげていただきたい.

戻る