基于UML的軟件設(shè)計(jì)和建模_第1頁(yè)
基于UML的軟件設(shè)計(jì)和建模_第2頁(yè)
基于UML的軟件設(shè)計(jì)和建模_第3頁(yè)
基于UML的軟件設(shè)計(jì)和建模_第4頁(yè)
基于UML的軟件設(shè)計(jì)和建模_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于UML的

軟件設(shè)計(jì)和建模

本課內(nèi)容:基于UML的

軟件設(shè)計(jì)和建模

?參考書:

-[1]《UML基礎(chǔ)與Rose建模案例》

?作者:吳建鄭潮汪杰

?出版者:人民郵電出版社

-[2]《UML與軟件建?!?/p>

?徐寶文

?清華大學(xué)出版社

?學(xué)習(xí)方法:理論學(xué)習(xí)+設(shè)計(jì)實(shí)踐(工具使用)

2012-6-262

Agenda

?軟件產(chǎn)品開發(fā)和軟件建模

?什么是UML

?UML模型詳角軍

2012-6-263

軟件產(chǎn)品開發(fā)和軟件建模

?為什么要建模

-軟件是產(chǎn)品而非“程序”

?對(duì)它的要求和所有其他工業(yè)產(chǎn)品是一樣的

-使用者和制造者分離

-質(zhì)量要求、文檔、維護(hù)

?軟件產(chǎn)品的生產(chǎn)和其他工業(yè)產(chǎn)品的生產(chǎn)也是一樣的

-生產(chǎn):團(tuán)隊(duì)、工具的使用(Compiler,..),技術(shù)復(fù)用

-如何滿足?先設(shè)計(jì),再生產(chǎn)!工》建模!

-模型是對(duì)現(xiàn)實(shí)世界的簡(jiǎn)化。

?在成熟的工業(yè)生產(chǎn)領(lǐng)域,建模的方法得到了廣泛的

應(yīng)用

-例如:電子工業(yè),軟件研發(fā)……

2012-6-264

,

5

P2

X2

2CK

*

CJO.

I27^o

BGt

30GM

"I

.),調(diào)試,定型,生產(chǎn)。

-電路圖就是模型,是現(xiàn)實(shí)世界的簡(jiǎn)化(圖.?.)

?再看看我們現(xiàn)在軟件是怎么做的.一

2012-6-265

軟件產(chǎn)品開發(fā)和軟件建模

?我們現(xiàn)在怎么做軟件..?

-先寫一個(gè)系統(tǒng)分析報(bào)告

-簡(jiǎn)單的設(shè)計(jì)報(bào)告(一些孤立的文字和圖形)

-開始編碼,調(diào)試,測(cè)試,發(fā)行。在大多數(shù)情況

下,這時(shí)的工作已經(jīng)和前兩步工作脫鉤了。

?相當(dāng)于不畫電路圖直接用集成電路、

晶體管、電阻、電容做收音機(jī)電路。

2012-6-266

軟件產(chǎn)品開發(fā)和軟件建模

?我們現(xiàn)在怎么做軟件..?

?相當(dāng)于不畫電路圖直接用集成電路、

晶體管、電阻、電容做收音機(jī)電路。

-這在電子工業(yè)是不可想象的:怎么維修、怎

么在原有產(chǎn)品基礎(chǔ)上發(fā)展更先進(jìn)的產(chǎn)品。

-對(duì)于軟件工業(yè),這些問題一樣是存在的。

?怎么辦?.一

2012-6-267

軟件產(chǎn)品開發(fā)和軟件建模

?怎么辦?多年來,軟件工程試圖解決這

一問題,但成效不大

-原因:

?缺少工具,只停留在理論上,用一張紙、一只筆

進(jìn)行軟件工程管理不易為軟件人員接受

?沒有標(biāo)準(zhǔn),無(wú)法進(jìn)行有效的交流

?現(xiàn)在,我們有了一.

-軟件建模標(biāo)準(zhǔn):UML

23一軟件工程工具,如:ROSE

Agenda

?軟件產(chǎn)品開發(fā)和軟件建模

?什么是UML

?UML模型詳解

2012-6-269

