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

下載本文檔

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

文檔簡介

第4章需求分析

需求開發(fā)過程

系統(tǒng)需求過程

需求獲取來源

需求收集方法

需求UML建模

需求原型開發(fā)

需求規(guī)格說明【學(xué)習(xí)目標(biāo)】4.1需求開發(fā)過程一、需求的定義軟件需求是一個軟件系統(tǒng)所需具有的功能與性能要求,它描述了待開發(fā)軟件系統(tǒng)的行為、特性、屬性及其約束條件。需求是指系統(tǒng)應(yīng)達(dá)到的目標(biāo)、功能、性能、環(huán)境等要求。二、需求工程需求開發(fā)需求工程需求管理系統(tǒng)分析編寫規(guī)格說明問題獲取需求驗證需求工程任務(wù)的層次分解需求工程是指為了獲取需求和描述需求,進(jìn)行系統(tǒng)的需求調(diào)查、需求分析、需求描述、系統(tǒng)需求規(guī)格說明活動及其管理的過程。三、需求開發(fā)過程需求開發(fā)過程需求導(dǎo)出與分析過程4.2需求類型與范圍一、需求類型1.需求縱向分類業(yè)務(wù)需求是反映組織機(jī)構(gòu)或客戶對系統(tǒng)或產(chǎn)品的業(yè)務(wù)目標(biāo)要求。它們在項目視圖與范圍文檔中進(jìn)行說明。用戶需求是反映用戶對系統(tǒng)或產(chǎn)品使用中的具體處理要求。它們在用例文檔或方案文檔進(jìn)行說明。系統(tǒng)需求是反映開發(fā)人員必須實現(xiàn)的系統(tǒng)功能,用戶使用系統(tǒng)或產(chǎn)品能完成特定工作任務(wù),從而達(dá)到系統(tǒng)業(yè)務(wù)目標(biāo)要求。需求分析業(yè)務(wù)需求用戶需求系統(tǒng)需求例用戶需求與系統(tǒng)需求用戶需求:

提供霍亂發(fā)生病例統(tǒng)計分析系統(tǒng)需求:

1.系統(tǒng)需具有霍亂發(fā)生病例的基本數(shù)據(jù)2.根據(jù)條件(如地區(qū)、時間段、年齡段等)對霍亂發(fā)生病例數(shù)量進(jìn)行統(tǒng)計3.給出統(tǒng)計數(shù)據(jù)表格輸出或圖形曲線輸出功能需求它指系統(tǒng)應(yīng)該提供什么樣的服務(wù)、如何對輸入做出反應(yīng)以及系統(tǒng)在特定條件下的行為等描述。非功能需求它指對系統(tǒng)提供的服務(wù)或功能遵循的約束。包括時間約束、開發(fā)約束、標(biāo)準(zhǔn)約束、法規(guī)約束等。2.需求橫向分類系統(tǒng)將做什么?系統(tǒng)什么時候做?有多種操作模式嗎?必須執(zhí)行什么種類的計算或數(shù)據(jù)轉(zhuǎn)換?輸入/輸出數(shù)據(jù)格式是什么?在什么時間必須保存數(shù)據(jù)?1.功能需求二、需求范圍2.非功能需求問題:什么是功能需求?什么是非功能需求?并舉例說明。4.3需求的來源需求開發(fā)第一步:確定需求來源,最基本的需求來源就是用戶需求。它反映了用戶對系統(tǒng)的功能與性能等方面的要求。一、需求的來源幾個典型來源:

客戶的期望或愿景

市場產(chǎn)品的廣告資料

當(dāng)前系統(tǒng)的問題報告和增強(qiáng)要求

現(xiàn)有系統(tǒng)的文檔

