《需求工程 軟體建模與分析》01

2022-04-28 21:45:16 字數 1514 閱讀 4296

一、滿足需求就是解決問題

問題解決的 兩個方面——問題域與解系統

首先,我們需要簡要了解這兩點的概念。第一,問題域是需求的背景,要理解需求就必須先理解問題域。問題域的背景資訊又被稱為問題域特性(problem domain feature),與需求相區別的是,問題域是自治的,它有自己的執行規律,而且這些規律不會因為解系統的引入而發生改變。第二,解系統是指軟體系統通過影響問題域幫助人們解決問題,軟體解決方案在通用計算機上的實現。需要注意的是,需求工程師要注意區分使用者與軟體開發人員在關注點上的不同:使用者關注於問題域,軟體開發人員更關注解系統。

其次,解系統的核心是軟體解決方案和解決方案在通用計算機上的實現。實現部分主要是軟體內部的組成元素、結構關係、物理實現等軟體系統的構成要素。需求工程所關注的僅僅是解決方案,不涉及軟體的實現環節。在需求開發過程中,問題域中的使用者提出問題與需求,在整個銜接過程中,需求是使用者與需求工程師的協作基礎,解決方案是需求工程師與軟體開發者的協作基礎。因為解決方案以對外互動的方式定義了軟體系統的功能,所以解決方案被稱為軟體系統的需求規格說明(specification)。

問題解決的基礎——模擬與共享現象

問題與解系統能夠形成互動的基礎是解系統的部分模擬了問題域,將這種模擬現象稱為共享現象。

問題解決的方法——直接與間接

模擬並操縱共享現象是軟體系統滿足需求的最直接方法。考慮問題和需求滿足的方法時,成本是重要的因素。在設計解決方案時要防止解系統的引入在問題域中引發未預見的連鎖反應。

間接特性不會與解系統直接互動,不會受到解系統的直接影響,但是卻可能因為連鎖反應而受到影響。

問題解決方案——需求規格說明

資料和功能為軟體系統的最核心部分。

問題解決的困難性

例如,(1)不存在描述明確的問題域特性;(2)不存在確定的針對系統行為的評估標準需求;(3)根據問題域特性和系統行為推測系統應用效果是簡單的推理過程,但根據問題域特性和期望的系統應用效果構建系統行為是困難的。因為,這其中需要考慮到技術的可行性,還要盡可能滿足客戶需求,準確挖掘出客戶需求。

二、需求和問題都是有層次的

問題和期望粒度不同的現象被稱為需求的不同抽象層次。系統最為常見的系統層次有如下三種:

業務需求,針對整個業務的期望。

使用者需求,針對具體任務的期望。

系統級需求,針對使用者與系統一次互動的期望。

嚴格意義上的需求分類:

功能需求,和系統主要工作相關的要求,即在不考慮物理約束的情況下,使用者希望系統能夠執行的活動。

效能需求,系統整體或其組成部分應該擁有的效能特徵。

質量屬性。

對外介面,包括硬體介面、軟體介面和資料庫介面。

約束(constraint),如程式語言、硬體設施等。

系統特性說明了系統為使用者提供的各項功能,它限定了系統的範圍,定義良好的系統特性可以幫助使用者和開發者確定系統的邊界。使用者經過明確和細化的處理,可以轉化為系統級需求。 

人們將軟體、硬體和人力資源聯合起來,這種聯合的形勢被稱為系統工程。

《需求工程 軟體建模與分析》閱讀筆記01

因為自己有,然後大略看了看感覺還不錯於是決定讀這本書。讀軟體需求分析首先明確了軟體需求包含的三個不同層次,業務需求即組織機構或客戶的需求目標,使用者需求即使用者使用產品必須要完成的任務,功能需求即開發人員需要實現的軟體功能。從需求的定義上我們可以知道需求關注的是究竟想開發什麼與設計細節實現細節專案規...

需求工程軟體建模與分析閱讀筆記01

需求工程 軟體建模與分析 第二版 主編駱斌 編著丁二玉 第一次閱讀這本書,首先我從這本書的整體結構目錄閱讀,大致了解這本書的主體內容。本書分為5部分 第一部分緒論,第二部分需求獲取,第三部分需求分析,第四部分需求的格式化與驗證,第五部分需求的管理及工程管理。第一章主要介紹軟體工程產生的背景,軟體工程...

《需求工程 軟體建模與分析》04

一 需求捕獲過程 一 需求內容 1 需求。主要表現為使用者對系統的期望及目標,在獲取中體現為涉眾的問題 期望 觀點 看法和態度等。2 問題與描述。主要用於承載和解釋需求的問題域特性,表現為現實世界的業務運 況。3 環境與約束。這屬於一種特殊的問題域特性,其主要 於涉眾的描述和對應用環境的觀察。1 涉...