軟件需求分析_第1頁
軟件需求分析_第2頁
軟件需求分析_第3頁
軟件需求分析_第4頁
軟件需求分析_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章軟件需求分析軟件需求分析是軟件定義階段的最后一個步驟,它的基本任務(wù)是要準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個問題,即對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),直接影響軟件產(chǎn)品及工程的質(zhì)量。軟件需求分析是一個不斷進(jìn)行揭示和判斷的過程。在此過程中我們將對在軟件可行性研究階段確定的軟件范圍加以提煉使之具體化,并分析各軟件部件可能采用的解決辦法。在軟件需求分析階段,軟件的開發(fā)者和軟件需求者起著同樣的重要作用。軟件需求者設(shè)法把有關(guān)軟件功能和性能的一些模糊的概念加以重述,使之成為具體的細(xì)節(jié),而軟件開發(fā)者則起著詢問、顧問和問題解決者的作用。在需求分析中需要大量地交換意見,

2、這其間充滿著傳錯信息和發(fā)生誤解的可能性,而我們的任務(wù)就是面對各種矛盾,協(xié)調(diào)各種人與人、人與物,物與物之間的關(guān)系。3.1需求分析的任務(wù)確定系統(tǒng)的綜合要求系統(tǒng)的綜合要求包括下面幾個方面。確定系統(tǒng)的功能要求。提出系統(tǒng)必須完成的全部所有功能。確定系統(tǒng)的性能要求。包括系統(tǒng)的響應(yīng)時間、系統(tǒng)需要的存儲容量、后援存儲器容量、系統(tǒng)重新啟動、系統(tǒng)的安全性和可靠性等方面的性能要求。確定系統(tǒng)的運(yùn)行要求。主要是指系統(tǒng)運(yùn)行時所處的環(huán)境要求,包括支持系統(tǒng)運(yùn)行的軟件環(huán)境,工具軟件和系統(tǒng)軟件;支持系統(tǒng)運(yùn)行的硬件環(huán)境,外存儲器、通信接口、輸入和輸出等外部設(shè)備。系統(tǒng)的擴(kuò)充要求。不屬于當(dāng)前系統(tǒng)的開發(fā)范圍,是將來有可能提出的要求,目的

3、是使在現(xiàn)有的設(shè)計(jì)中為將來的擴(kuò)充做準(zhǔn)備。分析系統(tǒng)的數(shù)據(jù)要求任何一個軟件系統(tǒng)其本質(zhì)上都是一個信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的概貌,同時也對軟件設(shè)計(jì)有著深遠(yuǎn)的影響。因此,分析系統(tǒng)的數(shù)據(jù)要求,是軟件需求分析的任務(wù)之一。系統(tǒng)的數(shù)據(jù)來源和去處一般含如下幾個方面。從系統(tǒng)以外來,再到系統(tǒng)以外去;從系統(tǒng)以外來,再到系統(tǒng)內(nèi)部去;從系統(tǒng)內(nèi)部來,再到系統(tǒng)內(nèi)部去;從系統(tǒng)內(nèi)部來,再到系統(tǒng)外部去。復(fù)雜的數(shù)據(jù)是由許多基本數(shù)據(jù)元素組成的,數(shù)據(jù)元素之間的邏輯關(guān)系形成了數(shù)據(jù)結(jié)構(gòu)。我們一般用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu),常用的有層次方框圖和Warnier圖,將在本章第三節(jié)中介紹這兩種工具。建立

4、系統(tǒng)的邏輯模型以上述綜合要求和數(shù)據(jù)要求的結(jié)果為基礎(chǔ),我們可以導(dǎo)出系統(tǒng)的邏輯模型,并通過數(shù)據(jù)流圖、數(shù)據(jù)字典和主要處理算法來描述這個邏輯模型。具體過程如圖3-1所示。圖3-1系統(tǒng)邏輯模型的導(dǎo)岀過程修正系統(tǒng)開發(fā)計(jì)劃由分析過程而獲得對系統(tǒng)的深層了解之后,我們可以準(zhǔn)確地估計(jì)系統(tǒng)的成本及進(jìn)度,修正以我們所制定的開發(fā)計(jì)劃。開發(fā)模型系統(tǒng)開發(fā)模型系統(tǒng)是指在需求分析階段建造軟件樣機(jī)。它的目的主要是檢驗(yàn)關(guān)鍵設(shè)計(jì)方案的正確性及系統(tǒng)是否能真正滿足用戶的需要。在軟件開發(fā)中采用樣機(jī)策略的主要困難是成本問題。對于一次設(shè)計(jì)后大量生產(chǎn)的產(chǎn)品,設(shè)計(jì)樣機(jī)的費(fèi)用可分?jǐn)偟矫考a(chǎn)品上,因此每件產(chǎn)品的成本增加很少。而某些應(yīng)用軟件,通常一次只

