UML系統(tǒng)分析與設(shè)計(jì)教程(第2版) 課件 第2章 面向?qū)ο蠓治雠c設(shè)計(jì)方法_第1頁
UML系統(tǒng)分析與設(shè)計(jì)教程(第2版) 課件 第2章 面向?qū)ο蠓治雠c設(shè)計(jì)方法_第2頁
UML系統(tǒng)分析與設(shè)計(jì)教程(第2版) 課件 第2章 面向?qū)ο蠓治雠c設(shè)計(jì)方法_第3頁
UML系統(tǒng)分析與設(shè)計(jì)教程(第2版) 課件 第2章 面向?qū)ο蠓治雠c設(shè)計(jì)方法_第4頁
UML系統(tǒng)分析與設(shè)計(jì)教程(第2版) 課件 第2章 面向?qū)ο蠓治雠c設(shè)計(jì)方法_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

UML系統(tǒng)分析與設(shè)計(jì)SystemAnalysis&Design

第二章面向?qū)ο蠓治雠c設(shè)計(jì)方法OOA/OOD方法OMT方法Booch方法OOSE方法Fusion方法UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi2面向?qū)ο蠓治雠c設(shè)計(jì)方法20世紀(jì)90年代,一批新的面向?qū)ο蟮姆椒ǔ霈F(xiàn)了,其中最引人注目的是Booch方法、OOSE方法和OMT方法等GrandyBooch是面向?qū)ο蠓椒ㄗ钤绲某珜?dǎo)者之一,他提出了面向?qū)ο筌浖こ痰母拍頡umbaugh等人采用了面向?qū)ο蟮母拍睿敫鞣N獨(dú)立于語言的表示符,用對象模型、動(dòng)態(tài)模型和功能模型來共同完成對整個(gè)系統(tǒng)的建模UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi3OOA/OOD方法OOA/OOD(Object-OrientedAnalysis/Object-OrientedDesign,面向?qū)ο蠓治?面向?qū)ο笤O(shè)計(jì))方法是由Coad和Yourdon于1991年提出來的。與傳統(tǒng)分析方法相比,OOA/OOD方法的優(yōu)勢:可以處理更有挑戰(zhàn)性的問題域。改善了分析人員與問題領(lǐng)域?qū)<业慕涣?。通過分析、設(shè)計(jì)和編程增加內(nèi)部的一致性。顯式地表示類和對象間的共性??梢越⒂袕椥缘囊?guī)范。OOA(面向?qū)ο蠓治觯?、OOD(面向?qū)ο箝_發(fā))和OOP(面向?qū)ο缶幊蹋┑慕Y(jié)果可重用。為分析、設(shè)計(jì)和編程提供一致的基本表示。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi4OOA/OOD方法在分析階段建立的OOA模型由5層組成:主題層(ASubjectLayer) 類和對象層(AClass&ObjectLayer)結(jié)構(gòu)層(AStructureLayer)屬性層(AnAttributeLayer)服務(wù)層(AServiceLayer)OOD部分為上述五層添加了4個(gè)不同的組件:人機(jī)交互組件(HumanInteractionComponent)問題域組件(ProblemDomainComponent)任務(wù)管理組件(TaskManagementComponent)數(shù)據(jù)管理組件(DataManagementComponent)UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi5OOA/OOD方法OOD階段擴(kuò)充了OOA階段創(chuàng)建的5層,將OOA階段產(chǎn)生的結(jié)果在OOD階段放入組件中,如圖所示。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi6OOAOOA的過程如下:1.識(shí)別問題域中的類和對象在這個(gè)步驟中,分析人員通過對問題域深入地分析和理解,識(shí)別出組成系統(tǒng)核心的、相關(guān)的、穩(wěn)定的類和對象。識(shí)別類和對象的第1步是研究問題域,可以通過審視下列選項(xiàng)來發(fā)現(xiàn)可能的類和對象。?結(jié)構(gòu)。 ?其他系統(tǒng)。?設(shè)備。 ?被記住的事情或事件。?所扮演的角色。 ?操作的程序。?地點(diǎn)(物理位置)。 ?有組織的單元。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi7OOA2.確定結(jié)構(gòu)結(jié)構(gòu)可以分為兩種,即“一般-特殊”結(jié)構(gòu)(Gen-SpecStructures)和“整體-部分”結(jié)構(gòu)(Whole-PartStructures)。在找出“一般-特殊”結(jié)構(gòu)和“整體-部分”結(jié)構(gòu)后,就可以識(shí)別出多重結(jié)構(gòu),因?yàn)槎嘀亟Y(jié)構(gòu)是“一般-特殊”結(jié)構(gòu)和“整體-部分”結(jié)構(gòu)的各種組合。識(shí)別出多重結(jié)構(gòu)后,將結(jié)構(gòu)添加到OOA圖中。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi8OOA3.確定主題在這個(gè)步驟中,將模型分解為更易管理和理解的主題域,可降低所產(chǎn)生模型的復(fù)雜性。4.定義屬性在識(shí)別出屬性后,就可以識(shí)別出對象間的實(shí)例連接(InstanceConnections)。首先對識(shí)別出的屬性和實(shí)例連接進(jìn)行檢查,然后規(guī)定其屬性,最后將屬性和實(shí)例連接添加到OOA圖中。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi9OOA5.定義服務(wù)在識(shí)別出服務(wù)后,可以識(shí)別出消息連接(MessageConnections),然后規(guī)定服務(wù),并將服務(wù)和消息連接添加到OOA圖中。6.準(zhǔn)備文檔OOA部分的最后一步是整理OOA文檔。主要文檔包括:完整的OOA圖。類和對象的規(guī)格定義。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi10OODOOD的過程如下:1.設(shè)計(jì)問題域組件設(shè)計(jì)問題域組件的步驟如下:尋找可以被重用的、以前的設(shè)計(jì)和類。添加根類,并將特定于問題域的類分組。抽象出公共服務(wù),建立并添加父類。改變問題域模型以改善性能。審查添加到OOA模型中的細(xì)節(jié)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi11OOD2.設(shè)計(jì)人機(jī)交互組件設(shè)計(jì)人機(jī)交互組件需要使用原型開發(fā)。在完成原型開發(fā)后,通過原型來檢查人機(jī)交互組件是否滿足下述標(biāo)準(zhǔn)。人機(jī)交互作用的一致性。操作步驟的最少化。及時(shí)地給予用戶有意義的反饋。提供撤銷功能。不要依賴用戶的記憶力去記住某些東西。掌握軟件所花費(fèi)的學(xué)習(xí)時(shí)間盡量少。對用戶來說,軟件的樂趣和吸引力也是很重要的。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi12OOD3.設(shè)計(jì)任務(wù)管理組件首先,需要確定系統(tǒng)是否需要任務(wù)。如果不需要,就不必設(shè)計(jì)任務(wù),因?yàn)槿蝿?wù)會(huì)增加系統(tǒng)的復(fù)雜性。任務(wù)可以分為以下4種:由事件觸發(fā)的事件驅(qū)動(dòng)任務(wù)(Event-DrivenTasks)。由特定的時(shí)間間隔觸發(fā)的時(shí)鐘驅(qū)動(dòng)任務(wù)(Clock-DrivenTasks)。優(yōu)先級任務(wù)(PriorityTasks)。關(guān)鍵任務(wù)(CriticalTasks)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi13OOD4.設(shè)計(jì)數(shù)據(jù)管理組件首先,要確定數(shù)據(jù)管理的途徑,即采用平面文件(FlatFile)、關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RelationalDatabaseManagementSystem)還是面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(Object-OrientedDatabaseManagementSystem)。其次,根據(jù)所選途徑,應(yīng)用一系列標(biāo)準(zhǔn)進(jìn)行評價(jià)并選擇可能的數(shù)據(jù)管理工具。最后,根據(jù)所選的途徑和工具設(shè)計(jì)數(shù)據(jù)管理組件,包括設(shè)計(jì)數(shù)據(jù)格式和相應(yīng)的方法。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi14OMT方法對象模型技術(shù)(ObjectModelingTechnique,OMT)是由Rumbaugh等提出的,是一種現(xiàn)今非常流行的面向?qū)ο箝_發(fā)技術(shù)。其目的是構(gòu)造一系列模型,并用這些模型不斷地對系統(tǒng)設(shè)計(jì)進(jìn)行細(xì)化,直到找到最后適合實(shí)現(xiàn)的模型。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi15OMT方法使用OMT方法的面向?qū)ο箝_發(fā)過程可分為5步,如圖所示。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi16(1)分析。分析問題域并進(jìn)行建模。(2)系統(tǒng)設(shè)計(jì)。設(shè)計(jì)系統(tǒng)的整體體系結(jié)構(gòu)。(3)對象設(shè)計(jì)。為了有效地實(shí)現(xiàn)系統(tǒng),對對象結(jié)構(gòu)進(jìn)行細(xì)化,并為對象添加細(xì)節(jié)。(4)編碼。用目標(biāo)編程語言實(shí)現(xiàn)對象和類。(5)測試。驗(yàn)證系統(tǒng)是否正確。OMT方法—分析分析過程可分為下述5個(gè)步驟:1.編寫問題陳述(ProblemStatement)構(gòu)造分析模型是從為問題域編寫問題陳述開始的。2.建立對象模型(ObjectModel)建立對象模型的步驟如下:(1)識(shí)別出類和對象。(2)丟棄不必要和不正確的類。(3)準(zhǔn)備數(shù)據(jù)詞典。(4)識(shí)別出類之間的關(guān)聯(lián)關(guān)系。(5)丟棄不必要的和不正確的關(guān)聯(lián)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi17OMT方法—分析建立對象模型的步驟如下:(接上頁)(6)抽象出類和對象的屬性。(7)丟棄不必要或不正確的屬性。(8)使用繼承關(guān)系來建立類之間的層次關(guān)系。(9)遍歷訪問路徑,找出不足。3.建立動(dòng)態(tài)模型(DynamicModel)動(dòng)態(tài)模型主要描述了隨著時(shí)間的變化而變化的對象及對象間的關(guān)系,動(dòng)態(tài)模型對于具有重要?jiǎng)討B(tài)行為的系統(tǒng)(例如,交互式系統(tǒng)和實(shí)時(shí)系統(tǒng))尤其重要。動(dòng)態(tài)模型描述了系統(tǒng)的可能控制流,而對象模型描述了可能的信息流。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi18OMT方法—分析4.建立功能模型(FunctionalModel)功能模型完全由數(shù)據(jù)流圖和約束組成,而數(shù)據(jù)流圖由過程、數(shù)據(jù)流、參與者和數(shù)據(jù)存儲(chǔ)組成。其中,一個(gè)過程將輸入數(shù)據(jù)值轉(zhuǎn)變?yōu)檩敵鰯?shù)據(jù)值。5.細(xì)化對象模型、動(dòng)態(tài)模型和功能模型,并建立文檔當(dāng)分析完成后,要驗(yàn)證分析模型是否滿足系統(tǒng)最初的需求,這個(gè)活動(dòng)需要該問題領(lǐng)域的專家參與,以檢驗(yàn)產(chǎn)生的分析模型。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi19OMT方法—系統(tǒng)設(shè)計(jì)在系統(tǒng)設(shè)計(jì)階段,主要確定系統(tǒng)的高層次結(jié)構(gòu)。在系統(tǒng)設(shè)計(jì)階段,需要做出如下決策:1.將系統(tǒng)劃分為子系統(tǒng)對于每個(gè)子系統(tǒng),都必須建立該子系統(tǒng)與其他子系統(tǒng)之間的定義良好的接口,接口的建立使得不同子系統(tǒng)的設(shè)計(jì)可以獨(dú)立進(jìn)行。如果必要,還可以不斷地將子系統(tǒng)進(jìn)一步分解為更小的子系統(tǒng),直到將子系統(tǒng)分解為模塊。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi20OMT方法—系統(tǒng)設(shè)計(jì)2.識(shí)別并發(fā)首先要識(shí)別出系統(tǒng)固有的并發(fā),可以通過分析狀態(tài)圖來完成這個(gè)任務(wù)。為了定義并發(fā)任務(wù),需要檢查系統(tǒng)中不同的、可能的控制線程,并將這幾個(gè)控制線程合并為一個(gè)。3.將子系統(tǒng)和任務(wù)分配給處理器將子系統(tǒng)分配給處理器是從估計(jì)所需要的硬件資源開始的,同時(shí)設(shè)計(jì)者還必須決策哪個(gè)子系統(tǒng)由硬件實(shí)現(xiàn),哪個(gè)子系統(tǒng)由軟件實(shí)現(xiàn)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi21OMT方法—系統(tǒng)設(shè)計(jì)4.選擇實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的策略在設(shè)計(jì)的這個(gè)階段,必須完成關(guān)于數(shù)據(jù)庫的決策,即決定是使用文件還是數(shù)據(jù)庫管理系統(tǒng)存儲(chǔ)數(shù)據(jù)。5.識(shí)別出全局資源,并確定控制訪問全局資源的機(jī)制必須明確定義對全局資源(如物理單元、邏輯名和共享數(shù)據(jù)等)的使用和訪問。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi22OMT方法—系統(tǒng)設(shè)計(jì)6.選擇實(shí)現(xiàn)軟件控制的方法用軟件實(shí)現(xiàn)控制又分為外部控制和內(nèi)部控制兩種。外部控制(ExternalControl)是系統(tǒng)中對象間的外部可見的事件流。內(nèi)部控制(InternalControl)是進(jìn)程內(nèi)的控制流,可以被看作是程序語言中的過程調(diào)用。7.考慮邊界條件描述各種邊界條件也是很重要的,包括如下內(nèi)容:?系統(tǒng)的初始化。

