ソフトウェア工学 理工学部 情報システム工学科 新田直也 ソフトウェア工学のまとめ ソフトウェア工学: ソフトウェアの開発,運用,保守に対する,系統的で統制さ れ定量化可能な方法.すなわちソフトウェアへの工学の適用. ソフトウェア工学は未だ確立していない. 銀の弾丸などない(人月の神話,F.P.ブルックス,Jr.) → 一歩一歩ゆっくりと進歩していくしかない. ソフトウェアの本質: 複雑性 同調性 可変性 不可視性 プロセスとプロダクト ソフトウェアの中心課題はプロセスとプロダクト. 開発プロセス(ライフサイクル): 開発の手順や計画 ウォーターフォール スパイラル プロトタイピング アジャイル プロダクト: 開発における成果物 何を基準に世界を理解(モデル化)するか? モデルをどう表 現するか? 構造化技法. オブジェクト指向技法. UML,デザインパターン,フレームワーク ウォーターフォールモデルの問題点 ウォーターフォールモデル: ひとつひとつ間違いがないことを確認しながら(工程 を経て)進めていく.特に,上流工程(分析,設計)を 重視する. 何が問題か? 開発期間が長くなる. 成果物を逐一残すため負荷が増大. 後戻りを許さないため,開発途上で仕様や設計の変更が できない. 最初から完璧な設計なんてできない. 最初から完璧な仕様なんてわからない. そもそも仕様は変化するもの. ウォーターフォール以降 仕様の可変性 → 機能ごとに実装(スパイラル) 仕様の不可視性 → 早い段階で可視化(プロトタイピング) 設計の可変性,予期不可能性 → 実装時の設計変更(リファクタリング) 開発工程全般にわたる予期不可能性 → 予期不可能であることを前提(アジャイル) 構造化分析 処理(プロセス)を基準に対象領域を構造化. 処理とは入力から出力へのデータの変換. 積荷票 倉庫係 在庫ファイル 更新処理 出庫指示書 出庫指示書 作成処理 出庫依頼 更新情報 在庫ファイル 在庫不足リスト 新規出庫 判定 酒屋の在庫問題のDFD(入庫処理) 倉庫係 オブジェクト指向 オブジェクトを基準に対象領域を構造化. オブジェクトとはデータに操作がくっついたもの. もの,概念,実体と捉えてもよい. オブジェクト指向モデリングのコツ(1) 処理をオブジェクト(クラス)としないこと. もの,概念,データをクラスにしてみる. 店,客,クリーニング品,チケット,タグ,料金表,注文 作成したクラスはどのような情報(データ)を持って いる(知っている)かを考える. 持っている情報をメンバ(属性)または別クラスにする. 店は店名と客の情報を持っている. 客は名前と電話番号という情報を持っている. オブジェクト指向モデリングのコツ(2) 継承(汎化)は一方が他方の特殊な 例になっている場合にのみ用いること. 対応関係を考えること. 客は店の特殊な例ではない. 店1つに0人以上の客が対応する. 知りたい順序で誘導可能性を決める. 店の情報から客の情報を得たい. デザインパターン Observerパターン アプリケーションフレークワーク アプリケーションフレームワーク: 再利用可能なア プリケーションプログラムの骨組み. アプリケーション1 アプリケーション2 再利用 アプリケーション3 再利用 フレームワークA オブジェクト指向とフレームワーク フレームワークはオブジェクト指向技術の集大成. 2種類のフレームワークがある. <Called framework> 既存の コード 既存の クラス 呼び出し 継承 新しい 子クラス <Calling framework> 既存の 抽象クラス フレームワーク側 アプリケーション側 呼び出し 呼び出し 新しい コード 継承 新しい 具象クラス まとめのまとめ 結局,特効薬(銀の弾丸)はまだ存在しない. 技術の地道な積み重ねによってのみ発展する? → 新しい技術をチェックしておくこと. ただし,ソフトウェア工学分野には使えない技術も多 いので注意が必要. 「ここが明るくて探しやすいからですよ。」 後は,実務経験を積むこと. 失敗 苦労 最後に… スティーブジョブスの話.(是非一度読んで欲しい.) http://pla-net.org/blog/archives/2005/07/post_87.html 「未来に先回りして点と点を繋げて見ることはできない、君た ちにできるのは過去を振り返って繋げることだけなんだ。だ からこそバラバラの点であっても将来それが何らかのかたち で必ず繋がっていくと信じなくてはならない。自分の根性、運 命、人生、カルマ…何でもいい、とにかく信じること。点と点が 自分の歩んでいく道の途上のどこかで必ずひとつに繋がっ ていく、そう信じることで君たちは確信を持って己の心の赴く まま生きていくことができる。結果、人と違う道を行くことに なってもそれは同じ。信じることで全てのことは、間違いなく 変わるんです。 」
© Copyright 2024 ExpyDoc