教學(xué)目的理解面向?qū)ο蟮母拍?、掌握基于UML語 言機(jī)制的需求分_第1頁
教學(xué)目的理解面向?qū)ο蟮母拍睢⒄莆栈赨ML語 言機(jī)制的需求分_第2頁
教學(xué)目的理解面向?qū)ο蟮母拍?、掌握基于UML語 言機(jī)制的需求分_第3頁
教學(xué)目的理解面向?qū)ο蟮母拍睢⒄莆栈赨ML語 言機(jī)制的需求分_第4頁
教學(xué)目的理解面向?qū)ο蟮母拍?、掌握基于UML語 言機(jī)制的需求分_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 軟軟 件件 工工 程程教學(xué)目的:理解面向?qū)ο蟮母拍?、掌握基于教學(xué)目的:理解面向?qū)ο蟮母拍?、掌握基于UML語語 言機(jī)制的需求分析方法和過程。言機(jī)制的需求分析方法和過程。教學(xué)重點(diǎn):基于教學(xué)重點(diǎn):基于UML語言機(jī)制的需求分析方法和過語言機(jī)制的需求分析方法和過 程、程、CASE工具工具教學(xué)難點(diǎn):教學(xué)難點(diǎn): CASE工具工具教教 具:多媒體教室、電子教案具:多媒體教室、電子教案作作 業(yè):業(yè):第第6章章 面向?qū)ο蟮男枨蠓治雒嫦驅(qū)ο蟮男枨蠓治?軟軟 件件 工工 程程6.1面向?qū)ο蟮母拍钆c思想面向?qū)ο蟮母拍钆c思想 面向?qū)ο螅嫦驅(qū)ο螅∣bject Oriented)方法是)方法是將現(xiàn)實(shí)世界將現(xiàn)實(shí)世界的事物以

2、對象的方式映射到計(jì)算機(jī)世界的方法的事物以對象的方式映射到計(jì)算機(jī)世界的方法。用面向?qū)ο蟮姆椒ㄇ蠼猬F(xiàn)實(shí)世界問題的第一步便用面向?qū)ο蟮姆椒ㄇ蠼猬F(xiàn)實(shí)世界問題的第一步便是面向?qū)ο蠓治?。面向?qū)ο蠓治霭瑑蓚€可以重是面向?qū)ο蠓治觥C嫦驅(qū)ο蠓治霭瑑蓚€可以重疊的過程:用面向?qū)ο蟮寞B的過程:用面向?qū)ο蟮姆椒ǚ椒▽ΜF(xiàn)實(shí)世界的問題對現(xiàn)實(shí)世界的問題進(jìn)行分析;用面向?qū)ο蟮倪M(jìn)行分析;用面向?qū)ο蟮墓ぞ吖ぞ邔Ψ治鼋Y(jié)果進(jìn)行描對分析結(jié)果進(jìn)行描述。述。 本章重點(diǎn)介紹面向?qū)ο蟮姆椒?,并用本章重點(diǎn)介紹面向?qū)ο蟮姆椒?,并用“C程序設(shè)程序設(shè)計(jì)上機(jī)考試系統(tǒng)計(jì)上機(jī)考試系統(tǒng)”為例來介紹為例來介紹UML語言機(jī)制。語言機(jī)制。 軟軟 件件 工工 程程

3、現(xiàn)實(shí)世界現(xiàn)實(shí)世界OOAOODOOPSASDSP機(jī)器世界機(jī)器世界結(jié)構(gòu)化生命周期方法結(jié)構(gòu)化生命周期方法 面面向向?qū)ο笙蠓椒椒ǚ嫦驅(qū)ο蠓椒ê兔嫦蜻^程方法的對比面向?qū)ο蠓椒ê兔嫦蜻^程方法的對比 軟軟 件件 工工 程程6.1 面向?qū)ο蟮母拍钆c思想面向?qū)ο蟮母拍钆c思想 從事物的從事物的過程側(cè)面過程側(cè)面來描述事物的方法被稱之為來描述事物的方法被稱之為面向過程的方法面向過程的方法。該方法在認(rèn)識現(xiàn)實(shí)事物的整個過程中是把事物內(nèi)部的處理過程該方法在認(rèn)識現(xiàn)實(shí)事物的整個過程中是把事物內(nèi)部的處理過程作為核心來描述的。作為核心來描述的。 從事物的從事物的組成部件及每個部件的屬性、功能組成部件及每個部件的屬性、功能來認(rèn)識

4、事物。比如,來認(rèn)識事物。比如,汽車由發(fā)動機(jī),底盤,變速箱等組成,發(fā)動機(jī)有排量,有沖程汽車由發(fā)動機(jī),底盤,變速箱等組成,發(fā)動機(jī)有排量,有沖程數(shù)等屬性,同時發(fā)動機(jī)還具有啟動,加大油門等操作。這就是數(shù)等屬性,同時發(fā)動機(jī)還具有啟動,加大油門等操作。這就是將現(xiàn)實(shí)世界的事物的屬性和及其過程一并進(jìn)行描述的方法,這將現(xiàn)實(shí)世界的事物的屬性和及其過程一并進(jìn)行描述的方法,這種方法被稱為種方法被稱為面向?qū)ο蟮姆椒嫦驅(qū)ο蟮姆椒ā?從事物的從事物的屬性側(cè)面屬性側(cè)面來描述事物的方法就是來描述事物的方法就是面向數(shù)據(jù)的方法面向數(shù)據(jù)的方法,該,該方法在認(rèn)識事物的過程中始終把事物的屬性作為描述的核心。方法在認(rèn)識事物的過程中始終把