?UML:統(tǒng)一建模語(yǔ)言(Unified

?UML是用于描繪軟件藍(lán)圖的標(biāo)

-(藍(lán)圖?…這就是一張藍(lán)圖一>)

?它可用于對(duì)軟件密集型系統(tǒng)史

-說明(specify)

-建造(construct)和

-建檔(document)

?這也是對(duì)軟件系統(tǒng)進(jìn)行建模的四個(gè)目的

2012-6-2610

什么是UML?

?解釋:

-UML是語(yǔ)言:

?語(yǔ)言意味著有標(biāo)準(zhǔn)的表達(dá)規(guī)則

-UML是藍(lán)圖

-UML是由圖形符號(hào)表達(dá)的建模語(yǔ)言

1..n..1

AnimalownedbyPerson

+Name:string4-Name:string

+Owner:Person??Addressstring

?■City:string

?State:string

5△1-ZipCode:string

DogBird?-Phone:string

2012-6-26<-lnDogDaysProgram:boolean+VVingSpan:float11

什么是UML?

?Why'unified'?

-從以前的建模語(yǔ)言發(fā)展而來

?統(tǒng)一了Booch、Rumbaugh和Jacobson

-軟件開發(fā)周期

?從需求分析到工程實(shí)現(xiàn)

-不同的應(yīng)用

?從嵌入式實(shí)時(shí)系統(tǒng)到管理決策系統(tǒng)

2012-6-2612

什么是UML?

?Why'unified'?

-實(shí)現(xiàn)語(yǔ)言和平臺(tái)

?UML對(duì)于編程語(yǔ)言和平臺(tái)是獨(dú)立的

?支持純面向?qū)ο笳Z(yǔ)言(比如java,C#j

?對(duì)混合型語(yǔ)言同樣有效(比如C++)

-軟件開發(fā)方法

?支持面向?qū)ο筌浖鞒?/p>

?同樣支持其他的軟件工程開發(fā)方法

2012-6-2613

什么是UML?

?使用UML進(jìn)行軟件建模的原則

-準(zhǔn)確的原則:模型必須準(zhǔn)確地反映軟件系統(tǒng)

的真實(shí)情況。

-分層的原則:在建模的過程中,必須有不同

的模型,以不同的抽象程度,反映系統(tǒng)的不

同側(cè)面。

-分治的原則:不可能單獨(dú)用一個(gè)模型來反映

整個(gè)系統(tǒng)的任何側(cè)面。

-標(biāo)準(zhǔn)的原則:建模方法必須在某種程度上是

通用的。

2012-6-2614

Window

-origin:point

-size:point

?使用進(jìn)彳+open():void

UML+close():void

-準(zhǔn)確的原則:+display():void

+setjposition(pos:point):void

?模型必須淮

一在前面機(jī)述的軟件開發(fā)萬(wàn)法中,實(shí)際上已經(jīng)講

classWindow系統(tǒng)分析報(bào)告和軟

(

public:見范而有效的建模

voidopen();出品產(chǎn)生了分離.

voidclose();系統(tǒng)的真實(shí)情況,

voiddisplay();

voidset_position(pointpos);介值

private:發(fā)的整個(gè)周期內(nèi),

pointorigin;

pointsize;保持一致。

);15

什么是UML

?使用UML進(jìn)行軟件建模的融

--------------------------R的過霜必須

工口

1.62%/A磔

0>§L

(fromUseCases)

0自°E

同側(cè)面。例如:

?可以用一類模

?用另一類模型描繪系統(tǒng)的內(nèi)部邏輯關(guān)系(見圖--)。傷

2012-6-2616

什么是UML?

?使用UML進(jìn)行軟件建模的原則

-分治的原則:不可能單獨(dú)用一個(gè)模型來

反映整個(gè)系統(tǒng)的任何側(cè)面。

?軟件系統(tǒng)是復(fù)雜的,

-對(duì)于軟件模型的任意一個(gè)側(cè)面,不可能用一

個(gè)模型來反映所有內(nèi)容,

?需要把問題分解為不同的子模型,分別處

?這些模型相對(duì)獨(dú)立,但又互相聯(lián)系,綜合

如2626起來構(gòu)成了此側(cè)面的一個(gè)完整的模型。

什么是UML?

?使用UML進(jìn)行軟件建模的原則

-標(biāo)準(zhǔn)的原則:建模方法必須在某種程度上是通

用的。

?建模的基本目的:交流

-一個(gè)開發(fā)隊(duì)伍內(nèi)部的開發(fā)人員之間需要交流

如果各開發(fā)隊(duì)伍和開發(fā)人員在建模的時(shí)候采用同樣的方法

18

2°⑵新符號(hào)(圖…),交流才會(huì)高效地進(jìn)行

Agenda

?軟件產(chǎn)品開發(fā)和軟件建模

?什么是UML

?UML模型詳解

2012-6-2619

UML模型詳解

UML模型的分類

?靜態(tài)結(jié)構(gòu)(Staticstructure):

-描述模型的組成元素及其之間的關(guān)系

?用例圖“UseCaseDiagram(國(guó)標(biāo):用況圖)

?類圖“ClassDiagram

