《軟件設計師》復習筆記(11.3)——需求獲取、分析、定義、驗證、管理

目錄

一、軟件需求概述

真題示例:?

二、質量功能部署(QFD)

三、需求開發流程

需求獲取

需求分析

需求定義(SRS)

需求驗證

真題示例:?

四、需求管理

真題示例:


一、軟件需求概述

軟件需求分為三個層次:

  • 業務需求:企業/客戶的高層次目標(如項目投資人、市場部門提出)。
  • 用戶需求:用戶的具體任務或目標(通過訪談、問卷調查獲取)。
  • 系統需求:包括功能需求、非功能需求和設計約束。
    • 功能需求:系統必須實現的具體功能(如拼寫檢查)。
    • 非功能需求:系統質量屬性(如性能、可靠性)。
    • 設計約束:限制條件(如必須使用國產數據庫)。


真題示例:?

軟件需求開發是指從情況收集、分析和評價到編寫文檔、評審等一系列產生需求的活動,分為獲取情況、分析、( )和評審四個階段。

A. 制訂規格說明 B. 形成需求基線 C. 跟蹤需求變更 D. 控制需求版本

?軟件需求開發分為獲取情況、分析、制訂規格說明和評審四個階段。制訂規格說明即輸出《軟件需求規格說明書》,作為開發基線。形成需求基線是需求驗證確認后用戶簽字后的結果;跟蹤需求變更和控制需求版本屬于需求管理的范疇,并非需求開發階段的內容。

某軟件公司正在承擔開發一個字處理器的任務。在需求分析階段,公司的相關人員整理出一些相關的系統需求,其中:

  • “找出文檔中的拼寫錯誤并提供一個替換項列表來供選擇替換拼錯的詞”屬于( );
  • “顯示提供替換詞的對話框以及實現整個文檔范圍的替換”屬于( );
  • “用戶能有效地糾正正文檔中的拼寫錯誤”屬于( ) 。

A. 業務需求 B. 用戶需求 C. 功能需求 D. 性能需求

?用戶需求、功能需求、業務需求

  1. “找出文檔中的拼寫錯誤并提供一個替換項列表來供選擇替換拼錯的詞”
    這一需求描述了用戶希望系統能夠幫助他們完成的具體任務,屬于用戶需求。它從用戶角度出發,明確了用戶希望通過系統實現的目標(檢測錯誤并提供替換選項)。

  2. “顯示提供替換詞的對話框以及實現整個文檔范圍的替換”
    這一需求具體說明了系統需要實現的功能模塊(如對話框的顯示和全局替換功能),屬于功能需求。它定義了系統如何通過技術手段滿足用戶需求。

  3. “用戶能有效地糾正文檔中的拼寫錯誤”
    這一需求是公司開發該功能的高層次目標,屬于業務需求。它反映了組織開發系統的業務動機(提升用戶體驗和產品競爭力)。

這種分類確保了需求從抽象目標到具體實現的層次遞進,符合軟件工程的需求分析方法。


二、質量功能部署(QFD)

將用戶需求轉化為技術需求,分為三類:

  • 常規需求:用戶明確提出的功能,實現越多越滿意。
  • 期望需求:用戶默認應具備的功能(未實現會導致不滿)。
  • 意外需求:超出用戶預期的功能(實現可提升滿意度,但不影響購買決策)。?