5、事物的屬性作為描述的核心。 軟軟 件件 工工 程程6.1 面向?qū)ο蟮母拍钆c思想面向?qū)ο蟮母拍钆c思想 在抽象現(xiàn)實(shí)世界的事物時,必須把抽象的范圍限定在我們的在抽象現(xiàn)實(shí)世界的事物時,必須把抽象的范圍限定在我們的問題域內(nèi)問題域內(nèi)?,F(xiàn)實(shí)世界的事物都有很多側(cè)面,我們只應(yīng)關(guān)心那?,F(xiàn)實(shí)世界的事物都有很多側(cè)面,我們只應(yīng)關(guān)心那些跟我們要解決的問題相關(guān)的側(cè)面。些跟我們要解決的問題相關(guān)的側(cè)面。 比如:在抽象和描述比如:在抽象和描述“學(xué)生學(xué)生”對象時,針對不同的問題域,對象時,針對不同的問題域,可能得到不同的抽象結(jié)果。對于學(xué)生管理系統(tǒng),學(xué)生的成績、可能得到不同的抽象結(jié)果。對于學(xué)生管理系統(tǒng),學(xué)生的成績、所選的課程等在問題

6、域范圍內(nèi),而學(xué)生的病史,過敏史則不所選的課程等在問題域范圍內(nèi),而學(xué)生的病史,過敏史則不在問題域內(nèi);如果是一個醫(yī)管系統(tǒng),病史,過敏史則落在問在問題域內(nèi);如果是一個醫(yī)管系統(tǒng),病史,過敏史則落在問題域內(nèi)。題域內(nèi)。 下面介紹面向?qū)ο蟮南旅娼榻B面向?qū)ο蟮奈宕笠匚宕笠兀?軟軟 件件 工工 程程(1) 對象(對象(Object) 對象對象是現(xiàn)實(shí)世界事物或個體的抽象表示,是其屬性和相關(guān)是現(xiàn)實(shí)世界事物或個體的抽象表示,是其屬性和相關(guān)操作的封裝。抽象的結(jié)果不僅包括事物個體的屬性,還包操作的封裝。抽象的結(jié)果不僅包括事物個體的屬性,還包括事物的操作。屬性值表示了對象的內(nèi)部狀態(tài)。括事物的操作。屬性值表示了對象的內(nèi)部

7、狀態(tài)。 在分析階段,在分析階段,對象的操作對象的操作是對象展現(xiàn)給外部的服務(wù)。是對象展現(xiàn)給外部的服務(wù)。對象對象狀態(tài)狀態(tài)的改變是由對對象的操作引起的。的改變是由對對象的操作引起的。 例如,對于民航機(jī)場的指揮控制系統(tǒng),例如,對于民航機(jī)場的指揮控制系統(tǒng),MU9114航班就是航班就是該問題域中的對象,該對象的屬性可以包含:航班號、起該問題域中的對象,該對象的屬性可以包含:航班號、起飛機(jī)場、降落機(jī)場、起飛時間、降落時間,位置等;可能飛機(jī)場、降落機(jī)場、起飛時間、降落時間,位置等;可能的操作包括離港、到港等。當(dāng)對的操作包括離港、到港等。當(dāng)對MU9114航班對象進(jìn)行離港航班對象進(jìn)行離港操作時,對象的狀態(tài)將從停靠

8、狀態(tài)改變成飛行狀態(tài)。操作時,對象的狀態(tài)將從??繝顟B(tài)改變成飛行狀態(tài)。 軟軟 件件 工工 程程(2) 類(類(Class) 類是對具有共同特征(屬性和操作)的對象的進(jìn)一步抽類是對具有共同特征(屬性和操作)的對象的進(jìn)一步抽象。類通常被認(rèn)為是對象的模板,通過該模板可以創(chuàng)建特象。類通常被認(rèn)為是對象的模板,通過該模板可以創(chuàng)建特性一致的對象。使用類創(chuàng)建對象的過程實(shí)際上是類的實(shí)例性一致的對象。使用類創(chuàng)建對象的過程實(shí)際上是類的實(shí)例化過程。化過程。類是對象的抽象,對象是類的實(shí)例。在客觀世界類是對象的抽象,對象是類的實(shí)例。在客觀世界存在的是類的實(shí)例,即對象。存在的是類的實(shí)例,即對象。 (3)繼承()繼承(Inher

9、itance) 繼承關(guān)系模擬了現(xiàn)實(shí)世界中遺傳關(guān)系的直接模擬,也即繼承關(guān)系模擬了現(xiàn)實(shí)世界中遺傳關(guān)系的直接模擬,也即一般與特殊關(guān)系的模擬。它允許我們在已有的類的特性基一般與特殊關(guān)系的模擬。它允許我們在已有的類的特性基礎(chǔ)上構(gòu)造新類。被繼承的類我們稱之為基類(父類),在礎(chǔ)上構(gòu)造新類。被繼承的類我們稱之為基類(父類),在基類的基礎(chǔ)上新建立的類我們稱之為派生類(子類)。派基類的基礎(chǔ)上新建立的類我們稱之為派生類(子類)。派生類的特性比基類的特性更細(xì)致。生類的特性比基類的特性更細(xì)致。 軟軟 件件 工工 程程(4) 聚集(聚集(Aggregation) 聚集模擬了現(xiàn)實(shí)世界的部分與整體的關(guān)系。它允許利用現(xiàn)有的聚集

10、模擬了現(xiàn)實(shí)世界的部分與整體的關(guān)系。它允許利用現(xiàn)有的類組成新類。比如說汽車,它是由發(fā)動機(jī)、變速箱、底盤等組類組成新類。比如說汽車,它是由發(fā)動機(jī)、變速箱、底盤等組成,那么我們就可以利用發(fā)動機(jī)、變速箱、底盤等類聚集成一成,那么我們就可以利用發(fā)動機(jī)、變速箱、底盤等類聚集成一個新的類:汽車類。個新的類:汽車類。 (5) 消息(消息(Message) 消息是對象之間交互的唯一途徑,一個對象要想使用其他對象消息是對象之間交互的唯一途徑,一個對象要想使用其他對象的服務(wù),必須向該對象發(fā)送服務(wù)請求消息。而接收服務(wù)請求的的服務(wù),必須向該對象發(fā)送服務(wù)請求消息。而接收服務(wù)請求的對象必須對請求做出響應(yīng)。對象必須對請求做出

11、響應(yīng)。 例如:當(dāng)我們向銀行系統(tǒng)的帳號對象發(fā)送取款消息時,帳號例如:當(dāng)我們向銀行系統(tǒng)的帳號對象發(fā)送取款消息時,帳號對象將根據(jù)消息中攜帶的取款金額對客戶的帳號進(jìn)行取款操作:對象將根據(jù)消息中攜帶的取款金額對客戶的帳號進(jìn)行取款操作:驗(yàn)證帳號余額,如果帳號余額足夠,并且操作成功,對象將把驗(yàn)證帳號余額,如果帳號余額足夠,并且操作成功,對象將把執(zhí)行成功的消息返回給服務(wù)請求的發(fā)送對象,否則發(fā)送交易失執(zhí)行成功的消息返回給服務(wù)請求的發(fā)送對象,否則發(fā)送交易失敗消息。敗消息。 軟軟 件件 工工 程程6.1 面向?qū)ο蟮母拍钆c思想面向?qū)ο蟮母拍钆c思想 小結(jié)小結(jié):面向?qū)ο蟮男枨蠓治龇椒ㄍㄟ^提供:面向?qū)ο蟮男枨蠓治龇椒ㄍㄟ^提

