UML基礎(chǔ)與建模實(shí)踐:1、第一章 UML概述_第1頁(yè)
UML基礎(chǔ)與建模實(shí)踐:1、第一章 UML概述_第2頁(yè)
UML基礎(chǔ)與建模實(shí)踐:1、第一章 UML概述_第3頁(yè)
UML基礎(chǔ)與建模實(shí)踐:1、第一章 UML概述_第4頁(yè)
UML基礎(chǔ)與建模實(shí)踐:1、第一章 UML概述_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

UML基礎(chǔ)與建模實(shí)踐

第一章UML概述

主講人:內(nèi)容摘要什么是UML1什么是模型2UML工具3UML語(yǔ)言應(yīng)用4小結(jié)與習(xí)題51.1什么是UML1.1.1UML簡(jiǎn)史

公認(rèn)的面向?qū)ο蠼UZ(yǔ)言出現(xiàn)于20世紀(jì)70年代中期,然而從1989年到1994年,這種設(shè)計(jì)語(yǔ)言其數(shù)量從不到十種增加到了五十多種。在眾多的建模語(yǔ)言中,語(yǔ)言的創(chuàng)造者努力推崇自己的產(chǎn)品,并在實(shí)踐中不斷完善。但是,OO方法(Object-OrientedMethod,面向?qū)ο蟮姆椒ǎ┑挠脩舨⒉涣私獠煌UZ(yǔ)言的優(yōu)缺點(diǎn)及相互之間的差異,因而很難根據(jù)應(yīng)用特點(diǎn)選擇合適的建模語(yǔ)言,于是爆發(fā)了一場(chǎng)“方法大戰(zhàn)”。20世紀(jì)90年代,一批新軟件開發(fā)方法出現(xiàn)了,其中最引人注目的是Booch1993、OMT-2和OOSE等。

1.1.1UML簡(jiǎn)史

Rumbaugh等人提出了面向?qū)ο蟮慕<夹g(shù)(OMT,一種軟件開發(fā)方法),該方法采用了面向?qū)ο蟮母拍?,并引入各種獨(dú)立于語(yǔ)言的表示符,同時(shí)使用對(duì)象模型、動(dòng)態(tài)模型、功能模型和用例模型共同完成對(duì)整個(gè)系統(tǒng)的建模。Jacobson于1994年提出了OOSE方法,該方法最大的特點(diǎn)是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。此外,還有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法之一。該方法簡(jiǎn)單、易學(xué),適合于面向?qū)ο蠹夹g(shù)的初學(xué)者使用,但由于該方法在處理能力方面的局限,目前已很少使用。

