需求工程筆記整理

考試複習整理~~~


第一章 需求工程導論(略)

  1. 需求工程、軟件工程、系統工程的聯繫與區別
    在這裏插入圖片描述

  2. 需求工程的定義

    需求工程是所有需求開發活動的綜合,它獲取整理需求信息、
    分析需求問題、記錄需求、驗證需求的正確性、管理需求。

  3. 需求工程的基本活動
    在這裏插入圖片描述

  4. 需求工程師的任務

    需求工程師是涉衆和開發者之間的橋樑
    完成需求工程基本活動
    協調管理應用領域的業務需求、用戶需求、期望與約束和計算機領域的規模與複雜度、功能與非功能需求

第二章 需求基礎(略)

  1. 需求的定義

    解決問題所需要的條件或能力

  2. 解系統和需求規格說明(含義)

    解系統 = 軟件解決方案 + 軟件系統

    軟件解決方案 = 需求規格說明(文檔)

  3. 需求是有層次性的

    • 業務需求、用戶需求、系統需求含義及關聯

      • 業務需求:描述軟件系統的目標和效益,適合決策者
      • 用戶需求:描述了軟件系統的具體任務,適合使用系統的各類用戶
      • 系統需求:關注軟件系統的功能,適合軟件開發者。
      • 其中業務需求和用戶需求可以從現實中獲得,系統需求通過前面兩者分析轉換獲得
    • 問題與描述:業務需求+用戶需求

    • 需求規格說明書:系統需求

  4. 需求(軟件需求)類別

    • 功能需求:和系統主要工作相關的需求,即在不考慮物理約束的情況下,用戶希望系統所能夠執行的活動,這些活動可以幫助用戶完成任務。功能需求主要表現爲系統和環境之間的行爲交互。

    • 性能需求:系統整體或系統組成部分應該擁有的性能特徵,例如CPU使用率、內存使用率等。

    • 數據需求:軟件系統中非常重要的知識內容(可以在表達功能需求是進行描述)

    • 質量屬性、對外接口和約束

  5. 優秀的需求的特性

    • 完備性 • 正確性 • 可行性 • 必要性 • 無歧義 • 可驗證

第三章 需求工程過程(略)

  1. 需求工程過程的概念

    過程是一組相關活動的集成,通過這些活動的執行,可以完成一項
    任務或者達到一個目標

    需求工程過程是軟件開發中跟需求有關的活動的集成,從用戶面臨的問題出發,經過獲取、分析和建模,形成問題的解決方案,並將該方案轉化爲需求規格說明文檔

    需求工程活動是跟需求有關的活動,分爲需求開發和需求管理

    • 需求開發:

      • 活動:需求獲取、需求分析、需求規格說明、需求驗證

      • 每個需求工程活動完成的任務(摘抄自定義):

        1. 需求獲取

          • 需求獲取是從人、文檔或者環境當中獲取需求的過程
          • 需求工程師必須要利用各種方法和技術來獲取需求
          • 需求獲取和需求分析是交織在一起的(交替進行);
        2. 需求分析

          • 通過建模來整合各種需求信息,以使得人們更好的理解問題
          • 爲問題定義出一個需求集合,這個集合能夠爲解決問題形成一個有效的解決方案
          • 檢查需求當中存在的錯誤、遺漏、不一致等各種缺陷,並加以修正
        3. 需求規格說明

          • 所有需求都被編寫成文檔,主要目的是爲了相關人員之間交流需求信息
        4. 需求驗證

          • 確保需求規格說明文檔能正確、準確的反映用戶的意圖
          • 確保文檔的高質量
            • 文檔內每條需求都正確、準確的反映了用戶的意圖
            • 文檔記錄的需求集在整體上具有完整性和一致性
            • 文檔的組織方式和需求的書寫方式具有可讀性和可修改性
        5. 需求管理

          • 保證需求作用在整個軟件生命週期中的持續、穩定和有效發揮
      • 成果(文檔):

        1. 項目前景和範圍文檔:定義系統業務需求(業務流程圖)

        2. 用戶需求文檔:定義各用戶的用戶需求(用例圖)

        3. 需求規格說明文檔:

          • 系統規格說明:定義整個系統的需求(系統需求),包括軟件需求、硬 件需求、其他需求(安全需求等)
          • 軟件規格說明:定義軟件需求(數據流圖、模塊結構圖、實體關係圖、 數據字典等);
    • 需求管理:

  2. 需求工程活動是互相交織、併發、迭代和遞增的