12、供對象、對對象、對象間消息傳遞象間消息傳遞等語言機(jī)制,讓分析人員在等語言機(jī)制,讓分析人員在解空間解空間中中直接模擬直接模擬問題空間問題空間中的對象,從而消減運(yùn)用其他分中的對象,從而消減運(yùn)用其他分析方法帶來的析方法帶來的語義斷層語義斷層,為需求建?;顒犹峁┲庇^、,為需求建?;顒犹峁┲庇^、自然的語言支持和方法學(xué)指導(dǎo)。自然的語言支持和方法學(xué)指導(dǎo)。 面向?qū)ο髮ο箢惱^承聚集消息面向?qū)ο髮ο箢惱^承聚集消息。 軟軟 件件 工工 程程6.2 UML 概述概述6.2.1 UML 6.2.1 UML 語言機(jī)制語言機(jī)制UMLUML通過圖形化的表示機(jī)制從多個側(cè)面對系統(tǒng)的分析和設(shè)計(jì)模型通過圖形化的表示機(jī)制從多個側(cè)面對系

13、統(tǒng)的分析和設(shè)計(jì)模型進(jìn)行刻畫,共有進(jìn)行刻畫,共有5 5類類1010種視圖如下所示:種視圖如下所示: 靜態(tài)模型靜態(tài)模型 動態(tài)模型動態(tài)模型邏輯模型邏輯模型 類圖類圖 用例圖用例圖 對象圖對象圖 順序圖順序圖 包圖包圖 協(xié)作圖協(xié)作圖 狀態(tài)圖狀態(tài)圖 活動圖活動圖物理模型物理模型 構(gòu)件圖構(gòu)件圖 配置圖配置圖 軟軟 件件 工工 程程6.2.1 UML 語言機(jī)制語言機(jī)制1 1、用例圖(、用例圖(Usecase DiagramUsecase Diagram):用于表示系統(tǒng)的功能,并指):用于表示系統(tǒng)的功能,并指出各功能的操作者;出各功能的操作者;2 2、靜態(tài)圖:包括類圖(、靜態(tài)圖:包括類圖(Class Diag

14、ramClass Diagram)、對象圖()、對象圖(Object Object DiagramDiagram)及包圖()及包圖(Package DiagramPackage Diagram),表示系統(tǒng)的靜態(tài)結(jié)),表示系統(tǒng)的靜態(tài)結(jié)構(gòu);構(gòu);3 3、行為圖:包括狀態(tài)圖(、行為圖:包括狀態(tài)圖(State DiagramState Diagram)及活動圖)及活動圖(Activity DiagramActivity Diagram),用于描述系統(tǒng)的動態(tài)行為和對象之),用于描述系統(tǒng)的動態(tài)行為和對象之間的交互關(guān)系;間的交互關(guān)系;4 4、交互圖:包括順序圖(、交互圖:包括順序圖(Sequence Diag

15、ramSequence Diagram)和協(xié)作圖)和協(xié)作圖(Collaboration DiagramCollaboration Diagram),用于描述系統(tǒng)對象之間的動),用于描述系統(tǒng)對象之間的動態(tài)合作關(guān)系;態(tài)合作關(guān)系;5 5、實(shí)現(xiàn)圖:包括構(gòu)件圖(、實(shí)現(xiàn)圖:包括構(gòu)件圖(Compoment DiagramCompoment Diagram)和配置圖)和配置圖(Deployment DiagramDeployment Diagram),用于描述系統(tǒng)的物理實(shí)現(xiàn)。),用于描述系統(tǒng)的物理實(shí)現(xiàn)。 軟軟 件件 工工 程程6.2.2 基于基于UML 的軟件開發(fā)過程的軟件開發(fā)過程1 1、初啟:確定項(xiàng)目的、初