1.1.1UML簡(jiǎn)史 面對(duì)眾多的建模語(yǔ)言,用戶首先沒(méi)有能力區(qū)別不同語(yǔ)言之間的差別,因此很難找到一種比較適合其應(yīng)用特點(diǎn)的語(yǔ)言;其次,眾多的建模語(yǔ)言實(shí)際上各有千秋;第三,雖然不同的建模語(yǔ)言大多雷同,但仍存在某些細(xì)微的差別,極大地妨礙了用戶之間的交流。因此,在客觀上極有必要在精心比較不同建模語(yǔ)言的優(yōu)缺點(diǎn)及總結(jié)面向?qū)ο蠹夹g(shù)應(yīng)用實(shí)踐的基礎(chǔ)上,組織聯(lián)合設(shè)計(jì)小組,并根據(jù)應(yīng)用需求,取其精華,去其糟粕,求同存異,統(tǒng)一建模語(yǔ)言。經(jīng)過(guò)Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分別發(fā)布了兩個(gè)新的版本,即UML0.9和UML0.91,并將UM重新命名為UML(UnifiedModelingLanguage)。1.1.2UML定義 UML是一種標(biāo)準(zhǔn)的圖形符號(hào),它的定義包括UML語(yǔ)義和UML表示法兩個(gè)部分。UML語(yǔ)義:指UML元素符號(hào)代表的含義,UML的所有元素在語(yǔ)法和語(yǔ)義上提供了簡(jiǎn)單、一致、通用的定義和說(shuō)明,使開發(fā)者能在語(yǔ)義上取得一致,消除了因人而異的最佳表達(dá)方法所造成的影響。此外,UML還支持元素語(yǔ)義的擴(kuò)展。UML表示法:對(duì)UML每個(gè)元素符號(hào)的表示方法進(jìn)行了規(guī)范。開發(fā)者或開發(fā)工具在使用這些圖形符號(hào)時(shí)都遵循相應(yīng)的UML符號(hào)的表示準(zhǔn)則。1.1.3UML的特點(diǎn)UML語(yǔ)言的主要特點(diǎn)可以歸結(jié)為以下4點(diǎn):(1)UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念。(2)UML是非專利的第三代建模和規(guī)約語(yǔ)言。(3)UML語(yǔ)言應(yīng)用于軟件開發(fā)周期中的每一個(gè)階段。(4)UML最適用于數(shù)據(jù)建模、業(yè)務(wù)建模、對(duì)象建模和組件建模。1.1.3UML的特點(diǎn) UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言,它融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。 總之,UML是一種先進(jìn)、實(shí)用的標(biāo)準(zhǔn)建模語(yǔ)言,但其中某些概念尚待實(shí)踐來(lái)驗(yàn)證,也就是說(shuō),UML必然存在一個(gè)進(jìn)化過(guò)程。1.2什么是模型模型就是用圖形對(duì)一個(gè)物體或系統(tǒng)的簡(jiǎn)化表示,如地球儀就是一個(gè)模型,它是對(duì)地球的簡(jiǎn)化表示。用戶可以用模型來(lái)表示現(xiàn)實(shí)領(lǐng)域中的業(yè)務(wù)流程和工作流程,也可以用模型表示軟件領(lǐng)域中的軟件系統(tǒng)的組成和結(jié)構(gòu)。在日常生活中常見的模型有很多,它們都是對(duì)事物的簡(jiǎn)化表示,下面是生活中常常遇到的4種模型。1.2什么是模型(1)交通模型。道路交通圖、道路交通標(biāo)志等圖,如圖1-1的模型就是對(duì)廣州地鐵的表示。圖1-1廣州地鐵模型1.2什么是模型(2)建筑模型。建筑物原型、沙盤等用來(lái)描述建筑物的圖形,如圖1-2的模型就是描述某集團(tuán)公司的建筑物的。圖1-2建筑模型1.2什么是模型(3)設(shè)計(jì)模型。用來(lái)描述管線圖、電路板設(shè)計(jì)圖的。如圖1-3就是描述某個(gè)局部電路的設(shè)計(jì)模型。圖1-3電路設(shè)計(jì)模型1.2什么是模型(4)數(shù)據(jù)分析模型。我們常見的條形圖、餅狀圖。如圖1-4就是描述某公司四種產(chǎn)品年銷售所占份額。圖1-4數(shù)據(jù)分析模型在軟件開發(fā)工程中,模型主要用來(lái)描述問(wèn)題域和軟件域。1.2.1模型的用途

在軟件開發(fā)活動(dòng)中,UML主要用于兩個(gè)方面的建模:第一是,用UML語(yǔ)言對(duì)業(yè)務(wù)系統(tǒng)建模,便于分析師展現(xiàn)和理解業(yè)務(wù);第二是,用UML對(duì)軟件系統(tǒng)建模,便于設(shè)計(jì)師修改和構(gòu)造的軟件系統(tǒng)。1.對(duì)業(yè)務(wù)系統(tǒng)建模

2.對(duì)軟件系統(tǒng)建模

1.2.2建模目標(biāo)

對(duì)業(yè)務(wù)系統(tǒng)和軟件系統(tǒng)進(jìn)行建模,主要實(shí)現(xiàn)下面5個(gè)目標(biāo):(1)

對(duì)業(yè)務(wù)系統(tǒng)進(jìn)行可視化,建立業(yè)務(wù)模型。(2)