第四章 需求獲取概述

  1. 需求獲取常見困難

    • 用戶和開發人員的背景不同,立場不同
    • 普通用戶缺乏概括性、綜合性的表述能力
    • 用戶存在認知困境
    • 用戶越俎代庖
    • 缺乏用戶參與
  2. 需求獲取的活動和過程

    • 需求獲取活動

      • 研究應用背景,建立初始的知識框架
      • 根據獲取的需要,採用必要的獲取方法和技巧
      • 先行確定獲取的內容和主題,設定場景
      • 分析用戶的高(深)層目標,理解用戶的意圖
      • 進行涉衆分析,針對涉衆的特點開展工作
    • 需求獲取過程

      圖4-1

  3. 需求獲取的內容:

    • 需求:業務需求和用戶需求
    • 問題域描述:描述現實世界的業務運行情況(事物、事件…)
    • 環境與約束:解系統運行的環境和約束。
  4. 獲取信息的來源:涉衆、硬數據、相關產品、重要文檔、 相關技術標準和法規

  5. 獲取信息的方法:傳統方法、集體獲取方法、原型方法、 模型方法

  6. 獲取信息的成果:獲取筆錄、正式文檔

第五章 確定項目的前景和範圍

  1. 確定項目前景與範圍階段的活動

    • 過程

      在這裏插入圖片描述

  2. 確定項目前景與範圍階段的方法(問題分析和目標分析,簡單情況下使用問題分析)

    • 問題分析

      • 過程

        在這裏插入圖片描述

      • 獲取問題
      • 明確問題
      • 發現業務需求
      • 定義問題解決方案及系統特性
  3. 業務需求、解決方案、系統特性的含義

    • 業務需求:問題的反面(描述了軟件系統的目標和效益,適合與決策者–by 第一章)
    • 解決方案:用於解決問題
    • 系統特性:解決方案所具有的功能特性
      • 明確實現該解決方案系統需要具備的功能。
      • 一個特性內聚於一個目標和任務,反應了系統與外界一次有價值的完整交互過程
      • 系統特性描述了用戶可以使用系統完成的(工作)任務
  4. 定義系統邊界:會畫系統用例圖和上下文圖

    • 確定系統邊界—用例圖
      整個系統邊界 = 每個問題對應的解決方案的邊界的合併
    • 確定系統邊界—上下文圖
      先確定每個問題的解決方案的邊界

第六章 涉衆分析與硬數據採樣(略)

  1. 涉衆的概念
    • 所有對軟件系統的開發和應用具有發言權和決定權的人
    • 所有能夠影響軟件系統的實現或者會被實現後的軟 件系統所影響的關鍵個人和團體稱爲涉衆
  2. 涉衆分析過程
    在這裏插入圖片描述
  3. 過濾非關鍵涉衆的依據:分析一個涉衆類別的任務或他們與外界的交互活動,如果這些屬於項目範圍,服務於系統目標(業務需求)的實現,那麼該涉衆類別屬於關鍵類別,反之亦然。
  4. 識別涉衆的方法
    • 先膨脹後收縮
    • 檢查列表
    • 涉衆網絡
  5. 涉衆描述的內容
    • 個人特徵
      • 技能
      • 身體能力
      • 生活方式
    • 工作特徵
      • 任務
      • 使用狀況
      • 技能和經驗(新手~專家)
    • 地理和社會特徵(少數情況下)
  6. 涉衆評估的作用
    • 在發生資源緊缺或者需求衝突時,優先級高的涉衆會受到特別優待
  7. 硬數據定義、分類和常用採樣技術
    • 定義/類型
      • 定量硬數據
      • 定性硬數據
    • 採樣方法
      • 隨機抽樣
      • 分層抽樣