16、啟:確定項(xiàng)目的主要目標(biāo)和范圍主要目標(biāo)和范圍,并進(jìn)行初步的,并進(jìn)行初步的可行性分析可行性分析和經(jīng)濟(jì)效益分析和經(jīng)濟(jì)效益分析。2 2、細(xì)化:細(xì)化階段的開始標(biāo)志著項(xiàng)目的正式確立。軟件項(xiàng)目在此、細(xì)化:細(xì)化階段的開始標(biāo)志著項(xiàng)目的正式確立。軟件項(xiàng)目在此階段需要完成以下工作:階段需要完成以下工作:(1 1)初步的需求分析。采用)初步的需求分析。采用UMLUML的的用例用例描述目標(biāo)軟件系統(tǒng)所有比描述目標(biāo)軟件系統(tǒng)所有比較重要、比較有風(fēng)險(xiǎn)的用例,利用較重要、比較有風(fēng)險(xiǎn)的用例,利用用例圖用例圖表示參與者與用例、以表示參與者與用例、以及用例和用例之間的關(guān)系。采用及用例和用例之間的關(guān)系。采用UMLUML的的類圖類圖表示目

17、標(biāo)軟件系統(tǒng)所基表示目標(biāo)軟件系統(tǒng)所基于的應(yīng)用領(lǐng)域中的概念與概念之間的關(guān)系。這些相互關(guān)聯(lián)的概念于的應(yīng)用領(lǐng)域中的概念與概念之間的關(guān)系。這些相互關(guān)聯(lián)的概念構(gòu)成領(lǐng)域模型。構(gòu)成領(lǐng)域模型。(2 2)初步的高層設(shè)計(jì)。根據(jù)用例、類在業(yè)務(wù)領(lǐng)域中的關(guān)系,或者)初步的高層設(shè)計(jì)。根據(jù)用例、類在業(yè)務(wù)領(lǐng)域中的關(guān)系,或者根據(jù)業(yè)務(wù)領(lǐng)域中某種有意義的分類方法將整個軟件系統(tǒng)劃分為若根據(jù)業(yè)務(wù)領(lǐng)域中某種有意義的分類方法將整個軟件系統(tǒng)劃分為若干個包,利用干個包,利用UMLUML的的包圖包圖刻化這些包及其包間關(guān)系??袒@些包及其包間關(guān)系。 軟軟 件件 工工 程程(3 3)部分的詳細(xì)設(shè)計(jì)。對于系統(tǒng)中某些重要的或者風(fēng)險(xiǎn)比較高)部分的詳細(xì)設(shè)計(jì)。