對(duì)軟件架構(gòu)進(jìn)行可視化,建立軟件體系模型。(3)對(duì)軟件系統(tǒng)的組成、結(jié)構(gòu)和系統(tǒng)交互的行為進(jìn)行建模。(4)用模型的方式為系統(tǒng)實(shí)現(xiàn)提供一個(gè)模板,開發(fā)人員可以依據(jù)該模板構(gòu)造軟件系統(tǒng)。(5)通過(guò)模型的方式將計(jì)劃和決策文檔化。1.2.3建模原則

建模時(shí)應(yīng)遵循以下幾個(gè)原則:(1)僅當(dāng)需要時(shí)才為業(yè)務(wù)或軟件系統(tǒng)構(gòu)建模型。(2)模型應(yīng)該真實(shí)的反映業(yè)務(wù)系統(tǒng)的需求,或者模型能反映軟件系統(tǒng)本身的組成和結(jié)構(gòu)。(3)模型應(yīng)該反映設(shè)計(jì)師的設(shè)計(jì)方案。(4)構(gòu)建模型時(shí),最好用一組相對(duì)獨(dú)立的模型從不同的側(cè)面描述重要的業(yè)務(wù)或軟件系統(tǒng)。

1.2.3建模原則

建模時(shí)應(yīng)遵循以下幾個(gè)原則:(1)僅當(dāng)需要時(shí)才為業(yè)務(wù)或軟件系統(tǒng)構(gòu)建模型。(2)模型應(yīng)該真實(shí)的反映業(yè)務(wù)系統(tǒng)的需求,或者模型能反映軟件系統(tǒng)本身的組成和結(jié)構(gòu)。(3)模型應(yīng)該反映設(shè)計(jì)師的設(shè)計(jì)方案。(4)構(gòu)建模型時(shí),最好用一組相對(duì)獨(dú)立的模型從不同的側(cè)面描述重要的業(yè)務(wù)或軟件系統(tǒng)。

1.2.4用UML建模的好處1.UML是軟件開發(fā)者的通用語(yǔ)言2.UML是一種應(yīng)用廣泛的語(yǔ)言3.UML是一種很好的擴(kuò)展語(yǔ)言使用UML建模的原因主要表現(xiàn)在右邊3個(gè)方面1.2.5模型種類按模型的用途分類對(duì)模型有以下兩種常見的分類方法:按產(chǎn)生模型的階段性分類1.2.5模型種類1.按模型的用途分類 如果按模型在軟件開發(fā)過(guò)程中所起的作用,將它們分為3種,它們是:功能模型:從用戶的角度展示系統(tǒng)的功能。如,用例圖表示功能模型。對(duì)象模型:模型展示了軟件系統(tǒng)的組成和結(jié)構(gòu)。對(duì)象模型由類圖或?qū)ο髨D表示。動(dòng)態(tài)模型:展現(xiàn)系統(tǒng)的內(nèi)部行為。動(dòng)態(tài)模型常由順序圖、活動(dòng)圖和狀態(tài)圖表示。

1.2.5模型種類2.按產(chǎn)生模型的階段性分類模型按軟件開發(fā)的階段性可分為以下5種:業(yè)務(wù)模型:展示業(yè)務(wù)過(guò)程、業(yè)務(wù)內(nèi)容和業(yè)務(wù)規(guī)則的模型。需求模型:展示用戶要求和業(yè)務(wù)要求的模型。設(shè)計(jì)模型:設(shè)計(jì)模型包含架構(gòu)模型和詳細(xì)設(shè)計(jì)模型。實(shí)現(xiàn)模型:描述了軟件組件(該組件能夠運(yùn)行)及其關(guān)系(常由構(gòu)件圖或部署圖組成)。數(shù)據(jù)庫(kù)模型:以數(shù)據(jù)庫(kù)開發(fā)人員為主,架構(gòu)師提供指導(dǎo),資深開發(fā)人員(設(shè)計(jì)人員)予以配合,共同設(shè)計(jì)。

