軟件工程軟件需求與軟件需求規(guī)約朱建凱_第1頁(yè)
已閱讀1頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件工程 第五講 軟件需求與軟件需求規(guī)約 朱建凱,三、軟件需求及系統(tǒng)/產(chǎn)品(需求)規(guī)約 定義問題的基本要素是”需求” 需求的基本性質(zhì) ?必要的(Necessary)。 ?無歧義的(Unambiguous)。 ?可測(cè)試的(testable)。 ?可跟蹤的(Tracea

2、ble)。 ?可測(cè)量的(Measurable)。,3) 需求分類   功能; 性能; 外部接口; 設(shè)計(jì)約束; 質(zhì)量屬性。 ? 功能需求 功能需求規(guī)約了系統(tǒng)或系統(tǒng)構(gòu)件必須執(zhí)行的功能。,? 性能需求 性能需求(Performance requirement)規(guī)約了一個(gè)系統(tǒng)或系統(tǒng)構(gòu)件必須具有的性能特性。,?外部接口需求

3、 外部接口需求(External interface requirement)規(guī)約了系統(tǒng)或系統(tǒng)構(gòu)件必須與之交互的硬件、軟件或數(shù)據(jù)庫(kù)元素。它也可能規(guī)約其格式、時(shí)間或其他因素?!±纾?賬戶接收系統(tǒng)必須為月財(cái)務(wù)狀況系統(tǒng)提供更新信息,如在“   財(cái)務(wù)系統(tǒng)描述”第4修訂版中所描述的。 引擎控制系統(tǒng)必須正確處理從飛行控制系統(tǒng)接收來的命令,   符合接口控制文檔B2-10A4,修訂版C的1到8段的規(guī)定。,--用戶接口(User

4、interfaces):規(guī)約了軟件產(chǎn)品和用戶之間接口的邏輯特性。即規(guī)約 對(duì)給用戶所顯示的數(shù)據(jù),對(duì)用戶所要求的數(shù)據(jù)以及用戶如何控制該用戶接口。 --硬件接口(Hardware interfaces):如果軟件系統(tǒng)必須與硬件設(shè)備進(jìn)行交互,那么就應(yīng)說明所要求的支持和協(xié)議類型。 --軟件接口(Software interfaces):允許與其它軟件產(chǎn)品進(jìn)行交互,如,數(shù)據(jù)管理系統(tǒng)、操作系統(tǒng)或數(shù)學(xué)軟件包。 --通訊接口(Communi

5、cations interfaces):規(guī)約待開發(fā)系統(tǒng)與通訊設(shè)施(如,局域網(wǎng))之間的交互。如果通訊需求包含了系統(tǒng)必須使用的網(wǎng)絡(luò)類型(TCP/IP,WindowsNT,Novell),那么有關(guān)類型的信息就應(yīng)包含在SRS中。,--存儲(chǔ)約束(Memory constraints):描述易失性存儲(chǔ)和永久性存儲(chǔ)的特性和限制,特別應(yīng)描述它們是否被用于與一個(gè)系統(tǒng)中其它處理的通訊。,--操作(Operation):規(guī)約用戶如何使系統(tǒng)進(jìn)入正常和異常的運(yùn)行

6、以及在系統(tǒng)正常和異常運(yùn)行下如何與系統(tǒng)進(jìn)行交互。應(yīng)該描述在用戶組織中的操作模式,包括交互模式和非交互模式;描述每一模式的數(shù)據(jù)處理支持功能;描述有關(guān)系統(tǒng)備份、恢復(fù)和升級(jí)功能方面的需求。 --地點(diǎn)需求(Site adaptation requirements):描述系統(tǒng)安裝以及如何調(diào)整一個(gè)地點(diǎn),以適應(yīng)新的系統(tǒng)。,?設(shè)計(jì)約束 設(shè)計(jì)約束限制了系統(tǒng)或系統(tǒng)構(gòu)件的設(shè)計(jì)方案。就約束的本身而言,對(duì)其進(jìn)行權(quán)衡或調(diào)整是相當(dāng)困難的,甚至是不可能的。它們