領(lǐng)域模型二、用戶類別區(qū)分為什么要區(qū)分用戶類型?用戶在系統(tǒng)中扮演了不同角色,如業(yè)務(wù)人員、部門經(jīng)理、公司主管等,他們對系統(tǒng)有各自的需求。每一用戶類都將有自己的一系列功能和非功能要求。比如:一個沒有經(jīng)驗或偶爾使用電腦的用戶關(guān)心系統(tǒng)是否簡單易用,因此,菜單、提示符和向?qū)呛苤匾摹H欢?,對于那些一天使用幾小時產(chǎn)品的用戶,他們更關(guān)心產(chǎn)品的易用性和高效性,所以他們喜歡使用快捷鍵、宏以及腳本功能。還有一些并不一定是系統(tǒng)的直接使用者,而是通過報表或其它應(yīng)用程序訪問產(chǎn)品的數(shù)據(jù)和服務(wù)。這些非直接的或次級的用戶也有他們的需求。4.4需求獲取方法需求開發(fā)第二步:需求獲取,它是需求工程的主體。對于所建議的軟件產(chǎn)品,獲取需求是一個確定和理解不同用戶類的需要和限制的過程。一、需求獲取的主要方法1、訪談設(shè)定好訪談的范圍提出問題,聽取回答,然后反饋你的理解畫出模型,鼓勵用戶改正盡可能使用用戶的術(shù)語描述系統(tǒng)2、業(yè)務(wù)示范要求用戶示范如何處理特定業(yè)務(wù)的過程提出問題,聽取回答,然后反饋你的理解畫出該業(yè)務(wù)處理模型圖,并讓用戶確認(rèn)3、問卷調(diào)查適合從許多人那里收集信息設(shè)計問題,收集某項假設(shè)的統(tǒng)計依據(jù)收集意見、建議4、用戶表格和報表的收集了解用戶數(shù)據(jù)處理量、處理頻率了解用戶數(shù)據(jù)的呈現(xiàn)形式畫出該業(yè)務(wù)數(shù)據(jù)模型圖,并讓用戶確認(rèn)了解用戶表格與報表的來源與去向5、專題討論會由產(chǎn)品代表或用戶介紹業(yè)務(wù)的處理過程、業(yè)務(wù)規(guī)則、處理信息系統(tǒng)分析員記錄業(yè)務(wù)目標(biāo)、場景、業(yè)務(wù)規(guī)則及處理描述,并提出相關(guān)問題畫出該業(yè)務(wù)流程模型圖,并讓用戶確認(rèn)了解用戶對系統(tǒng)的要求與期望6、快速原型建立了解用戶對原型系統(tǒng)的反饋信息了解用戶的潛在需求了解用戶的真實需求二、如何處理收集到的用戶需求?用戶提出“需要”的特性并不總是用戶真正所需的功能要求。當(dāng)收集到用戶的意見后,必須分析、整理這些需求意見,直到理解它為止。將對需求的理解寫成文檔,然后與用戶一起探討,這是一個反復(fù)的過程,并且需要花費(fèi)時間。[實例]“煤氣管網(wǎng)GIS系統(tǒng)”用戶提出需求:“在城市地圖上進(jìn)行管網(wǎng)瀏覽時,需有一個小的窗口顯示當(dāng)前瀏覽的區(qū)域在總圖的位置”

系統(tǒng)功能:“管網(wǎng)瀏覽時,具有鷹眼功能,即有一個小的窗口顯示當(dāng)前瀏覽在鳥瞰圖的大致位置”

