软件需求说明的前世和今生
軟件需求說明
軟件需求說明,也稱軟件需求說明書,或者軟件需求規格說明,或者軟件需求規格說明書, 對應的英文是Software requirements specification, 縮寫是SRS。軟件需求說明是軟件系統需求的規格化說明,是對將要開發系統的行為的說明。它包括功能性需求,也包括非功能性需求,非功能性需求對設計和實現提出了限制,比如性能要求,質量標準,或者設計限制。
英文維基上的最新說明如下
A?Software requirements specification?(SRS), a requirements specification for a?software system, is a complete description of the behavior of a system to be developed and may include a set of?use cases?that describe interactions the users will have with the software. In addition it also contains?non-functional requirements. Non-functional requirements impose constraints on the design or implementation (such as?performance engineering?requirements,?quality?standards, or design constraints) .
傳統軟件需求說明書章節示例
根據中國大陸GB 8567-88 計算機軟件產品開發文件編制指南,軟件需求說明書章節如下:
1引言1.1編寫目的 1.2背景 1.3定義 1.4參考資料 2任務概述2.1目標2.2用戶的特點 2.3假定與約束 3需求規定3.1對功能的規定3.2對性能的規定 3.2.1精度 3.2.2時間特性耍求3.2.3靈活性 3.3輸入輸出要求3.4數據管理能力要求3.5故障處理要求3.6其他專門要求4運行環境規定 4.1設備 4.2支持軟件 4.3接口 4.4控制至今各組織的軟件需求說明書模板雖然經過使用后歷經調整,但往往仍然能夠看到上述章節要求的痕跡。
相關歷史
- 1984年,IEEE發布了 Guide to Software Requirements Specifications. 參見 http://dx.doi.org/10.1109%2FIEEESTD.1984.119205
- 1988年,中國大陸發布了GB 8567-88 計算機軟件產品開發文件編制指南以及GB9385-88《計算機軟件需求說明編制指南》,這幾項標準中中國大陸影響深遠,很好的指導了上世紀90年代的軟件開發,也統治了當時中國大陸的軟件工程教材。直到今天仍然有大量企業參照,而當時用例分析方法還沒有流行。
- 1986年,Ivar Jacobson,UML和統一過程的重要貢獻者,將他在1967年定義愛立信AXE系統的構架時開始書寫使用場境usage scenarios改名為Use Case,即是用例。
- 1997年11月,UML被OMG全體成員一致通過,并被采納為標準,而用例是其中的關鍵部分。
- 1998年,用戶故事起源于極限編程中,User stories originated with Extreme Programming (XP), whose first written description in 1998 only claimed that customers defined project scope "with user stories, which are like use cases". Rather than offered as a distinct practice, they were described as one of the "game pieces" used in the planning game. However, most of the further literature thrust around all the ways arguing that user stories are "unlike" use cases, in trying to answer in a more practical manner "how requirements are handled" in XP and more generally Agile projects. This drives the emergence, over the years, of a more sophisticated account of user stories.
- 2001年, In 2001, Ron Jeffries proposed the well-known Three C's formula, i.e. Card, Conversation, Confirmation, to capture the components of a user story.參見https://en.wikipedia.org/wiki/User_story#History
- 2008年,中國大陸發布了GB/T9385-2008 《計算機軟件需求說明編制指南》,它是GB/T9385《計算機軟件需求說明編制指南》的第一次修訂,代替被廢止GB/T9385-1988。
現狀
到目前的2014年,在軟件需求表達方式領域出現了如下三種常見情況:
有些組織雖然仍然稱呼需求文檔為需求說明書(或者SRS),而實質的表達采用的是用例,這種情況歸屬于上述的第2種情況。這樣包含用例的SRS的常見章節如下:
1 項目概況 1.1 產品或系統名稱 1.2 產品或系統用戶 1.3 運行平臺 1.4 詞匯表 1.5 數據字典 2 性能指標和驗收標準 3 功能需求概況 3.1 總體概述 3.2 功能模塊劃分 3.3 功能塊編碼 4 模塊1 [例如]用戶組織 4.1 模塊概述 4.2 業務邏輯規則 4.3 用例圖 4.4 用例1 [例如]用例:用戶登錄 4.4.1 描述 4.4.2 對應的原始需求 4.4.3 前提條件 4.4.4 事件流 4.4.5 用戶界面 4.4.6 后置條件、特別要求和擴展點 4.5 用例2實現 4.5.1 描述 4.5.2 對應的原始需求 4.5.3 前提 4.5.4 事件流 4.5.5 用戶界面 4.5.6 后置條件、特別要求和擴展點 4.6 外部接口 5 模塊2 格式同第5章 5.1 概述 5.2 業務邏輯規則 5.3 用例圖 5.4 用例1實現 5.5 用例2實現 5.6 外部接口 6 模塊3…n 7 信息安全方面需求 7.1 許可證方面需求 7.2 身份認證和授權方面需求 7.3 可恢復性方面需求 8 其它非功能性需求 9 其它要求在最新的SWEBOK V3.0中,在這一領域仍然采用了“Software requirements specification”的說法。
但是在中文領域,軟件需求說明書是無法在字面意思上涵蓋:1,不采用SRS寫法的用例分析;2,用戶故事。
因此,提議中文領域對應詞匯是“軟件需求說明"或者“軟件需求規格說明", 沒有“書”字,這樣的字面意思就能夠涵蓋用例和用戶故事。
說明:至于表達內部事務的用戶故事是否屬于需求范疇,那是另一回事,畢竟多數的用戶故事表達的是需求。
總結
以上是生活随笔為你收集整理的软件需求说明的前世和今生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件开发词汇表
- 下一篇: 对话:在敏捷中,是否可以仍然用需求来替代