7、必須予以滿足。這一性質(zhì),是與其它需求的最主要差別。為了滿足功能、性能和其它需求,許多設(shè)計(jì)約束將對(duì)軟件項(xiàng)目規(guī)劃、所需要的附加成本和工作產(chǎn)生直接影響。例如: 系統(tǒng)必須用C++或其他面向?qū)ο笳Z言編寫。 系統(tǒng)用戶接口需要菜單。 任取10秒,一個(gè)特定應(yīng)用所消耗的可用計(jì)算能力平均不超過50%。 必須在對(duì)話窗口的中間顯示錯(cuò)誤警告,其中使用紅色的、14點(diǎn)加粗 Arial字體。,針對(duì)產(chǎn)品開發(fā),為

8、確定其相關(guān)的設(shè)計(jì)約束,一般需要考慮以下10個(gè)方面: --法規(guī)政策(Regulatory policies); --硬件限制(Hardware limitations),例如:處理速度、信號(hào)定序需求、存儲(chǔ)容量、通訊速度以及可用性等; --與其它應(yīng)用接口(Interfaces to other applications),如,當(dāng)外部系統(tǒng)處于一個(gè)特定狀態(tài)時(shí),禁止新系統(tǒng)某些操作 --并發(fā)操作(Parallel operation

9、s),例如,可能要求從/自一些不同的源,并發(fā)地產(chǎn)生或接收數(shù)據(jù)。對(duì)此,必須清晰地給出有關(guān)時(shí)間的描述。,--審計(jì)功能(Audit functions),規(guī)約軟件系統(tǒng)必須滿足的數(shù)據(jù)記錄準(zhǔn)則或事務(wù)記錄準(zhǔn)則。如,如果用戶察看或修改數(shù)據(jù),那么就可能要求該系統(tǒng)為了以后復(fù)審,記錄該系統(tǒng)的動(dòng)作。--控制功能(Control functions):可以對(duì)系統(tǒng)的管理能力進(jìn)行遠(yuǎn)程控制、可以對(duì)其他外部軟件以及內(nèi)部過程進(jìn)行控制。 --高級(jí)語言需求(Higher

10、 order language requirements): --握手協(xié)議(Signal handshake protocols):通常用于硬件和通訊控制軟件,特別當(dāng)給出特定的時(shí)間約束時(shí),一般就要把“握手協(xié)議”作為一項(xiàng)約束。 --應(yīng)用的關(guān)鍵程度(Criticality of the application),許多生物醫(yī)學(xué)、航空、軍事或財(cái)務(wù)軟件屬于這一類。 --安全考慮(Safety and security considerati

11、ons)。,? 質(zhì)量屬性 質(zhì)量屬性(Quality attribute)規(guī)約了軟件產(chǎn)品必須具有的一個(gè)性質(zhì)是否達(dá)到質(zhì)量方面一個(gè)所期望的水平。例如: 屬性 描述 可靠性 軟件系統(tǒng)在指定環(huán)境中沒有失敗而正常運(yùn)行的概率。 存活性 當(dāng)系統(tǒng)的某一部分系統(tǒng)不能運(yùn)行時(shí),該軟件繼續(xù)運(yùn)行或支 持關(guān)鍵功能的可能性。 可維護(hù)性 發(fā)現(xiàn)和改正一個(gè)軟件故障或?qū)μ囟ǖ姆秶M(jìn)行修

12、改 所要求的平均工作。 用戶友好性 學(xué)習(xí)和使用一個(gè)軟件系統(tǒng)的容易程度。 安全性 在一個(gè)預(yù)定的時(shí)間內(nèi),使軟件系統(tǒng)安全的可能性。 可移植性 軟件系統(tǒng)運(yùn)行的平臺(tái)類型。,,3) 需求發(fā)現(xiàn)技術(shù) 假如現(xiàn)在獲得一個(gè)開發(fā)項(xiàng)目,如何獲取需求呢? 自悟 交談