18、對于系統(tǒng)中某些重要的或者風(fēng)險(xiǎn)比較高的用例,的用例, 可以采用可以采用交互圖交互圖進(jìn)一步探討其內(nèi)部實(shí)現(xiàn)過程。同樣,進(jìn)一步探討其內(nèi)部實(shí)現(xiàn)過程。同樣,對于系統(tǒng)中的關(guān)鍵類,也可以詳細(xì)研究其屬性和操作,并在對于系統(tǒng)中的關(guān)鍵類,也可以詳細(xì)研究其屬性和操作,并在UMLUML類圖類圖中加以表現(xiàn)。中加以表現(xiàn)。(4)(4)部分的原型構(gòu)造。部分的原型構(gòu)造。綜上所述,在細(xì)化階段可能需要使用的綜上所述,在細(xì)化階段可能需要使用的UMLUML語言機(jī)制包括:語言機(jī)制包括:描述描述用戶需求的用例及用例圖用戶需求的用例及用例圖、表示領(lǐng)域概念模型的類圖表示領(lǐng)域概念模型的類圖、表示業(yè)表示業(yè)務(wù)流程處理的活動圖務(wù)流程處理的活動圖、表示系

19、統(tǒng)高層結(jié)構(gòu)的包圖表示系統(tǒng)高層結(jié)構(gòu)的包圖和和表示用例內(nèi)表示用例內(nèi)部實(shí)現(xiàn)過程的交互圖部實(shí)現(xiàn)過程的交互圖等。等。細(xì)化階段的結(jié)束條件是,所有主要的用戶需求已通過用例和用細(xì)化階段的結(jié)束條件是,所有主要的用戶需求已通過用例和用例圖得以描述;所有重要的風(fēng)險(xiǎn)已被標(biāo)識,并對風(fēng)險(xiǎn)應(yīng)對措施例圖得以描述;所有重要的風(fēng)險(xiǎn)已被標(biāo)識,并對風(fēng)險(xiǎn)應(yīng)對措施了如指掌;能夠比較精確地估算實(shí)現(xiàn)每一用例的時間。了如指掌;能夠比較精確地估算實(shí)現(xiàn)每一用例的時間。6.2.2 基于基于UML 的軟件開發(fā)過程的軟件開發(fā)過程 軟軟 件件 工工 程程3 3、構(gòu)造:在構(gòu)造階段,開發(fā)人員通過一系列的迭代完成、構(gòu)造:在構(gòu)造階段,開發(fā)人員通過一系列的迭代完成

20、對所有用例的軟件實(shí)現(xiàn)工作,在每次迭代中實(shí)現(xiàn)一部分對所有用例的軟件實(shí)現(xiàn)工作,在每次迭代中實(shí)現(xiàn)一部分用例。以迭代方式實(shí)現(xiàn)所有用例的好處在于,用戶可以用例。以迭代方式實(shí)現(xiàn)所有用例的好處在于,用戶可以及早參與對已實(shí)現(xiàn)用例的實(shí)際評價,并提出改進(jìn)意見。及早參與對已實(shí)現(xiàn)用例的實(shí)際評價,并提出改進(jìn)意見。這樣可有效降低大型軟件系統(tǒng)的開發(fā)風(fēng)險(xiǎn)。這樣可有效降低大型軟件系統(tǒng)的開發(fā)風(fēng)險(xiǎn)。在實(shí)際開始構(gòu)造軟件系統(tǒng)之前,有必要預(yù)先制定迭代計(jì)在實(shí)際開始構(gòu)造軟件系統(tǒng)之前,有必要預(yù)先制定迭代計(jì)劃。計(jì)劃的制定應(yīng)遵循如下兩項(xiàng)原則:劃。計(jì)劃的制定應(yīng)遵循如下兩項(xiàng)原則:(1 1)用戶認(rèn)為業(yè)務(wù)價值較大的用例應(yīng)優(yōu)先安排;)用戶認(rèn)為業(yè)務(wù)價值較大的

21、用例應(yīng)優(yōu)先安排;(2 2)開發(fā)人員評估后認(rèn)為開發(fā)風(fēng)險(xiǎn)較高的用例應(yīng)優(yōu)先安)開發(fā)人員評估后認(rèn)為開發(fā)風(fēng)險(xiǎn)較高的用例應(yīng)優(yōu)先安排。排。6.2.2 基于基于UML 的軟件開發(fā)過程的軟件開發(fā)過程 軟軟 件件 工工 程程在迭代計(jì)劃中,要確定迭代次數(shù)、每次迭代所需時間及每在迭代計(jì)劃中,要確定迭代次數(shù)、每次迭代所需時間及每次迭代中應(yīng)完成(或部分完成)的用例。次迭代中應(yīng)完成(或部分完成)的用例。每次迭代過程由針對用例的分析、設(shè)計(jì)、編碼、測試和集每次迭代過程由針對用例的分析、設(shè)計(jì)、編碼、測試和集成成5個子階段構(gòu)成。在集成之后,用戶可以對用例的實(shí)現(xiàn)效果個子階段構(gòu)成。在集成之后,用戶可以對用例的實(shí)現(xiàn)效果進(jìn)行評價,并提出修

