情報化社会での生き甲斐

ソフトウェア開発管理
技術
①ソフトウェア開発プロセス・手法
(ソフトウェア開発手法/モデル)
②オブジェクト指向手法
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
1
①ソフトウェア開発プ
ロセス・手法
代表的な開発手法に関する
意義や目的
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
2
(1)ソフトウェア開発モデル(p98)
 WaterFallモデル
工程に沿って、逐次開発(後戻りしない)
 特徴
開発管理が容易
大規模システム向き
 問題点
上流工程の不具合は、修復大
要件を反映しにくい
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
3
プロトタイピングモデル(p98)

構築手順(Prototyping)
 要件・評価(≒ヒアリング)をもとに
プロトタイプを作成・改善/試用/評価

利点
 要件を反映しやすい

難点
 手間がかかる、管理が難しい
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
4
スパイラルモデル(p98)

両モデルの特長を取り入れたモデル

構築手順
 WaterFallモデルで
サブシステム分割
 サブシステムごとに
プロトタイピング
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
5
(2)ソフトウェア開発手法(p97)
ープロセス中心アプローチ
A)業務プロセス着目して開発する手法
 伝統的手法
 Process
Oriented Approarch
入力伝票
作業者
出力帳票
人手で作業しているとき
『ソフトウェア開発管理技術』
入力ファイル
参照資料
プログラム
参照ファイル
出力ファイル
POAでシステム化
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
6
B)データ中心アプローチ(DOA、p97)
データに着目して開発する手法
 (背景)

 業務(仕事の仕方)は変わっても
 業務で使う「データ」は変わらない
 DOA
→ システム変更が少なくなる
データに
着目
+
販売
-
商品
(在庫)
現金
-
発注
『ソフトウェア開発管理技術』
+
発注の仕方が
変わっても
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
7
C)オブジェクト指向(p96)
 「オブジェクトを定めて」
これを組み合わせることで開発する手法
 オブジェクト
→ 再利用/高生産性
 例)カーナビ、スマホ
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
8
②オブジェクト指向手法
(p96)
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
9
(1)オブジェクトの定義(p96)

内部隠蔽された「データとメソッド」を持つもの
 メッセージを受けることで動作する
 一連の連携で「仕事」を実行
メッセージb
• データA
• メソッドA
オブジェクトA
オブジェクトB
オブジェクトC
メッセージa
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
10
オブジェクトのイメージ
メッセージ
応答
画面の上の位置に
表示する
GSオブジェクト
所在位置
看板
位置計算する
データ
メソッド
カーナビ画面
GS
GS
表示する
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
11
(2)UML(p96)-ユースケース図

UML(Unified


Modeling Language)
オブジェクト指向の設計技法(言語)
利用者の視点で、システムの機能を図示する
図書館システム
 アクター:人(システム)
 ユースケース:機能
 システム境界
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
12
操作
(3)UML-クラス図

データの視点で、システムの構造を図示する
 クラス名(オブジェクトの元)
 操作(メソッドの元)
 属性(データの元)
クラス名
操作
多重度
属性
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
13
クラス図のもう一つの例
クラス:
オブジェクトの元
(データの視点)
クラスの関係:
多重度
操作:
クラスの中で定義
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
14
(4)オブジェクト指向での概念

カプセル化(内部を隠蔽)
難しいが・・・
優れた
開発手法
 データを外部から操作できない
 独立性が高まる
→ 信頼性が向上
例 GSオブジェクト

継承
 上位クラス
所在位置
→ 下位クラス
看板
位置計算する
表示する

インスタンス化(具象化)
 クラス(抽象)
『ソフトウェア開発管理技術』
→ オブジェクト=インスタンス
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
15
End
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
16
Link先
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
17
WaterFallモデルのプロセス(第12回の再掲)
要件定義
運用テスト
外部設計
設計
内部設計
プログラミング
システムテスト
結合テスト
単体テスト
テスト
(戻る)
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
18
継承
(戻る)
クラスの定義:
簡単・正確に

スーパクラス
サブクラス
GS
GS番号
GS名
所在位置
所属
:
表示位置を再計算する
:
EssoGS
GS番号
GS名
所在位置
所属=Esso
Esso看板
表示位置を再計算する
看板を表示する
特化
汎化
Is-a関係(特化)

GS
EssoGS
Esso
EneosGS
Eneos
『ソフトウェア開発管理技術』
Part-of関係(汎化)
高速入口
出光GS
出光
ランプ
料金所
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
ゲート
19
インスタンス化
クラス
クラス名
データ
メソッド
インスタンスの生成:
簡単・正確に
インスタンス
EssoGS
GS番号
GS名
所在位置
所属=Esso
Esso看板
表示位置を再計算する
看板を表示する
インスタンス化
E2031
長瀬営業所
長瀬北西角
Esso
:
E2035
鶴橋GS
鶴橋駅前
Esso
:
表示位置を再計算する
表示位置を再計算する
看板を表示する
看板を表示する
(戻る)
『ソフトウェア開発管理技術』
(C)Copyright, Toshiomi KOBAYASHI,2009-2015
20