三、需求開發流程

  1. 需求獲取

    • 方法:用戶訪談、問卷調查、采樣、情節串聯板、聯合需求計劃(JRP)。
  2. 需求分析

    • 目標:確保需求無二義性、可測試、完整。
    • 任務:繪制系統上下文圖、創建原型、確定優先級、建立數據字典等。
    • 結構化分析模型
      • 功能模型:數據流圖(DFD)。
      • 行為模型:狀態轉換圖(STD)。
      • 數據模型:E-R圖。
    • 數據流圖
      • 數據流圖描述數據在系統中如何被傳送或變換,以及如何對數據流進行變換
        的功能或子功能,用于對功能建模,數據流圖相關概念如圖:

      • ?

      • 數據流圖是可以分層的,從頂層(即上下文無關數據流)到0層、1層等,頂
        層數據流圖只含有一個加工處理表示整個管理信息系統,描述了系統的輸入和
        輸出,以及和外部實體的數據交互。數據流圖示例如下:

  3. 需求定義(SRS)

    • 輸出《軟件需求規格說明書》,作為開發基線。
    • 方法:
      • 嚴格定義:假設所有需求可預先明確。
      • 原型法:通過迭代模型逐步確認需求。
  4. 需求驗證

    • 步驟:評審(正式/非正式) + 測試(概念測試用例)。
    • 確認后需用戶簽字,形成需求基線。


真題示例:?

需求獲取是確定和理解不同的項目干系人的需求和約束的過程,需求獲取是否科學、準備充分,對獲取出來的結果影響很大。在多種需求獲取方式中,( )方法具有良好的靈活性,有較寬廣的應用范圍,但存在獲取需求時信息量大、記錄較為困難、需要足夠的領域知識等問題。( )方法基于數理統計原理,不僅可以用于收集數據,還可以用于采集訪談用戶或者是采集觀察用戶,并可以減少數據收集偏差。( )方法通過高度組織的群體會議來分析企業內的問題,并從中獲取系統需求。

選項內容

A. 用戶訪談 B. 問卷調查 C. 聯合需求計劃 D. 采樣

  • 用戶訪談靈活性高但依賴領域知識。

  • 采樣通過統計學方法減少偏差。

  • 聯合需求計劃(JRP)是群體會議驅動的需求獲取方式。

  • 問卷調查更適用于大規模數據收集。


四、需求管理

  • 需求基線:通過評審的需求說明書,變更需走流程。
  • 變更控制委員會(CCB):審批和監督需求變更。
  • 雙向跟蹤
    • 正向跟蹤:檢查用戶需求是否全部實現。
    • 反向跟蹤:檢查系統功能是否均源于用戶需求。
  • 常見風險:用戶參與不足、需求蔓延、模糊需求等。


真題示例:

( )是關于需求管理正確的說法。

A. 為達到過程能力成熟度模型第二級,組織機構必須具有3個關鍵過程域

B. 需求的穩定性不屬于需求屬性

C. 需求變更的管理過程遵循變更分析和成本計算、問題分析和變更描述、變更實現的順序

D. 變更控制委員會對項目中任何基線工作產品的變更都可以做出決定

A.CMM二級要求6個關鍵過程域(需求管理、項目計劃、項目跟蹤、配置管理、質量保證、子合同管理)
B. 需求的穩定性(如變更頻率)是重要屬性
C. 正確順序應為:問題分析和變更描述→變更分析和成本計算→變更實現
D. 變更控制委員會(CCB)負責審批所有基線產品的變更?

在結構化分析中,用數據流圖描述( )。當采用數據流圖對一個圖書館管理系統進行分析時,( )是一個外部實體。

A. 數據對象之間的關系,用于對數據建模

B. 數據在系統中如何被傳送或變換,以及如何對數據流進行變換的功能或子功能,用于對功能建模

C. 系統對外部事件如何響應,如何動作,用于對行為建模

D. 數據流圖中的各個組成部分

A. 讀者 B. 圖書 C. 借書證 D. 借閱

  1. 數據流圖描述內容
    數據流圖(DFD)的核心是展示數據流動和功能變換,屬于功能建模工具。A選項描述的是E-R圖(數據庫),C選項描述的是狀態轉換圖。

  2. 圖書館系統的外部實體

    • 外部實體指系統外的人或組織
    • 讀者是系統使用者,屬于外部實體
    • 圖書、借書證、借閱都是系統內部數據

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/77411.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/77411.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/77411.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot 依賴注入與Bean管理:JavaConfig如何取代XML?

