chapter 5 需求工程

42
1 5 Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz Chapter 5 需需需需

Upload: kylene

Post on 04-Jan-2016

89 views

Category:

Documents


0 download

DESCRIPTION

Chapter 5 需求工程. 學習目標. 需求工程 簡介 問題分析 軟體需求規格 物件導向的需求分析 功能導向分析. 學習目標. 程序規格 Jackson 系統發展方法 規格及描述語言 結構化分析與設計技術 即時系統設計方法. 學習目標. 即時系統並行設計方法 制定行為規格的狀態導向方法 制定規格的正式方法 軟體需求規格的非行為特徵 計量需求的品質 雙向的可追蹤性需求. 需求工程 簡介. 需求分析的主要產出結果. 功能性(主要的動作) 用以確立系統活動的功能性描述 行為性(控制活動) 行為性描述,以控制活動的階層關係 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 5 需求工程

1

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

Chapter 5

需求工程

Page 2: Chapter 5 需求工程

2

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

學習目標

需求工程簡介 問題分析 軟體需求規格 物件導向的需求分析 功能導向分析

Page 3: Chapter 5 需求工程

3

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

學習目標

程序規格 Jackson 系統發展方法 規格及描述語言 結構化分析與設計技術 即時系統設計方法

Page 4: Chapter 5 需求工程

4

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

學習目標

即時系統並行設計方法 制定行為規格的狀態導向方法 制定規格的正式方法 軟體需求規格的非行為特徵 計量需求的品質 雙向的可追蹤性需求

Page 5: Chapter 5 需求工程

5

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

需求工程簡介

Page 6: Chapter 5 需求工程

6

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

需求分析的主要產出結果

功能性(主要的動作) 用以確立系統活動的功能性描述

行為性(控制活動) 行為性描述,以控制活動的階層關係

非行為性(屬性) 軟體的非行為性軟體描述,包括人因工

程與品質保證規劃

Page 7: Chapter 5 需求工程

7

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

需求程序應具有的主要產品

完整的軟體需求規格 對於系統的描述(系統的功能、行為、

效能、內部與外部介面及其品質屬性)

品質保證規劃 指示專案團隊所應遵循的準則,這些準

則項目包括:可攜性、效率、可靠性、驗證、確認準則、成本及接受度

Page 8: Chapter 5 需求工程

8

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

問題分析

環境 產出項目 主要功能 所需的方法 工作時間表

Page 9: Chapter 5 需求工程

9

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.2  問題分析的元件

Page 10: Chapter 5 需求工程

10

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

問題分析的原則 分割

聚合了在物件、功能及狀態之間的結構性關聯,同時簡化(劃分)被分析的結構

抽象化 識別出在物件、功能與狀態之中「一般/

特定的」結構性關聯

投射 提供物件、功能與狀態間結構性關聯觀點

Page 11: Chapter 5 需求工程

11

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

軟體需求規格

IEEE 標準 830-1993

軟體需求規格是對於「特定軟體產品、程式或在預定環境中執行一組功能的程式集」之描述

Page 12: Chapter 5 需求工程

12

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.3  撰寫 SRS 時的基本議題

Page 13: Chapter 5 需求工程

13

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.4 SRS 的結構

Page 14: Chapter 5 需求工程

14

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

物件導向的需求分析

定義位於分割中的物件

制定物件、屬性、結構、服務與主體

gen-spec 與 whole-part

Page 15: Chapter 5 需求工程

15

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.10 gen-spec圖

Page 16: Chapter 5 需求工程

16

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.11 whole-part圖

Page 17: Chapter 5 需求工程

17

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.12  導航系統的物件圖

Page 18: Chapter 5 需求工程

18

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.13  導航系統的距離圖

Page 19: Chapter 5 需求工程

19

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

功能導向分析

資料流程圖 系統中資訊流的可能形式、資料

的儲存位置以及資料流過整個系統時的各種變換

資料字典

Page 20: Chapter 5 需求工程

20

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

表 5.4 DFD符號

Page 21: Chapter 5 需求工程

21

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

表 5.5  資料字典特徵 儲存的資訊 說明 名稱 用以識別資料項別名 用以識別資料項的其它名稱、縮寫資料結構 資料的型別描述 說明如何(為何)使用一個資料項期間 資料的生命週期精確度 高、中、低精確度值的範圍 資料項的可允許值資料流 用以識別產生/接收資料的程序

Page 22: Chapter 5 需求工程

22

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

表 5.6  資料字典實例 名稱 型別 代表意義 範圍 精確度 資料流

Speed 實數 平均車輛速度

0≦ speed≦60 mph

± 0.01 get_flow

Vehicle spacing

實數 平均車輛間隔

0≦ space≦1000 ft

± 0.01 get_geom

Flow data location

字串 交通位置 10≦ location≦30 未指定 get_flow get_geom

Flow data volume

整數 目前交通量

0≦ volume≦4000 per hr

未指定 get_flow get_geom

Time stamp 字串 日期與時間

20 個字元 Y2K 保證

get_timestamp

Page 23: Chapter 5 需求工程

23

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

程序規格

Page 24: Chapter 5 需求工程

24

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

Jackson 系統發展方法

動作步驟 實體結構步驟 塑模步驟 功能步驟 計時步驟 實作步驟

Page 25: Chapter 5 需求工程

25

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.18  導航系統的 JSD 圖

Page 26: Chapter 5 需求工程

26

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.19 JSD 的語法

Page 27: Chapter 5 需求工程

27

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

規格及描述語言

Page 28: Chapter 5 需求工程

28

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

結構化分析與設計技術

Page 29: Chapter 5 需求工程

29

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

結構化分析與設計技術

Page 30: Chapter 5 需求工程

30

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

即時系統設計方法

即時系統 由一或多個具有時間急迫性的

工作,與即時的工作排程機制所組成

該工作必須(強制)在一個嚴格限定的時間內完成

Page 31: Chapter 5 需求工程

31

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.25 DART 的符號

Page 32: Chapter 5 需求工程

32

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.26  訊息傳送程序的範例

Page 33: Chapter 5 需求工程

33

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.27  計時器事件的範例

Page 34: Chapter 5 需求工程

34

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.28  計時驅動通信協定的 DARTS

Page 35: Chapter 5 需求工程

35

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

即時系統並行設計方法

Page 36: Chapter 5 需求工程

36

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

制定行為規格的狀態導向方法

有限狀態機 斐氏網絡 彩色斐氏網絡 狀態圖

Page 37: Chapter 5 需求工程

37

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.32  有限狀態機的範例

Page 38: Chapter 5 需求工程

38

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

圖 5.36  彩色斐氏網絡的範例

Page 39: Chapter 5 需求工程

39

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

制定規格的正式方法

斐氏網絡的屬性 Vienna 發展方法 以 Z 制定規格 無塵室黑箱規格

Page 40: Chapter 5 需求工程

40

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

軟體需求規格的非行為特徵

可靠性 可重覆使用性 可用度 可攜性 可維護性 安全性 標準化程度

Page 41: Chapter 5 需求工程

41

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

計量需求的品質

Page 42: Chapter 5 需求工程

42

5

Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz

雙向的可追蹤性需求

TM 代表一個「設計 - 可追蹤性」的測量值

R1 代表架構或實作中符合的需求個數

R2 代表原本的需求個數