第七章 基於用例/場景模型展開的用戶需求獲取

  1. 用例概念:系統與外界交互的行爲序列(相關場景集合的敘述性的文本描述)
  2. 場景概念:行爲或者事件序列的描述
  3. 用例和場景的關係:一個用例是多個場景的集合
  4. 用例圖(要求會畫)
    • 概念
    • 用途
  5. 用例描述(要求會寫用戶需求用例描述)
    • 概念
    • 用途

第八章 需求獲取方法之面談(略)

  1. 概念: 面對面的會見
    • 被認爲是最具有豐富內容的交流方式
    • 實踐當中應用最爲廣泛的需求獲取方法之一
  2. 過程:
    在這裏插入圖片描述
  3. 類型:
    • 結構化面談
    • 半結構化面談
    • 非結構化面談

第九章 需求獲取方法之原型(略)

  1. 概念:用來探索和論證軟件系統功能的物件
  2. 優點:能夠及早解決系統開發中的不確定性,從而減少軟件項目失敗的風險
  3. 風險:成本失控

第十章 需求獲取方法之觀察與文檔審查(略)

第十一章 需求分析概述

  1. 需求分析的任務(建立分析模型,創建解決方案)
    在這裏插入圖片描述

  2. 模型、建模的概念

    • 模型是對事物的抽象,幫助人們在創建一個事物之前可以對該事物有更好的理解
    • 建立模型的過程被稱爲建模
  3. 兩種世界和三種模型

    • 計算世界和計算模型
    • 問題世界(現實世界)與業務模型
    • 軟件(分析)模型: 介於計算模型和業務模型二者之間的模型形式
  4. 常用的需求分析方法(技術)

    • 結構化分析
      • 數據流圖
      • 實體關係圖
    • 面向對象分析
      • 類圖
      • 活動圖
  5. 結構化分析方法

    • 基本思想:把現實世界描述爲數據在信息系統中的流動,以及數據流動過程中數據向信息的轉化
    • 核心技術
      • 數據流圖
      • 實體關係圖
      • 狀態轉移圖
  6. 面向對象分析方法

    • 基本思想:認爲系統是對象的集合,這些對象互相協作,共同完成系統任務
    • 核心技術
  7. 前期和後期需求階段的活動

    • 前期
      • 背景分析
      • 問題分析
      • 目標分析
      • 業務分析
      • 確定系統邊界
    • 後期
      • 需求建模
      • 需求細化
      • 確定需求優先級
      • 需求協商
        在這裏插入圖片描述

第十二章 過程建模

  1. 結構化分析的主要方法是過程建模和數據建模,其中過程建模是其核心
  2. 過程建模的概念和主要技術
    • 概念:分析需求獲取活動獲得的信息,發現系統的功能及其與外界的交互,建立能夠實現系統功能的過程分解結構,形成系統的過程模型,並用圖形的方式將過程模型描述出來
    • 主要技術
      • 上下文圖
      • 數據流圖
      • 數據字典
      • 微規格說明
  3. 微規格說明和數據字典概念、內容、作用
    • 微規格說明
      • 概念:是一些用來描述過程處理邏輯的技術,主要有:
        • 結構化自然語言
        • 行爲圖
        • 決策表
      • 作用:描述層次結構最低層次中的原始過程的處理邏輯
    • 數據字典
      • 概念:是一個儲存庫,包含軟件使用和產生的所有數據對象的描述
      • 作用:對數據流圖中涉及的數據流和數據存儲進行詳細的說明
      • 內容
        • 數據項
        • 數據結構
        • 數據流
        • 數據存儲
        • 處理過程
  4. 上下文圖、0層圖、N層圖的概念和作用
    • 上下文圖
      • 概念:將整個系統看成是一個過程,這個過程實現系統的所有功能
      • 作用:適合於描述系統的應用環境,定義系統的應用環境,定義系統的邊界
    • 0層圖
      • 概念:在數據流圖的層次結構中,位於上下文圖下面一層的就是0層圖
      • 作用:作爲整個系統的功能概括
    • N層圖
      • 概念:對N-1層圖的可以分解的過程分解後產生的揭示更多細節的數據流圖稱作N層圖
      • 作用:
  5. 功能分解圖的概念和作用
  6. 會畫數據流圖DFD和實體聯繫圖ERD,會撰寫數據字典和微規格說明(應用題)

