プログラムを設計する

設計って必要?

プログラムの楽しみは、やっぱり思った通りに動くこと。時間をかけて書いたプログラムが思い通りに動いたときの快感はたまらない。私もそうでしたが、プログラムを覚えた頃は「設計なんて面倒くさい。早く動かしたい」でした。一人で楽しんでた頃は「設計なんて必要ない」と思ってました。どんなに長いコードでも、設計書を書かなくても実装できました。

実際に設計が大事だと実感したのはプログラムを仕事にしてからです。他人に説明するため、分業するため、自分の表現したいことを整理するために設計は必要だと感じました。今思うと、昔も設計書を書いていないだけで、頭の中で設計はしていました。考えがまとまった後はコーディングすればいいだけなので、わざわざ設計書を書く必要がなかっただけです。

依頼者も作成者も使用者も自分だけだったから、設計書は必要なかったと気がつきました。設計書は依頼者、作成者、使用者の間でやりたい事を具体的に共有するための道具だと今は考えています。設計書を書くことで自分の考えも整理できるので、以前より実装時間は短縮されました。

あと、時間がたってから昔のプログラムを変更するときにも設計書は役立ちます。正直、昔の自分は他人です(笑)

プログラムを覚えたてでとにかくコーディングして動かす快感に浸りたい間は、無理に設計書を書くことはお勧めしません。でも設計方法を知ることは確実に時間短縮になりますし、楽しみが広がりますよ。

設計のコツ

とにかく箇条書き書き出すこと。あとから加えたり、減らしたりしてもいいので、思いつくまま箇条書きで文章を書きます。とくに要求分析時などは間違っててもいいので、自由な発想でアイデアを書き出すこと。色々な人の意見を集めることが重要です。文章にすると頭の中でイメージが固まっていきます。テキストが書ければいいので特別なアプリも必要ありません。

設計と聞くと設計図を思い浮かべると思いますが、図は必ずしも必要ありません。プログラムも言語なので、まずは人間の言葉で表現して、プログラミング言語に翻訳していくのがプログラミングです。

システム開発の流れ

要求分析
依頼者が実現したいことを誤解なく共有するために行います。ユースケース図、コラボレーション図等を使って専門知識がない人でもやりたい事をイメージできるように普通の言葉で記述します。
基本設計・結合試験書作成
ユースケースを分析して、オブジェクト抽出、設計を行います。この段階でフレームワークができます。基底クラスにスタブと呼ばれる簡易処理を実装し、結合試験書を作成します。一般的な設計がこの段階になります。
詳細設計・単体試験書作成
基本設計で抽出したオブジェクト別に処理の設計を行います。単体試験書の作成を行います。詳細設計と実装は同じ担当者が行うことが多いです。
実装・単体試験
ここまで来てやっとコードを書きます。一つ関数が完成する毎に単体試験を実施可能です。フレームワークができていれば、全部完成しなくても試験が可能になります。
結合・結合試験
すべてのプログラミングが終了したら、全部を組み合わせて試験を行います。EAの場合はバックテストを使って、ログを確認します。
システム試験・受け入れ確認
本番と同じ環境での最終試験になります。EAの場合はデモ口座を使ってのフォワードテストです。顧客に動作確認をしてもらい、最終確認をします。
納品・完成
システム完成です。

Amazonで好評発売中
EA作成なども承っております

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

アップロードファイルの最大サイズ: 20 MB。 添付可能なファイル:画像, 音声, 動画, 文書, スプレッドシート, 対話型, アーカイブ, その他 Youtube、Facebook、Twitter および他サービスへのリンクは自動的にコメント内に埋め込まれます。 ここにファイルをドロップ