5、開發(fā)一件產(chǎn)品,采用樣機(jī)策略則成本增加很多。近年來主張采用樣機(jī)策略的人逐漸多起來,樣機(jī)法已逐漸成為開發(fā)軟件的一種重要方法,有的書也稱此為原型法。3.2需求分析的方法在軟件工程的需求分析階段,通常采用結(jié)構(gòu)化分析技術(shù)、面向?qū)ο蠓治黾夹g(shù)、原型(樣機(jī))開發(fā)技術(shù)等。下面對這三種分析技術(shù)加以介紹。結(jié)構(gòu)化分析技術(shù)結(jié)構(gòu)化分析技術(shù)是七十年代中期由E.Yourdon等人倡導(dǎo)的一種面向數(shù)據(jù)流的分析方法。按照Demarco的定義,“結(jié)構(gòu)化分析就是用數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)化英語、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化說明書的目標(biāo)文檔?!逼渲薪Y(jié)構(gòu)化說明書就是需求規(guī)格說明書。結(jié)構(gòu)化分析技術(shù)將軟件系統(tǒng)抽象為一系列的

6、邏輯加工單元,各單元之間以數(shù)據(jù)流發(fā)生聯(lián)系。關(guān)于數(shù)據(jù)流圖的細(xì)化、定義、加工、小說明的描述前面已經(jīng)介紹過,在此不再贅述。下面我們通過房產(chǎn)管理系統(tǒng)這個實(shí)例,具體看一看結(jié)構(gòu)化分析的過程。項(xiàng)目說明房產(chǎn)計(jì)算機(jī)管理系統(tǒng)包括住房分析、調(diào)整和計(jì)租等。用戶可以查詢住房情況和房租金額,房產(chǎn)部門也可以對房產(chǎn)進(jìn)行統(tǒng)計(jì),輸出需要的統(tǒng)計(jì)表。在房產(chǎn)計(jì)算機(jī)管理系統(tǒng)中我們把住戶的要求分為三類,即分房要求,調(diào)房要求,退房要求。把查詢要求分為:查詢住房情況,查詢房租和查詢?nèi)肿》壳闆r三種。對以上要求又具體規(guī)定如下:分房要求:可根據(jù)分房單進(jìn)行住房分配,分配住房要從房產(chǎn)文件中讀出相應(yīng)的空房信息。如房號、面積、單位面積房租等。然后把相應(yīng)的

7、住房信息,如戶主姓名、部門、住房分?jǐn)?shù)、家庭人口等再寫回房產(chǎn)文件中去,同時還要寫入到住房文件中去。最后輸出分配后的住房單。與此項(xiàng)要求有聯(lián)系和影響的工作是房租計(jì)算,計(jì)算好新分配房的房租后寫入到房租文件中去。調(diào)房要求和退房要求與分房要求大體類似,這里不再敘述。查詢住房情況要求:根據(jù)住戶名從住房文件中讀出該住戶的住房情況并打印。查詢房租要求:從房租文件讀出該住戶的信息并輸出。查詢?nèi)肿》壳闆r要求:根據(jù)統(tǒng)計(jì)要求作統(tǒng)計(jì)處理后輸出報(bào)表。分層細(xì)化數(shù)據(jù)流圖,見圖3-2,3-3,3-4,3-5所示。房產(chǎn)管-理部門待住戶圖3-2第一層數(shù)據(jù)流圖不臺仙入序產(chǎn)晉趣韶門I*檢磴合)昔法的住戶真求房產(chǎn)青理部門“住房單、退廚單