第十三章 數據建模

  1. 數據模型和數據建模的概念
    • 數據模型
      • 概念:
        • 描述數據的定義、結構和關係等特性的模型
        • 說明了問題域和解系統共享的事物、對共享事物的描述和共享事物之間的關係
        • 能夠反映企業業務的核心知識
    • 數據建模
      • 概念:建立數據模型的過程被稱爲數據建模
  2. 數據建模技術包括實體聯繫圖和類圖
  3. 實體(進程實體、概念實體)、屬性、聯繫、聯繫的度數、聯繫的基數等術語的理解
    在這裏插入圖片描述在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
  4. 建立數據模型:會畫ER圖

第十四章 面向對象建模

  1. 面向對象分析是90年代之後的主流分析方法,它以UML爲基礎,綜合使用了多種不同 的分析技術,主要有:
    • 對象模型 (領域模型):類圖
    • 用例模型:用例圖
    • 行爲模型:交互圖(順序圖、通信圖)、狀態圖、活動圖
  2. 對象
    • 定義:對象模擬了現實世界中的事物
    • 描述內容(獨立可確認和有明確的角色):
      • 標識:唯一的標識自己,引用
      • 狀態:對象的特徵描述,包括對象的屬性和屬性的取值
      • 行爲:對象在其狀態發生改變或者接收到外界消息時所採取的行動
    • 對象之間的關係
      • 鏈接:
        • 對象之間的物理或業務聯繫 ,鏈接的對象互相協作完成任務;
        • 鏈接通常是單向的,當然也有雙向的鏈接存在
      • 導航和可見性:
        • 由a指向b的鏈接除了包含假設和期望因素之外,還意味着a能夠在鏈接的指引下,正確的找到並將消息發送給b,即a可以導航到b
        • 由a指向b的鏈接使得b對a可見,或者說a擁有b的可見性
        • a擁有b的可見性可以理解成:a能請求b協助完成a的任務
    • 概念:
      • 類是具有相同狀態和行爲的同一類對象的集合
      • 每個類都有能夠唯一標識自己的名稱,包含屬性和行爲方法
      • 對象是類的實例
    • 產生
      • 對象分類
      • 抽象
      • 封裝
    • 類之間的關係
      • 關聯:指出了類與類之間的某種語義聯繫
      • 聚合:部分與整體的關係
      • 組合:部分與整體的關係,部分不能單獨存在
      • 繼承:如果一個類A 繼承了類 B,那麼A 就自然具有B的全部屬性和行爲方法, 同時A也會擁有一些自己特有的屬性和行爲方法,這些特有部分是B 所不 具備的
      • 多態
        • 廣義多態:一個對象在相似情景下表現出不同的形態(重載,範型)
        • 狹義多態:多個對象在同一情景中表現出相同形態的現象

第十五章 需求規格說明(略)

  1. 需求規格說明定義系統需求,是需求分析的最終成果

第十六章 需求驗證(略)

  1. 需求驗證的概念:是需求工程中發生的對需求規格說明文檔進行的驗證與確認活動
  2. 需求驗證的方法:評審方法和原型方法
  3. 需求驗證的目的(作用):發現問題,給出修改建議,監督問題的解決

第十七章 需求管理(略)

  1. 需求管理的概念:是發生在需求開發之後的需求工程活動,貫穿於餘 下的產品生命週期,用於確保需求的有效實現
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章