三、對需求信息進(jìn)行分類客戶提供的需求通常是零碎的、沒有條理的,需求分析者必須把代表客戶需求的許多信息分類整理,并把他們合理地編寫信息文檔中。下圖描述了需求信息的主要類型。四、對需求進(jìn)行審查需求是正確嗎?需求是一致嗎?需求是無二義性嗎?需求是完備嗎?需求是可行嗎?需求是可測試嗎?需求是可追蹤嗎?五、需求獲取的注意事項項目范圍的定義應(yīng)恰當(dāng)需求獲取應(yīng)解決系統(tǒng)做什么,而不是怎么做需求獲取參與者不能太多需求獲取應(yīng)盡可能詳細(xì)地收集用戶提供的信息六、何時完成需求的獲取用戶不能想出更多的功能要求。用戶提出新的功能要求,可以從其它相關(guān)功能需求中獲得。用戶提出對將來產(chǎn)品的要求,而不是現(xiàn)在我們討論的特定產(chǎn)品。4.5需求建模分析需求開發(fā)的第三步——對收集到的用戶需求進(jìn)行建模分析確定系統(tǒng)功能需求確定系統(tǒng)數(shù)據(jù)需求確定系統(tǒng)非功能性需求描述系統(tǒng)需求一、需求分析為什么需要建模?從用戶收集到的需求信息通常是一大堆雜亂的文字信息,即使你對它們進(jìn)行了分類,這些組織好的信息還不足夠使開發(fā)人員對需求的完全理解。采用文本表示和用圖形表示結(jié)合起來繪制出對預(yù)期系統(tǒng)的完整描述。這些圖形化的表示或者分析模型可以增強(qiáng)你對系統(tǒng)需求的理解。模型可幫助檢測不一致性、模糊性、錯誤和遺漏的需求。當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)邏輯模型目標(biāo)系統(tǒng)邏輯模型抽象化具體化導(dǎo)出理解需求表達(dá)需求需求建模分析二、需求建模的主要方法在需求分析階段,主要采用結(jié)構(gòu)化分析方法或面向?qū)ο蟮挠美?qū)動分析方法對系統(tǒng)的功能和目標(biāo)需求進(jìn)行建模分析,并通過快速開發(fā)工具建立原型,提交用戶使用原型,進(jìn)一步明確需求。1、結(jié)構(gòu)化分析方法建模方法模型表示數(shù)據(jù)流分析方法數(shù)據(jù)流圖層次數(shù)據(jù)流數(shù)據(jù)字典IDEF0分析方法活動數(shù)據(jù)圖結(jié)構(gòu)化建模方法與模型表示數(shù)據(jù)流圖DFD數(shù)據(jù)流圖(DataFlowDiagram)是一種刻畫業(yè)務(wù)及其數(shù)據(jù)流程處理的建模技術(shù),它用簡單的圖形記號表示數(shù)據(jù)流、處理、數(shù)據(jù)存儲、數(shù)據(jù)源以及外部實體,從而描述系統(tǒng)功能作用。外部實體加工數(shù)據(jù)流數(shù)據(jù)存儲外部實體名加工名案例:學(xué)籍管理系統(tǒng)數(shù)據(jù)流程圖學(xué)籍管理系統(tǒng)頂層數(shù)據(jù)流圖招生辦學(xué)籍管理系統(tǒng)用人單位教育部新生名單

報表畢業(yè)生登記表D1學(xué)籍表學(xué)籍管理系統(tǒng)第1層數(shù)據(jù)流圖招生辦異動管理用人單位教育部新生名單

報表D1學(xué)籍表教師系成績管理獎懲管理畢業(yè)生登記表留級名單學(xué)生注冊獎懲報告獎懲結(jié)論成績成績單獲獎名單數(shù)據(jù)流圖泡泡圖類型外部實體名外部實體加工名加工數(shù)據(jù)流數(shù)據(jù)存儲案例:“訂單處理——數(shù)據(jù)流圖”不提供對非功能性系統(tǒng)需求的有效理解和建模。不提供對用戶選擇的合適方法的指導(dǎo),也沒有對方法適用的特殊環(huán)境的忠告。往往產(chǎn)生大量文檔,系統(tǒng)需求的要素被隱藏在一大堆具體細(xì)節(jié)的描述中。產(chǎn)生的模型太注重細(xì)節(jié)以致用戶覺得難以理解,因而很難去驗證這些模型的真實性。結(jié)構(gòu)化分析方法的不足:2、面向?qū)ο蠓治龇椒ń7椒P捅硎綰ML用例圖順序圖交互圖OMT-2文本化的用例用例圖對象交互圖場景圖Booch文本化的用例用例圖對象交互圖場景圖Coad/Yourdon文本化的用例用例圖對象交互圖案例:“課程注冊系統(tǒng)——用例圖”案例:“課程注冊系統(tǒng)——順序圖”四、數(shù)據(jù)建模的主要方法數(shù)據(jù)建模也是需求分析的一個重要環(huán)節(jié),主要有如下兩種方法。建模方法模型表示語義數(shù)據(jù)模型方法實體-關(guān)系圖(ER圖)IDEF1X模型方法IDEF1X圖例數(shù)據(jù)建模方法與模型表示案例:“酒店管理系統(tǒng)——ER圖”結(jié)構(gòu)化方法與面向?qū)ο蠓椒ǖ男枨蠓治瞿P捅容^事件事物實體-關(guān)系圖類圖結(jié)構(gòu)化方法面向?qū)ο蠓椒〝?shù)據(jù)流程圖數(shù)據(jù)字典小說明用例圖活動圖順序圖4.6統(tǒng)一建模語言(UML)概述

