c-MOS NOT ゲート

第15回放送授業
「ソフトウェアのしくみ」
14 ソフトウェア工学
14.1 ソフトウェア開発
ソフトウェア工学とは
• ソフトウェアの巨大化
• 製品化技術
• 落水型
– システム提案→受注→外部設計→
内部設計→プログラミング→テスト→
運用保守
– ガントチャート
• スパイラルモデル
コスト
• 発注側:人件費削減 vs. ソフト購入経費
10人x5年x1千万円=5億円
• 受注側: 100人x0.5年x1千万円=5億円
– プログラム500円/行x10行/時間
x8時間/日x250日=1千万円
14.2 外部設計
• 顧客と開発側との調整
• 顧客の要望調査
• 仕様決定
– ユーザインタフェース仕様
– サブシステム仕様
– データテーブル仕様
– ネットワーク仕様
– 移行・導入仕様
• 運用・保守
14.3 内部設計
• 構造化分析
– フローチャート化
プロセス指向、機能指向
– データ指向
• 構造化設計
– データベース、テーブル設計
– モジュール設計
– 通信プロトコル設計
• オブジェクト指向分析
クラス
– 共通のデータを利用するモジュール
– 共通のデータをクラスインスタンス変数
• オブジェクト指向設計
– データベース、テーブル設計
– 内部データ、クラス設計
– 通信プロトコール設計
•
•
•
•
•
プログラミング環境、取り決めの決定
テスト環境の整備
ソースコードレビューの方法決定
単体テスト、結合テスト、総合テスト
バグ情報の流し方
14.4 プログラミングとテスト
• コーディング取り決めの遵守
• ソースコードレビュー
クロスチェック
• 単体テスト(スタブ、ドライバ)
• 結合テスト
• 総合テスト
性能、緊急時、回復、異常入力
• バグ管理
バグ曲線
14.5 プロジェクトマネジメント
• 多人数開発で必要
• プロジェクトマネジャ
• プロジェクトマネジメント指針
– PMBOK
• 理学 vs. 工学
情報科学 vs. ?
「ソフトウェアのしくみ」