在專案起始階段,要建立基本的理解,包括存在的問題、誰需要解決方案、所期望解決方案的性質、與專案利益相關者和開發人員之間達成初步交流合作的效果。
詢問客戶、使用者和其他人:系統或產品的目標是什麼,想要實現什麼,系統和產品如何滿足業務的要求,最終系統或產品如何用於日常工作。
在起始和獲取階段獲得的資訊將在細化階段進行擴充套件和提煉。該任務的核心是開發乙個精確的需求模型,用以說明軟體的功能、特徵和資訊的各個方面。
需求工程師必須通過協商過程來調解需求衝突。應該讓客戶、使用者和其他利益相關者對各自的需求排序,然後按優先順序討論衝突。使用迭代的方法給需求排序,評估每項需求的成本和風險,處理內部衝突,刪除、組合或修改需求,以便參與各方均能達到一定的滿意度。
規格說明可以是乙份寫好的文件、一套圖形化的模型、乙個形式化的數學模型、一組使用場景、乙個原型或上述各項的任意組合。
在確認這一步將對需求工程的工作產品進行質量評估。需求確認要檢查規格說明r以保證:已無歧義地說明了所有的系統需求;已檢測出不一致性、疏忽和錯誤並予以糾正;工作產品符合為過程、專案和產品建立的標準。
對於基於計算機的系統,其需求會變更,而且變更的要求貫穿於系統的整個生命週期。需求管理是用於幫助專案組在專案進展中標識、控制和跟蹤需求以及需求變更的一組活動。
識別多重觀點
協同合作
首次提問
非功能需求
可追溯性
使用場景
獲取工作產品
敏捷需求獲取
面向服務的方法
用例:初始化監控。
主要參與者:房主。
目標:在房主離開住宅或留在房間時,設定系統以監控感測器。
前提條件:系統支援密碼輸入和感測器識別功能。
觸發器:房主決定「設定」系統,即開啟警報功能。
場景:
1.房主:觀察控制面板。
2.房主:輸入密碼。
3.房主:選擇「stay」或「away」。
4.房主:觀察紅色報警燈顯示safehome已經被開啟。
異常:
1.控制面板沒有準備就緒:房主檢查所有的感測器,確定哪些是開著的(即門窗是開著的),並將其關閉。
2.密碼不正確(控制面板鳴叫一聲):房主重新輸入正確的密碼。
3.密碼不識別:必須對監控和響應子系統重新設定密碼。
4.選擇stay:控制面板鳴叫兩聲並且 stay燈點亮;啟用邊界感測器。
5.選擇away:控制面板鳴叫三聲並且away燈點亮;啟用所有感測器。優先順序:必須實現。
何時可用:第乙個增量。
使用頻率:每天多次。
使用方式:通過控制面板介面。
次要參與者:技術支援人員,感測器。
次要參與者使用方式:
技術支援人員:**線。
感測器:有線或無線介面。
未解決的問題:
1.是否還應該有不使用密碼或使用縮略密碼啟用系統的方式?
2.控制面板是否還應顯示附加的文字資訊?
3.房主輸入密碼時,從按下第乙個按鍵開始必須在多長時間內輸入密碼?
4.在系統真正啟用之前有沒有辦法關閉系統?
基於場景的元素
基於類的元素
行為元素
Chapter 8 陣列的使用
一 c 一維陣列 語法 datatype arrayname size eg int nums 25 char array of name 30 double curr salary 35 二 陣列的長度可以是常量 const int n 50 int emp id n const int size...
chapter8 編寫泛型函式
示例 templatet median std vectorv template 模板頭 告訴系統環境,定義的是乙個模板函式 typedef typename std vector size type vec sz 告訴系統環境,整個名稱當作乙個環境來處理 如果我們在宣告中使用了由模板型別引數定義的...
UNP卷一chapter8 基本UDP套接字程式設計
以下知識點來均來自steven先生所著unp卷一 version3 剛開始學習網路程式設計,如有不正確之處請大家多多指正。需要注意的是,udp不面向連線,故不需要使用connect函式,但使用connect也是可以的,只是作用不再是三次握手建立連線,其作用表現在檢測非同步錯誤 asychronous...