22、改意見。這些修改意見可以在本次迭代進(jìn)行評價,并提出修改意見。這些修改意見可以在本次迭代過程中立即實(shí)現(xiàn),也可以在下次迭代中再予以考慮。過程中立即實(shí)現(xiàn),也可以在下次迭代中再予以考慮。構(gòu)造過程中,需要使用構(gòu)造過程中,需要使用UML的交互圖來設(shè)計(jì)用例的實(shí)現(xiàn)方的交互圖來設(shè)計(jì)用例的實(shí)現(xiàn)方法。為了與設(shè)計(jì)得出的交互圖協(xié)調(diào)一致,需要修改或精化在法。為了與設(shè)計(jì)得出的交互圖協(xié)調(diào)一致,需要修改或精化在細(xì)化階段繪制的作為領(lǐng)域模型的類圖,增加一些為軟件實(shí)現(xiàn)細(xì)化階段繪制的作為領(lǐng)域模型的類圖,增加一些為軟件實(shí)現(xiàn)所必需的類、類的屬性或方法。所必需的類、類的屬性或方法。6.2.2 基于基于UML 的軟件開發(fā)過程的軟件開發(fā)過程 軟

23、軟 件件 工工 程程如果一個類有復(fù)雜的生命周期行為,或者類的對象在生命周期如果一個類有復(fù)雜的生命周期行為,或者類的對象在生命周期內(nèi)需要對各種外部事件的刺激作出反應(yīng),應(yīng)考慮用內(nèi)需要對各種外部事件的刺激作出反應(yīng),應(yīng)考慮用UML的狀態(tài)圖的狀態(tài)圖來表述類的對象的行為。來表述類的對象的行為。UMLUML的活動圖可以在構(gòu)造階段用來表示復(fù)雜的算法過程和有多個的活動圖可以在構(gòu)造階段用來表示復(fù)雜的算法過程和有多個對象參與的業(yè)務(wù)外理過程。活動圖尤其適用于表示過程中的并發(fā)對象參與的業(yè)務(wù)外理過程。活動圖尤其適用于表示過程中的并發(fā)和同步。和同步。在構(gòu)造階段的每次迭代過程中,可以對細(xì)化階段繪出的包圖進(jìn)在構(gòu)造階段的每次迭代

24、過程中,可以對細(xì)化階段繪出的包圖進(jìn)行修改或精化,以便包圖切實(shí)反映目標(biāo)軟件系統(tǒng)最頂層的結(jié)構(gòu)劃行修改或精化,以便包圖切實(shí)反映目標(biāo)軟件系統(tǒng)最頂層的結(jié)構(gòu)劃分狀況。分狀況。4 4、移交、移交在移交階段,開發(fā)人員將構(gòu)造階段獲得的軟件系統(tǒng)在用戶實(shí)際工在移交階段,開發(fā)人員將構(gòu)造階段獲得的軟件系統(tǒng)在用戶實(shí)際工作環(huán)境(或接近實(shí)際的模擬環(huán)境)中試運(yùn)行,根據(jù)用戶的修改意作環(huán)境(或接近實(shí)際的模擬環(huán)境)中試運(yùn)行,根據(jù)用戶的修改意見進(jìn)行少量修改。見進(jìn)行少量修改。6.2.2 基于基于UML 的軟件開發(fā)過程的軟件開發(fā)過程 軟軟 件件 工工 程程6. 3 基于基于UML的需求分析的需求分析基于基于UMLUML的需求分析步驟:的需

25、求分析步驟:(1 1)利用用例及用例圖表示需求。)利用用例及用例圖表示需求。(2 2)利用包圖及類圖表示目標(biāo)軟件系統(tǒng)的總體框架結(jié)構(gòu)。)利用包圖及類圖表示目標(biāo)軟件系統(tǒng)的總體框架結(jié)構(gòu)。6.3.1 開發(fā)場景開發(fā)場景 場景:場景:是指從單個執(zhí)行者的角度觀察目標(biāo)軟件系統(tǒng)的功是指從單個執(zhí)行者的角度觀察目標(biāo)軟件系統(tǒng)的功能和行為。這種功能通過系統(tǒng)與用戶之間的交互來表征。能和行為。這種功能通過系統(tǒng)與用戶之間的交互來表征。因此也可以說,場景是用戶與系統(tǒng)之間進(jìn)行交互的一組具因此也可以說,場景是用戶與系統(tǒng)之間進(jìn)行交互的一組具體的動作。場景是用例的實(shí)例,而用例是某類場景的共同體的動作。場景是用例的實(shí)例,而用例是某類場景

26、的共同抽象。抽象。場景描述:場景描述:場景名稱、執(zhí)行者實(shí)例、前置條件、事件流和場景名稱、執(zhí)行者實(shí)例、前置條件、事件流和后置條件。后置條件。 軟軟 件件 工工 程程6.3.2 生成用例生成用例執(zhí)行者:執(zhí)行者:是指外部用戶或外部實(shí)體在系統(tǒng)中扮演的角色。是指外部用戶或外部實(shí)體在系統(tǒng)中扮演的角色。用例:從外部用戶的視角看,一個用例是執(zhí)行者與目標(biāo)用例:從外部用戶的視角看,一個用例是執(zhí)行者與目標(biāo)軟件系統(tǒng)之間的一次典型的交互作用。從軟件系統(tǒng)內(nèi)部軟件系統(tǒng)之間的一次典型的交互作用。從軟件系統(tǒng)內(nèi)部的視角出發(fā),一個用例代表系統(tǒng)執(zhí)行的一系列動作,動的視角出發(fā),一個用例代表系統(tǒng)執(zhí)行的一系列動作,動作執(zhí)行的結(jié)果能夠被外部

