国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

統(tǒng)一建模語言UML輕松入門之基本概念

2019-11-17 04:51:01
字體:
供稿:網(wǎng)友

  20 世紀80 年代,隨著面向?qū)ο蠹夹g(shù)成為研究的熱點,先后出現(xiàn)了幾十種面向?qū)ο蟮能浖_發(fā)方法。其中,Booch、OMT 和OOSE等方法得到了廣泛的認可。然而,采用不同方法進行建模不利于開發(fā)者之間的交流。而UML則統(tǒng)一了Booch、OMT 和OOSE 的表示方法,而且對其作了進一步的發(fā)展。1997 年,UML 被國際對象組織OMG采納為面向?qū)ο蟮慕UZ言的國際標準,它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。UML不限于支持面向?qū)ο蟮姆治雠c設(shè)計,還支持從需求分析開始的軟件開發(fā)的全過程。數(shù)年來,UML憑借其簡潔明晰的表達方式、超凡脫俗的表達能力,一路殺將出來,為業(yè)界所廣泛認同!目前,在多數(shù)大型企業(yè)的正規(guī)化開發(fā)流程中,開發(fā)人員普遍使用UML進行模型的建立。作為一名軟件開發(fā)人員,我們必須學(xué)會UML。因為UML就是那個統(tǒng)一的"文字",統(tǒng)一的"度"、"量"、"衡",不理解UML,作為軟件設(shè)計統(tǒng)一王國的國民,將是艱難而痛苦的。

  作曲家會將其腦袋中的旋律譜成樂曲,建筑師會將其設(shè)計的建筑物畫成藍圖,這些樂曲、藍圖就是模型(Model),而建構(gòu)這些模型的過程就稱為建模(Modeling)。軟件開發(fā)如同音樂譜曲及建筑設(shè)計,其過程中也必須將需求、分析、設(shè)計、實現(xiàn)、布署等各項工作流程的構(gòu)想與結(jié)果予以呈現(xiàn),這就是軟件系統(tǒng)的建模。

  那么為什么要建模呢?經(jīng)典答案是:建立大廈和建立狗窩的區(qū)別是建設(shè)狗窩不需要設(shè)計,要生產(chǎn)合格的軟件就要有一套關(guān)于體系結(jié)構(gòu)、過程和工具的規(guī)范。

  OMG官方發(fā)布的UML的當(dāng)前最高版本為2.0,可以從http://www.uml.org/上下載。

  UML由圖和元模型組成,圖是語法,元模型是語義。UML主要包括三個基本構(gòu)造塊:事物(Things)、關(guān)系(Relationships)和圖(Diagrams)。本次連載我們將對UML的這些基本組成部分及UML工具和應(yīng)用進行介紹,使讀者對UML形成初步的整體印象。在其后的幾次連載里,再以數(shù)個實例對這些內(nèi)容逐步展開。

  1.1 UML的基本構(gòu)造塊

  1.1.1事物

  事物是是實體抽象化的最終結(jié)果,是模型中的基本成員,UML中包含結(jié)構(gòu)事物、行為事物、分組事物和注釋事物。

  (1)結(jié)構(gòu)事物(StrUCtural things)

  結(jié)構(gòu)事物是模型中的靜態(tài)部分,用以呈現(xiàn)概念或?qū)嶓w的表現(xiàn)元素,是軟件建模中最常見的元素,共有以下七種:

  類(Class):類是指具有相同屬性、方法、關(guān)系和語義的對象的集合;

  接口(Interface):接口是指類或組件所提供的服務(wù)(操作),描述了類或組件對外可見的動作;

  協(xié)作(Collaboration):協(xié)作描述合作完成某個特定任務(wù)的一組類及其關(guān)聯(lián)的集合,用于對使用情形的實現(xiàn)建模;

  用例(Use Case):用例定義了執(zhí)行者(在系統(tǒng)外部和系統(tǒng)交互的人)和被考慮的系統(tǒng)之間的交互來實現(xiàn)的一個業(yè)務(wù)目標;

  活動類(Active Class):活動類的對象有一個或多個進程或線程。活動類和類很相象,只是它的對象代表的元素的行為和其他的元素是同時存在的;

  組件(Component):組件是物理的、可替換的部分,包含接口的集合,例如COM+ 、java BEANS等;

  結(jié)點(Node):結(jié)點是系統(tǒng)在運行時存在的物理元素,代表一個可計算的資源,通常占用一些內(nèi)存和具有處理能力。

  (2)行為事物(Behavioral things)

  行為事物指的是UML模型中的動態(tài)部分,代表語句里的"動詞",表示模型里隨著時空不斷變化的部分,包含兩類:

  交互(ineraction):交互是由一組對象之間在特定上下文中,為達到特定的目的而進行的一系列消息交換而組成的動作;

  狀態(tài)機(state machine):狀態(tài)機由一系列對象的狀態(tài)組成。

  (3)分組事物(Grouping things)

  可以把分組事物看成是一個"盒子",模型可以在其中被分解。目前只有一種分組事物,即包(package)。結(jié)構(gòu)事物、動作事物甚至分組事物都有可能放在一個包中。包純粹是概念上的,只存在于開發(fā)階段,而組件在運行時存在。

  (4)注釋事物(Annotational things)

  注釋事物是UML模型的解釋部分。

  1.1.2關(guān)系

  關(guān)系是將事物聯(lián)系在一起的方式,UML中定義了四種關(guān)系:

  (1)依靠(Dependencies):兩個事物之間的語義關(guān)系,其中一個事物發(fā)生變化會影響另一個事物的語義;

  (2)關(guān)聯(lián)(Association):一種描述一組對象之間連接的結(jié)構(gòu)關(guān)系,如聚合關(guān)系(描述了整體和部分間的結(jié)構(gòu)關(guān)系);

  (3)泛化(Generalization):一種一般化-非凡化的關(guān)系;

  (4)實現(xiàn)(Realization) :類之間的語義關(guān)系,其中的一個類指定了由另一個類保證執(zhí)行的契約。

  1.1.3圖

  圖是事物集合的分類,UML中包含多種圖:

  (1)類圖(Class Diagram):類圖描述系統(tǒng)所包含的類、類的內(nèi)部結(jié)構(gòu)及類之間的關(guān)系;

  (2)對象圖(Object Diagram):對象圖是類圖的一個具體實例;

  (3)包圖(Package Diagram):包圖表明包及其之間的依靠類圖;

  (4)組件圖(Compoment Diagram,也稱構(gòu)件圖):組件圖描述代碼部件的物理結(jié)構(gòu)以及各部件之間的依靠關(guān)系;

  (5)部署圖(Deployment Diagram):部署圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu);

  (6)用例圖(Usecase Diagram):用例圖從用戶的角度出發(fā)描述系統(tǒng)的功能、需求,展示系統(tǒng)外部的各類角色與系統(tǒng)內(nèi)部的各種用例之間的關(guān)系;

  (7)順序圖(Sequence Diagram):順序圖表示對象之間動態(tài)合作的關(guān)系;

  (8)協(xié)作圖(Collaboration Diagram):合作圖描述對象之間的協(xié)作關(guān)系;

  (9)狀態(tài)圖(Statechart Diagram):狀態(tài)圖描述一類對象的所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件;

  (10)活動圖(Activity Diagram):活動圖描述系統(tǒng)中各種活動的執(zhí)行順序。

  上述十種圖可歸納為五類,如表1.1。

  表1.1 UML圖分類