8、住戶住戶.處理圖3-3第二層數(shù)據(jù)流圖數(shù)據(jù)字典數(shù)據(jù)流住戶要求=戶主+分房要求丨調(diào)房要求丨退房要求查詢=戶主+住房情況查詢丨房租查詢丨統(tǒng)計(jì)要求統(tǒng)計(jì)表=住房面積+已分住房數(shù)丨空房數(shù)住房情況=部門+職稱+戶主+家庭人口+住房面積+房租分房要求=部門+職稱+家庭人口+住房分?jǐn)?shù)+要求住房面積調(diào)房要求=部門+職稱+家庭人口+住房分?jǐn)?shù)+原居住面積+要求調(diào)房面積退房要求=部門+房號分房單=部門+房主+職稱+住房分?jǐn)?shù)+要求住房面積調(diào)房單=部門+戶主+職稱+住房分?jǐn)?shù)+原住房面積+原房號+要求調(diào)房面積退房單=戶主+房號+部門賊的HP雲(yún)聊二4住戶OiicSI:、法慘住房立件、廠3八T“尿(住房;屛瞬/5廠5j-r/口、

9、店產(chǎn)文ft愈”圖3-4第三層數(shù)據(jù)流圖冊呢?cái)?、住窗關(guān)分厲單住戶住房文件I房產(chǎn)文件I肆文件退厲單、房租咅提的僅戶要求合謎調(diào)房單退房單住房文件I房產(chǎn)文件I潮文件3.MSr畫-3丿情況、換房產(chǎn)文件蛻計(jì)表.J1=1理卸不合圖3-5第四層數(shù)據(jù)流圖住房單=戶主+房號+部門+住房面積+租金房號=樓號+房號房租=住房面積X單位租金文件房產(chǎn)文件=房號+住房面積+分配標(biāo)志+單位租金按房號為關(guān)鍵字排序住房文件=部門+戶主+職稱+家庭人口+房號+住房面積以戶主名為關(guān)鍵字排序房租文件=房號+戶主+住房面積+租金+繳納情況以戶主名為關(guān)鍵字排序加工說明加工編號:1加工名:檢查合法性加工邏輯:檢查住戶要求和住房查詢的合法性,對

10、不合法的要求或查詢給予拒絕。有關(guān)信息:有輸入時執(zhí)行此加工。加工編號:2.1加工名:要求類型分類加工邏輯:根據(jù)住戶要求,選擇分房、調(diào)房、退房處理。有關(guān)信息:住戶要求合法時執(zhí)行此加工,處理結(jié)果輸出分房單或調(diào)房單或退房單。加工編號:加工名:分配住房加工邏輯:從房產(chǎn)文件中讀出合理記錄,把分房單有關(guān)信息拼成住房文件記錄寫入到住房文件中去,在房產(chǎn)文件的相應(yīng)記錄中填入已分標(biāo)志到分配標(biāo)志字段中。有關(guān)信息:收到分房單時執(zhí)行此加工,輸出住房單。加工編號:加工名:房租計(jì)算加工邏輯:依住房計(jì)算房租寫入房租文件。有關(guān)信息:收到住房單時執(zhí)行此加工。加工編號:加工名:調(diào)房處理加工邏輯:對住房、房產(chǎn)文件進(jìn)行讀、寫操作,修改有

11、關(guān)字段內(nèi)容和有關(guān)記錄內(nèi)容。有關(guān)信息:收到調(diào)房單時執(zhí)行此加工,輸出住房單和退房單。加工編號:232加工名:房租核計(jì)加工邏輯:依據(jù)住房單和退房單進(jìn)行房租的核算寫入房租文件。有關(guān)信息:收到住房單和退房單時執(zhí)行此加工。加工編號:加工名:退房處理加工邏輯:從住房文件讀出有關(guān)記錄,輸出退房單,刪除該記錄,對房產(chǎn)文件中的相應(yīng)記錄修改。有關(guān)信息:收到退房單執(zhí)行此加工。加工編號:加工名:消去房租加工邏輯:由退房單對房租文件進(jìn)行修改刪除。有關(guān)信息:收到退房單時執(zhí)行此加工。加工編號:3.1加工名:查詢類別處理加工邏輯:根據(jù)查詢要求,選擇住房查詢或房租查詢或統(tǒng)計(jì)房產(chǎn)要求。有關(guān)信息:當(dāng)有查詢要求時執(zhí)行此加工,處理結(jié)果輸

12、出查詢住房情況要求或查詢房租要求或統(tǒng)計(jì)要求。加工編號:3.2加工名:住房查詢加工邏輯:由查詢要求從住房文件中讀出相應(yīng)記錄。有關(guān)信息:有查詢住房情況要求時執(zhí)行此加工,輸出住房記錄。加工編號:3.3加工名:房租查詢加工邏輯:由房租查詢要求,從房租文件中讀出相應(yīng)記錄信息。有關(guān)信息:有查詢房租要求時,執(zhí)行此加工。加工編號:3.4加工名:統(tǒng)計(jì)房產(chǎn)加工邏輯:讀房產(chǎn)文件,統(tǒng)計(jì)房屋分配情況,輸出統(tǒng)計(jì)表。有關(guān)信息:有統(tǒng)計(jì)要求時執(zhí)行此加工。加工編號:4加工名:打印處理加工邏輯:把住房記錄或房租記錄打印出來。有關(guān)信息:收到住房記錄和房租記錄時執(zhí)行此加工。復(fù)審分析工作的最后一步是按照結(jié)束標(biāo)準(zhǔn)對分析階段的工作成果進(jìn)行正