統(tǒng)一建模語言(UML)是一個用于描述系統(tǒng)模型的面向?qū)ο蠼UZ言。它統(tǒng)一了GradyBooch、JimRumbangh、和IvarJacobson三位大師的面向?qū)ο蠼C枋稣Z言(Booch、OMT、OOSE),并對其做了進(jìn)一步的發(fā)展,最終成為廣泛接受的面向?qū)ο蠼UZ言。UML已被OMG所采用,現(xiàn)成為業(yè)界的建模語言標(biāo)準(zhǔn)。UML的演化一、UML的特點

統(tǒng)一了面向?qū)ο竽P驮氐亩x和表示法,以及對模型表示的規(guī)定,使得對系統(tǒng)的建模有章可循。又因有標(biāo)準(zhǔn)的語言工具可用,有利于保正系統(tǒng)的建模質(zhì)量。

提供了簡潔的表達(dá)面向?qū)ο笾械母鞣N概念和模型元素。

可視化、表示能力強(qiáng)。系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型均可用UML

模型圖形清晰表示,并提供用戶的擴(kuò)展支持。獨(dú)立開發(fā)過程??芍С制渌嫦?qū)ο箝_發(fā)和傳統(tǒng)的軟件開發(fā)過程。二、UML在軟件開發(fā)中的應(yīng)用UML是一個完整的建模語言,支持系統(tǒng)開發(fā)的不同階段:在需求描述階段,可以用用例來捕獲用戶需求。通過用例建模,描述系統(tǒng)感興趣的外部角色及其對系統(tǒng)的功能要求。在系統(tǒng)分析階段主要關(guān)心問題域中的主體(如類和對象等)和機(jī)制,以及它們相互間的關(guān)系。為實現(xiàn)用例,類之間需要協(xié)作,這可以用UML動態(tài)模型來描述。在系統(tǒng)設(shè)計階段,使用(類圖、對象圖、活動圖、狀態(tài)圖、序列圖、協(xié)作圖、包圖、組件圖、部署圖),定義軟件系統(tǒng)體系結(jié)構(gòu)和組件技術(shù)細(xì)節(jié)。在系統(tǒng)實現(xiàn)階段,應(yīng)用面向?qū)ο缶幊陶Z言將來自設(shè)計階段的類轉(zhuǎn)換成實際的代碼。在系統(tǒng)測試階段,集成測試使用組件圖和協(xié)作圖;系統(tǒng)測試用例圖來驗證系統(tǒng)的行為;驗收測試由用戶進(jìn)行,以驗證系統(tǒng)測試的結(jié)果是否滿足在分析階段確定的需求。1.RationalRose介紹RationalRose是美國Rational軟件公司在軟件工程專家Booch、Jacobson、Rumbaugh等人主持下研制的面向?qū)ο驝ASE的可視化工具,它支持面向?qū)ο笙到y(tǒng)建模、模型集成、源代碼生成、系統(tǒng)測試、文檔生成、反向工程、項目管理、團(tuán)隊開發(fā),以及InternetWEB發(fā)布等功能,形成一個強(qiáng)大的軟件開發(fā)集成環(huán)境。目前RationalRose工具的有三種版本:RoseModeler,可對系統(tǒng)創(chuàng)建模型,但不支持代碼的產(chǎn)生和逆向