類型包含靜態(tài)圖類圖、對象圖、包圖行為圖狀態(tài)圖、活動圖用例圖用例圖交互圖順序圖、協(xié)作圖實現(xiàn)圖組件圖、部署圖 QQRead.com 推出數(shù)據(jù)恢復(fù)指南教程 數(shù)據(jù)恢復(fù)指南教程 數(shù)據(jù)恢復(fù)故障解析 常用數(shù)據(jù)恢復(fù)方案 硬盤數(shù)據(jù)恢復(fù)教程 數(shù)據(jù)保護方法 數(shù)據(jù)恢復(fù)軟件 專業(yè)數(shù)據(jù)恢復(fù)服務(wù)指南 1.2 UML工具與應(yīng)用

  "工欲善其事,必先利于器",為了有效的利用UML,我們需要首先獲得一個UML工具軟件。

  當(dāng)前,業(yè)界使用最廣泛的UML建模工具為Rational Rose。Rational Rose中可實現(xiàn)正向(為模型產(chǎn)生相應(yīng)的代碼)、逆向(從用戶原來的軟件系統(tǒng)導(dǎo)出該系統(tǒng)的模型)和雙向工程(實現(xiàn)模型和代碼之間的循環(huán)工程),從而保證模型與代碼的高度一致。Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等語言和開發(fā)工具,并能為CORBA 應(yīng)用生成接口定義語言(IDL),為數(shù)據(jù)庫應(yīng)用生成數(shù)據(jù)庫描述語言(DDL)等。另外,Rational Rose為團隊開發(fā)和規(guī)范的開發(fā)過程治理提供了良好的支持。
