ソフトウェア工学

ソフトウェア工学
第1回
ソフトウェア開発プロセス
http://www.k.hosei.ac.jp/~yukita/
1.1 ソフトウェア開発の
古くからの課題
• ソフトウェアは複雑系
– 構造,振る舞い,機能,時間制約,空間制約
などの様々な面からの理解が必要
• 要求はあいまいで,変化する
• 適用技術の変化・革新
ソフトウェア工学 第1回
2
1.2 ソフトウェアの今
• ソフトウェアの大規模化
– 医療,運輸,流通,通信,情報サービスの拡
大と大規模化
• ユーザ要求の高度化
– 文字マルチメディア双方向マルチメディア
• 市場投入までの時間短縮
– インターネット,携帯電話の普及
ソフトウェア工学 第1回
3
2 プロセスとは
• 「ユーザからの要求納品物件」という変
換において必要な一連の作業をプロセスと
いう。
• プロセスが成熟している業種
– 建設,外食産業,コンビニチェーン
– 完全なマニュアル化誰がやっても同じサー
ビス,同じプロダクト
• プロセスが未成熟のソフトウェア開発
ソフトウェア工学 第1回
4
3 代表的な開発モデル
• Waterfall model
– 開発作業を直線的に行っていくアプローチ
• 要求把握分析設計実装テスト
– ユーザの要求が前もって確定できる場合に有効
• Spiral model (オブジェクト指向開発)
– ユーザの要求が前もって確定できない場合に有効
– 実際には,要求仕様は「不明確で,変化する」ことが
多い。
ソフトウェア工学 第1回
5
4 オブジェクト指向開発のプロセス
• コンポーネントベース
– 明確に定義されたインタフェースを通じて,相互接続さ
れるコンポーネント
• 統一モデリング言語(Unified Modeling
Language)の使用
– 建築,電気工事などでは図面の書き方に厳密な規定
がある。資格試験に合格した人が運用する。
• ユースケース駆動,アーキテクチャ中心,反復的
でインクリメンタル
ソフトウェア工学 第1回
6
4.1 システムのコンポーネント化
インタフェース
コンポーネント
コンポーネント
コンポーネント
インタフェース
ソフトウェア工学 第1回
7
4.2 UML
• 3つのカテゴリ
– もの,関係,ダイアグラム
ソフトウェア工学 第1回
8
4.2.1 もの
• 構造的なもの
– use case, class, active class, interface,
component, collaboration, node
• 振る舞い的なもの
– 相互作用,状態マシン
• グループ化するもの
– package, model, subsystem, framework
ソフトウェア工学 第1回
9
4.2.2 関係
• 依存
• 関連
• 汎化
ソフトウェア工学 第1回
10
4.2.3 ダイアグラム
•
•
•
•
•
•
•
•
•
use case diagram
class diagram
object diagram
sequence diagram
collaboration diagram
state chart
activity diagram
component diagram
deployment diagram
ソフトウェア工学 第1回
11
Use case diagram
使用ケース
アクター
使用ケース
ソフトウェア工学 第1回
使用ケース
12
Sequence diagram
アクター
ソフトウェア工学 第1回
13
4.3 統一プロセスの特徴
• Use-case driven
• Architecture-centric
• Iterative and incremental
ソフトウェア工学 第1回
14
4.3.1 Use-case Driven
分析モデル
設計モデル
配置モデル
実装モデル
Use-case model
テストモデル
ソフトウェア工学 第1回
15
4.3.2 Architecture-centric
• すべての当事者に共通の開発構想
• subsystem,依存関係,interface,
collaboration, node, active class
ソフトウェア工学 第1回
16
4.3.3 Iterative and Incremental
core
要求
テスト
分析
実装
ソフトウェア工学 第1回
17
さてこれから
• 実例に則して以上の概説を掘り下げて行きます。
• 参考文献
– UMLによる統一ソフトウェア開発プロセス
• 翔泳社 ISBN4-88135-836-7
– かんたんUML
• オージス総研,翔泳社
– オブジェクトモデリングプロセスガイド
• 杉野博史+安井勝俊,ピアソン
– ソフトウェア工学
• 有沢誠,岩波書店
– ソフトウェア工学
• 河村一樹,啓学出版
ソフトウェア工学 第1回
18
クイズ
• 今日のソフトウェア開発が直面している問
題を3つあげよ。
• 統一プロセスの特徴を3つあげよ。
• UMLは何の略か。
ソフトウェア工学 第1回
19