?對(duì)象圖“ObjectDiagram

?組件圖“ComponentDiagram

?部署圖“DeploymentDiagram

?動(dòng)態(tài)行為(Dynamicbehavior):

-描述模型元素的生命周期和他們之間的相互協(xié)作的方式

?序歹U圖一SequenceDiagram

?協(xié)作圖“CollaborationDiagram

?狀態(tài)圖??StatechartDiagram

?活動(dòng)圖"ActivityDiagram

?Oneisnottrulycompletewithouttheother.

2012-6-2620

UML模型詳解

UML的結(jié)構(gòu)

?組成元素(buildingblocks)

?公共機(jī)制(Commonmechanism)

-Specifications

-Adornments

-etc.

?模型架構(gòu)(Architecture)

一4+1viewofsystemarchitecture

2012-6-2621

UML模型詳解

組成元素BuildingBlocks

?事物"Things

?關(guān)系“Relationship

?圖“Diagrams

2012-6-2622

UML模型詳解

事物“Things

?結(jié)構(gòu)事物一StructureThings

-類、接口、協(xié)作、用例、活動(dòng)類、組件和節(jié)點(diǎn)

?行為事物一BehaviorThings

-交互、狀態(tài)機(jī)

?組織事物一GroupingThings

-UML模型中負(fù)責(zé)分組的部分一包(package)

?輔助事物一AnnotationThings

-也稱注釋事務(wù)一注釋(Annotation)

2012-6-2623

UML模型詳解

事物一Things

?結(jié)構(gòu)事物一StructureThings

-類

?類是具有相同的屬性、方法、語(yǔ)義和相同關(guān)

系的一組對(duì)象的集合。----------

Student

的name

4MH

?getName。

?setName。

?getNo。

?setNo

2012-6-26。24

UML模型詳解

事物--Things

?結(jié)構(gòu)事物一StructureThings

-接口

?描述類或組件的對(duì)外的、可見的操作

DBInterface

2012-6-2625

UML模型詳解

事物一Things

?結(jié)構(gòu)事物一StructureThings

-用例

?用例定義了系統(tǒng)執(zhí)行的一組操作,對(duì)特定用

戶產(chǎn)生可以觀察的結(jié)果

查詢課程

2012-6-2626

UML模型詳解

事物一Things

?結(jié)構(gòu)事物一StructureThings

-組件

?物理上可替換的,實(shí)現(xiàn)了一個(gè)或多個(gè)

接口的系:

deCarta地

圖組件

2012-6-2627

UML模型詳解

事物一Things

?結(jié)構(gòu)事物一StructureThings

-節(jié)點(diǎn)

?節(jié)點(diǎn)是一個(gè)物理元素,它在運(yùn)行時(shí)存在,代

表一個(gè)可計(jì)算的資源

數(shù)據(jù)庫(kù)

服務(wù)器,

2012-6-2628

UML模型詳解

事物一Things

?行為事物一BehaviorThings

-交互

?在UML圖中,交互的消息通常畫成帶箭頭的

直線----------------------

instanceObiectlObiect2

synchronousMessage()

asynchronousMessageQ

------------------------------>

2012-6-2629

UML模型詳解

事物一Things

?行為事物一BehaviorThings

-交互

■狀態(tài)機(jī)是對(duì)象的一個(gè)或多個(gè)狀態(tài)的集合。用圓角矩

形表示

end

2012-6-2630

UML模型詳解

事物一Things

?組織事物一GroupingThings

-包package

一依賴Import&export

2012-6-2631

UML模型詳解

事物一Things

?輔助事物-AnnotationThings

-注釋-模型中的解釋部分

學(xué)生通過列~>

表或搜索功

能查詢課程

查詢課程

2012-6-2632

UML模型詳解

UML中的關(guān)系

?關(guān)聯(lián)關(guān)系A(chǔ)ssociation

?依賴關(guān)系Dependency

?泛化關(guān)系Generalization

?實(shí)現(xiàn)關(guān)系Realization

2012-6-2633

UML模型詳解

UML中的關(guān)系

關(guān)聯(lián)關(guān)系A(chǔ)ssociation

-關(guān)聯(lián)是一種結(jié)構(gòu)化的關(guān)系,只一種對(duì)象和另一

種對(duì)象有聯(lián)系

-關(guān)聯(lián)用一條實(shí)線表示

-關(guān)聯(lián)可以有方向,表示該關(guān)聯(lián)在某個(gè)方向上被

使用;單向關(guān)聯(lián)、雙向關(guān)聯(lián)

學(xué)生______________大學(xué)

2012-6-2634

UML模型詳解

UML中的關(guān)系

?依賴關(guān)系Dependency