?系統(tǒng)的結(jié)束。?系統(tǒng)的失敗。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi23OMT方法—系統(tǒng)設(shè)計(jì)8.建立折中的優(yōu)先級系統(tǒng)的所有目標(biāo)并不是都可以達(dá)到,所以要分析系統(tǒng)的所有目標(biāo),然后進(jìn)行折中,為不同的目標(biāo)設(shè)置不同的優(yōu)先級。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi24OMT方法—對象設(shè)計(jì)在對象設(shè)計(jì)(ObjectDesign)階段,要對類、關(guān)聯(lián)、屬性和操作進(jìn)行充分、詳細(xì)的規(guī)定。對象設(shè)計(jì)的步驟如下:1.對象模型可以從其他模型獲取操作對于獲得對象模型的操作,必須結(jié)合3個(gè)模型,為功能模型中的每個(gè)過程和動(dòng)態(tài)模型中的每個(gè)事件定義操作。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi25OMT方法—對象設(shè)計(jì)2.設(shè)計(jì)算法實(shí)現(xiàn)操作步驟如下:(1)選擇使實(shí)現(xiàn)操作的代價(jià)最小的算法。(2)選擇適合該算法的數(shù)據(jù)結(jié)構(gòu)。(3)如果必要,定義新的內(nèi)部類和操作。(4)將沒有明確與某個(gè)類相關(guān)的操作分配給正確的類。3.優(yōu)化訪問數(shù)據(jù)的路徑UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi26OMT方法—對象設(shè)計(jì)4.控制的實(shí)現(xiàn)使用系統(tǒng)設(shè)計(jì)階段選擇的策略實(shí)現(xiàn)狀態(tài)圖。5.調(diào)整類結(jié)構(gòu),并增加繼承6.設(shè)計(jì)關(guān)聯(lián)的實(shí)現(xiàn)首先要分析怎樣使用關(guān)聯(lián),然后確定關(guān)聯(lián)的實(shí)現(xiàn)策略。7.確定對象屬性的準(zhǔn)確表達(dá)8.用模塊封裝類和關(guān)聯(lián)UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi27OMT方法—實(shí)現(xiàn)實(shí)現(xiàn)(Implementation)是將設(shè)計(jì)模型轉(zhuǎn)變?yōu)榇a的過程。由于較困難的決策都已在設(shè)計(jì)階段完成,所以將設(shè)計(jì)模型轉(zhuǎn)變?yōu)榇a的實(shí)現(xiàn)是直接的、簡單的。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi28OMT方法—測試測試(Testing)用來驗(yàn)證系統(tǒng)是否被正確實(shí)現(xiàn)。在分析和設(shè)計(jì)階段也部分涉及實(shí)現(xiàn)和測試活動(dòng),也就是說,分析、設(shè)計(jì)、實(shí)現(xiàn)和測試在增量式的開發(fā)中是交錯(cuò)進(jìn)行的活動(dòng)。測試可能會(huì)在不同的層次上進(jìn)行,例如,可以有單元測試、集成測試和系統(tǒng)測試。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi29OMT方法—模型OMT方法通過3個(gè)模型——對象模型、動(dòng)態(tài)模型和功能模型來可視化地定義一個(gè)系統(tǒng)。1.對象模型(ObjectModel)對象模型描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),還描述了系統(tǒng)中的類以及類間的關(guān)系、類的屬性和操作。2.動(dòng)態(tài)模型(DynamicModel)動(dòng)態(tài)模型描述了系統(tǒng)的主要行為,它主要描述了問題域中發(fā)生了什么、什么時(shí)候發(fā)生的以及有什么結(jié)果。3.功能模型(FunctionalModel)功能模型描述了如何實(shí)現(xiàn)系統(tǒng)功能。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi30Booch方法UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi31Booch方法是最早被承認(rèn)的面向?qū)ο笤O(shè)計(jì)方法之一。提出了面向?qū)ο箝_發(fā)的4個(gè)模型描述邏輯結(jié)構(gòu)的邏輯模型(LogicalModel)描述物理結(jié)構(gòu)的物理模型(PhysicalModel)描述靜態(tài)語義的靜態(tài)模型(StaticModel)描述動(dòng)態(tài)語義的動(dòng)態(tài)模型(DynamicModel)Booch方法Booch方法區(qū)分了系統(tǒng)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu),不但描述了靜態(tài)語義,還描述了動(dòng)態(tài)語義。Booch方法的開發(fā)過程是一個(gè)迭代的、漸進(jìn)式的系統(tǒng)開發(fā)過程。Booch方法的面向?qū)ο箝_發(fā)過程可以分為宏過程(MacroProcess)和微過程(MicroProcess)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi32Booch方法宏過程充當(dāng)微過程的控制框架,它代表了整個(gè)開發(fā)隊(duì)伍幾個(gè)月或幾個(gè)星期所進(jìn)行的活動(dòng)。宏過程包含如下5個(gè)活動(dòng):1.概念化(Conceptualization)概念化的目的是試圖建立系統(tǒng)的核心需求。概念化是個(gè)非常有創(chuàng)造性的過程,所以沒有嚴(yán)格的開發(fā)規(guī)則。原型是概念化的主要產(chǎn)品。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi33Booch方法2.分析(Analysis)分析的目的是通過識(shí)別出構(gòu)成問題域詞匯表的類和對象來為系統(tǒng)建立模型,它強(qiáng)調(diào)系統(tǒng)的行為。3.設(shè)計(jì)(Design)設(shè)計(jì)的目的是建立系統(tǒng)的體系結(jié)構(gòu)。設(shè)計(jì)可以被分為體系結(jié)構(gòu)規(guī)劃、戰(zhàn)術(shù)設(shè)計(jì)和版本規(guī)劃。體系結(jié)構(gòu)規(guī)劃的目的是在生命周期的早期創(chuàng)建一個(gè)特定于域的應(yīng)用程序框架,這個(gè)框架可以被不斷地細(xì)化,它包括設(shè)計(jì)整個(gè)系統(tǒng)的層次和劃分。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi34Booch方法4.進(jìn)化(Evolution)進(jìn)化由微過程的應(yīng)用和變化管理組成。微過程的應(yīng)用是從對下一個(gè)版本的需求分析開始的,然后設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu),實(shí)現(xiàn)類和對象。進(jìn)化的主要產(chǎn)品是一系列的軟件可執(zhí)行版本,這些版本是對體系結(jié)構(gòu)第一個(gè)版本的不斷細(xì)化而產(chǎn)生的。5.維護(hù)(Maintenance)維護(hù)階段的目的是管理軟件的交付使用,這個(gè)階段是進(jìn)化階段的繼續(xù)。在這個(gè)階段,需要進(jìn)行系統(tǒng)的本地化以及消除錯(cuò)誤等工作。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi35Booch方法微過程由4個(gè)重要的、無時(shí)間順序的活動(dòng)組成,它故意模糊了傳統(tǒng)的分析與設(shè)計(jì)方法中的階段,過程是由時(shí)機(jī)來控制的。1.在給定的抽象層次上識(shí)別出類和對象這一步要對問題域和系統(tǒng)需求進(jìn)行分析以識(shí)別出類和對象,這依賴于適當(dāng)?shù)男枨蠓治???梢酝ㄟ^面向?qū)ο蠓治?、行為分析、用例分析等分析方法來識(shí)別類和對象。這個(gè)步驟產(chǎn)生了候選類和對象的數(shù)據(jù)詞典,以及描述對象行為的文檔。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi36Booch方法2.識(shí)別出這些類和對象的語義這一步的目的是為從前一階段中識(shí)別出的每個(gè)抽象設(shè)立狀態(tài)和行為。在這個(gè)階段要執(zhí)行3個(gè)動(dòng)作,即編制故事板(Storyboarding)、孤立類設(shè)計(jì)(IsolatedClassDesign)和模式抽?。≒atternScavenging)。3.識(shí)別出類間和對象間的關(guān)系識(shí)別出類間和對象間關(guān)系的目的是確定每個(gè)抽象的邊界,并識(shí)別出協(xié)作的類和對象。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi37Booch方法4.實(shí)現(xiàn)類和對象在分析階段,實(shí)現(xiàn)類和對象的目的是細(xì)化已存在的抽象,并在下一個(gè)抽象層次上找出新的類和對象。通過上述步驟,設(shè)計(jì)者可以得到如下產(chǎn)物。類圖(ClassDiagram)。對象圖(ObjectDiagram)。狀態(tài)躍遷圖(StateTransitionDiagram)。交互作用圖(InteractionDiagram)。模塊圖(ModuleDiagram)。進(jìn)程圖(ProcessDiagram)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi38OOSE方法OOSE方法是由Jacobson于1994年提出的,它組合了3種已經(jīng)被使用了很長時(shí)間的技術(shù)。OOSE方法是所謂的用例驅(qū)動(dòng)的方法(UseCaseDrivenApproach),在這個(gè)方法中,用例模型充當(dāng)可以導(dǎo)出所有其他模型的中心模型。OOSE方法的一個(gè)很大貢獻(xiàn)是引入了用例的概念。OOSE過程可以分為3個(gè)階段:分析階段構(gòu)造階段測試階段UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi39OOSE方法—分析階段在分析階段產(chǎn)生兩種模型,即需求模型(RequirementsModel)和分析模型(AnalysisModel)。需求模型從用戶的角度描述了系統(tǒng)的所有功能需求,以及系統(tǒng)被最終用戶使用的方式。需求模型為系統(tǒng)確定了邊界,定義了功能。需求模型由下述3個(gè)部分組成。1.用例模型2.問題域?qū)ο竽P停≒roblemDomainObjectModel)問題域?qū)ο竽P兔枋隽讼到y(tǒng)的邏輯視圖。3.接口描述(InterfaceDescriptions)UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi40OOSE方法—構(gòu)造階段構(gòu)造階段可以分為兩步,即設(shè)計(jì)(Design)和實(shí)現(xiàn)(Implementation)。1.設(shè)計(jì)在這個(gè)階段,設(shè)計(jì)模型細(xì)化分析模型,使模型適合于實(shí)現(xiàn)環(huán)境。設(shè)計(jì)模型由交互作用圖(InteractionDiagram)和狀態(tài)躍遷圖(StateTransitionGraphs)組成。2.實(shí)現(xiàn)在這一階段,用編程語言實(shí)現(xiàn)每個(gè)對象。通常,使用者不必等到整個(gè)設(shè)計(jì)模型都完成后再進(jìn)行系統(tǒng)實(shí)現(xiàn),可以在設(shè)計(jì)模型部分完成的情況下就開始實(shí)現(xiàn)系統(tǒng)。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi41OOSE方法—測試階段測試用來驗(yàn)證開發(fā)完成的軟件系統(tǒng)是否滿足要求。測試有自己的生命周期,一般是從測試計(jì)劃開始,以測試報(bào)告結(jié)束。測試的步驟如下:1.測試計(jì)劃制定測試計(jì)劃是為了使測試活動(dòng)的規(guī)劃變得容易,并為測試提供參考2.測試規(guī)范測試規(guī)范確定要進(jìn)行哪種測試以及測試?yán)印?.測試報(bào)告根據(jù)測試規(guī)范進(jìn)行測試,如果測試通過就不用再進(jìn)行更多的測試;如果測試失敗,則對失敗原因進(jìn)行分析。在測試階段,先進(jìn)行單元測試,再進(jìn)行系統(tǒng)測試。UML系統(tǒng)分析與設(shè)計(jì)第2版ZhenyanJi42Fusion方法Fusion方法受到了下面的方法或技術(shù)影響:OMTFusion方法中的對象模型與OMT方

溫馨提示

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

最新文檔

評論

0/150

提交評論