13、式的技術(shù)審查,以數(shù)據(jù)流圖作為基本文檔,在數(shù)據(jù)字典、算法描述及其他有關(guān)文檔的輔助下,仔細(xì)分析研究需求分析階段的結(jié)果,目的是發(fā)現(xiàn)錯誤和遺漏。審查小組通常由四人組成,組長由一名沒有參加這個項(xiàng)目的有經(jīng)驗(yàn)的系統(tǒng)分析員擔(dān)任,組員由本系統(tǒng)的分析員和兩名用戶代表構(gòu)成。若審查合格,那么審查小組成員應(yīng)該在正式的審查表上簽字,若有問題應(yīng)提出并限期修改,改正后再進(jìn)行審查,直到合格為止。但要注意,在進(jìn)入下階段工作之前,要進(jìn)行管理復(fù)審,只有在使用部門的負(fù)責(zé)人審查修正后的成本和進(jìn)度是可接受的,開發(fā)工程才能繼續(xù)進(jìn)行。322面向?qū)ο蟮姆治觯?0A)技術(shù)面向?qū)ο蟮母拍钍窃谄呤甏绦蛟O(shè)計(jì)方法學(xué)的抽象數(shù)據(jù)類型中產(chǎn)生的。它在軟件工程

14、中的應(yīng)用是即美國XERO)公司于1980年研制出面向?qū)ο蟮某绦蛟O(shè)計(jì)語言Smalltalk-80之后。面向?qū)ο蟮姆治黾夹g(shù)以模塊封裝和內(nèi)部信息隱蔽為主要特征。面向?qū)ο笳Z言具有易編程、易修改、易維護(hù),能大幅度提高軟件生產(chǎn)率和質(zhì)量等特點(diǎn),二者的結(jié)合是軟件產(chǎn)業(yè)中的一次革命。面向?qū)ο蟮姆治觯浅槿『驼碛脩粜枨蟛⒔栴}精確模型的過程。通常,面向?qū)ο蠓治鲞^程從分析陳述用戶需求的文件開始,發(fā)現(xiàn)和改正原始陳述中的二義性和不一致性,補(bǔ)充遺漏的內(nèi)容,使需求變得完整準(zhǔn)確。接下來分析員要深入理解用戶需求,抽象出目標(biāo)系統(tǒng)的本質(zhì)屬性,并用模型準(zhǔn)確地表示出來。面向?qū)ο蠼5玫降哪P桶▽ο蟮娜齻€要素,即靜態(tài)結(jié)構(gòu)(對象模型)

15、表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì),它是對模擬客觀世界實(shí)體的對象以及對象彼此間的關(guān)系的映射;交互次序(動態(tài)模型)一一表示瞬時的、行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對象模型中的對象的合法變化序列;數(shù)據(jù)變換(功能模型)一一表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,更直接地反映了用戶對目標(biāo)系統(tǒng)的需求。復(fù)雜問題的對象模型由五個層次組成,即主題層、對象層、結(jié)構(gòu)層、屬性層和服務(wù)層。這五個層次一層比一層顯現(xiàn)出對象模型的更多細(xì)節(jié),而且這五個層次對應(yīng)著在面向?qū)ο蠓治鲞^程中建立對象模型的五項(xiàng)主要活動,即標(biāo)識對象(類),標(biāo)識結(jié)構(gòu),標(biāo)識主題,定義屬性,定義服務(wù)。下面我們以實(shí)時空運(yùn)系統(tǒng)為例,介紹面