27、的執(zhí)行者所觀察。作執(zhí)行的結(jié)果能夠被外部的執(zhí)行者所觀察。用例描述:用例描述:用例名稱、參與執(zhí)行者、前置條件、一個主用例名稱、參與執(zhí)行者、前置條件、一個主事件流、零到多個輔助事件流和后置條件。事件流、零到多個輔助事件流和后置條件。 軟軟 件件 工工 程程6.3.3 用活動圖表示用例用活動圖表示用例活動圖活動圖主要用于系統(tǒng)分析,它描述系統(tǒng)的行為,顯示系主要用于系統(tǒng)分析,它描述系統(tǒng)的行為,顯示系統(tǒng)中動作之間的轉(zhuǎn)移?;顒訄D一般從統(tǒng)中動作之間的轉(zhuǎn)移。活動圖一般從開始節(jié)點(diǎn)開始節(jié)點(diǎn)開始,經(jīng)開始,經(jīng)過若干動作后,最后到達(dá)過若干動作后,最后到達(dá)結(jié)束節(jié)點(diǎn)結(jié)束節(jié)點(diǎn)?;顒訄D是簡化的狀態(tài)圖,它重點(diǎn)說明了活動間所經(jīng)過的活動

28、圖是簡化的狀態(tài)圖,它重點(diǎn)說明了活動間所經(jīng)過的操作和過程?;顒訄D(操作和過程?;顒訄D(ActivityActivity)只有一個動作)只有一個動作(ActionAction),活動的轉(zhuǎn)移有一個相應(yīng)的觸發(fā)事件?;顒樱?,活動的轉(zhuǎn)移有一個相應(yīng)的觸發(fā)事件?;顒訄D可用來描述用例、包和類的行為,它把活動描述成正圖可用來描述用例、包和類的行為,它把活動描述成正在執(zhí)行的操作,在執(zhí)行的操作,活動代表了一個完整的動作活動代表了一個完整的動作,即它代表,即它代表一個類或用例內(nèi)部的行為?;顒訄D不區(qū)分狀態(tài)、活動和一個類或用例內(nèi)部的行為?;顒訄D不區(qū)分狀態(tài)、活動和事件,它是一個從活動到活動的簡單描述,其中事件,它是一個從活動

29、到活動的簡單描述,其中,同步,同步線用粗橫線表示線用粗橫線表示,用于表示活動之間的同步。,用于表示活動之間的同步。 軟軟 件件 工工 程程同步線同步線6.3.3 用活動圖表示用例用活動圖表示用例考生考試的活動圖考生考試的活動圖 軟軟 件件 工工 程程6.3.4 生成用例圖生成用例圖執(zhí)行者和用例之間的關(guān)系:執(zhí)行者和用例之間的關(guān)系:觸發(fā)執(zhí)行和信息交換。(可能同觸發(fā)執(zhí)行和信息交換。(可能同時兼具這兩種關(guān)系)時兼具這兩種關(guān)系)從執(zhí)行者指向用例的邊表示觸發(fā)執(zhí)行從執(zhí)行者指向用例的邊表示觸發(fā)執(zhí)行/ /信息交換;而從用例信息交換;而從用例指向執(zhí)行者的邊表示用例將其生成的信息傳遞給執(zhí)行者。指向執(zhí)行者的邊表示用例

30、將其生成的信息傳遞給執(zhí)行者。UMLUML的用例和用例之間的關(guān)系:的用例和用例之間的關(guān)系:使用關(guān)系和擴(kuò)展關(guān)系。使用關(guān)系和擴(kuò)展關(guān)系。使用關(guān)系:如果有一個公共的動作序列存在于多個用例中,使用關(guān)系:如果有一個公共的動作序列存在于多個用例中,為避免重復(fù),并使需求模型更簡潔,可以將公共動作序列抽為避免重復(fù),并使需求模型更簡潔,可以將公共動作序列抽出來構(gòu)成新的獨(dú)立用例。這樣,原來的多個用例與新的用例出來構(gòu)成新的獨(dú)立用例。這樣,原來的多個用例與新的用例之間便通過使用關(guān)系來連接。之間便通過使用關(guān)系來連接。擴(kuò)展關(guān)系:如果一個用例的動作序列完全包含另一個用例的擴(kuò)展關(guān)系:如果一個用例的動作序列完全包含另一個用例的動作

