需求规格说明书格式及要求
?
1?????? 引言
1.1????????? 編寫目的
1.2????????? 項(xiàng)目風(fēng)險(xiǎn)
具體說(shuō)明本軟件開(kāi)發(fā)項(xiàng)目的全部風(fēng)險(xiǎn)承擔(dān)者,以及各自在本階段所需要承擔(dān)的主要風(fēng)險(xiǎn),首要風(fēng)險(xiǎn)承擔(dān)著包括
a)?????? 任務(wù)提出者
b)?????? 軟件開(kāi)發(fā)者
c)?????? 產(chǎn)品使用者
1.3????????? 文檔約定
描述編寫文檔時(shí)所采用的標(biāo)準(zhǔn),或各種排版約定.排版約定應(yīng)該包括:
a)?????? 正文風(fēng)格
b)??? 提示方式
c)??? 重要符號(hào)
也應(yīng)該說(shuō)明高層次需求是否可以被其所有細(xì)化的需求所繼承,或者每個(gè)需求陳述是否都有其自己的優(yōu)先級(jí)
1.4????????? 預(yù)期讀者和閱讀建議
列舉本軟件產(chǎn)品需求分析報(bào)告所針對(duì)的各種不同的預(yù)期讀者,例如:
a)?????? 用戶
b)??? 開(kāi)發(fā)人員
c)??? 項(xiàng)目經(jīng)理
d)??? 營(yíng)銷人員
e)??? 測(cè)試人員
f)???? 文檔編寫人員
并且描述了文檔中,其余部分的內(nèi)容及其組織結(jié)構(gòu),并且針對(duì)每一類讀者提出最適合的文檔閱讀建議.
1.5????????? 產(chǎn)品范圍
說(shuō)明該軟件產(chǎn)品及其開(kāi)發(fā)目的的簡(jiǎn)短描述,包括利益和目標(biāo).把軟件產(chǎn)品開(kāi)發(fā)與企業(yè)目標(biāo),或者業(yè)務(wù)策略相聯(lián)系
描述產(chǎn)品描述時(shí)需注意,可以參考項(xiàng)目視圖和范圍文檔,但是不能將其內(nèi)容復(fù)制到這里
1.6????????? 參考文獻(xiàn)
列舉編寫軟件產(chǎn)品需求分析報(bào)告時(shí)所用的草考文獻(xiàn)及資料,可能包括:
a)?????? 本項(xiàng)目的合同書
b)??? 上級(jí)機(jī)關(guān)已經(jīng)批準(zhǔn)的計(jì)劃任務(wù)書
c)??? 本項(xiàng)目已經(jīng)批準(zhǔn)的計(jì)劃任務(wù)書
d)??? 用戶界面風(fēng)格指導(dǎo)
e)??? 開(kāi)發(fā)本項(xiàng)目時(shí)所要用到的標(biāo)準(zhǔn)
f)???? 系統(tǒng)規(guī)格需求說(shuō)明
g)??? 使用實(shí)例文檔
h)??? 屬于本項(xiàng)目的其它已發(fā)表的文件
i)????? 本軟件產(chǎn)品需求分析報(bào)告中所引用的文件.資料等
j)????? 相關(guān)軟件產(chǎn)品需求分析報(bào)告
為了方便讀者查閱,所有草考資料應(yīng)按一定順序排列,如果可能每份資料都應(yīng)給出
a)???????? 標(biāo)題名稱
b)???????? 作者或者合同簽約者
c)???????? 文件編號(hào)或者版本號(hào)
d)???????? 發(fā)表日期或者簽約日期
e)???????? 出版單位或者資料來(lái)源
2?????? 綜合描述
這一部分概述了正在定義的軟件產(chǎn)品的作用范圍以及該軟件產(chǎn)品所運(yùn)行的環(huán)境,使用該軟件的用戶,對(duì)該軟件產(chǎn)品已知的限制,有關(guān)該軟件產(chǎn)品的假設(shè)和依賴
2.1????????? 產(chǎn)品的狀況
描述了在軟件產(chǎn)品需求分析報(bào)告中所定義的軟件產(chǎn)品的背景和起源.說(shuō)明了該軟件產(chǎn)品是否屬于下列情況:
a)???????? 是否是產(chǎn)品系列中的下一成員
b)???????? 是否是現(xiàn)有成熟產(chǎn)品所改進(jìn)的下一代成員
c)???????? 是否是現(xiàn)在應(yīng)用軟件的替代品(升級(jí)產(chǎn)品)
d)???????? 是否是一個(gè)新型的自主的產(chǎn)品
如果該軟件產(chǎn)品需求分析報(bào)告定義的軟件系統(tǒng)是:
a)???????? 大系統(tǒng)的一個(gè)組成部分
b)???????? 與其它系統(tǒng)和其它機(jī)構(gòu)之間存在基本的相互關(guān)系
那么必須說(shuō)明軟件產(chǎn)品需求分析報(bào)告定義的這部分軟件是怎樣與整個(gè)大系統(tǒng)相關(guān)聯(lián)的,或者說(shuō)明相互關(guān)系的存在形式,并且要定義出兩者之間的全部接口
2.2????????? 產(chǎn)品的功能
因?yàn)閷⑿枨蠓治鰣?bào)告的第4部分中詳細(xì)描述軟件產(chǎn)品的功能,所以在只需要概括地總結(jié).僅從業(yè)務(wù)層面陳述本軟件產(chǎn)品所具有的主要功能,在描述功能時(shí)應(yīng)該針對(duì)每一項(xiàng)需求準(zhǔn)確地描述其各級(jí)規(guī)格說(shuō)明,如果存在引起誤解的可能,在陳述本軟件產(chǎn)品主要功能的作用領(lǐng)域時(shí),也需要對(duì)應(yīng)陳述本軟件產(chǎn)品的非作用領(lǐng)域,以利讀者理解本軟件產(chǎn)品.
為了更好的組織產(chǎn)品功能,使每個(gè)讀者都容易理解,可以采用列表的方法給出.也可以采用圖形方式,將主要的需求分組以及他們之間的聯(lián)系,使用數(shù)據(jù)流程圖或類圖進(jìn)行表示,這種表示方法是很有用的.
參考用戶當(dāng)前管理組織構(gòu)架,了解各個(gè)機(jī)構(gòu)的主要職能,將有助于陳述軟件產(chǎn)品的主要功能
2.3????????? 用戶類和特性
確定有可能使用該軟件產(chǎn)品的不同用戶類,并且描述他們相關(guān)的特性,往往有一些軟件需求,只與特定的用戶類有關(guān),描述時(shí),應(yīng)該將軟件產(chǎn)品的重要用戶類與非重要用戶類區(qū)分開(kāi)
用戶不一定是軟件產(chǎn)品的直接使用者,通過(guò)報(bào)表,應(yīng)用程序接口,系統(tǒng)硬件接口得到軟件產(chǎn)品的數(shù)據(jù)和服務(wù)的人,或者機(jī)構(gòu)也有他們的需求.所以,應(yīng)該將這些外部需求視為通過(guò)報(bào)表,應(yīng)用程序接口,系統(tǒng)硬件接口附加給軟件產(chǎn)品的附加用戶類
2.4????????? 運(yùn)行環(huán)境
描述了本軟件的運(yùn)行環(huán)境,一般包括:
a)???????? 硬件平臺(tái)
b)???????? 操作系統(tǒng)和版本
c)???????? 支撐環(huán)境和版本
d)???????? 其它與該軟件有關(guān)的軟件組件
e)???????? 與該軟件共存的應(yīng)用程序
2.5????????? 設(shè)計(jì)和實(shí)現(xiàn)上的限制
確定影響開(kāi)發(fā)人員自由選擇的問(wèn)題,并且說(shuō)明這些問(wèn)題為什么成為一種限制,可能的限制包括下列內(nèi)容:
a)???????? 必須使用的特定技術(shù),工具,編程語(yǔ)言和數(shù)據(jù)庫(kù)
b)???????? 避免使用的特定技術(shù),工具,編程語(yǔ)言和數(shù)據(jù)庫(kù)
c)???????? 要求遵循的開(kāi)發(fā)規(guī)范和標(biāo)準(zhǔn)
例如,如果由客戶的公司或者第三方公司,負(fù)責(zé)軟件維護(hù),就必須定義轉(zhuǎn)包者使用的設(shè)計(jì)符號(hào)表示和編碼標(biāo)準(zhǔn):
a)???????? 企業(yè)策略的賢者
b)???????? 政府法則的限制
c)???????? 工業(yè)標(biāo)準(zhǔn)的限制
d)???????? 硬件的限制,例如:定時(shí)需求或存儲(chǔ)器限制
e)???????? 數(shù)據(jù)轉(zhuǎn)換格式標(biāo)準(zhǔn)的限制
2.6????????? 假設(shè)和約束
列舉出對(duì)軟件產(chǎn)品需求分析報(bào)告中,影響需求陳述的假設(shè)因素.如果這些假設(shè)因素不正確,不一致或者被修改,就會(huì)使軟件產(chǎn)品開(kāi)發(fā)項(xiàng)目受到影響.這些假設(shè)因素可能包括:
a)???????? 計(jì)劃使用的商業(yè)組件,或者其它軟件中的某個(gè)部件
b)???????? 假定產(chǎn)品中的某個(gè)用戶界面將符合一個(gè)特殊的設(shè)計(jì)約定
c)???????? 有關(guān)本軟件用戶的若干假定,例如:假定用戶會(huì)使用sql語(yǔ)言
d)???????? 有關(guān)軟件開(kāi)發(fā)工作的若干假定,例如:用戶承諾的優(yōu)惠,方便,上級(jí)部門給予的特殊政策和支持等
e)???????? 有關(guān)本軟件運(yùn)行環(huán)境的一些問(wèn)題
此外,確定本軟件開(kāi)發(fā)項(xiàng)目對(duì)外部約束因素所存在的依賴,有關(guān)的約束可能包括:
a)???????? 工期的約束
b)???????? 經(jīng)費(fèi)的約束
c)???????? 人員的約束
d)???????? 設(shè)備的約束
e)???????? 地理位置的約束
f)????????? 其它有關(guān)項(xiàng)目約束
3?????? 外部接口需求
通過(guò)本節(jié)描述可以確定,保證軟件產(chǎn)品能和外部組件正確連接的需求,并聯(lián)圖僅能表示高層抽象的外部接口,必須對(duì)接口數(shù)據(jù)和外部組件進(jìn)行詳細(xì)描述,并且寫入數(shù)據(jù)定義,如果產(chǎn)品的不同部分有不同的外部接口,那么應(yīng)該把這些外部接口的全部詳細(xì)需求并入到這一部分實(shí)例中
注意:
必須將附加用戶類的特征與外部接口需求加以區(qū)分,附加用戶類的特征描述的是通過(guò)接口取得軟件產(chǎn)品的數(shù)據(jù)和服務(wù)的人的需求,而外部需求描述的是接口本身的需求
3.1????????? 用戶界面
陳述需要使用在用戶界面上的軟件組件,描述每一個(gè)用戶界面的邏輯特征,必須注意,這里需要描述的是用戶界面的邏輯特征,而不是用戶界面,以下是可能包括的一些特征
a)???????? 將要采用的圖形用戶界面(GUI)標(biāo)準(zhǔn)或者產(chǎn)品的系列的風(fēng)格
b)???????? 有關(guān)屏幕布局或者解決方案的限制
c)???????? 將要使用在每一個(gè)屏幕(GUI)上的軟件組件,可能包括
??????????????????????????????????????????? i.????????????? 選單
????????????????????????????????????????? ii.????????????? 標(biāo)準(zhǔn)按鈕
???????????????????????????????????????? iii.????????????? 導(dǎo)航鏈接
???????????????????????????????????????? iv.????????????? 各種功能組件
????????????????????????????????????????? v.????????????? 消息欄
d)???????? 快捷鍵
e)???????? 各種顯示格式的規(guī)定,可能包括
???????????????????????????????????????????????????? i.????????????? 不同情況下文字的對(duì)齊
?????????????????????????????????????????????????? ii.????????????? 不同情況下數(shù)字的表現(xiàn)格式和對(duì)齊方式
????????????????????????????????????????????????? iii.????????????? 日期的表現(xiàn)方法與格式
????????????????????????????????????????????????? iv.????????????? 及時(shí)方法與時(shí)間格式
?????????????????????????????????????????????????? v.????????????? 其它
f)????????? 錯(cuò)誤信息顯示的標(biāo)準(zhǔn)
對(duì)于用戶界面的細(xì)節(jié),例如:一個(gè)特定對(duì)話框的布局,應(yīng)該寫入具體的用戶界面設(shè)計(jì)說(shuō)明中,而不能寫入軟件需求規(guī)格說(shuō)明中
如果采用現(xiàn)成的,合適的用戶界面設(shè)計(jì)規(guī)范,或者另文描述,可以在這里直接說(shuō)明,并且將其加入?yún)⒖嘉墨I(xiàn)
3.2????????? 硬件接口
描述待開(kāi)發(fā)的軟件產(chǎn)品與系統(tǒng)硬件接口的特征,若有多個(gè)硬件接口,則必須全部描述,接口特征的描述內(nèi)容可能包括:
a)?????? 支持的硬件特征
b)?????? 軟,硬件之間交流的數(shù)據(jù)
c)?????? 控制信息的性質(zhì)
d)?????? 使用的通信協(xié)議??
3.3????????? 軟件接口
描述該軟件產(chǎn)品與其它外部組件的連接,這些外部組件必須明確它們的名稱和版本號(hào)以資識(shí)別,可能的外部組件包括:
a)?????? 操作系統(tǒng)
b)?????? 數(shù)據(jù)庫(kù)
c)?????? 工具
d)?????? 函數(shù)庫(kù)
e)?????? 集成的商業(yè)組件
說(shuō)明:
這里所說(shuō)的”集成的商業(yè)組件”是指與系統(tǒng)集成的商業(yè)組件,而不是與軟件產(chǎn)品集成的商品組件.例如:中間件,消息服務(wù)等
描述并且明確軟件產(chǎn)品與軟件組件之間交換數(shù)據(jù)或者消息的目的.描述所需要的服務(wù),以及與內(nèi)部組件通訊的性質(zhì),確定軟件產(chǎn)品將與組件之間共享的數(shù)據(jù).如果必須使用一種特殊的方法來(lái)實(shí)現(xiàn)數(shù)據(jù)共享機(jī)制.例:在多用戶系統(tǒng)中的一個(gè)全局?jǐn)?shù)據(jù)區(qū),那么就必須把它定義為一種實(shí)現(xiàn)上的限制
3.4????????? 通訊接口
描述與軟件產(chǎn)品所使用的通訊功能相關(guān)的需求,包括:
a)?????? 電子郵件??????
b)?????? WEB瀏覽器
c)?????? 網(wǎng)絡(luò)通訊標(biāo)準(zhǔn)或者協(xié)議
d)?????? 數(shù)據(jù)交互電子表格
必須定義相關(guān)的:
a)?????? 消息格式
b)?????? 通訊安全或加密問(wèn)題
c)?????? 同步和異步通訊機(jī)制
4?????? 系統(tǒng)功能需求
4.1?????????說(shuō)明優(yōu)先級(jí)
需要進(jìn)行詳細(xì)的需求記錄,詳細(xì)列出與該系統(tǒng)功能相關(guān)的詳細(xì)功能需求,并且,唯一地標(biāo)識(shí)每一項(xiàng)需求,這是必須提交給用戶的軟件功能,使得用戶可以使用所提供的功能執(zhí)行服務(wù)或者使用所指定使用實(shí)例執(zhí)行任務(wù).描述軟件產(chǎn)品如何響應(yīng)已知的出錯(cuò)條件,非法輸入,非法動(dòng)作.
如果每一項(xiàng)功能都能用一項(xiàng),也只需要用一項(xiàng)測(cè)試用例就能進(jìn)行驗(yàn)證,那么就可以認(rèn)為功能需求已經(jīng)適當(dāng)?shù)剡M(jìn)行描述了.如果某項(xiàng)功能需求找不到合適的測(cè)試用例,或者必須使用多項(xiàng)測(cè)試用例才能驗(yàn)證,那么該項(xiàng)功能需求的描述必然存在某些問(wèn)題
功能需求是根據(jù)系統(tǒng)功能,即軟件產(chǎn)品所提供的主要服務(wù)來(lái)組織的.可以通過(guò)使用實(shí)例,運(yùn)行模式,用戶類,對(duì)象類,或者功能等級(jí)來(lái)組織這部分內(nèi)容,也可以使用這些元素的組合.總而言之,必須選擇一種是讀者容易理解預(yù)期的產(chǎn)品的組織方案.用簡(jiǎn)潔的語(yǔ)句說(shuō)明功能的名稱,例:”4.1系統(tǒng)管理”.按照服務(wù)組織的順序,逐條闡述系統(tǒng)功能.無(wú)論說(shuō)明的是何種功能,都應(yīng)該針對(duì)系統(tǒng)功能重復(fù)敘述4.1~4.3這三個(gè)部分.可以通過(guò)各種方式組織這一部分內(nèi)容,例如采用:使用實(shí)例,運(yùn)行模式,用戶類,對(duì)象類,功能等級(jí)等,也可以采用它們的組合.其最終目的是,讓讀者容易理解即將開(kāi)發(fā)的軟件產(chǎn)品.一般用戶來(lái)說(shuō),每個(gè)使用實(shí)例都對(duì)應(yīng)一個(gè)系統(tǒng)功能,因而按照使用實(shí)例來(lái)組織內(nèi)容比較容易讓用戶理解.對(duì)應(yīng)被共享的獨(dú)立使用實(shí)例,可以定義一些公用系統(tǒng)功能.必須特別注意的是,在2.2節(jié)’’產(chǎn)品的功能”中描述的全部需求,以及它們的規(guī)格說(shuō)明,必須是在某個(gè)系統(tǒng)功能描述中有所反映,而且不應(yīng)重復(fù).
4.2????????? 激勵(lì)/響應(yīng)序列
列出輸入激勵(lì)(用戶動(dòng)作,來(lái)自外部設(shè)備的信號(hào)或者其它觸發(fā))并且定義針對(duì)這一功能行為的系統(tǒng)響應(yīng)序列,這些序列將與使用實(shí)例中相關(guān)的對(duì)話元素相對(duì)應(yīng).
描述激勵(lì)/響應(yīng)序列時(shí),不僅需要描述基本過(guò)程,而且應(yīng)該描述可選(擴(kuò)充過(guò)程),包括例外(引起任務(wù)不能順序完成的情況成為例外).疏忽了可選過(guò)程,有可能影響軟件產(chǎn)品的功能,如果遺漏例外過(guò)程,則有可能會(huì)引發(fā)系統(tǒng)崩潰.
如果采用流程圖來(lái)描述激勵(lì)/響應(yīng)序列,比較容易讓用戶理解
4.3????????? 輸入/輸出數(shù)據(jù)
列出輸入數(shù)據(jù)(用戶輸入,來(lái)自外部接口的輸入或者其它輸入)并且定義針對(duì)這些輸入數(shù)據(jù)的處理方法,以及相應(yīng)地輸入數(shù)據(jù),描述對(duì)應(yīng)區(qū)別;輸入數(shù)據(jù)和輸出數(shù)據(jù)
當(dāng)有大量數(shù)據(jù)需要描述時(shí),也可以分類描述數(shù)據(jù),并且注入各項(xiàng)數(shù)據(jù)的輸入,輸出屬性.
對(duì)每一項(xiàng)數(shù)據(jù),均需要描述
a)?????? 數(shù)據(jù)的定義
b)?????? 實(shí)際的含義
c)?????? 數(shù)據(jù)類型
d)?????? 數(shù)據(jù)格式
e)?????? 數(shù)據(jù)約束
對(duì)于復(fù)雜的處理方式,僅僅給出算法原理是不夠的,必須描述詳細(xì)的計(jì)算過(guò)程,并且列出每一步具體使用的實(shí)際算式,如果計(jì)算過(guò)程中涉及查表,判斷,迭代等處理方法,應(yīng)該給出處理依據(jù)和相關(guān)數(shù)據(jù).如果計(jì)算方法很簡(jiǎn)單,也可以將其從略,不叫描述
5?????? 其它功能需求
在這里列舉出所有非功能需求,主要包括可靠性,安全性,可維護(hù)性,可擴(kuò)展性,可測(cè)試性等
5.1????????? 性能需求
闡述不同應(yīng)用領(lǐng)域?qū)浖a(chǎn)品性能的需求,并且說(shuō)明提出需求的原理或者依據(jù),以幫助開(kāi)發(fā)人員做出合理的設(shè)計(jì)選擇,盡可能詳細(xì)地描述每個(gè)性能需求,如果需要,可以針對(duì)每個(gè)功能需求或者特征分別陳述其性能需求,在這里確定:
a)?????? 相互合作的用戶數(shù)量
b)?????? 系統(tǒng)支持的并發(fā)操作數(shù)量
c)?????? 響應(yīng)時(shí)間
d)?????? 與實(shí)時(shí)系統(tǒng)的時(shí)間關(guān)系
e)?????? 容量需求
????????????????????????????????????????? i.????????????? 存儲(chǔ)器
??????????????????????????????????????? ii.????????????? 磁盤空間
?????????????????????????????????????? iii.????????????? 數(shù)據(jù)庫(kù)中表的最大行數(shù)
5.2????????? 安全措施需求
詳見(jiàn)陳述與軟件產(chǎn)品使用過(guò)程中可能發(fā)生的損壞,破壞,危害相關(guān)的需求.定義必須采用安全保護(hù)或動(dòng)作,以及必須預(yù)防的潛在的危險(xiǎn)動(dòng)作.明確軟件產(chǎn)品必須遵從的安全標(biāo)準(zhǔn),策略,或規(guī)則
5.3????????? 安全性需求
詳盡陳述與系統(tǒng)安全性,完整性問(wèn)題相關(guān)的需求,或者與個(gè)人隱私問(wèn)題相關(guān)的需求.這些問(wèn)題將會(huì)影響到軟件產(chǎn)品的使用,和軟件產(chǎn)品所創(chuàng)建或者使用的數(shù)據(jù)的保護(hù).定義用戶身份認(rèn)證,或者授權(quán)需求.明確軟件產(chǎn)品必須滿足的安全性或者保密性策略.也可以通過(guò)稱為完整性的質(zhì)量屬性來(lái)闡述這些需求.一個(gè)典型的軟件系統(tǒng)安全需求范例如下:每個(gè)用戶在第一次登陸后,必須更改他的系統(tǒng)預(yù)置登陸密碼,系統(tǒng)預(yù)置的登陸密碼不重用.
5.4????????? 軟件質(zhì)量屬性
詳盡陳述對(duì)客戶和開(kāi)發(fā)人員至關(guān)重要的軟件產(chǎn)品其它方面表現(xiàn)出來(lái)的質(zhì)量功能.這些功能必須是確定的,定量的,在需要時(shí)是可以驗(yàn)證的.至少也應(yīng)該是指明不同屬性的相對(duì)重點(diǎn),例如:易用性優(yōu)于易學(xué)性,或者可移植性優(yōu)于有效性.
5.5????????? 業(yè)務(wù)規(guī)則
列舉出有關(guān)軟件產(chǎn)品的所有操作規(guī)則,例:那些人在特定環(huán)境下可以進(jìn)行何種操作,這些本身不是功能需求,但是他們可以按時(shí)某些功能需求執(zhí)行這些規(guī)則.一個(gè)業(yè)務(wù)規(guī)則的范例如下:”進(jìn)行達(dá)到或者超過(guò)10,000,000元人民幣的儲(chǔ)蓄業(yè)務(wù)時(shí),必須通過(guò)附加的管理員認(rèn)證.”
列舉業(yè)務(wù)規(guī)則時(shí),可以根據(jù)規(guī)則的數(shù)量,選取合適的編目方式
5.6????????? 用戶文檔
列舉出將軟件產(chǎn)品一同交付的用戶文檔,并且明確所有已知用戶文檔的交付格式或標(biāo)準(zhǔn),例:
a)?????? 安裝指南?????? 紙質(zhì)文檔,16開(kāi)
b)?????? 用戶手冊(cè)?????? 紙質(zhì)文檔,16開(kāi)
c)?????? 在線幫助
d)?????? 電子文檔?????? 與軟件一同分發(fā),配置
e)?????? 使用教程電子文檔?????? 與軟件一同分發(fā),配置
6?????? 詞匯表
列出文本文件中用到的專業(yè)術(shù)語(yǔ)的定義,以及有關(guān)編寫的定義(如有可能,列出相關(guān)的外文原詞).為了便于非軟件專業(yè)或者非計(jì)算機(jī)專業(yè)人士閱讀軟件產(chǎn)品需求分析報(bào)告,要求使用非軟件專業(yè)或者非計(jì)算機(jī)專業(yè)的術(shù)語(yǔ)描述軟件需求.所以這里所指的專業(yè)術(shù)語(yǔ),是指業(yè)務(wù)層面上的專業(yè)術(shù)語(yǔ),而不是軟件專業(yè)或者計(jì)算機(jī)專業(yè)的術(shù)語(yǔ),但是,對(duì)于無(wú)法回避的軟件專業(yè)或者計(jì)算機(jī)專業(yè)術(shù)語(yǔ),也應(yīng)該列入詞匯表并且加以準(zhǔn)確定義
7?????? 數(shù)據(jù)定義
數(shù)據(jù)定義是一個(gè)定義了應(yīng)用程序中使用的所有數(shù)據(jù)元素和結(jié)構(gòu)的共享文檔,其中對(duì)每個(gè)數(shù)據(jù)元素和結(jié)構(gòu)都準(zhǔn)確描述:含義,類型,數(shù)據(jù)大小,格式計(jì)算單位,精度以及取值范圍.數(shù)據(jù)定義的維護(hù)獨(dú)立與軟件需求規(guī)格說(shuō)明,并且在軟件產(chǎn)品開(kāi)發(fā)和維護(hù)的任何階段,均向風(fēng)險(xiǎn)承擔(dān)著開(kāi)放
如果為軟件開(kāi)發(fā)項(xiàng)目創(chuàng)建一個(gè)獨(dú)立的數(shù)據(jù)定義,而不是為了每一項(xiàng)特性描述有關(guān)的數(shù)據(jù)源,有利于避免冗余和不一致性,但是卻不利于多人協(xié)同編寫需求分析報(bào)告,容易遺漏數(shù)據(jù),也不方便閱讀,因此還是建議為每個(gè)特性描述有關(guān)的數(shù)據(jù)項(xiàng),匯總數(shù)據(jù)項(xiàng)創(chuàng)建數(shù)據(jù)定義,在根據(jù)數(shù)據(jù)定義復(fù)核全部數(shù)據(jù),使得他們的名稱和含義一致.必須注意的是,為了避免二義性,再匯總數(shù)據(jù)項(xiàng)時(shí)應(yīng)該根據(jù)數(shù)據(jù)項(xiàng)所代表的實(shí)際意義匯總,而不是根據(jù)數(shù)據(jù)項(xiàng)的名稱匯總.
在數(shù)據(jù)定義中,每個(gè)數(shù)據(jù)項(xiàng)除了有一個(gè)中文名稱外,還應(yīng)該為它取一個(gè)簡(jiǎn)短的應(yīng)為名稱,該英文名稱應(yīng)該符合命名規(guī)范,因?yàn)樵谲浖_(kāi)發(fā)時(shí)將沿用英文名稱,可以使用等號(hào)表示數(shù)據(jù)項(xiàng),名稱在左邊,定義在右邊.常見(jiàn)數(shù)據(jù)項(xiàng)的描述方式如下:
a)?????? 原數(shù)據(jù)元素????? 一個(gè)原數(shù)據(jù)元素是不可分解的可以將一個(gè)數(shù)量值賦給它.定義原數(shù)據(jù)元素必須確定其含義,類型,大小,格式,計(jì)量單位,精度,及取值范圍.
b)?????? 采用以星號(hào)為界的一行注釋文本,描述原數(shù)據(jù)元素的定義
c)?????? 選擇項(xiàng)????? 選擇項(xiàng)是一種只可以取有限離散值的特殊原數(shù)據(jù)元素,描述時(shí)—枚舉這些值,并用方括號(hào)括起來(lái)寫在元數(shù)據(jù)元素的定義前,在兩項(xiàng)離散值之間,使用管道符分割.
d)?????? 組合項(xiàng)????? 組合項(xiàng)時(shí)一個(gè)數(shù)據(jù)結(jié)構(gòu)或者記錄,其中包含了多個(gè)數(shù)據(jù)項(xiàng),這些數(shù)據(jù)項(xiàng)可以是原數(shù)據(jù)元素,也可以是組合數(shù)據(jù)項(xiàng),各數(shù)據(jù)項(xiàng)之間用加號(hào)連接.其中每個(gè)數(shù)據(jù)項(xiàng)都必須是數(shù)據(jù)定義中定義過(guò)的,結(jié)構(gòu)中也可以包括其他結(jié)構(gòu),但是絕對(duì)不允許遞歸.如果數(shù)據(jù)結(jié)構(gòu)中有可選項(xiàng),使用圓括號(hào)把該項(xiàng)括起來(lái).
e)?????? 重復(fù)項(xiàng)????? 重復(fù)項(xiàng)是組合項(xiàng)的一種特例,其中有一項(xiàng)將有多個(gè)實(shí)例出現(xiàn)的數(shù)據(jù)結(jié)構(gòu)中,使用花括號(hào)把該項(xiàng)括起來(lái).如果知道該項(xiàng)可能允許的范圍,就按”最小值,最大值”的形式寫在花括號(hào)前
8?????? 分析模型
這是一個(gè)可選部分,包括或涉及到相關(guān)的分析模型,例如:
a)?????? 數(shù)據(jù)流圖
b)?????? 類圖
c)?????? 狀態(tài)轉(zhuǎn)化圖
d)?????? 實(shí)體關(guān)系圖
9?????? 待定問(wèn)題列表
編輯一張?jiān)谲浖a(chǎn)品需求分析報(bào)告中待確定問(wèn)題時(shí)的列表,把每一個(gè)表項(xiàng)都編上號(hào),以便跟蹤調(diào)查.
轉(zhuǎn)載于:https://www.cnblogs.com/zs234/archive/2011/08/24/3691090.html
總結(jié)
以上是生活随笔為你收集整理的需求规格说明书格式及要求的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: Codeforce C. Buns
- 下一篇: SqlServer 0和空字符串''等价
