#include '../senden.wml' コラム形式にしました。内容はあまり変わってはいません。

ソフトウェア開発の落し穴

ソフトウェア開発はよくトラブルに巻き込まれます。納期がずるずる延びたり、 プログラムがスパゲッティ状態になったり、非常に使いにくいものが出来てき たり。こうした問題をどう解決するかについては今までに多くの人が研究して きました。そして「よいソフトウェアを作るには」という方法論について一定 の成果が上がっているにも関らず、ソフトウェア開発に携わる実務者にまでは 浸透していないのが実状です。

近年では、「ソフトウェア開発方法論」あるいは「ソフトウェア工学」という 名前でこうした成果を本にしたものを数多く見かけるようになりました。これ はこれで望ましいことです。しかし、こうした本を読んだだけでその精神をよ く理解しないまま適用するとかえってトラブルに巻き込まれます。方法を真似 するだけではなく、その本質を理解しないといけないのです。方法だけを真似 ると教条主義に陥りがちです。

ここでは、ソフトウェア開発で陥る様々な落し穴と、それから抜け出る方法に ついてのトピック的な話をしたいと思います。


ソフトウェア開発の落し穴
プロセス改善の第一歩は、問題を問題だと認識する所から始まります。普段当 たり前に思っていることでも、外から見れば問題だらけなのです。
プログラムは文芸だ
プログラムは小説のようなものです。斬新なアイデアと練りに練られた構成が 必要なのです。わけのわからない呪文の羅列ではありません。
デスマーチ
泥沼というのは、自分がはまり込んでみるとかえってよくわからないものです。
UML
「さあ、UMLを勉強するぞ!!」と思っている人へ。ちょっと待ってください。 あなたが勉強しなくてはならないのはUMLではありません。
再利用の罠
再利用再利用と声高に叫んだプロジェクトほど失敗します。再利用しようとし てはいけません。手段が目的になってしまわないようにしましょう。
開発工程
ソフトウェアはどうやって作るものだか知っていますか?パソコンに向かって プログラムを書くだけではありません。
ビジネスプロセスモデリング
ビジネスプロセスモデリングとは、使う人と一緒になって仕事のやり方を考え ることです。今までのように御用聞きの感覚でいてはいけません。
オブジェクト指向とは何か
「オブジェクト指向とは何か」この根源的な問いの答えはなかなか難しいもの です。ここではその難しく哲学的な問題に真っ向から挑んでみたいと思います。
継承にかかわる諸問題
「継承」はオブジェクト指向ではよく話題になり、また問題視されます。しかし それは使い方が間違っているからです。
要求分析
プログラムを開発する前に、ちょっと立ち止まってみて下さい。あなたは自分 が何をしようとしているのかをきちんと把握していますか?
仕様分析
仕様分析とは、対象となる世界を深く知る作業です。
クラス図の書き方
クラス図とは実は当たり前で簡単なものなのです。

本書の対象

本書は、ソフトウェア開発論関係の本をいくつか読んでいて、それを自分のプ ロジェクトに適用したいと思っている人を主な対象としています。ですから専 門用語についての解説はしません。ただし、その言葉が持つ概念については往々 にして勘違いされて広まってしまっていますので、もともとの意味をしっかり お話ししたいと思います。