31、序列,且前者含有后者所不具備的一些特殊情況下的處動作序列,且前者含有后者所不具備的一些特殊情況下的處理動作,則稱前者擴(kuò)展后者。理動作,則稱前者擴(kuò)展后者。 軟軟 件件 工工 程程6.3.4 生成用例圖生成用例圖學(xué)生考試用例學(xué)生考試用例 軟軟 件件 工工 程程6.3.5 建立頂層架構(gòu)建立頂層架構(gòu)UML包圖:對類進(jìn)行分組的一種機(jī)制。包圖:對類進(jìn)行分組的一種機(jī)制。包間的兩種關(guān)系:依賴和構(gòu)成。包間的兩種關(guān)系:依賴和構(gòu)成。依賴關(guān)系:如果對類依賴關(guān)系:如果對類A的修改將導(dǎo)致類的修改將導(dǎo)致類B的改變,則稱的改變,則稱B依依賴于賴于A。構(gòu)成關(guān)系:是指包可以嵌套,即包中不僅可包含類,還可構(gòu)成關(guān)系:是指包可以嵌套,

32、即包中不僅可包含類,還可以包含子包。以包含子包。 軟軟 件件 工工 程程6.3.5 建立頂層架構(gòu)建立頂層架構(gòu)考試系統(tǒng)包圖考試系統(tǒng)包圖 軟軟 件件 工工 程程6.3.6 建立領(lǐng)域概念模型建立領(lǐng)域概念模型UML類圖:類圖:類表示概念,用類圖表示領(lǐng)域概念模型。類表示概念,用類圖表示領(lǐng)域概念模型。類圖圖元:類圖圖元:類的名稱、屬性列表、方法列表。類的名稱、屬性列表、方法列表。類間關(guān)系:類間關(guān)系:繼承、聚集、關(guān)聯(lián)和依賴。繼承、聚集、關(guān)聯(lián)和依賴。繼承關(guān)系:繼承關(guān)系:表示子類重用父類的屬性和操作,子類的對象表示子類重用父類的屬性和操作,子類的對象也也是父類的對象,有時也稱父類是子類的泛化。子類繼承了父是父類

33、的對象,有時也稱父類是子類的泛化。子類繼承了父類的所有屬性和操作,但每個子類又有自己的特殊屬性,也類的所有屬性和操作,但每個子類又有自己的特殊屬性,也就是說父類所具有的屬性和操作,子類肯定有,父類能夠完就是說父類所具有的屬性和操作,子類肯定有,父類能夠完成的工作子類肯定能完成,反之不然。成的工作子類肯定能完成,反之不然。 軟軟 件件 工工 程程例如在下圖所示的泛化關(guān)系中,例如在下圖所示的泛化關(guān)系中,“題庫題庫”類是比類是比“選擇題選擇題”類、類、“判斷題判斷題”類和類和“程序設(shè)計(jì)題程序設(shè)計(jì)題”類更普遍的概念,相類更普遍的概念,相反反“選擇題選擇題”類是比類是比“題庫題庫”類更特殊的概念。這樣類

34、更特殊的概念。這樣“題題庫庫”是一個父類,是一個父類,“選擇題選擇題”、“判斷題判斷題”和和“程序設(shè)計(jì)程序設(shè)計(jì)題題”是這個父類的子類。父類的是這個父類的子類。父類的“題號題號”、“試題類型試題類型”、“試題屬性試題屬性”全部被子類繼承,但每個子類又都有自己的全部被子類繼承,但每個子類又都有自己的特殊屬性,比如判斷題類的屬性特殊屬性,比如判斷題類的屬性“標(biāo)準(zhǔn)答案標(biāo)準(zhǔn)答案”,而父類沒,而父類沒有。有。6.3.6 建立領(lǐng)域概念模型建立領(lǐng)域概念模型 軟軟 件件 工工 程程6.3.6 建立領(lǐng)域概念模型建立領(lǐng)域概念模型繼承關(guān)系繼承關(guān)系/ /泛化關(guān)系泛化關(guān)系 軟軟 件件 工工 程程聚集關(guān)系:聚集關(guān)系:對部分

35、整體關(guān)系的直接模擬。分普通聚集和對部分整體關(guān)系的直接模擬。分普通聚集和構(gòu)成關(guān)系兩種。構(gòu)成關(guān)系兩種。普通聚集和構(gòu)成是兩種類型的關(guān)聯(lián),它們是對現(xiàn)實(shí)世界中普通聚集和構(gòu)成是兩種類型的關(guān)聯(lián),它們是對現(xiàn)實(shí)世界中部分和整體關(guān)系的直接模擬。在普通聚集關(guān)系中,一個部件部分和整體關(guān)系的直接模擬。在普通聚集關(guān)系中,一個部件類對象可同時參與多個整體類對象。在構(gòu)成關(guān)系中,一個部類對象可同時參與多個整體類對象。在構(gòu)成關(guān)系中,一個部件類對象在任意時刻只能參與一個整體類對象,部件類對象件類對象在任意時刻只能參與一個整體類對象,部件類對象與整體類對象共存亡。與整體類對象共存亡。在在UMLUML中用空心菱形記號表示普通聚集關(guān)系,用實(shí)心菱形中用空心菱形記號表示普通聚集關(guān)系,用實(shí)心菱形表示構(gòu)成關(guān)系。菱形在整體一端。左圖為聚合關(guān)系,右圖為表示構(gòu)成關(guā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

提交評論