軟件需求包括3個不同的層次――業(yè)務需求、用戶需求和功能需求。
除此之外,每個系統(tǒng)還有各種非功能需求。
業(yè)務需求(Business requirement)表示組織或客戶高層次的目標。業(yè)務需求通常來自項目投資人、購買產(chǎn)品的客戶、實際用戶的管理者、市場營銷部門或產(chǎn)品策劃部門。業(yè)務需求描述了組織為什么要開發(fā)一個系統(tǒng),即組織希望達到的目標。使用前景和范圍(vision and scope)文檔來記錄業(yè)務需求,這份文檔有時也被稱作項目輪廓圖或市場需求(project charter 或 market requirement)文檔。
用戶需求(user requirement)描述的是用戶的目標,或用戶要求系統(tǒng)必須能完成的任務。用例、場景描述和事件――響應表都是表達用戶需求的有效途徑。也就是說用戶需求描述了用戶能使用系統(tǒng)來做些什么。
功能需求(functional requirement)規(guī)定開發(fā)人員必須在產(chǎn)品中實現(xiàn)的軟件功能,用戶利用這些功能來完成任務,滿足業(yè)務需求。功能需求有時也被稱作行為需求(behavioral requirement),因為習慣上總是用“應該”對其進行描述:“系統(tǒng)應該發(fā)送電子郵件來通知用戶已接受其預定”。功能需求描述是開發(fā)人員需要實現(xiàn)什么。
系統(tǒng)需求(system requirement)用于描述包含多個子系統(tǒng)的產(chǎn)品(即系統(tǒng))的頂級需求。系統(tǒng)可以只包含軟件系統(tǒng),也可以既包含軟件又包含硬件子系統(tǒng)。人也可以是系統(tǒng)的一部分,因此某些系統(tǒng)功能可能要由人來承擔。
業(yè)務規(guī)則包括企業(yè)方針、政府條例、工業(yè)標準、會計準則和計算方法等。業(yè)務規(guī)劃本身并非軟件需求,因為它們不屬于任何特定軟件系統(tǒng)的范圍。然而,業(yè)務規(guī)則常常會限制誰能夠執(zhí)行某些特定用例,或者規(guī)定系統(tǒng)為符合相關規(guī)則必須實現(xiàn)某些特定功能。有時,功能中特定的質(zhì)量屬性(通過功能實現(xiàn))也源于業(yè)務規(guī)則。所以,對某些功能需求進行追溯時,會發(fā)現(xiàn)其來源正是一條特定的業(yè)務規(guī)則。
功能需求記錄在軟件需求規(guī)格說明(SRS)中。SRS完整地描述了軟件系統(tǒng)的預期特性。SRS我們一般把它當作文檔,其實,SRS還可以是包含需求信息的數(shù)據(jù)庫或電子表格;或者是存儲在商業(yè)需求管理工具中的信息;而對于小型項目,甚至可能是一疊索引卡片。開發(fā)、測試、質(zhì)量保證、項目管理和其他相關的項目功能都要用到SRS。
除了功能需求外,SRS中還包含非功能需求,包括性能指標和對質(zhì)量屬性的描述。
質(zhì)量屬性(quality attribute)對產(chǎn)品的功能描述作了補充,它從不同方面描述了產(chǎn)品的各種特性。這些特性包括可用性、可移植性、完整性、效率和健壯性,它們對用戶或開發(fā)人員都很重要。其他的非功能需求包括系統(tǒng)與外部世界的外部界面,以及對設計與實現(xiàn)的約束。
約束(constraint)限制了開發(fā)人員設計和構建系統(tǒng)時的選擇范圍。
產(chǎn)品特性。所謂特性(feature),是指一組邏輯上相關的功能需求,它們?yōu)橛脩籼峁┠稠椆δ?,使業(yè)務目標得以滿足。對商業(yè)軟件而言,特性則是一組能被客戶識別,并幫助他決定是否購買的需求,也就是產(chǎn)品說明書中用著重號標明的部分??蛻粝M玫降漠a(chǎn)品特性和用戶的任務相關的需求不完全是一回事。一項特性可以包括多個用例,每個用例又要求實現(xiàn)多項功能需求,以便用戶能夠執(zhí)行某項任務。
還有一項稱為可用性(usability)的質(zhì)量屬性,它規(guī)定了業(yè)務需求中“有效”(efficiently)一詞的含義。
管理人員或市場營銷人員負責定義軟件的業(yè)務需求,以提高公司的運營效率(對信息系統(tǒng)而言)或產(chǎn)品的市場競爭力(對商業(yè)軟件而言)。所有的用戶
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html