在軟體行業已經做了好幾年了,由於公司風格的原因,缺少真實處理需求的人員,需求編寫環節只是機械性的填寫文件,沒有經過嚴謹思考的,泥沙俱下的需求文件,常常讓程式設計師無從下手,導致技術方向出問題。最近下決心好好梳理一遍。提公升自身的專業化、職業化能力。
軟體是現代系統中的重要元素,使這些產品/系統成為使用者的解決方案
軟體是容易修改的,但修改正確是很難的
《軟體工程最佳實踐 - 專案經理的指南》
以需求為準則,通過測試、演示、分析及審查等方式,評估最終產品和文件。其中包括一些必要的軟體系統整合活動
調查、確定乙個系統需求規約中分配給軟體的系統需求。
以及在乙個軟體需求規約中的軟體需求的描述
乙個需求是乙個有關「需要構造」的陳述,描述了待開發產品/系統(項)功能上的能力,效能引數或者其他性質
必要的無歧義的
可測的:可以對它進行測試嗎
可跟蹤的:可以對它從乙個開發階段到另乙個開發階段可進行跟蹤嗎?
可測量的
規約了乙個系統或系統構建必須具有的效能特性
限制了系統或系統構件的設計方案
規約了軟體產品必須具有的乙個性質是否達到質量方面乙個所期望的水平
可靠性/存活性(健壯性)/可維護性/使用者友好性/安全性/可移植性
自悟:作為使用者,提出問題
交流:詢問使用者想要的功能(需要控制使用者提出合理需求)
觀察:觀察使用者執行現行的任務和過程或觀察如何操作與期望系統有關的現有系統,了解執行環境(客戶可能牴觸這一觀察)
小組會:舉行客戶和開發人員的聯席會議,與客戶代表共同開發需求
提煉:可復用的技術文件,提取出未來可能會用到的資訊
綜合運用:將上述的方法靈活運用
重要性和穩定性程度
可修改的,在少量的影響其他需求的前提下,可以容易的修改乙個單一需求
一致性,不存在互斥的需求
1.1目的
1.2範圍
1.3定義,縮略語
1.4參考文獻
1.5概述(專案範圍)
2.總體描述
2.1產品描述
2.2產品功能
2.3使用者特性
2.4約束
2.5假設和依賴
3.特定需求 附錄
索引特定需求:
模板1:根據系統執行模式,把第三部分劃分為一些小節,並在乙個小節中給出系統效能的約束
模板2:通過一種可選的模式劃分,把第三部分劃分為一些小節,其中每種模式的效能包含在該模式的規約中
模板3:根據使用者類,把第三部分劃分為一些小節,其中每類使用者執行的功能包含在該類使用者的描述中
模板4:按物件,把第三部分劃分為一些小節,在每一小節中給出該物件所關聯的功能
最重要的,作為軟體開發組織和使用者之間的乙份事實上的技術合同書;是產品功能及其環境的體現。
對於專案的其餘大多數工作,它是乙個管理控制點
對於產品的設計,它是乙個正式的、受控的起始點
是建立產品驗收測試計畫和使用者指南的基礎,即基於需求規約一般還會產生另外兩個文件——初始測試計畫和使用者系統操作描述
軟體工程 軟體需求分析
1.深 入 描 述 軟 件 的 功 能 和 性 能 2.到確 定 軟 件 設 計 的 約 束 和 軟 件3.同 其 它 系 統 元 素 的 接 口 細 節 4.定義 軟 件 的 其 它 有 效 性 需 求 需 求 分 析 的 任 務 就 是 借 助 於 當 前 系 統 的 邏 輯 模 型 導 出 目...
軟體工程 軟體需求分析
一 軟體需求分析任務 1.深入描述軟體的功能和效能 2.確定軟體設計的約束 3.定義軟體的其他有訊息需求 二 需求分析的過程 1.問題的識別 2.分析與綜合 分析方法 面向資料流,面向資料結構,結構化資料系統,物件導向的分析方法 3.編制需求分析階段的文件 1 軟體需求說明書 2 資料要求說明書 3...
軟體工程之軟體需求
需求定義 前置背景 軟體開發的目標 軟體開發要能夠滿足各方面的需求 錯誤需求具有嚴重的擴散效應,而且修復代價很高,其根本原因是 需求的鴻溝 期望差異 開發者開發的與使用者所想得到 的軟體存在著巨大期望差異 軟體需求的定義 以一種清晰 簡潔 一致且無二義性的方式,描述用 戶對目標軟體系統在功能 行為 ...