大家好呀!今天我們來聊一個超級實用的技術話題 —— Spring Boot 中的依賴注入和Bean管理,特別是JavaConfig是如何一步步取代XML配置的。我知道很多小伙伴一聽到"依賴注入"、"Bean管理"這些詞就頭大,別擔心!我…

全志H5,NanopiKP1lus移植QT5.12記錄

移植步驟 機器環境下載QT5.12.0源碼安裝交叉編譯器修改qmake.conf文件配置編譯選項qt5的configure選項說明基本配置選項編譯器和鏈接器選項功能模塊配置第三方庫集成注意事項 配置過程報錯解決配置完成編譯過程報錯解決編譯完成將arm-qt文件夾傳送到開發板配置板子環境變量運行…

STM32單片機C語言

1、stdint.h簡介 stdint.h 是從 C99 中引進的一個標準 C 庫的文件 路徑:D:\MDK5.34\ARM\ARMCC\include 大家都統一使用一樣的標準,這樣方便移植 配置MDK支持C99 位操作 如何給寄存器某個值賦值 舉個例子:uint32_t temp 0; 宏定義 帶參…

【專題刷題】雙指針(四):最接近的三數之和,接雨水

📝前言說明: 本專欄主要記錄本人的基礎算法學習以及LeetCode刷題記錄,按專題劃分每題主要記錄:(1)本人解法 本人屎山代碼;(2)優質解法 優質代碼;&#xff…

chili3d調試筆記3 加入c++ 大模型對話方法 cmakelists精讀

加入 #include <emscripten/bind.h> #include <emscripten/val.h> #include <nlohmann/json.hpp> 怎么加包 函數直接用emscripten::function&#xff0c;如&#xff1a; emscripten::function("send_to_llm", &send_to_llm); set (CMAKE_C…

[Redis]1-高效的數據結構P2-Set

按照慣例&#xff0c;先丟一個官網文檔鏈接。 上篇我們已經了解了高效的數據結構P1-String與Hash。 這篇&#xff0c;我們繼續來了解Redis的 Set 與 Sorted set。 目錄 有序集合 Sorted set底層實現 集合 Set總結資料引用 有序集合 Sorted set Redis 有序集合是一組唯一的字符…

Python + Playwright:使用正則表達式增強自動化測試

Python + Playwright:使用正則表達式增強自動化測試 前言一、 為什么選擇正則表達式?二、 Playwright 中集成正則表達式:途徑與方法三、 實戰應用:正則表達式解決典型測試難題場景 1:定位 ID 或 Class 包含動態部分的元素場景 2:驗證包含可變數字或文本的提示信息場景 3:…

VASP 6.4.1 Ubuntu系統編譯安裝手冊

VASP 6.4.1 Ubuntu系統編譯安裝手冊 &#xff08;基于Ubuntu 22.04 LTS&#xff0c;適用x86_64架構&#xff09; 文章目錄 VASP 6.4.1 Ubuntu系統編譯安裝手冊第一章 系統環境深度配置1.1 硬件兼容性驗證1.2 操作系統環境準備1.3 數學庫深度優化配置 第二章 編譯環境深度調優2…

uniapp h5接入地圖選點組件

uniapp h5接入地圖選點組件 1、申請騰訊地圖key2、代碼接入2.1入口頁面 &#xff08;pages/map/map&#xff09;templatescript 2.2選點頁面&#xff08;pages/map/mapselect/mapselect&#xff09;templatescript 該內容只針對uniapp 打包h5接入地圖選點組件做詳細說明&#x…

java輸出、輸入語句

先創建一個用于測試的java 編寫程序 #java.util使java標準庫的一個包&#xff0c;這里拉取Scanner類 import java.util.Scanner;public class VariableTest {public static void main(String[] args) {#創建一個 Scanner 對象Scanner scanner new Scanner(System.in);System.…

AI Agents系列之構建多智能體系統