轉(zhuǎn)出工程代碼。RoseProfessional,可產(chǎn)生一種語言代碼。RoseEnterprise,可產(chǎn)生多種語言代碼,如C++、Java、Ada、CORBA、COM、VisualBasic、XML、Oracle等。三、UML建模工具2.其它建模工具1)MicrosoftVisioVisio是美國Microsoft軟件公司繪圖工具產(chǎn)品,它可以用來繪制建筑結(jié)構(gòu)、電氣結(jié)構(gòu)、網(wǎng)絡(luò)結(jié)構(gòu)、軟件結(jié)構(gòu)、數(shù)據(jù)庫結(jié)構(gòu)、網(wǎng)站結(jié)構(gòu)、組織機(jī)構(gòu)、業(yè)務(wù)模型等圖形。同樣它也可用繪制UML模型圖。2)VisibleAnalystVisibleAnalyst是可視系統(tǒng)公司的CASE工具產(chǎn)品,它不但可以用來設(shè)計傳統(tǒng)的軟件模型(如數(shù)據(jù)流圖、ER實體關(guān)系圖),也可用來設(shè)計UML模型。3)TogetherTogether是Borland公司的CASE工具產(chǎn)品,它不但可以用來設(shè)計UML模型,還可支持幾種面向?qū)ο笳Z言的往返工程。4.7UML用例圖模型

在早期的面向?qū)ο箝_發(fā)方法中,都是以自然語言來描述系統(tǒng)的功能需求。這樣的做法沒有一個統(tǒng)一的格式,缺乏描述的形式化,隨意性較大,容易產(chǎn)生理解上的含混和不準(zhǔn)確性。當(dāng)UML用例圖(Usecasediagram)模型提出后,這些問題得到了很好地解決。

一、什么是用例圖模型UML的用例模型一種描述系統(tǒng)功能性需求的方法。詳細(xì)描述系統(tǒng)與外界環(huán)境的交互場景。二、用例圖的組成用例圖由如下元素組成:角色(Actor):也稱為參與者,它代表系統(tǒng)的用戶。系統(tǒng)邊界(Systemscope):它確定系統(tǒng)的范圍。用例(Usecase):它代表系統(tǒng)提供的服務(wù)。關(guān)聯(lián)(Association):它表示角色與用例間的關(guān)系。UML的用例圖1、用例圖中的關(guān)聯(lián)1)角色與用例的關(guān)聯(lián)角色與用例的關(guān)聯(lián)表示角色與用例相關(guān)性。在UML中是使用一條實線連接角色與用例,如下圖所示。選課系統(tǒng)的用例關(guān)聯(lián)2)角色與角色的關(guān)聯(lián)角色與角色的關(guān)聯(lián)用來表示一般角色與特殊角色的泛化關(guān)系。在UML圖中,使用帶空心三角箭頭的實線表示。如下圖所示:3)用例與用例的關(guān)聯(lián)用例與用例的泛化關(guān)聯(lián)用來表示一般用例與特殊用例的繼承關(guān)系。在UML圖中,使用帶空心三角箭頭的實線表示。如下圖所示:

用例之間也可存在關(guān)聯(lián)。這些關(guān)聯(lián)包括:泛化關(guān)聯(lián)包含關(guān)聯(lián)擴(kuò)展關(guān)聯(lián)此外,系統(tǒng)分析員也可以利用UML的擴(kuò)充機(jī)制自定義用例的關(guān)聯(lián)。用例之間的泛化關(guān)系用例與用例的包含關(guān)聯(lián)用來表示一個用例的行為包含了另一個用例中的行為。在UML圖中,使用帶虛線箭頭表示,并在線上標(biāo)有構(gòu)造型<<include>>。如下圖所示:成績管理用例與用例的擴(kuò)展關(guān)聯(lián)用來表示一個用例的行為擴(kuò)展了另一個用例的行為。在UML圖中,使用帶虛線箭頭表示,并在線上標(biāo)有構(gòu)造型<<extend>>。如下圖所示:包含關(guān)聯(lián)與擴(kuò)展關(guān)聯(lián)的區(qū)別:包含關(guān)聯(lián)中關(guān)系是必須的,擴(kuò)展關(guān)聯(lián)中的關(guān)系是可選擇的。圖書管理系統(tǒng)用例細(xì)化商品訂購用例圖2、用例圖示例三、如何建立用例圖模型創(chuàng)建用例圖模型有3項任務(wù):找出系統(tǒng)中的角色和用例。細(xì)化描述每個用例。建立用例圖模型結(jié)構(gòu)。1)從系統(tǒng)中識別出角色1、找出系統(tǒng)中的角色和用例如何從系統(tǒng)中識別出角色?1)誰使用系統(tǒng)的主要功能?2)誰需要系統(tǒng)的支持以完成其日常工作任務(wù)?3)誰負(fù)責(zé)維護(hù)、管理并保持系統(tǒng)正常運(yùn)行?4)系統(tǒng)需要應(yīng)付(或處理)哪些硬設(shè)備?5)系統(tǒng)需要和哪些外部系統(tǒng)交互?6)誰(或什么)對系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果感興趣?在識別出了角色之后,就需要從系統(tǒng)識別用例:2)從系統(tǒng)中識別用例通過回答下述問題來幫助識別用例:角色的任務(wù)是什么?角色為系統(tǒng)提供什么信息?角色需要通知系統(tǒng)外部有突然變化嗎?系統(tǒng)需要通知角色正在發(fā)生的事情嗎?2、細(xì)化描述用例規(guī)約成績管理案例:成績管理功能需求用例圖模型例超市進(jìn)銷存系統(tǒng)需求分析——用例圖建模1、超市進(jìn)銷存系統(tǒng)的需求描述如下:

(1)銷售①售貨員接收顧客的商品訂購,輸入顧客購買的商品,計算總價;②顧客付款并接收購物打印清單;③售貨員保存顧客購買商品的記錄數(shù)據(jù)到系統(tǒng)。

(2)庫存①庫存管理員每天進(jìn)行盤點一次;清點商品數(shù)目及狀況。②庫存管理員當(dāng)發(fā)現(xiàn)庫存商品有損壞時,及時向相關(guān)部門報損;③在供應(yīng)商的商品到貨時,庫存管理員首先檢查商品是否合格,并將合格的商品入庫處理;當(dāng)商品進(jìn)入賣場時,進(jìn)行商品出庫處理。(3)訂貨①訂貨員用新商品供應(yīng)商信息更新供應(yīng)商數(shù)據(jù)庫的信息;②訂貨員統(tǒng)計庫存商品是否低于庫存下限,然后制作訂貨單。

(4)統(tǒng)計①經(jīng)理能夠使用系統(tǒng)的統(tǒng)計功能,了解商品銷售情況、庫存情況、供應(yīng)商情況,以便進(jìn)行合理的營銷策略。②經(jīng)理按市場情況適時變動商品價格。3、超市進(jìn)銷存系統(tǒng)的用例圖建模

1)系統(tǒng)角色

超市服務(wù)的對象是顧客,超市系統(tǒng)內(nèi)部員工可以按人員的職能來分類。下圖是超市進(jìn)銷存管理系統(tǒng)角色分析的用例圖。2)超市進(jìn)銷存管理系統(tǒng)的頂層用例圖3)銷售管理子系統(tǒng)的用例圖銷售管理子系統(tǒng)的部分用例描述:4)訂貨管理子系統(tǒng)的用例圖訂貨管理子系統(tǒng)的部分用例描述:5)庫存管理子系統(tǒng)的用例圖庫存管理子系統(tǒng)的部分用例描述:庫存管理子系統(tǒng)的部分用例描述:6)統(tǒng)計分析子系統(tǒng)的用例圖統(tǒng)計分析子系統(tǒng)的部分用例描述:7)身份驗證子系統(tǒng)的用例圖身份驗證子系統(tǒng)的部分用例描述:采用UML用例圖,描述銀行ATM機(jī)系統(tǒng)的需求模型練習(xí):一、什么是活動圖

活動圖是一種用于描述系統(tǒng)行為的模型視圖,它可用來描述過程(業(yè)務(wù)過程、工作流、事件流等)中的活動及其遷移。簡單地講,活動圖是“OO流程圖”。4.7UML活動圖二、活動圖的主要應(yīng)用1.描述用例的行為

活動圖對用例描述尤其有用,它可建模用例的工作流,顯示用例內(nèi)部和用例之間的路徑;它也可以向讀者說明需要滿足什么條件用例才會有效,以及用例完成后系統(tǒng)保留的條件或者狀態(tài)。2.理解工作流程

活動圖對理解業(yè)務(wù)處理過程十分有用??梢援嫵雒枋鰳I(yè)務(wù)工作流的活動圖與領(lǐng)域?qū)<疫M(jìn)行交流,明確業(yè)務(wù)處理操作是如何進(jìn)行的,將會有怎樣的變化。3.描述復(fù)雜過程的算法

