俺流ソフトウェア開発 (初級)

memo

気が乗ったら更新していくんで気長に完成をお待ちくださいなw
常に書きかけなんで内容は完成まで変化を続けます。(2008/01/20) ちょっと適当に更新。もっと体系的な文章にしないとなあ・・(2008/08/16)

目次

はじめに

昨今のPC普及に伴い、プログラミングに興味をもち、
Webサイト、書籍を漁っては見たものの全くソフトウェアを作れる
ようにならない。そんな人がいると思います。

何を隠そう、私もその一人でした。いろいろと手は出してみるんだ
けれども一向にソフトウェアを作れるようにならない。
どうしてなんだ・・・、悩みました。

時は流れ、いろいろ気づくことがあり、今では小さなソフトウェアならば
作れるようになりました。
まだまだ発展途中ではありますが、俺流ソフトウェア開発手法を共有したい
と思います。

この情報を共有することで自分が得られるメリットはあまりないんじゃないか と思ったりもしますが、過去の自分みたいにモンモンとしているような人が 少しでも減ったらいいなあと思います。

また、自分がこの情報を共有することにより、ほかの人が似たような 俺流オブジェクト指向設計みたいな俺流ハックを共有してくれることを 大いに期待しますw

コメントとかで「ここが違うんじゃないか!?」「この方がよいのでは!?」 等ツッコミも歓迎です。

対象者

・手続き型プログラミングを習得したい人  (オブジェクト指向プログラミングは扱っていません) ・小難しい話にウンザリな人  (ただ、ある程度はウンザリ話も含む箇所があるかもしれません  語りたい派ですのでw)

*このページの作成方針

・単純明快 ・意味のある情報にする。  (何度読んでも分からないような無駄なものは  可能な限り書かない)

このページの目的

(1)俺のためのメモ書きとして。
(2)悩める子羊ちゃんの模範として。

注意書き

内容は俺流のため、一般的ではないかも知れません。
(ソフトウェア開発手法なんて人によって違うんだから、目的が達成できれば
趣味範囲であればとりあえずは問題ないと思いますが。)

追記>> 古典の本を漁ってみたら、コードを書きながらデータと手順の詳細化を 排他的に繰り返していましたが(←これを段階的詳細化というらしい)、 俺の場合は、まずはじめはコードを意識せず、データの詳細化も意識せず、 ひたすら手順の詳細化のみに焦点を当てるというものです。

うんちく

ソフトウェアはなんのためにあると思いますか?
・・・人によって答えは違うと思いますが、私の答えは、
人の欲求を満たすためのカラクリです。

ソフトウェアを作るには、目的をはっきりと自分の頭に イメージできることが大切です。 そんなことはプログラミングをしながら考えればいいと 思っている人が作るソフトウェアは、ソースコードが 読みづらく(保守性が低い)、バグが混入している可能性が 高く、そもそも目的を達成できるようなものになっていない 可能性が高いと思います。

俺が推奨するソフトウェアの作成法は、設計をしっかり行い、 プログラミングをするという手順です。

大まかな流れ

それでは早速

モデリング

モデリング・・・適当に難しそうな言葉を使ってみましたが、