&#x1f9e0; 向所有學習者致敬&#xff01; “學習不是裝滿一桶水&#xff0c;而是點燃一把火。” —— 葉芝 我的博客主頁&#xff1a; https://lizheng.blog.csdn.net &#x1f310; 歡迎點擊加入AI人工智能社區&#xff01; &#x1f680; 讓我們一起努力&#xff0c;共創…

04.Spring 框架注解體系詳解

Spring 框架注解體系詳解 本文詳細介紹 Spring、Spring Boot 及 Spring Cloud 中常用注解的用途、生命周期及使用方式&#xff0c;幫助開發者更深入理解 Spring 注解驅動編程模式。 參考來源&#xff1a;Spring、SpringMVC、SpringBoot、SpringCloud 框架常用注解說明 目錄 注…

手撕STL——vector

目錄 引言 1&#xff0c;了解 STL 中的 vector 2&#xff0c;先來一個簡易版跑起來 2_1&#xff0c;構造函數 2_2&#xff0c;擴容reserve&#xff08;&#xff09; 2_3&#xff0c;push_back&#xff08;&#xff09; 2_4&#xff0c;pop_back&#xff08;&#xff09; …

優恩-具備浪涌保護功能的固態繼電器UNRD0610-無觸點開關器件?

MOSFET固態繼電器 : 最高負載電壓&#xff1a;60V 最大負載電流&#xff1a;10A 快速響應時間&#xff1a;≤1ms 低驅動電流&#xff1a;≤10mA 高絕緣性&#xff0c;輸入輸出間隔離電壓&#xff1a;AC3000V 耐脈沖浪涌沖擊能力強 符合IEC 61000-4-2 ESD標準&#xff1a…

Kaamel隱私與安全分析報告:Microsoft Recall功能評估與風險控制

本報告對Microsoft最新推出的Recall功能進行了全面隱私與安全分析。Recall是Windows 11 Copilot電腦的專屬AI功能&#xff0c;允許用戶以自然語言搜索曾在電腦上查看過的內容。該功能在初次發布時因嚴重隱私和安全問題而備受爭議&#xff0c;后經微軟全面重新設計。我們的分析表…

Kotlin協程Semaphore withPermit約束并發任務數量

Kotlin協程Semaphore withPermit約束并發任務數量 import kotlinx.coroutines.* import kotlinx.coroutines.sync.Semaphore import kotlinx.coroutines.sync.withPermit import kotlinx.coroutines.launch import kotlinx.coroutines.runBlockingfun main() {val permits 1 /…

鴻蒙語言基礎

準備工作 去鴻蒙官網下載開發環境 點擊右側預瀏覽&#xff0c;刷新和插銷按鈕&#xff0c;插銷表示熱更新&#xff0c;常用按鈕。 基礎語法 string number boolean const常量 數組 let s : string "1111"; console.log("string", s);let n : number …

C++數據結構與二叉樹詳解

前言&#xff1a; 在C編程的世界里&#xff0c;數據結構是構建高效程序的基石&#xff0c;而二叉樹則是其中最優雅且應用廣泛的數據結構之一。本文將帶你深入理解二叉樹的本質、實現與應用&#xff0c;助你在算法設計中游刃有余。 一、二叉樹的基本概念 1. 什么是二叉樹 二叉樹…

淺析數據庫面試問題

以下是關于數據庫的一些常見面試問題: 一、基礎問題 什么是數據庫? 數據庫是按照數據結構來組織、存儲和管理數據的倉庫。SQL 和 NoSQL 的區別是什么? SQL 是關系型數據庫,使用表結構存儲數據;NoSQL 是非關系型數據庫,支持多種數據模型(如文檔型、鍵值對型等)。什么是…

piamon實戰-- 如何使用 Paimon 的 Java API 實現數據的點查

簡介 Apache Paimon(原 Flink Table Store)是一款基于流批一體架構的 ??高性能數據湖存儲框架??,支持低延遲的數據更新、實時查詢和高效的鍵值點查(Point Lookup)。 本文將深入解析 Paimon 的點查機制,并通過 Java API 代碼案例演示如何實現數據的點查功能。 一、Pai…