chapter 5 需求工程
DESCRIPTION
Chapter 5 需求工程. 學習目標. 需求工程 簡介 問題分析 軟體需求規格 物件導向的需求分析 功能導向分析. 學習目標. 程序規格 Jackson 系統發展方法 規格及描述語言 結構化分析與設計技術 即時系統設計方法. 學習目標. 即時系統並行設計方法 制定行為規格的狀態導向方法 制定規格的正式方法 軟體需求規格的非行為特徵 計量需求的品質 雙向的可追蹤性需求. 需求工程 簡介. 需求分析的主要產出結果. 功能性(主要的動作) 用以確立系統活動的功能性描述 行為性(控制活動) 行為性描述,以控制活動的階層關係 - PowerPoint PPT PresentationTRANSCRIPT
1
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
Chapter 5
需求工程
2
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
學習目標
需求工程簡介 問題分析 軟體需求規格 物件導向的需求分析 功能導向分析
3
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
學習目標
程序規格 Jackson 系統發展方法 規格及描述語言 結構化分析與設計技術 即時系統設計方法
4
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
學習目標
即時系統並行設計方法 制定行為規格的狀態導向方法 制定規格的正式方法 軟體需求規格的非行為特徵 計量需求的品質 雙向的可追蹤性需求
5
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
需求工程簡介
6
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
需求分析的主要產出結果
功能性(主要的動作) 用以確立系統活動的功能性描述
行為性(控制活動) 行為性描述,以控制活動的階層關係
非行為性(屬性) 軟體的非行為性軟體描述,包括人因工
程與品質保證規劃
7
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
需求程序應具有的主要產品
完整的軟體需求規格 對於系統的描述(系統的功能、行為、
效能、內部與外部介面及其品質屬性)
品質保證規劃 指示專案團隊所應遵循的準則,這些準
則項目包括:可攜性、效率、可靠性、驗證、確認準則、成本及接受度
8
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
問題分析
環境 產出項目 主要功能 所需的方法 工作時間表
9
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.2 問題分析的元件
10
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
問題分析的原則 分割
聚合了在物件、功能及狀態之間的結構性關聯,同時簡化(劃分)被分析的結構
抽象化 識別出在物件、功能與狀態之中「一般/
特定的」結構性關聯
投射 提供物件、功能與狀態間結構性關聯觀點
11
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
軟體需求規格
IEEE 標準 830-1993
軟體需求規格是對於「特定軟體產品、程式或在預定環境中執行一組功能的程式集」之描述
12
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.3 撰寫 SRS 時的基本議題
13
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.4 SRS 的結構
14
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
物件導向的需求分析
定義位於分割中的物件
制定物件、屬性、結構、服務與主體
gen-spec 與 whole-part
15
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.10 gen-spec圖
16
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.11 whole-part圖
17
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.12 導航系統的物件圖
18
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.13 導航系統的距離圖
19
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
功能導向分析
資料流程圖 系統中資訊流的可能形式、資料
的儲存位置以及資料流過整個系統時的各種變換
資料字典
20
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
表 5.4 DFD符號
21
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
表 5.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
23
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
程序規格
24
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
Jackson 系統發展方法
動作步驟 實體結構步驟 塑模步驟 功能步驟 計時步驟 實作步驟
25
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.18 導航系統的 JSD 圖
26
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.19 JSD 的語法
27
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
規格及描述語言
28
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
結構化分析與設計技術
29
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
結構化分析與設計技術
30
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
即時系統設計方法
即時系統 由一或多個具有時間急迫性的
工作,與即時的工作排程機制所組成
該工作必須(強制)在一個嚴格限定的時間內完成
31
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.25 DART 的符號
32
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.26 訊息傳送程序的範例
33
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.27 計時器事件的範例
34
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.28 計時驅動通信協定的 DARTS
圖
35
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
即時系統並行設計方法
36
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
制定行為規格的狀態導向方法
有限狀態機 斐氏網絡 彩色斐氏網絡 狀態圖
37
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.32 有限狀態機的範例
38
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
圖 5.36 彩色斐氏網絡的範例
39
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
制定規格的正式方法
斐氏網絡的屬性 Vienna 發展方法 以 Z 制定規格 無塵室黑箱規格
40
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
軟體需求規格的非行為特徵
可靠性 可重覆使用性 可用度 可攜性 可維護性 安全性 標準化程度
41
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
計量需求的品質
42
5
Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz
雙向的可追蹤性需求
TM 代表一個「設計 - 可追蹤性」的測量值
R1 代表架構或實作中符合的需求個數
R2 代表原本的需求個數