1.3UML工具 UML工具是幫助軟件開發(fā)人員方便使用UML的軟件,它的主要功能包括:支持各種UML模型圖的輸入、編輯和存儲(chǔ);支持正向工程和逆向工程;提供和其他開發(fā)工具的接口。不同的UML工具提供的功能不同,各個(gè)功能實(shí)現(xiàn)的程度也不同。 目前主要的UML工具有Rational公司的Rose、TogetherSoft公司的Together和Microsoft公司的Visio等。1.3.1UML工具介紹 Rational公司推出的Rose是目前最好的基于UML的Case工具,它把UML有機(jī)地集成到面向?qū)ο蟮能浖_發(fā)過(guò)程中。 Rose具有正向工程、逆向工程和對(duì)象模型更新等功能。用戶修改模型后可以直接反映到代碼上,同樣,用戶對(duì)代碼框架的修改也可以反映到模型上。另外,它還提供對(duì)多種程序設(shè)計(jì)語(yǔ)言的支持,如C++、Java、VisualBasic等。 VisioProfessional2000提供了內(nèi)建的UML支持,如Visio繪圖工具提供繪制多種圖形的功能,這是一個(gè)相當(dāng)有價(jià)值的工具。1.3.2如何選擇UML工具 下面主要從技術(shù)方面來(lái)介紹在選擇UML工具時(shí)應(yīng)注意的幾個(gè)方面: 1.支持UML1.3 2.支持項(xiàng)目組的協(xié)同開發(fā) 3.支持雙向工程

以上介紹了選擇UML工具應(yīng)該考慮的主要因素。在實(shí)際購(gòu)買時(shí),還應(yīng)綜合考慮價(jià)格、服務(wù)以及通用性等方面的因素。1.4UML語(yǔ)言應(yīng)用 UML語(yǔ)言的目標(biāo)是以圖的方式來(lái)表示任何類型的系統(tǒng),該語(yǔ)言應(yīng)用廣泛。這種語(yǔ)言既可以用來(lái)為軟件系統(tǒng)建模,也可以用來(lái)對(duì)非軟件領(lǐng)域建模。如,可以對(duì)機(jī)械系統(tǒng)、企業(yè)機(jī)構(gòu)或業(yè)務(wù)過(guò)程建模,以及對(duì)復(fù)雜數(shù)據(jù)的信息系統(tǒng)、具有實(shí)時(shí)要求的工業(yè)系統(tǒng)或工業(yè)過(guò)程等建模??傊?,UML是一個(gè)通用的標(biāo)準(zhǔn)建模語(yǔ)言,可以對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行建模。此外,UML適用于系統(tǒng)開發(fā)過(guò)程中從需求規(guī)格描述到系統(tǒng)完成后測(cè)試的不同階段。1.4UML語(yǔ)言應(yīng)用 UML模型還可作為測(cè)試階段的依據(jù)。系統(tǒng)通常需要經(jīng)過(guò)單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。不同的測(cè)試小組使用不同的UML圖作為測(cè)試依據(jù):?jiǎn)卧獪y(cè)試使用類圖和類規(guī)格說(shuō)明;集成測(cè)試使用部件圖和合作圖;系統(tǒng)測(cè)試使用用例圖來(lái)驗(yàn)證系統(tǒng)的行為;驗(yàn)收測(cè)試由用戶進(jìn)行,以驗(yàn)證系統(tǒng)測(cè)試的結(jié)果是否滿足在分析階段確定的需求。 總之,標(biāo)準(zhǔn)建模語(yǔ)言UML適用于以面向?qū)ο蠹夹g(shù)來(lái)描述任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段1.5小結(jié)

本章介紹了UML的基本概念、主要內(nèi)容和應(yīng)用領(lǐng)域,還介紹了UML工具方面的知識(shí)。通過(guò)本章的學(xué)習(xí),希望讀者能夠?qū)ML有一定的認(rèn)識(shí)和了解,為以后各章的學(xué)習(xí)打下基礎(chǔ)。本書主要從應(yīng)用的角度來(lái)介紹UML的基本概念。本書不是一本完整詳盡的用戶手

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論