ppt - わんくま同盟

設計という作業
どのように、どこまで設計するのか
Jitta@わんくま同盟
わんくま同盟 大阪勉強会 #1
アジェンダ
• システム開発の仕事
• どこまで設計すればいいのか
• 設計するべきこととは
わんくま同盟 大阪勉強会 #1
※システム開発という仕事とは?
•
•
•
•
•
•
•
わんくま同盟 大阪勉強会 #1
※ プ ロ グ ラ ム と は ?
•
•
•
•
•
•
•
わんくま同盟 大阪勉強会 #1
喩え
わんくま同盟 大阪勉強会 #1
プログラミングに必要なもの
何を、どの様に、使うか
設計
わんくま同盟 大阪勉強会 #1
設計工程
(購入仕様書)
システム(概要)設計
機能設計
詳細化
詳細(プログラム)設計
プログラム製造
やってますか?
足りてますか?
残ってますか?
わんくま同盟 大阪勉強会 #1
顧客要件(購入仕様書)
•
•
•
•
売り上げ表を読み込む
単価と数量を掛け合わせる
売り上げ金額を表示する
売上総計を表示する
わんくま同盟 大阪勉強会 #1
システム(概要)設計
• Windows Form にて、商品ごとの売上高と、
全売上高を表示する
• 元データは、別システムより提供される
• ユーザ指示により、ローカルプリンタより印字
わんくま同盟 大阪勉強会 #1
機能設計
• Windows Form 上に、
表形式で、「商品名」
「単価」「数量」「小計」を
表示する
• データは、CSV ファイ
ルから読み込む
• 「小計」は、「単価」「数
量」から計算する
• 最終行には「小計」を合
計して表示する
• どこに、何を、どのよう
に表示するか
• 表示するデータの出所
• データの作り込み方法
• 例外的処理
わんくま同盟 大阪勉強会 #1
プログラム(詳細)設計
• クラスの設計
• CSV ファイルの構成設計
• フォームのイメージ設計
わんくま同盟 大阪勉強会 #1
足りない項目
• 処理フロー
• 例外的処理
• フレームワークの使い方
– クラス、メソッド、プロパティの存在
– クラス、メソッド、プロパティが使える範囲
• 決定の過程
わんくま同盟 大阪勉強会 #1
逆設計
• 設計は絶対ではない
• 実装から設計する
• 無理をしない
わんくま同盟 大阪勉強会 #1
まとめ
設計を終える前に、もう一度確認する
– 使うものの詳細を知っていますか?
– 仕様が決まった過程を記録していますか?
– ドキュメントはメンテナンスされていますか?
– 仕様の細分化は足りていますか?
– 例外的な状況が考慮されていますか?
わんくま同盟 大阪勉強会 #1
Questions?
わんくま同盟 大阪勉強会 #1
Happy Programming !
わんくま同盟 大阪勉強会 #1