13、 觀察 小組會(huì) 提煉,自悟要求對(duì)業(yè)務(wù)熟悉,用于不方便對(duì)用戶調(diào)查交談對(duì)供需雙方都有要求,要防止需求越界小組會(huì)復(fù)雜系統(tǒng)常用方法提煉有一定文檔或者現(xiàn)有一些資料,功能規(guī)范情景模擬,用例法… …,總之,需求獲取方法是靈活的靈活組合或者多次迭代,2 定義需求的基本格式 --需求規(guī)約(S

14、RS) 1)概念 一個(gè)需求規(guī)約是一個(gè)軟件項(xiàng)/產(chǎn)品/系統(tǒng)所有需求陳述的正式文檔,是一個(gè)軟件產(chǎn)品/系統(tǒng)的概念模型。 A requirement specification is the formal documentation all requirement statements for an item/product/system. 2) 基本性質(zhì)  IEEE標(biāo)準(zhǔn)還規(guī)定SRS必須具有以下4個(gè)

15、性質(zhì): ?重要性和穩(wěn)定性程度(Ranked for importance and stability)。,?可修改的(Modifiable)。在不過多地影響其它需求的前提下,可以容易地修改一個(gè)單一需求. ?完整的(Complete)。沒有被遺漏的需求. ?一致的(Consistent)。不存在互斥的需求. 注:大型復(fù)雜項(xiàng)目和一些有能力的組織,在開發(fā)需求文檔時(shí),往往使用系統(tǒng)化的需求分析技術(shù)和工具。其中一些方法提供

16、了系統(tǒng)化、自動(dòng)化的功能,逐一驗(yàn)證單一需求所具有的五個(gè)性質(zhì),并進(jìn)一步驗(yàn)證需求規(guī)約是否具有以上四個(gè)性質(zhì)。,××××××系統(tǒng)需求規(guī)格說明書1.引言1.1 編寫目的 說明編寫本需求分析規(guī)格說明書的目的。 1.2背景說明 (1)給出待開發(fā)的軟件產(chǎn)品的名稱; (2)說明本項(xiàng)目的提出者、開發(fā)者及用戶; (3)

17、說明該軟件產(chǎn)品將做什么,如必要,說明不做什么。 1.3術(shù)語定義 列出本文檔中所用的專門術(shù)語的定義和外文首字母組詞的原詞組。 1.4參考資料 列出本文檔中所引用的全部資料,包括標(biāo)題、文檔編號(hào)、版本號(hào)、出版日期及出版單位等,必要時(shí)注明資料來源。,3)需求規(guī)約格式實(shí)例,2.概述 2.1功能概述 敘述待開發(fā)軟件產(chǎn)品將完成的主要功能,并用方框圖來表示各功能及其相互關(guān)系。

18、 2.2約束 敘述對(duì)系統(tǒng)設(shè)計(jì)產(chǎn)生影響的限制條件,并對(duì)下一節(jié)中所述的某些特殊需求提供理由,如管理模式、硬件限制、與其他應(yīng)用的接口、安全保密的考慮等。,3.?dāng)?shù)據(jù)流圖與數(shù)據(jù)字典3.1 數(shù)據(jù)流圖 3.1.1 數(shù)據(jù)流圖l (1)畫出該數(shù)據(jù)流圖 (2)加工說明 (a)編號(hào) (b)加工名

19、 (c)輸入流 (d)輸出流 (e)加工邏輯 (3)數(shù)據(jù)流說明 3.1.2 數(shù)據(jù)流圖2 … …,3.2 數(shù)據(jù)字典 3.2.1 文件說明 說明文件的成分及組織方式。 3.2.2數(shù)據(jù)項(xiàng)說明 以表格的形式說明每一數(shù)據(jù)項(xiàng),格式如下表所

20、示:,4.接口 4.1 用戶接口 說明人機(jī)界面的需求,包括: (1)屏幕格式; (2)報(bào)表或菜單的頁(yè)面打印格式及內(nèi)容; (3)可用的功能鍵及鼠標(biāo)。 4.2硬件接口 說明該軟件產(chǎn)品與硬件之間各接l51的邏輯特點(diǎn)及運(yùn)行該軟件的硬件設(shè)備特征。 4.3軟件接口 說明該軟件產(chǎn)品與其他軟件之間接口,對(duì)于每個(gè)需要的軟件產(chǎn)品,應(yīng)提供:

21、 (1)名稱; (2)規(guī)格說明; (3)版本號(hào)。,5.性能需求 5.1 精度 逐項(xiàng)說明對(duì)各項(xiàng)輸入數(shù)據(jù)和輸出數(shù)據(jù)達(dá)到的精度,包括傳輸中的精度要求。 5.2 時(shí)間特征 定量地說明本軟件的時(shí)間特征,如響應(yīng)時(shí)間、更新處理時(shí)間、數(shù)據(jù)傳輸、轉(zhuǎn)換時(shí)間、計(jì)算時(shí)間等。 5.3 靈活性 說明本軟件所具有的靈活性,即當(dāng)用戶需求(如對(duì)操作方式、運(yùn)行環(huán)境、結(jié)

22、果精度、時(shí)間特性等的要求)有某些變化時(shí),本軟件的適應(yīng)能力。,6.屬性 6.1 可使用性 規(guī)定某些需求,如檢查點(diǎn)、恢復(fù)方法和重啟動(dòng)性,以確保軟件可使用。 6.2 保密性 規(guī)定保護(hù)軟件的要素。 6.3 可維護(hù)性 規(guī)定確保軟件是可維護(hù)的需求,如模塊耦合矩陣。 6.4 可移植性 規(guī)定用戶程序、用戶接口的兼容方面的約束。,7.其他需求 7.1 數(shù)據(jù)庫(kù) 說明

23、作為產(chǎn)品的一部分來開發(fā)的數(shù)據(jù)庫(kù)的需求。如: (1)使用的頻率; (2)訪問的能力; (3)數(shù)據(jù)元素和文件描述;(4)數(shù)據(jù)元素、記錄和文件關(guān)系; (5)靜態(tài)和動(dòng)態(tài)組織; (6)數(shù)據(jù)保留要求。 7.2 操作 列出用戶要求的正常及特殊的操作,如: (1)在用戶組織中各種方式的操作; (2)后援和恢復(fù)操作。 7.3 故障及處理

24、 列出可能發(fā)生的軟件和硬件故障,并指出這些故障對(duì)各項(xiàng)性能指標(biāo)所產(chǎn)生的影響及對(duì)故障的處理要求。,注意: 以上給出的是一份需求規(guī)格說明書的樣例,在實(shí)際軟件工程中,每個(gè)開發(fā)組織可根據(jù)相關(guān)的標(biāo)準(zhǔn)和從事的開發(fā)領(lǐng)域,規(guī)定自己組織的軟件需求分析規(guī)格說明書的格式。,4)表達(dá)需求規(guī)約(規(guī)格說明書)的三種風(fēng)格 ?非形式化的規(guī)約 即以一種自然語言來表達(dá)需求規(guī)約,如同使用一種自然語言 寫了一篇文章. 其中:可以不局限于那種語言

25、通常所約定的任何符號(hào)或特殊 限制(例如文法和詞法),但要為那些在一個(gè)特定語境 中所使用的術(shù)語提供語義定義,一般情況下,該語境 與通常使用該術(shù)語的語境是有區(qū)別的。,?半形式化的規(guī)約 即以半形式化符號(hào)體系(包括術(shù)語表、標(biāo)準(zhǔn)化的表達(dá)格式等)來表達(dá)需求規(guī)約。因此,半形式化規(guī)約的編制應(yīng)遵循一個(gè)標(biāo)準(zhǔn)的表示模板(一些約定)。 其中: --術(shù)語表明確地標(biāo)識(shí)了一些詞,可以基于某一種自然語言

26、 --標(biāo)準(zhǔn)化的表達(dá)格式(例如例如數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖、實(shí) 體關(guān)系圖、數(shù)據(jù)結(jié)構(gòu)圖以及過程結(jié)構(gòu)圖等)標(biāo)識(shí)了一些元 信息,支持以更清晰的方式系統(tǒng)化地來編制文檔. --應(yīng)用中,不論是詞還是標(biāo)準(zhǔn)化的表達(dá)格式,在表達(dá)上均必 須遵循一些約定,即應(yīng)以一種準(zhǔn)確和一致方式使用之。,?形式化規(guī)約 即以一種基于良構(gòu)數(shù)學(xué)概念的符號(hào)體系來編制需求規(guī)約,一般往往伴有解釋性注釋的支持。 其中: --以數(shù)學(xué)概念用于定義該符號(hào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論