如何寫《軟體需求規格說明書》
轉載自:https://www.jianshu.com/p/f9bcf52f4321
一、任務突然從天而降
自己維護一個終端一年多,今天主管突然要求補寫一下《軟體需求規格說明書》,有些傻眼。自已可是一個轉行來的非正規軍程式設計師,根本沒有經驗寫過這個。沒辦法,從網上下載一個模板吧,必須標準些,沒商量!下載模板後一看,有些傻眼。模板目錄如下:
二、首先要理解需求
看了目錄,有些傻眼。不過很快,難不到哥,因為哥喜歡學習。經過哥一番努力研究之後,終於有些眉目了。
《軟體需求規格說明書》簡稱SRS,英語全稱懶得去查,主要是找到快捷的定義就行。SRS一般不是企業方(委託方)
所謂專案前期,核心就是需求(功能)。從企業使用者而來的第一手需求,一條一條的就像列舉清單一樣,往往在邏輯上比較凌亂,開發方需要對其進行整理,整理之後便是SRS。這樣的需求列表就是專案前期的核心內容,也是SRS的主要內容。
SRS並不是列出來後,放在檔案櫃中的資料,而是不斷改進與完善的資料,是所有參與組織與部門的統一認可。如有改動,大家必須重新聚首討論。
什麼是需求,需求就是企業方對開發方的要求,必須這麼做。企業方提出的需求並非越少越好。往往企業越細心,需求越詳盡,開發方越輕鬆。
你要求的越多越詳盡,我發揮的就越少,但往往就越輕鬆。
你要求的越少越細疏,我發揮的就越多,但往往就越困難。
一個專案真正複雜不復雜,是由真實的業務需求決定的,而不是由起初的需求描述量所決定的。
零亂的需求大體有規律可尋,需求經過整理後,SRS就是如此而來。一定有些不能歸類的需求,畢竟好的軟體都有自己的概念創新,可以新增需求條目,自定義需求名稱,也可以歸入”其它需求”。還是謹記一點,不要被這些分類所束縛。大膽描述需求,需求只要能被提出來,就是需求,歸類是後期的事。
三、SRS文件解釋
1、功能需求
需求首先要滿足企業使用者的業務功能,就是與企業生產管理運營相關的功能,用來與員工、使用者、業務人員、領導進行互動的功能,有多少就列多少。這種需求是軟體開發的最原始動機。
這種需求,先描述有多少參與者,再描述每種參與者有多少功能。
(如果軟體為服務,則功能需求則是以介面形式服務於客戶端程式)
除過功能需求外,以下需求並非個個都是可選項,根據自己軟體的特徵而定。
2、非功能需求類
2.1、安全性需求
如果系統賬號出現紕漏,為軟體參與者造成重大損失,這是最麻煩的。
還有如果系統被注入或被黑客攻入,軟體宕機,為軟體使用者造成重大損失,為運營方造成重大市場影響,這也是最可怕的。
安全性需求是運營方、運營方網管、運營人員的基本需求。
2.2、維護性需求
維護成本,這是運營方要考慮的問題。如果運營方有技術人員,對原始碼的標準化、文件的標準化是有要求的,為了降低維護性成本。
維護性需求是運營方技術人員的基本需求。
2.3、移植性需求
如果程式碼從一個平臺,移植到另一種平臺,編譯是否仍然正常,這個很重要。當公司需要二次開發或再開發時,這個就太重要了。
移植性需求是二次開發人員、再開發人員的基本需求。
2.4、效能需求
軟體佔多少記憶體,執行速度,提交反饋速度,是否符合要求業務要求。
效能需求是執行系統、軟體使用者的基本需求。
2.5、執行環境需求
軟體執行系統版本的要求,執行環境,與協同軟體協同工作需求,不能與協同軟體相沖突的要求。這種需求常見於客服類軟體。
運動環境需求是執行系統、執行環境、協同軟體的需求。
2.6、可靠性需求
軟體得出的數字或結論,必須可靠,因為它可能被用於決策、生產或再生產。
這是生產或經營決策者、客戶端程式的需求。
3、外部介面需求類
3.1、硬體介面需求
如果軟體被要求用特定的硬體,則會要求開發方必須按照某種形式對接硬體,而且必須要達到相關效能。
硬體介面是軟體所使用硬體裝置的基本需求。(如:簡訊貓裝置、列印裝置)
3.2、軟體介面需求
如果軟體某個模組必須對接某個軟體介面,則會要求開發方必須按照某種規則對接此軟體,而且必須要達到相關效能。
軟體介面是協同軟體的介面需求。(如:簡訊介面、驗證碼介面)
3.3、使用者介面需求
如果軟體的輸入輸出被要求必須用某種格式的文字或檔案,或互動上有特殊要求,都可以寫在這兒。
使用者介面需求是協同系統、有匯入匯出需求使用者的基本需求。
3.4、通訊介面需求
如果軟體是某通訊主機的終端軟體,或是某終端軟體的服務端程式。則會對開發要求使用規定的通訊介面。
通訊介面需求是協同系統的通訊標準需求。
4、其它需求類
4.1、介面需求
需求可以更詳盡,有些企業使用者對介面有直接要求,而不是要求開發方先做幾版,自己挑一版。這種情況下,對開發方來說,介面需求越詳盡越好。
4.2、資料需求
只要專案,一般都會用到資料庫,有些開發實力較強的企業方甚至對資料庫、資料表、儲存過程等有要求。
5、其它
最後就是假定與約束這個概念,值得一提了。
就是需求方的強制條件限制、開發時間、經費的限制等。
遇到什麼意外,應該如何處理,資源應該如何分配的問題。
作者:劍心折手
連結:https://www.jianshu.com/p/f9bcf52f4321
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。