1、深入描述軟體的功能和效能
2、確定軟體設計的約束和軟體同其他系統元素的結構細節
3、定義軟體的其他有效性需求
一致性、完整性、現實性、有效性、可驗證性、
需求分析的任務:借助於當前系統的邏輯模型匯出目標系統的邏輯模型,解決目標系統的「做什麼」的問題。
從系統的角度來理解軟體並評審 軟體範圍是否前擋
確定對目標系統的綜合要求,即軟體的需求
提出這些需求實現條件,以及需求應達到的標準
軟體的需求包括:功能需求、效能需求、環境需求、可靠性需求、安全保密要求、使用者介面需求、資源使用需求、成本消耗需求、開發進度需求、預先估計以後系統可能達到的目標。
問題識別的另一項工作是建立分析所需要的通訊路徑,以保證能順利地對問題進行分析。
從資訊流和資訊結構出發,逐步細化所有的軟體功能,找出系統各元素之間的聯絡、介面特性和設計上的約束,分析它們是否滿足功能要求,是否合理。
常用的分析方法:
面向資料流的結構化分析方法(sa)
面向資料結構的jackson方法(jsd)
結構化資料系統開發方法(dssd)
物件導向的分析方法(ooa)等
軟體需求說明書;資料需求說明書;初步的使用者手冊;修改、完善和確定軟體開發實施計畫
系統定義的目標是否與使用者的要求一致;
系統需求分析階段提供的文件資料是否齊全;
文件中的所有描述是否完整、清晰、準確反映使用者要求、
與所有其他系統成分的重要介面是否都已經描述
理解當前的現實系統;從當前系統的現實模型中,抽象出當前系統的邏輯模型;分析目標系統和現有系統的區別,建立目標系統的邏輯模型;為目標系統的邏輯模型做相應的補充。
需要能夠表達和理解問題的資訊域和功能域
要能以層次化的方式對問題進行分分解和不斷細化
1、在開始建立分析模型前,先理解問題
2、開發原型,使得使用者能夠了解將如何發生人機互動
3、記錄每個需求的起因以及原因
4、使用多個需求檢視,
5、給需求賦予優先順序
6、努力刪除含糊性
1、需求分析方法由對軟體問題的資訊域和功能域的系統分析過程及其表示方法組成
2、大多數的需求分析方法是由資訊驅動的
1、面向資料流進行需求分析的方法
2、結構化分析方法適合於資料處理型別軟體的需求分析
資料流與資料加工之間的關係
為了表達資料處理過程的資料加工情況,需要採用層次結構的資料流圖。
1、資料流圖上所有圖形符號只限於前述四種基本圖形元素
2、資料流圖的主圖必須包括前述四種基本元素,缺一不可
3、每個加工至少有乙個輸入資料流和乙個輸出資料流
4、在資料流圖中,需按層給加工框編號。編號表明該加工所處層次及上下層的親子關係
5、規定任何乙個資料流子圖必須與它上一層的乙個加工對應,兩者的輸入資料流和輸出資料流必須一致。
6、圖上每個元素都必須有名字
7、資料流圖中不可夾帶控制流
8、初畫時可以忽略瑣碎的細節,以集中經歷於主要資料流
資料字典與資料流圖配合,能清楚地表達資料處理的要求
詞條描述——對於在資料流圖中每乙個被命名的圖形元素,均加以定義,其內容有:名字,別名或編號,分類,描述,定義,位置,其他,等
用於寫加工邏輯說明的工具:結構化英語、判斷表、判斷樹
結構化英語的詞彙表由:英語命令動詞、資料字典中定義的名字、有限的自定義詞、邏輯關係詞
是一種介於自然語言和形式化語言之間的語言
語言的正文用基本控制結構進行分割,加工中的操作用自然語言短語來表示
基本控制結構有三種:簡單陳述句結構、重複結構、判定結構
如果資料流圖的加工需要依賴於多個邏輯條件的取值,使用判定表來描述比較合適。
優點:描述的加工的基本說明,特別適合多個邏輯條件的加工說明。
缺點:不能表示不確定的加工處理,也不能表示重複迴圈的加工處理。
判定樹也是用來表達加工邏輯的一種工具。有時候它比判定表更直觀。
在開發初期,要想得到乙個完整準確的規格說明不是一件容易的事。
使用者往往對系統只有乙個模糊的想法,很難完全準確地表達對系統的全面要求。
軟體原型的分類:探索型、實驗型、進化型。
在軟體開發中,原型是軟體的乙個早期可執行的版本,它反映最終系統的部分重要特徵。
原型使用的策略:廢棄策略、追加策略
原型優點:
不斷改正對使用者的需求,使使用者能盡快了解樣機
提供了一種開發軟體的方法
容易確定系統的效能
最常用的動態分析方法
狀態遷移圖,時序圖,petri圖
狀態遷移圖是描述系統的狀態如何相應外部的訊號進行推移的一種圖形表示。
圓圈表示可得到的系統狀態,箭頭表示從一種狀態向另一種狀態的遷移
狀態遷移圖的優點
1、狀態之間的關係能夠直觀地捕捉到
2、由於狀態遷移圖的單純性,能夠機械地分析許多情況,可很容易地建立分析工具。
petri網簡稱png,它有兩種結點:
位置:符號為圓圈,它用來表示系統的狀態
轉移:符號為問號,它用來表示系統中的事件。
圖中的有向遍表示對轉移的輸入,或由轉移的輸出。
標記:或稱令牌,是表明系統當前處於什麼狀態的標誌。
1.1 編寫目的:闡明需求分析說明書的目的,指明讀者的物件
1.2、專案背景:提供一些專案的經歷,設計人員和開發人員
1.3、定義:需求說明書中所引用的定義
1,4、參考資料:列出開發專案的合同,上機的批文
2.1、目標:需求規格說明的各個階段的目標
2.2、執行環境:軟體的執行環境,操作的平台,特殊的要求,資料庫的要求
2.3、條件與限制:特殊的說明,精度儲存容量
3.1、靜態資料:主要是真正的資料
3.2、動態資料:變動的資料,輸入輸出的資料
3.3、資料庫介紹
3.4、資料詞典:定義的準確和全面,
3.5、資料採集:資料的**和獲得資料的方法
4.1、功能劃分:如何劃分,劃分多少功能
4.2、功能描述:每個功能都要描述全,
5.1、資料精確度:資料的有效位,資料的精度,資料的有效範圍,資料的轉換事件
5.2、資料特性:相應的時間,資料的時間
5.3、適應性:操作的方式,是不是執行在不同平台上
6.1、使用者介面:符合使用者的操作習慣,使用者的要求,使用者的水平,快捷鍵
6.2、硬體結構:
6.3、軟體介面:詳細的描述
6.4、故障處理:遇到一些非法的事件,如何應對
軟體工程 需求分析
軟體生存期分六個步驟,1.制定計畫。2需求分析。3軟體設計。4程式設計。5.軟體測試。6.執行維護。需求分析是軟體生存期中軟體分析的最後乙個步驟,是確定系統必須完成哪些工作,也就是對目標系統提出完整 準確 清晰 具體的要求。是軟體開發計畫期間建立的軟體可行性分析求精和細化,分析各種可能的解法,並且分...
軟體工程 需求分析
昨天剛剛寫了關於可行性研究的部落格,今天我們來看看關於需求分析的問題!需求分析需要掌握三個主要任務!1.深入描述軟體的功能和效能 2.確定軟體設計的約束和軟體同其他系統元素的介面細節 3.定義軟體的其他有效需求。需求分析的四個過程 問題識別 1.從系統的角度來理解軟體並評審軟體範圍是否恰當 2.確定...
軟體工程 需求分析
需求分析的任務 基本任務是準確地回答 系統必須做什麼?1.確定系統的綜合需求 2.分析系統的資料需求 3.匯出系統的邏輯模型 4.修正系統的開發計畫 5.開發原型系統 需求分析的過程 1問題識別 軟體的需求包括 功能需求 模組 效能需求 響應時間,儲存容量 環境需求 執行 可靠性需求 安全保密需求 ...