軟件工程---4.需求工程

需求工程定義

找出、分析、文檔化并且檢查需求的過程被稱為需求工程

需求的兩個描述層次

  1. 用戶需求,指高層的抽象需求。使用自然語言、圖形描述需求。
  2. 系統需求,指底層的詳細需求。使用系統需求文檔(有時被稱為功能規格說明)應該精確定義要實現的需求。

功能性需求:描述系統應該做什么。What
非功能性需求:描述系統應該做得怎么樣。How

非功能性需求

在這里插入圖片描述

  • 產品需求:這類需求刻畫或約束軟件的運行時行為。如性能需求、存儲需求、可靠性需求等。
  • 組織需求:這類需求來自客戶和開發方組織的政策和規程的一類寬泛的系統需求。如要求開發所使用的編程語言、開發環境、過程標準,系統運行環境等。
  • 外部需求:這類需求源自系統及其開發過程以外的因素。如監管需求、法律需求、道德需求等。

FURPUS+(重中之重)

FURPS是一種識別軟件質量屬性的模型

  • 其中 F 功能部份對應功能需求
  • 另外4項 URPS 則是軟件系統中重要的4項非功能性需求,有時會特別用URPS來表示此4項產品非功能性需求。
  • FURPS后面的 + 可以用來強調各種不同的屬性(組織非功能性需求、外部非功能性需求)

FURPS可分為以下五項:(重中之重)

  1. Functional(功能性):功能;
  2. Usability(可用性):易于使用、人性化因素、幫助、文檔;
  3. Reliability(可靠性):魯棒性、安全性、故障頻率、可恢復性、可預測性;
  4. Performance(性能):速度、規模、響應時間、吞吐量、準確性、有效性、計算資源利用率;
  5. Supportability(可支持性):可移植性、適應性、可維護性、國際化、可配置性

需求抽取技術

需求抽取和分析過程

  1. 需求發現和理解
  2. 需求分類和組織
  3. 需求優先級排序和協商
  4. 需求文檔化

需求抽取方法

  1. 訪談法
  2. 觀察法
  3. 體驗法
  4. 單據分析法
  5. 報表分析法
  6. 問卷調查法
  7. 調研會法
  8. 競品調研法

用例

用例是一種使用圖形化模型和結構化文本描述用戶與系統間交互的方式
在這里插入圖片描述

用例與用例之間的關系

  1. 擴展:一個用例被定義為基礎用例的發展
  2. 包含:包含其他用例的行為,減少用例之間的冗余
  3. 繼承:一個用例被泛化成多個用例

需求確認

需求確認要檢查的內容:

  1. 正確性
  2. 一致性
  3. 完整性
  4. 現實性
  5. 可驗證性

需求確認可采用的技術:

  1. 需求評審
  2. 原型化
  3. 測試用例生成。需求應該是可測試的

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

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

相關文章

軟件工程---5.系統建模