16、向?qū)ο蠓治黾夹g(shù)的步驟一一五個主要活動的內(nèi)容。標(biāo)識對象(類)對象是所有數(shù)據(jù)及可對這些數(shù)據(jù)施加的操作結(jié)合在一起所構(gòu)成的獨(dú)立單位的總稱。類是對一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象的描述。為了標(biāo)識對象,我們應(yīng)從問題空間的結(jié)構(gòu)、與其他系統(tǒng)的相互作用、設(shè)備、記住的事件、發(fā)揮的作用、地點(diǎn)和組織單位等方面進(jìn)行尋找。一旦分析員發(fā)現(xiàn)了一個候選對象,應(yīng)該考慮需要的記憶,需要的服務(wù),多于一個屬性,公共屬性,公共服務(wù),基本要求等。對確定的對象要設(shè)立一個對象名,一般用名詞或形容詞+名詞來表示。實(shí)時空運(yùn)系統(tǒng)包括7個對象。如圖3-6所示。其中對象Aircraft(飛機(jī))和Radar(雷達(dá))為其他系統(tǒng),對象Mission(飛行

17、任務(wù))、Flight(航班)、Cargoltem(貨物)和AircraftFailure(飛機(jī)故障)為需記憶的事件,對象Passenger(乘客)為扮演的角色。標(biāo)識結(jié)構(gòu)面向?qū)ο蠓治龇椒ㄖ杏袃煞N結(jié)構(gòu)類型分類結(jié)構(gòu)和組裝結(jié)構(gòu)。其中分類結(jié)構(gòu)表示一般和特殊的關(guān)系,這一關(guān)系描述了一個對象類是另一對象類的子類/超類。組裝結(jié)構(gòu)表示組裝、容納、包含關(guān)系,它描述了一個對象是由另外一個或多個稱之為成分的對象組成的。在實(shí)時空運(yùn)系統(tǒng)的7個對象中,ShipmentItem為分類結(jié)構(gòu),如圖36中的半圓所示,它是由兩個子類Passenger和CargoItem組成的一個超類。對象Mission和Flight為組裝結(jié)構(gòu),對象F

18、light和ShipmentItem為組裝結(jié)構(gòu)。圖36中三角形指出了上述組裝結(jié)構(gòu),兩端標(biāo)記指出了各對象之間的實(shí)例約束。一項(xiàng)Mission可以沒有任何Flight的情況下存在,而一個Flight至多是一個Mission量的整體與部分關(guān)系存在。3.標(biāo)識主題主題的個數(shù)一般是在72個事件內(nèi),稱為定義主題的方法是:的組成部分。Flight和Shipment可以獨(dú)立存在或以任何數(shù)7個左右,“72”7個左右,“72”統(tǒng)計(jì)數(shù)據(jù)表明,通常人們認(rèn)為在一個時間內(nèi)短期記憶限制規(guī)則。對每個結(jié)構(gòu)增加一個相應(yīng)的主題,對每個對象增加一個相應(yīng)的主題。當(dāng)由此產(chǎn)生的主題個數(shù)超過7個左右時,需要進(jìn)一步提煉主題(依據(jù)主題的耦合情況),

19、以得到一個更好的模型概觀。最后列出主題及主題層上各主題之間的消息連接。4.定義屬性屬性是描述對象或分類結(jié)構(gòu)實(shí)例的數(shù)據(jù)單元,定義屬性分以下幾步。AirrraftFiiiluivSlipnrnlIWiCaiguIiem圖3-6實(shí)時空運(yùn)系統(tǒng)中的對象及結(jié)構(gòu)關(guān)系標(biāo)識屬性分析員要與用戶交流,在問題空間中找出適用于這個對象或分類結(jié)構(gòu)的所有實(shí)例的屬性。屬性定位禾U用分類結(jié)構(gòu)中的繼承機(jī)制確定屬性的位置。把通用屬性放在結(jié)構(gòu)的高層,特殊屬性放在低層。如果某個屬性可適用于絕大多數(shù)的特殊情況,則可將其放在通用的位置上,然后在不需要它的特殊地方覆蓋掉。如果某個屬性常常有“不可適用的”值出現(xiàn),貝U進(jìn)一步找出其附加結(jié)構(gòu)。標(biāo)識

20、和定義實(shí)例連接實(shí)例連接就是一個實(shí)例與另一個實(shí)例的映射關(guān)系,它反映問題空間的對應(yīng)性,以獲得最少的必要的連接集合。如果連接適合于所有實(shí)例,則在分類結(jié)構(gòu)的通用層相連接,否則在特殊的專用層連接。定義多重性:在每一個方向上建立單重或多重的連接。定義參與性:在每一個方向上定義連接是任選的還是強(qiáng)制性的,特殊情況作特殊處理。修訂對象隨著屬性的增加,需要重新修訂一些對象或分類結(jié)構(gòu),通常從以下幾個角度來檢驗(yàn)1)帶有“非法”值的屬性。如果某些屬性不適合于一個對象的所有實(shí)例或分類結(jié)構(gòu)的某個特定的實(shí)例,則應(yīng)考慮引入附加的分類結(jié)構(gòu)。2)單個屬性。如果對象或分類結(jié)構(gòu)的實(shí)例只有一個屬性,則應(yīng)修改模型以反映更高一層的抽象,將單

