軟體需求分析的主要實現目標:
1)對實現軟體的功能做全面的描述,幫助使用者判斷實現功能的正確性、一致性和完整 性,促使使用者在軟體設計啟動之前周密地、全面地思考軟體需求;
2)了解和描述軟體實現所需的全部資訊,為軟體設計、確認和驗證提供乙個基準;
3)為軟體管理人員進行軟體成本計價和編制軟體開發計畫書提供依據;
軟體需求分析應盡量提供軟體實現功能需求的全部資訊,使得軟體設計人員和軟體測試人員不再需要需求方的接觸。這就要求軟體需求分析內容應正確、完整、一致和可驗證。此外,為保證軟體設計質量,便於軟體功能的休整和驗證,軟體需求表達無岔意性,具有可追蹤性和可修改性。
1、 軟體功能需求
軟體的功能需求是整個需求分析最主要、最關鍵和最複雜的部分,它描述軟體的各種可能的條件下,對所有可能輸入的資料資訊,應完成那些具體功能,產生什麼樣的輸出。描述軟體功能需求是應注意下面幾點:
1)功能需求的完整性和一致性
(1) 給出觸發功能的各種條件(如:控制流、執行狀態、執行模式等);
(2) 定義各種可能性條件下的所有可能的輸入(包括合法的輸入空間和非法的輸入空間);
(3) 給出各種功能間可能的相互關係(如各個功能間的控制流、資料流、資訊流,功能執行關係:順序、重複、選擇、併發、同步);
(4) 給出功能性的主要級別(如:基本功能、可由設計者選擇逐步實現的功能、可由設計者改變實現的功能等);
(5) 盡可能不使用「待定」這樣的詞。所有含有待定內容的需求都不是完整的檔案,如果出現待定的部分,必須進行待定部分內容說明,落實負責人員、落實實施日期。
2)功能描述的無岔意性和可追蹤性
需求功能描述的無岔意性、可追蹤性和規範化:
(1) 功能描述必須清晰地描述出怎樣輸入到怎樣輸出,並且輸入、輸出描述應對應有資料流描述、控制流描述圖,這些描述必須與其它地方描述一致;
(2) 可以用語言、方程式、決策表、矩陣或圖等對功能的描述。如果選用語言描述必須使用結構化的語言,描述前必須說明該步驟(或子功能)的執行是順序,選擇,重複,還是併發,然後說明步驟邏輯。整個描述必須單入單出。
(3) 描述時,每乙個功能名稱和參照編號必須唯一,且不要將多個功能混在一起進行描述,這樣便於功能的追蹤和修改。
(4) 功能描述應注意需求說明和程式設計的區別。需求設計僅僅是軟體的功能設計,它給出軟體執行的的外部功能描述,以及為了實現這一外部功能必須做哪些事情(採用和種資料結構,定義多個模組,介面間的介面等)是設計階段的事情,功能描述不應涉及到那些細節問題,以避免給軟體設計帶來不必要的約束。
2、 軟體與硬體或其他外部系統介面
軟體與硬體或其它外部系統介面包括下述內容:
(1) 人機介面:說明輸入、輸出的內容、螢幕安排、格式等要求;
(2) 硬體介面:說明埠號,指令集,輸入輸出訊號的內容與資料型別,初始化訊號源,傳輸通道號和訊號處理方式。
(3(4
) 通訊介面:指定通訊介面和通訊協議等描述。
3、 軟體的非功能性需求
軟體非功能性需求是指軟體效能指標,容限等功能以外的需求。一般指下述內容:
(1) 時間需求:輸入、輸出頻率,輸入、輸出響應時間,各種功能恢復時間等;
(2) 處理容限、精度、取樣引數的解析度,誤差處理等;
(3) 可靠性的mtbf要求,可維護性、安全性要求等。(對可能的不正常的輸入給以正常響應是可靠性的重要內容,這屬於功能性需求。)
4、 軟體反向需求
軟體的反向需求描述軟體在那些情況下不能做什麼。這一條是隨軟體實際要求而定。有兩類情形需要採用反向需求的形式。第一種情況:某些使用者需求適宜採用反向形式說明,如資料安全性要求屬於這類形式。第二種情況:對一些可靠性和安全性要求較高的軟體,有些必須描述軟體不能做些什麼。如控制點火時序,我們必須交代清楚在那些情況下不能點火,否則會造成故障。
5、 軟體設計和實現上的限制
軟體設計和實現上的限制主要指對軟體設計者的限制。如軟體執行環境的限制(選擇計算機型別,使用配置,作業系統的限制等)、設計工具的限制(使用語言、執行的標準)和保密要求等。
6、 閱讀支援資訊
這部分內容是為了更好的幫助我們理解使用者需求,也是為了使需求便於修改和追蹤。其本身並不是對需求的描述,但它影響到需求分析的可讀性,也屬於需求分析的乙個重要部分。一般目錄、需求背景資訊、內容索引、交叉引用表、注釋等均屬於這個部分的內容。
組建優秀的團隊 實現目標的開始
組建優秀的團隊 實現目標的開始 jack zhai 霸王理論 中不僅樹立了團隊共同的目標,而且要求組建優秀的團隊。看過 三國演義 的人都很羨慕劉備在 無兵無地 的條件下就組建了戰鬥力一流的團隊,另求賢若渴的曹操 孫權都自愧不如。在劉備兵敗徐州的時候,劉備乙個人投了袁紹 典型的先顧自己,連家人朋友都不...
手撕NMS,numpy實現目標檢測的常用模組NMS
然後關鍵的部分來了,我們對iou進行篩選,若iou大於我們所設定的閾值,則我們認為,此框與基準框檢測的為同一目標,為重複檢測,我們就將其抑制,若iou低於我們設定的閾值,我們就進行下一步的迴圈,取出經過第一輪所篩選後的框,仍然取出剩下的框的分數最高的box,作為新的基準框,對剩下的框再次計算iou,...
MapReduce的實現目標及核心關注點
mapreduce介面可能有多種不同的實現方式,需根據具體的計算環境來選擇 以google的常用計算環境為例 1.機器配置 linux dual process x86 2 4gb memory 2.網路硬體 100 1000 mb s,平均整體二分頻寬少很多 3.集群 由數百 數千台機器組成,機器...