對于小規(guī)模應(yīng)用,我們可以使用微軟公司Office套件中的Visio,其中提供了對UML各種圖的繪制支持。

  從應(yīng)用的角度上來講,面向?qū)ο蟮南到y(tǒng)設(shè)計一般需要完成如下工作:

  (1)描述需求;

  (2)根據(jù)需求建立系統(tǒng)的靜態(tài)模型;

  (3)描述系統(tǒng)的行為。

  (1)和(2)中所建立的模型是靜態(tài)的(采用用例圖、類圖、對象圖、組件圖和部署圖等),是標準建模語言UML中的靜態(tài)建模機制;而(3)中所建立的模型則表示執(zhí)行時的序列、狀態(tài)或交互關(guān)系(以狀態(tài)圖、活動圖、順序圖和協(xié)作圖描述),是標準建模語言UML中的動態(tài)建模機制。

  由此可以看出,標準建模語言UML的主要內(nèi)容也可以歸納為靜態(tài)建模機制和動態(tài)建模機制兩大類。

  此外,需要說明的是,UML只是一種建模語言,它獨立于具體的建模過程。因此,利于它建模時,可遵循任何類型的建模過程。盡管如此,UML的作者們?yōu)槲覀兺扑]了RUP(Rational Unified PRocess)。RUP由Rational軟件公司首創(chuàng),其最重要的特點有三:

  (1)軟件開發(fā)是由用例驅(qū)動的;

  (2)軟件開發(fā)是以體系結(jié)構(gòu)設(shè)計(Architectural Design)為中心;

  (3)軟件開發(fā)是個迭代過程。

  RUP包括四個階段,每個階段又分為若干次迭代,每次迭代都有一個核心工作流,如圖1.1所示。

統(tǒng)一建模語言UML輕松入門之基本概念
圖1.1 RUP的流程


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 陆良县| 湘潭县| 北碚区| 贡觉县| 土默特左旗| 宿州市| 公安县| 宣恩县| 乌拉特前旗| 巩留县| 讷河市| 贵溪市| 伊川县| 河南省| 沙雅县| 武鸣县| 宁河县| 新竹县| 石阡县| 玉山县| 富顺县| 义马市| 介休市| 个旧市| 建湖县| 罗山县| 永年县| 南木林县| 老河口市| 太谷县| 搜索| 邯郸县| 格尔木市| 温宿县| 河源市| 小金县| 全州县| 道孚县| 威信县| 永清县| 桐柏县|