21、個屬性直接放入與該屬性所描述的對象相關(guān)連的對象,然后刪除這個多余的對象。3)屬性值的冗余。當(dāng)一個對象實(shí)例的某個屬性可能有多個重復(fù)值時,應(yīng)考慮增加新的對象。4)適應(yīng)性參數(shù)。對尚無著落的適應(yīng)性變化參數(shù)可作為屬性。5)說明屬性和實(shí)例連接的約束。用名字和描述來說明屬性,還可以增加一定的屬性約束,而且每個屬性都可以歸類成描述性的、定義性的、通??蓪?dǎo)出的、偶爾可導(dǎo)出的。屬性作為一個對象(類)的另一重要部分,它連同對象(類)名字和服務(wù)組成一個完整的對象(類)表示。實(shí)時空運(yùn)系統(tǒng)各對象(類)的屬性說明如圖3-7所示。圖3-7實(shí)時空運(yùn)系統(tǒng)各對象(類)的屬性說明定義服務(wù)一個服務(wù)就是收到一條消息之后所執(zhí)行的處理。定義

22、服務(wù)的中心問題是為每個對象和分類結(jié)構(gòu)定義所需要的行為。定義服務(wù)的第二個問題是確定對象實(shí)例之間必要的通訊。定義服務(wù)分四步:(1)標(biāo)識服務(wù)一一基本策略對每一個對象或分類結(jié)構(gòu)考慮三類基本服務(wù):Occur服務(wù)為隱含服務(wù),完成實(shí)例的增加、修改、刪除和選擇。Calculate服務(wù)為某個實(shí)例或代表另一個實(shí)例的計(jì)算結(jié)果。Monitor服務(wù)為執(zhí)行對外界系統(tǒng)、設(shè)備或用戶的運(yùn)行監(jiān)控。(2)標(biāo)識服務(wù)一一輔助策略通過對象或分類結(jié)構(gòu)以后發(fā)生的事件,由基本服務(wù)出發(fā),檢查每一步的演變,增加基本序列,增加服務(wù),把這些附加的服務(wù)名放入模型圖中。(3)標(biāo)識消息連接消息連接用于適應(yīng)服務(wù)的需要,表示發(fā)出一條消息,也表示接收到一個響應(yīng),

23、在考慮消息連接時,首先在已存在實(shí)例連接的對象和分類結(jié)構(gòu)之間增加消息連接,然后再對屬性尋找服務(wù)。消息連接在圖形中用箭頭表示,它從發(fā)送者指向接收者,如圖38所示。(4)詳細(xì)說明服務(wù)為了建立所有服務(wù)的細(xì)節(jié)文檔,對服務(wù)的規(guī)格說明分為以下幾部分:1)集中于所需要的外部可見的行為;2)使用一個模板;3)增加圖示以簡化服務(wù)說明;4)增加支持的表;5)建立服務(wù)的文字?jǐn)⑹?。?shí)時空系統(tǒng)的服務(wù)層如圖3-8所示。圖3-8實(shí)時空運(yùn)系統(tǒng)服務(wù)層323原型開發(fā)技術(shù)傳統(tǒng)的生存周期方法學(xué)強(qiáng)調(diào)自頂向下分段開發(fā),在進(jìn)入實(shí)際的開發(fā)時期之前必須預(yù)先對需求嚴(yán)格定義。但是,在系統(tǒng)建立起來之前很難僅僅依靠分析就確定出一套完整、一致、有效的應(yīng)用

24、需求,特別是它不適應(yīng)用戶需求不斷變化的情況。原型開發(fā)技術(shù)打破了傳統(tǒng)的自頂向下開發(fā)模式,是目前比較流行的實(shí)用開發(fā)方法之一。原型開發(fā)技術(shù)要求在獲得一組基本需求說明后,就快速地使其“實(shí)現(xiàn)”,通過原型反饋加深對系統(tǒng)的理解,并對需求說明進(jìn)行補(bǔ)充和精化,原型開發(fā)技術(shù)一般包括以下五個方面的內(nèi)容。實(shí)現(xiàn)原型的途徑建立原型的目的不同,實(shí)現(xiàn)原型的途徑也有所不同,通常有以下三種類型。(1)用于驗(yàn)證軟件需求的原型確定了軟件需求之后,從中選擇某些應(yīng)著重驗(yàn)證的功能和性能,用適當(dāng)?shù)墓ぞ呖焖贅?gòu)造出可運(yùn)行的原型系統(tǒng),由用戶來試用和評價(jià)。這類原型往往用后就丟掉,因此構(gòu)造它們所用的工具不必與目標(biāo)系統(tǒng)的生產(chǎn)環(huán)境集成在用于驗(yàn)證設(shè)計(jì)方案的