在這種情況下使用的活動圖不過是UML版的程序流程圖,常規(guī)的順序、分支過程在活動圖中都能得到充分的表現(xiàn)。三、活動圖的基本元素活動圖示意活動操作狀態(tài)轉(zhuǎn)移對象流分岔決策聯(lián)結(jié)活動圖保留了許多傳統(tǒng)的流程圖的特征,它包含如下元素?;顒?/p>

活動在活動圖中,用來指示要完成某項工作的動作或表示工作流的步驟。其UML標(biāo)記符是一個帶有圓角的矩形,如下圖所示。2.操作

可以用操作在活動中增加更多詳細(xì)的步驟。操作是活動中執(zhí)行的小步驟。3.狀態(tài)

狀態(tài)的標(biāo)記符與活動類似,也是帶圓角的矩形,但狀態(tài)的圓角比較小,如下圖所示。4.轉(zhuǎn)移

轉(zhuǎn)移用來指示一種狀態(tài)到另一個狀態(tài)的控制流。5、決策

決策是基于判斷條件選擇控制流繼續(xù)的方向。決策的UML符號是一個小菱形標(biāo)記符,然后從這里再按條件控制分支轉(zhuǎn)移到滿足條件的活動,如下圖所示。例描述教師記錄學(xué)生成績用例的活動圖1.泳道

泳道可以使活動圖非常整潔,因為它們在很大程度上增強(qiáng)了活動圖的可讀性。泳道使用幾個大矩形框表示,如下圖所示。四、學(xué)習(xí)活動圖中的其他標(biāo)記符

案例:CDC疾病監(jiān)測直報流程

活動圖中可以輸入和輸出對象,并可以修改對象狀態(tài)。在活動圖上用對象流表示這些。如下圖所示。2.對象流1.采用UML活動圖,建模描述圖書借閱流程2.采用UML活動圖,建模研究生選課流程練習(xí):4.8需求原型驗證一、為什么需要原型開發(fā)需要原型開發(fā)的理由:系統(tǒng)開發(fā)周期長,需要較長時間才能使用戶看到產(chǎn)品的雛形,用戶的需求變更反饋會使系統(tǒng)開發(fā)增加較大工作量與開支。開發(fā)方與用戶在開發(fā)初期對系統(tǒng)的需求均不完全清楚。系統(tǒng)規(guī)模大,且可分塊實現(xiàn)。實例

“城市煤氣管網(wǎng)GIS系統(tǒng)”二、選擇原型方法與實現(xiàn)技術(shù)拋棄式原型實現(xiàn)方法是在原型達(dá)到預(yù)期目的以后將它拋棄,所以可以花最小的代價盡快地建立該原型。拋棄式原型方法適合解決需求中的不確定性、二義性、不完整性或含糊性問題,以減少在繼續(xù)開發(fā)時存在的風(fēng)險。拋棄式原型可幫助用戶和開發(fā)者想象如何實現(xiàn)需求和可以發(fā)現(xiàn)需求中的漏洞。拋棄式原型還可以使用戶判斷出這些需求是否可以完成必要的業(yè)務(wù)過程。進(jìn)化式原型實現(xiàn)方法是將原型系統(tǒng)逐漸地演化為產(chǎn)品系統(tǒng)。與拋棄型原型的快速、粗略的特點相比,演化型原型一開始就必須具有健壯性和產(chǎn)品質(zhì)量級的代碼。因此,對于描述相同的功能,建立進(jìn)化型原型比建立拋棄型原型所花的時間要多。一個演化型原型必須設(shè)計為易于升級和優(yōu)化的,因此,必須重視軟件系統(tǒng)性和完整性的設(shè)計原則。原型開發(fā)實現(xiàn)技術(shù):第四代技術(shù)可復(fù)用軟件構(gòu)件技術(shù)形式化規(guī)約和原型實現(xiàn)環(huán)境討論:下列哪些系統(tǒng)適合拋棄型原型開發(fā)實現(xiàn)?哪些系統(tǒng)適合演化型原型開發(fā)實現(xiàn)?全自動洗衣機(jī)控制系統(tǒng)

溫馨提示

  • 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

提交評論