從不同視角對系統建模 外部視角,上下文模型,對系統上下文或環境建模交互視角,交互模型(功能模型),對系統與參與者或系統內構件之間的交互建模結構視角,結構模型(靜態模型&#xff0…

軟件工程---6.體系結構設計

體系結構模型是什么? 體系結構模型,該模型描述系統如何被組織為一組相互通信的構件 體系結構分類 小體系結構關注單個程序的體系結構。在這個層次上,我們關注單個的程序是如何補分解為構件的。大體系結構關注包括其他系統、程序和程序構件…

【劍指offer】_06 變態跳臺階

題目描述 一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 解題思路 鏈接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387 關于本題,前提是…

【劍指offer】_07 矩形覆蓋

題目描述 我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法? 解題思路 依舊是斐波那契數列 2n的大矩形,和n個21的小矩形 其中target*2為大矩陣的大小 有以下幾種情形…

軟件工程---07.設計與實現

軟件設計和軟件實現 軟件設計是一個創造性的活動,在此活動中需要基于客戶需求識別軟件構件及其關系。軟件實現是將設計實現為一個程序的過程 為開發一個系統設計,你需要 理解并定義上下文模型以及系統的外部交互設計系統體系結構識別系統中的主要對象…

軟件工程---08.軟件測試

測試 測試的正向思維(確認測試) 向開發人員和客戶展示軟件滿足其需求測試的逆向思維(缺陷測試)找出可能導致軟件行為不正確原因。測試是更廣闊的軟件確認和驗證( Verification and Validation; V & V)過程的一部分。驗證和確…

軟件工程---15.軟件復用

復用的圖(牢記) 軟件復用的好處 開發加速有效的專家利用提高可依賴性降低開發成本降低過程風險符合標準 軟件復用的缺點 創建,維護以及使用一個構件庫查找,理解以及適配可復用構件維護成本增加缺少工具支持“不是在這里發明的”綜合癥 應用框架 現在…

軟件工程---16.基于構件的軟件工程

CBSE CBSE是定義、實現、集成或組裝松散耦合的獨立構件成為系統的過程。 基于構件的軟件工程的要素有: 完全由接口進行規格說明的獨立構件。構件標準使構件集成變得更為容易。中間件為構件集成提供軟件支持。開發過程適合基于構件的軟件工程。 CBSE的設計原則 構件是獨立的…

軟件工程---17.分布式軟件工程

分布式系統的5個優點 資源共享開放性并發性可伸縮性容錯性 分布式計算中必須考慮的設計問題 透明性:隱藏底層分布 開放性 可伸縮性 三個維度 規模:又分為增強擴展(單挑),增加擴展(群毆)分布可靠性 信息安全性 主要防止以下類型的攻擊 攔…

軟件工程---18.面向服務的軟件工程

什么是Web服務 一個松耦合、可復用的軟件構件,封裝了離散的功能,該功能是分布式的并且可以被程序訪問。Web服務是通過標準互聯網和基于XML的協議被訪問的服務。 服務和軟件構件之間的一個重要的區別是 服務應該總是獨立的和松耦合的Web 服務沒有“請求…

【劍指offer】_08.數值的整數次方

題目描述 給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。 保證base和exponent不同時為0 解題思路 首先一個數的任意次方,這個數有可能是負數和正數和零,然后次方也有可能是負數和正數和零 當這個數是零時&#xff…

【劍指offer】_09二叉搜索樹的后序遍歷序列

題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的后序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 解題思路 比如下面的這棵二叉搜索樹 它的后序遍歷為0214369875; 我們設當前根節點為root; 第一次…

【劍指offer】_10二叉樹和為某一路徑值

題目描述 輸入一顆二叉樹的跟節點和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 解題思路 要求一路徑的和,那么必然終止條件為葉子結點,從根結點出發…

【劍指offer】_11整數中1出現的次數

題目描述 求出1~13的整數中1出現的次數,并算出100~1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對于后面問題他就沒轍了。ACMer希望你們幫幫他,并把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的…

【劍指offer】_12 數組中的逆序對

題目描述 在數組中的兩個數字,如果前面一個數字大于后面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數P。并將P對1000000007取模的結果輸出。 即輸出P%1000000007 解題思路 劍指offer的解法 看到這個題目&#xff0…

詳解Linux下通過yum安裝Mariadb/MySQL數據庫(騰訊云也適用)

1. 安裝Mariadb 安裝命令 yum -y install mariadb mariadb-server安裝完成MariaDB,首先啟動MariaDB systemctl start mariadb設置開機啟動 systemctl enable mariadbMariaDB的相關簡單配置 此命令進入到配置相關界面 mysql_secure_installation首先是設置密碼…

【劍指offer】_13 圓圈中最后的數

題目描述 年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。HF作為牛客的資深元老,自然也準備了一些小游戲。其中,有個游戲是這樣的:首先,讓小朋友們圍成一個大圈。然后,他隨機指定一個數m,讓編號為0的小朋友開始報數。每次喊到m-1的那個小朋友要出列唱…

【劍指offer】_14 不用加減乘除做加法

題目描述 寫一個函數,求兩個整數之和,要求在函數體內不得使用、-、*、/四則運算符號。 解題思路 首先看十進制是如何做的: 5712,三步走 第一步:相加各位的值,不算進位,得到2。 第二步&#x…

海量數據處理(位圖和布隆過濾器)

哈希切割 給一個超過100G大小的log file, log中存著IP地址, 設計算法找到出現次數最多的IP地址? 與上題條件相同,如何找到top K的IP?如何直接用Linux系統命令實現 解決思路 找到出現次數最多的IP地址 要找到前TopK的IP地址,就…

C++11新特性的總結

C11新特性 auto關鍵字(C11)基于范圍的for循環(C11). 指針空值nullptr(C11)C動態內存管理序列式容器 array forward_list;繼承和多態:final overridedelete:不生成默認的成員函數default:強制編譯器生成默認的成員函數智能指針:unique_ptr,sh…