25、原型為確保軟件產(chǎn)品質(zhì)量,在總體設(shè)計(jì)或詳細(xì)設(shè)計(jì)過程中,用原型來驗(yàn)證總體結(jié)構(gòu)或某些關(guān)鍵算法。若驗(yàn)證完設(shè)計(jì)方案之后就棄掉,則構(gòu)造原型所用的工具不必與目標(biāo)系統(tǒng)的生產(chǎn)環(huán)境集成在一起。反之,如果想把原型作為最終產(chǎn)品的一部分,則必須把原型的生產(chǎn)環(huán)境與目標(biāo)系統(tǒng)的生產(chǎn)環(huán)境集成在一起。原型和目標(biāo)系統(tǒng)也可以使用同樣的程序設(shè)計(jì)語言編寫。用于演進(jìn)出目標(biāo)系統(tǒng)的原型不經(jīng)過實(shí)踐不能預(yù)先定義所有需求,看來比較合理的辦法是經(jīng)過初步分析獲得一組基本需之后,就迅速地用原型加以實(shí)現(xiàn),作為溝通各方的基礎(chǔ)和實(shí)踐場所。隨著用戶和開發(fā)人員對系統(tǒng)理解逐漸加深,不斷對原型進(jìn)行修改和擴(kuò)充,直到用戶感到滿意為止。力圖用正常的迭代來避免不正常的反復(fù)。如

26、果用戶希望從滿意的原型直接轉(zhuǎn)成實(shí)用的目標(biāo)系統(tǒng),則必須把原型的生產(chǎn)環(huán)境和目標(biāo)系統(tǒng)的生產(chǎn)環(huán)境集成在一起,當(dāng)原型與目標(biāo)系統(tǒng)使用不同的語言時,要改進(jìn)原型,進(jìn)行翻譯。功能選擇要恰當(dāng)選擇原型實(shí)現(xiàn)的功能。原型它不同于最終的軟件系統(tǒng),兩者在功能范圍上是有區(qū)別的,主要表現(xiàn)在:最終系統(tǒng)是軟件需求全部功能的實(shí)現(xiàn),而原型只實(shí)現(xiàn)所選擇的部分功能;最終系統(tǒng)對每個軟件需求都要求詳細(xì)實(shí)現(xiàn),而原型僅僅是為試驗(yàn)和演示用的,部分功能需求可以忽略,或者模擬實(shí)現(xiàn)。構(gòu)造原型在構(gòu)造一個原型時,應(yīng)強(qiáng)調(diào)著眼于預(yù)期的評估,而不是為了正規(guī)的長期使用。一般采用超高級語言來實(shí)現(xiàn)原型系統(tǒng),可以大大減少系統(tǒng)原型的開發(fā)成本。評價(jià)和確認(rèn)通過運(yùn)行原型,對軟件需

27、求規(guī)格說明進(jìn)行評價(jià)和確認(rèn)。在用戶參與的評價(jià)活動中,要注意來自用戶的反饋信息。進(jìn)一步使用根據(jù)原型實(shí)現(xiàn)的特點(diǎn)和環(huán)境,原型既可以作為試驗(yàn)的工具,也可以全部或部分地成為最終系統(tǒng)的組成部分。原型開發(fā)與原型運(yùn)行和評價(jià)兩者間需要反復(fù)進(jìn)行多次,才能得到經(jīng)過確認(rèn)的需求規(guī)格說明系統(tǒng)的原型開發(fā),因此原型系統(tǒng)必占總開銷成本的一部分。一個軟件是否要開發(fā)原型系統(tǒng),應(yīng)視軟件規(guī)模與復(fù)雜程度而定。原型開發(fā)技術(shù)的開發(fā)過程如圖3-9所示。圖3-9原型開發(fā)過程3.3需求分析階段的圖形工具用圖形工具來描述數(shù)據(jù)結(jié)構(gòu),比文字?jǐn)⑹龈庇^,本節(jié)介紹三種需求分析階段所使用的圖形工具。層次方框圖是用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)

