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