版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度消防系統(tǒng)設(shè)計(jì)與施工總承包及維保合同3篇
- 2025安防設(shè)備安全檢測(cè)與風(fēng)險(xiǎn)評(píng)估合同3篇
- 二零二五年度物業(yè)管理公司與商戶就購(gòu)物中心停車場(chǎng)合作協(xié)議3篇
- 2024鐵礦石現(xiàn)貨交易市場(chǎng)參與方合作協(xié)議書3篇
- 專屬供應(yīng)商采購(gòu)協(xié)議速覽版B版
- 二零二五年度道路橋梁墊資施工合同2篇
- 相對(duì)論和黑洞教學(xué)模板
- 2024版賓館整體承包經(jīng)營(yíng)協(xié)議樣本
- 提升辦公效率桌布餐巾的布局與色彩搭配
- 家庭教育的力量親子閱讀對(duì)孩子未來的影響
- 顧客忠誠(chéng)度論文
- 血?dú)夥治黾芭R床應(yīng)用
- 實(shí)驗(yàn)室安全檢查自查表
- 證券公司績(jī)效考核管理辦法
- 中國(guó)建設(shè)銀行網(wǎng)上銀行企業(yè)網(wǎng)銀客戶服務(wù)系統(tǒng)--用戶操作手冊(cè)(簡(jiǎn)易版)
- 大班幼兒任務(wù)意識(shí)培養(yǎng)的策略研究論文
- 浙江省市政工程安全臺(tái)賬完整
- 歐洲城市廣場(chǎng)歷史演變
- 國(guó)外招商引資模式與經(jīng)驗(yàn)借鑒(上海環(huán)盟)
- 個(gè)人信用報(bào)告異議申請(qǐng)表
- 蒸汽管道專項(xiàng)施工方案
評(píng)論
0/150
提交評(píng)論