-對(duì)于兩個(gè)對(duì)象X、Y,如果X發(fā)生變化,引起對(duì)

另一個(gè)對(duì)象Y的變化,則稱丫依賴于X。

-依賴用一條帶箭頭的虛線表示

TV

^>currChannel

channel

?change(c:channel)

,urnon()

加urno桁

2012-6-2635

UML模型詳解

UML中的關(guān)系

?泛化關(guān)系—GeneraIization

-描述一般事物與特殊事物之間的關(guān)系

-對(duì)于類,可以理解為繼承關(guān)系

-多態(tài)

2012-6-2636

UML模型詳解

UML中的關(guān)系

?實(shí)現(xiàn)關(guān)系—ReaIization

-描述'規(guī)格說明'及其實(shí)現(xiàn)之間的關(guān)系

?常用來規(guī)定接口和實(shí)現(xiàn)它的類或組件之間的

關(guān)系

keyboard

?Abstract?

Typewrite^>brandName

^>numberOfKeys

?keydown。

?keydown。

2012-6-2637

UML模型詳解

UML中的圖Diagrams

?UML中的圖有9種,主要分為兩類

-靜態(tài)圖

?用例圖Usecase、類圖Class、對(duì)象圖object、

組件圖Component、部署圖DepIoyment

~動(dòng)態(tài)圖

?時(shí)序圖Sequence、協(xié)作圖CoIIaboration

?狀態(tài)圖Statechart、活動(dòng)圖Activity

■注:這九種圖的簡(jiǎn)單講解

http://www.dotnetcoders.com/web/1earning/umI/

2012-6-2638

UML模型詳解

UML青爭(zhēng)態(tài)圖

?用例圖UseCaseDiagram

一參與者Actor

一用例UseCase

-關(guān)聯(lián)Association

2012-6-2639

UML模型詳解

UML青爭(zhēng)態(tài)圖

?類圖ClassDiagram

-類Class

?關(guān)聯(lián)A

Animal_________"nownedbyPerson

■組合??Name,stringfName:string

*OwnerPerson<-Address:string

聚合+City:string

/State:string

A

-依賴令ZipCodestring

___________DogBird*Phone:string

?泛化'??InDogDaysProgram;boolean??VMngSpan:float

-實(shí)現(xiàn)ReaIization

2012-6-2640

UML模型詳解

UML青爭(zhēng)態(tài)圖

?對(duì)象圖ObjectDiagram

一對(duì)象Object

-關(guān)聯(lián)Association

2012-6-2641

UML模型詳解

UML青爭(zhēng)態(tài)圖

?組件圖ComponentDiagram

一組件Component

一依賴Dependency

BaseDB.csSiteConfig.es

(Source)(Source)

AA

MyWebComps.dll

(Assembly)

2012-6-2642

UML模型詳解

UML青爭(zhēng)態(tài)圖

?部署圖Deployment

一組件Component

-節(jié)點(diǎn)Node

-關(guān)聯(lián)Association

Server

SiteConfig

2012-6-2643

UML模型詳解

UML動(dòng)態(tài)圖

?時(shí)序圖

一Object

1:0:ectl]1:01>:<42-

-ActorActorl

?II

-LifelineMessage11

Message

-Activation

I

(激活)

一Message

2012-6-2644

UML模型詳解

UML動(dòng)態(tài)圖

?協(xié)作圖CollaborationDiagram

一Object

-Actor

-Message

2012-6-2645

UML模型詳解

UML動(dòng)態(tài)圖

?狀態(tài)圖

-狀態(tài)機(jī)State

-轉(zhuǎn)移Transition

-起始狀態(tài)InitialState

-結(jié)束狀態(tài)FinalState

2012-6-2646

UML模型詳解

UML動(dòng)態(tài)圖

?活動(dòng)圖ActivityDi

-活動(dòng)狀態(tài)Activity

-轉(zhuǎn)移Transition

-分區(qū)Swimline

-起始狀態(tài)InitialS

-結(jié)束狀態(tài)FinalSt

一同步標(biāo)記Synchr(

2012-6-2647

UML模型詳解

UML的結(jié)構(gòu)

?組成元素(buildingblocks)

?公共機(jī)缶U(Commonmechanism)

?模型架構(gòu)(Architecture)

2012-6-2648

UML模型詳解

公共機(jī)制(Commonmechanism)

?UML具有四種公共機(jī)制:

一規(guī)范說明Specifications

一修飾Adornments

一通用分界CommonDivisions

一擴(kuò)展機(jī)制ExtensibilityMechanisms

?UMLmodelshastwodimensions:

-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)網(wǎng)僅提供信息存儲(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)論