28、。樹形結(jié)構(gòu)的頂層是一個單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu)。下面各層的矩形框代表這個數(shù)據(jù)的子集,最低層的各個框代表組成這個數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不可再分割)。例描繪一家計(jì)算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)可用圖3-10表示。圖3-10層次方框圖實(shí)例隨著結(jié)構(gòu)的分解,層次方框圖對數(shù)據(jù)結(jié)構(gòu)的描述也越來越詳細(xì)。這種方式很適合于結(jié)構(gòu)化分析。圖Warnier圖是由法國計(jì)算機(jī)科學(xué)家提出的表示信息層次結(jié)構(gòu)的另外一種圖形工具。它與層次方框圖類似,但比層次方框圖更靈活。用Warnier圖可以表明信息的邏輯組織,指出一類或一個信息是重復(fù)出現(xiàn)的,也可表示特定信息的有條件出現(xiàn),它很容易變成軟件設(shè)計(jì)的工具。下面給出用Warnier圖

29、描述軟件產(chǎn)品的一個例子,見圖3-11所示。軟件產(chǎn)品系統(tǒng)軟件操作系統(tǒng)(P1)編譯程序(P2)軟件工具編譯程序(P3)圖形生成程序(P4)應(yīng)用軟件丟統(tǒng)軟件軟件產(chǎn)詁應(yīng)用軟件丟統(tǒng)軟件軟件產(chǎn)詁應(yīng)用軟件軟件工具編譯程序.圖形牛咸秤序(PO圖3-11Warnier圖實(shí)例在Warnier圖中花括號用來區(qū)分?jǐn)?shù)據(jù)結(jié)構(gòu)的層次,在一個花括號內(nèi)的所有名字都屬于同一類信息;符號表示在其上、下方的名字中的一個名字;名字右邊圓括號中的符號表示這個名字在信息類中重復(fù)出現(xiàn)的次數(shù)。圖3-10中系統(tǒng)軟件和應(yīng)用軟件只能出現(xiàn)一種;系統(tǒng)軟件中包括P1種操作系統(tǒng),P2種編譯程序,軟件工具中包括P3種編譯程序,P4種圖形生成程序。圖IPO圖是

30、輸入/處理/輸出圖的簡稱,它是由美國IBM公司發(fā)展完善起來的一種圖形工具,可以方便地表示輸入數(shù)據(jù)、數(shù)據(jù)處理和輸出數(shù)據(jù)三者之間的關(guān)系。IPO圖包括三個矩形框,它的基本形式如圖312所示。左邊框列出所有輸入數(shù)據(jù),中間框列出主要處理及出現(xiàn)的順序,暗示了執(zhí)行的順序,右邊框列出輸出數(shù)據(jù)。三個框中間用粗箭頭指出數(shù)據(jù)通信情況。笞入外理曲出圖3-12IPO圖我們在軟件設(shè)計(jì)中比較常用的是一種改進(jìn)的IPO圖,其基本格式如圖313所示。包括了系統(tǒng)名稱、作者、日期、模塊名、調(diào)用與被調(diào)用模塊清單、注解、以及本模塊使用的局部數(shù)據(jù)元素等。3.4驗(yàn)證軟件需求如何驗(yàn)證軟件需求的正確性為了提高軟件的質(zhì)量,確保軟件開發(fā)成功,降低軟

31、件開發(fā)成本,我們一般從四個方面進(jìn)行軟件需求的驗(yàn)證。一致性。在所有需求中,任何一條需求不能和其他需求互相矛盾。完整性。軟件規(guī)格說明書必須包括用戶需求的每一個功能或性能?,F(xiàn)實(shí)性。指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。有效性。軟件需求確實(shí)能解決用戶所面對的問題。342用于需求分析的軟件工具用計(jì)算機(jī)輔助人工需求分析,可使軟件開發(fā)更趨于工程化和標(biāo)準(zhǔn)化。七十年代末以來,國外已開發(fā)了多種用于需求分析的軟件工具,我國在這方面也取得了很大成就,青鳥系統(tǒng)I型和n型就是這項(xiàng)工作的代表。一般來講,這些軟件工具符合下述標(biāo)準(zhǔn)。有形式化語法,可用計(jì)算機(jī)自動處理;使用這個軟件工具能導(dǎo)出詳細(xì)的文檔;提供分析(測試)規(guī)格說明書的不一致性和冗余性的手段,能夠產(chǎn)

溫馨提示

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

評論

0/150

提交評論