版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
UML面向?qū)ο笤O(shè)計與分析教程(第二版)(微課版)第1章面向?qū)ο蠓椒ǜ耪摫菊碌膶W(xué)習(xí)目標(biāo):理解面向?qū)ο蟮暮x理解軟件工程過程框架掌握類和對象的關(guān)系掌握封裝、繼承、多態(tài)掌握UML的含義和特點(diǎn)計算機(jī)是一種復(fù)雜的設(shè)備,通常包含的要素有:硬件、軟件、人員、數(shù)據(jù)庫、文檔和過程。其中,硬件是提供計算能力的電子設(shè)備;軟件是程序、數(shù)據(jù)和相關(guān)文檔的集合,用于實現(xiàn)所需要的邏輯方法、過程或控制;人員是硬件和軟件的用戶和操作者;數(shù)據(jù)庫是通過軟件訪問的大型的、有組織的信息集合;文檔是描述系統(tǒng)使用方法的手冊、表格、圖形及其他描述性信息;過程是一系列步驟,它們定義了每個系統(tǒng)元素的特定使用方法或系統(tǒng)駐留的過程性語境。軟件是用戶與硬件之間的接口。用戶主要通過軟件與計算機(jī)進(jìn)行交流。1.1什么是面向?qū)ο髲某绦蛟O(shè)計方法的角度看,面向?qū)ο笫且环N新的程序設(shè)計范型(paradigm),其基本思想是使用對象、類、繼承、封裝、聚合、關(guān)聯(lián)、消息、多態(tài)性等基本概念來進(jìn)行程序設(shè)計。自20世紀(jì)80年代以來,面向?qū)ο蠓椒ㄒ焉钊氲接嬎銠C(jī)軟件領(lǐng)域的幾乎所有分支。它不僅是一些具體的軟件開發(fā)技術(shù)與策略,而且是一整套關(guān)于如何看待軟件系統(tǒng)與現(xiàn)實世界的關(guān)系,用什么觀點(diǎn)來研究問題并進(jìn)行問題求解,以及如何進(jìn)行系統(tǒng)構(gòu)造的軟件方法學(xué)。從這個意義上講:面向?qū)ο蠓椒ㄊ且环N運(yùn)用對象、類、繼承、封裝、聚合、關(guān)聯(lián)、消息、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。1.1什么是面向?qū)ο筌浖こ淌茄芯咳绾我韵到y(tǒng)性的、規(guī)范化的、可定量的過程化方法開發(fā)和維護(hù)軟件,以及如何把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來的學(xué)科。1.1什么是面向?qū)ο髥栴}域測試編程計算機(jī)編程語言自然語言需求分析總體設(shè)計詳細(xì)設(shè)計軟件工程學(xué)的作用——傳統(tǒng)的軟件工程方法分析與設(shè)計的鴻溝分析與設(shè)計概念及表示法的不一致問題域OOA計算機(jī)自然語言面向?qū)ο缶幊陶Z言O(shè)ODOOPOOT軟件工程學(xué)的作用——面向?qū)ο蟮能浖こ谭椒嫦驅(qū)ο蠓椒ǖ幕舅枷胍?、從現(xiàn)實世界中客觀存在的事物出發(fā)來構(gòu)造系統(tǒng)強(qiáng)調(diào)直接以問題域(現(xiàn)實世界)中的事物為中心來思考問題、認(rèn)識問題,并根據(jù)這些事物的本質(zhì)特征,把它們抽象為系統(tǒng)中的對象,作為系統(tǒng)的基本構(gòu)成單位。這可以使系統(tǒng)直接映射問題域,保持問題域中事物及其相互關(guān)系的本來面貌。二、充分運(yùn)用人類日常的思維方法強(qiáng)調(diào)運(yùn)用人類在日常的邏輯思維中經(jīng)常采用的思想方法與原則,例如抽象、分類、繼承、聚合、封裝、關(guān)聯(lián)等等。這使得軟件開發(fā)者能更有效地思考問題,并以其他人也能看得懂的方式把自己的認(rèn)識表達(dá)出來。主要特點(diǎn):用類和對象作為系統(tǒng)的基本構(gòu)成單位。對象對應(yīng)問題域中的事物,其屬性和操作刻畫了事物的靜態(tài)特征和動態(tài)特征,它們之間的繼承關(guān)系、聚合關(guān)系、關(guān)聯(lián)和消息如實地表達(dá)了問題域中事物之間實際存在的各種關(guān)系。因此,無論系統(tǒng)的構(gòu)成成分,還是通過這些成分之間的關(guān)系而體現(xiàn)的系統(tǒng)結(jié)構(gòu),都可直接地映射問題域。對問題域的認(rèn)識(人)客觀世界(問題域)計算機(jī)自然語言語言的鴻溝編程語言語言的過渡(人)編程(人)程序的理解和執(zhí)行(機(jī)器)軟件開發(fā):對事物的認(rèn)識和描述問題——語言的鴻溝從認(rèn)識論看面向?qū)ο蠓椒ǖ男纬擅嫦驅(qū)ο蟪绦?(對象+對象+…)+消息面向?qū)ο蟪绦蛟O(shè)計的任務(wù)包括兩個方面:一方面決定把哪些數(shù)據(jù)和函數(shù)封裝在一起,形成對象;另一方面考慮怎樣向?qū)ο髠鬟f消息,以完成所需任務(wù)。各個對象的操作完成了,系統(tǒng)的整體任務(wù)也就完成了。1.1什么是面向?qū)ο髮ο笫乾F(xiàn)實世界中某個實際存在的事物,它可以是有形的,比如一輛汽車,也可以是無形的,比如一項計劃。對象是構(gòu)成世界的一個獨(dú)立單位。它具有自己的靜態(tài)特征和動態(tài)特征。屬性是用來描述對象靜態(tài)特征的一個數(shù)據(jù)項。操作是用來描述對象動態(tài)特征的一個動作序列。對象標(biāo)識就是對象的名字,有“外部標(biāo)識”和“內(nèi)部標(biāo)識”之分。對象,屬性,操作對象是系統(tǒng)中用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位。對象由一組屬性和施加于這些屬性一組操作構(gòu)成。對象對象標(biāo)識屬性操作封裝:把對象的屬性和操作結(jié)合成一個獨(dú)立的系統(tǒng)單位,并盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。售報亭屬性操作報刊A報刊B…錢箱報刊零售款貨清點(diǎn)顧客封裝的重要意義:使對象能夠集中而完整地描述并對應(yīng)一個具體的事物。體現(xiàn)了事物的相對獨(dú)立性,使對象外部不能隨意存取對象的內(nèi)部數(shù)據(jù),避免了外部錯誤對它的“交叉感染”。對象的內(nèi)部的修改對外部的影響很小,減少了修改引起的“波動效應(yīng)”。由封裝機(jī)制保證
封裝帶來的問題:編程的麻煩執(zhí)行效率的損失解決辦法:不強(qiáng)調(diào)嚴(yán)格封裝,實行可見性控制。(混合型OOPL)例如:C++抽象,類,一般類,特殊類抽象與分類:忽略事物的非本質(zhì)特征,只注意那些與當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征,從而找出事物的共性,叫做抽象。抽象是形成概念的基本手段。把具有共同性質(zhì)的事物劃分為一類,叫做分類。類是具有相同屬性和操作的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和操作兩個主要部分。類的作用是用來創(chuàng)建對象,對象是類的一個實例。對象對象對象對象對象對象對象對象類名屬性操作抽象不同程度的抽象可得到不同層次的分類較多地忽略事物之間的差別可得到較一般的類較多地注意事物之間的差別可得到較特殊的類運(yùn)輸工具火車汽車飛機(jī)卡車轎車輪船車輛定義1:如果類A具有類B的全部屬性和全部操作,而且具有自己特有的某些屬性或操作,則A叫做B的特殊類,B叫做A的一般類。一般類與特殊類又稱父類與子類。定義2:如果類A的全部對象都是類B的對象,而且類B中存在不屬于類A的對象,則A是B的特殊類,B是A的一般類?!梢宰C明,以上兩種定義是等價的一般類和特殊類的定義繼承:特殊類擁有其一般類的全部屬性與操作,稱作特殊類對一般類的繼承。繼承意味著自動地?fù)碛?,或曰隱含地復(fù)制繼承簡化了人們對事物的認(rèn)識和描述,非常有益于軟件復(fù)用,是OO技術(shù)提高軟件開發(fā)效率的重要原因之一。由繼承機(jī)制保證由一組具有繼承關(guān)系的類所組成的結(jié)構(gòu)稱作一般-特殊結(jié)構(gòu)。它是一個以類為結(jié)點(diǎn),以繼承關(guān)系為邊的連通的有向圖。繼承關(guān)系的語義:“isakindof”軍人軍官士兵義務(wù)兵志愿兵例多繼承:允許一個特殊類具有一個以上一般類的繼承方式稱作多繼承人員姓名············教職工職稱專業(yè)············研究生學(xué)號班級專業(yè)············在職研究生在職單位
······
······例:聚合:是兩個類之間的一個二元關(guān)系,它表示一個類的對象實例以另一個類的對象實例作為其組成部分。聚合刻畫了現(xiàn)實事物之間的構(gòu)成關(guān)系或者擁有關(guān)系。部分對象部分對象整體對象嵌套對象整體對象部分對象部分對象整體對象對象指針或?qū)ο髽?biāo)識兩種聚合,兩種實現(xiàn)方式:緊密、固定的聚合關(guān)系——例如汽車與發(fā)動機(jī)松散、靈活的聚合關(guān)系——例如公司與法律顧問聚合關(guān)系的語義:“hasa”或“isapartof”緊密、固定的聚合方式又稱為組合整體-部分結(jié)構(gòu):聚合關(guān)系又稱整體-部分關(guān)系。由一組具有聚合關(guān)系的類所形成的結(jié)構(gòu)稱為整體-部分結(jié)構(gòu)。它是一個以類為結(jié)點(diǎn),以聚合關(guān)系為邊的連通有向圖。例公司0‥*0‥*法律顧問汽車發(fā)動機(jī)車身氣缸111111‥*關(guān)聯(lián):兩個或者多個類上的一個關(guān)系(即這些類的對象實例集合的笛卡兒積的一個子集合),其中的元素提供了被開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域中一組有意義的信息。城市**有航線
城市之間有航線教師學(xué)生*1指導(dǎo)論文
教師與被指導(dǎo)的學(xué)生例:根據(jù)Budgen(1994年)的定義,軟件開發(fā)方法主要由3部分組成:表示法、過程以及技術(shù)。1.2面向?qū)ο蟮拈_發(fā)模式過程對應(yīng)為從問題空間轉(zhuǎn)到解空間。在這個過程中,為設(shè)計師提供了一些選項,必須做出選擇或判斷。表示法是系統(tǒng)不同涉眾之間使用的公共語言。技術(shù)部分的主要目的是提供一組指導(dǎo)意見和啟發(fā)式法,輔助開發(fā)者系統(tǒng)地開發(fā)必需的設(shè)計模型和實現(xiàn)。1.2面向?qū)ο蟮拈_發(fā)模式過程具備以下特性:具有良好管理的迭代和增量式生命周期,在不影響創(chuàng)新的情況下提供必要的控制。在整個軟件開發(fā)生命周期(SoftwareDevelopmentLifeCycle,SDLC)內(nèi)為開發(fā)者嵌入方法、規(guī)程和啟發(fā)式法以完成分析、設(shè)計和實現(xiàn)。在迭代和增量式開發(fā)過程中,為復(fù)雜問題的解決提供指導(dǎo)。根據(jù)已知的或已經(jīng)建模的需求識別那些不是非常明顯的需求。1.2面向?qū)ο蟮拈_發(fā)模式通過抽象創(chuàng)建模型是人類認(rèn)識世界的一項基本技能,而對于開發(fā)大型軟件系統(tǒng)而言,這是重要的第一步。對于軟件開發(fā)而言,表示法模型有助于開發(fā)者進(jìn)行以下活動:捕獲系統(tǒng)需求。使用的表示法應(yīng)該可以被用戶和開發(fā)者理解。通過開發(fā)合適的分析模型分析系統(tǒng)。使用恰當(dāng)?shù)谋硎痉ū磉_(dá)模型,這樣開發(fā)者就可以快速、方便地從中提取信息。開發(fā)系統(tǒng)設(shè)計。使用恰當(dāng)?shù)谋硎痉ㄩ_發(fā)和表達(dá)設(shè)計模型,使設(shè)計師和程序員都可以理解。實現(xiàn)、測試和部署系統(tǒng)。這也需要使用合適的表示法來表示這些活動的工件,使之可以被系統(tǒng)設(shè)計師、程序員和系統(tǒng)測試人員所理解。1.2面向?qū)ο蟮拈_發(fā)模式理想的表示法應(yīng)該滿足以下條件:有利于團(tuán)隊成員和客戶之間的高效溝通。能夠無歧義地描述用戶的需求。提供豐富的語義,以捕獲所有重要的戰(zhàn)術(shù)和戰(zhàn)略決策。為人們提供邏輯框架,以便于對模型進(jìn)行推理。有利于使用工具實現(xiàn)自動化,至少要實現(xiàn)模型構(gòu)建過程的自動化。1.2面向?qū)ο蟮拈_發(fā)模式技術(shù)部分的主要目的是提供一組指導(dǎo)意見和啟發(fā)式法,輔助開發(fā)者系統(tǒng)地開發(fā)必需的設(shè)計模型和實現(xiàn)。軟件開發(fā)方法的技術(shù)部分應(yīng)該包含以下內(nèi)容:一組用于產(chǎn)生和驗證設(shè)計、初始需求和規(guī)約的指南。一組設(shè)計師可用來確保設(shè)計結(jié)構(gòu)和設(shè)計模型的一致性的啟發(fā)式法。如果設(shè)計由一支設(shè)計團(tuán)隊完成的話,這一點(diǎn)尤為重要,因為這些設(shè)計師需要確保他們的模型是一致和連貫的。一個能夠捕獲設(shè)計關(guān)鍵特性的系統(tǒng),以補(bǔ)充設(shè)計師的領(lǐng)域知識。1.2面向?qū)ο蟮拈_發(fā)模式建模在所有工程實踐中都已得到廣泛接受,這主要是因為建模引證了分解、抽象和層次結(jié)構(gòu)的原則。為了表達(dá)一個復(fù)雜系統(tǒng),必須使用多種模型。設(shè)計中的每個模型都描述了被考慮的系統(tǒng)的某個方面。面向?qū)ο蠼J且环N新的思維方式,是一種關(guān)于計算和信息結(jié)構(gòu)化的新思維。在過去的幾十年中,編程語言中對抽象機(jī)制的支持已經(jīng)發(fā)展到一個較高的水平。這種抽象的進(jìn)化從地址(機(jī)器語言)到名字(匯編語言),到表達(dá)式(第一代高級語言,如Fortran),到控制(第二代高級語言,如Cobol),到過程和函數(shù)(第二代和早期第三代高級語言,如Pascal),到模塊和數(shù)據(jù)(晚期第三代高級語言,如Modula),最后到對象(基于對象和面向?qū)ο蟮恼Z言)。1.2面向?qū)ο蟮拈_發(fā)模式面向?qū)ο蠓治觯好嫦驅(qū)ο蠓治?OOA)建立于以前的信息建模技術(shù)的基礎(chǔ)之上,可以定義為一種分析方法,通過從問題域詞匯中發(fā)現(xiàn)的類和對象的概念來考查需求。OOA的結(jié)果是一系列從問題域?qū)С龅摹昂谙洹睂ο?。OOA通常使用“劇情”來幫助確定基本的對象行為。劇情是發(fā)生在問題域的連續(xù)的活動序列。在對給定的問題域進(jìn)行OOA時,“框架”的概念非常有用??蚣苁菓?yīng)用或應(yīng)用子系統(tǒng)的骨架,包含一些具體或抽象的類?;蛘哒f,框架是一種特定的層次結(jié)構(gòu),包含描述某一問題域的抽象父類。當(dāng)下流行的所有OOA方法的一個缺點(diǎn)就是都缺乏一種固定的模式。1.2面向?qū)ο蟮拈_發(fā)模式面向?qū)ο笤O(shè)計:在面向?qū)ο笤O(shè)計(OOD)階段,注意的焦點(diǎn)從問題空間轉(zhuǎn)移到解空間。OOD是一種包含對所設(shè)計系統(tǒng)的邏輯和物理的過程描述,以及系統(tǒng)的靜態(tài)和動態(tài)模型的設(shè)計方法。1.2面向?qū)ο蟮拈_發(fā)模式在OOA和OOD中,都存在著對重用性的關(guān)注。目前,面向?qū)ο蠹夹g(shù)的研究人員正在嘗試定義“設(shè)計模式”這一概念。它是一種可重用的“財富”,可以應(yīng)用于不同的問題域。通常,設(shè)計模式指的是一種多次出現(xiàn)的設(shè)計結(jié)構(gòu)或解決方案。1.2面向?qū)ο蟮拈_發(fā)模式UML(UnifiedModelingLanguage,統(tǒng)一建模語言)是一種建模語言,是一種用來為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行可視化說明和編制文檔的建模方法。在面向?qū)ο缶幊讨?,?shù)據(jù)被封裝(或綁定)到使用它們的函數(shù)中,形成整體,稱為對象,對象之間通過消息相互聯(lián)系。面向?qū)ο蠼Ec設(shè)計是使用現(xiàn)實世界中的概念模型來思考問題的一種方法。對于理解問題、與應(yīng)用領(lǐng)域?qū)<医涣鳌⒔F髽I(yè)級應(yīng)用、編寫文檔、設(shè)計程序和數(shù)據(jù)庫來說,面向?qū)ο竽P投挤浅S杏谩ML的應(yīng)用領(lǐng)域很廣泛,可以用于商業(yè)建模、軟件開發(fā)建模的各個階段,也可以用于其他類型的系統(tǒng)。UML是一種通用的建模語言,具有創(chuàng)建系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為等多種結(jié)構(gòu)模型的能力。UML語言本身并不復(fù)雜,具有可擴(kuò)展性和通用性,適合為各種多變的系統(tǒng)建模。1.3UML一、UML概述
UML能夠在盡可能簡單的同時能夠滿足對實際開發(fā)需要,進(jìn)行系統(tǒng)的各個方面建模。
UML擁有足夠的表達(dá)能力以便可以處理現(xiàn)代軟件開發(fā)中出現(xiàn)的所有概念。
UML是一個通用語言,不僅僅和一種通用程序設(shè)計語言一樣,也是一個龐大的標(biāo)準(zhǔn)符號體系,提供了多種模型。
UML是用模型來描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征以及行為或動態(tài)特征的,它從不同的視角為系統(tǒng)的架構(gòu)建模形成系統(tǒng)的不同視圖(view)。在UML中主要包括的視圖為靜態(tài)視圖、用例視圖、交互視圖、實現(xiàn)視圖、狀態(tài)機(jī)視圖、活動視圖、部署視圖和模型管理視圖。1、視圖二、常用的UML元素分析視圖
靜態(tài)視圖是對在應(yīng)用領(lǐng)域中的各種概念以及與系統(tǒng)實現(xiàn)相關(guān)的各種內(nèi)部概念進(jìn)行的建模。由于這種視圖不描述與時間有關(guān)的系統(tǒng)行為所以我們稱之為是靜態(tài)的,描述與時間相關(guān)的系統(tǒng)行為我們在其他視圖中進(jìn)行描述。靜態(tài)視圖主要是由類與類之間的關(guān)系構(gòu)成。這些關(guān)系包括:關(guān)聯(lián)、泛化和依賴關(guān)系,我們又把依賴關(guān)系具體可以再分為使用和實現(xiàn)關(guān)系。1、視圖二、常用的UML元素分析靜態(tài)視圖
用例視圖描述了系統(tǒng)的參與者與系統(tǒng)進(jìn)行交互的功能,是參與者所能觀察和使用到的系統(tǒng)功能的模型圖。一個用例是系統(tǒng)的一個功能單元,是系統(tǒng)參與者與系統(tǒng)之間進(jìn)行的一次交互作用。1、視圖二、常用的UML元素分析用例視圖
交互視圖描述了執(zhí)行系統(tǒng)功能的各個角色之間相互傳遞消息的順序關(guān)系,是描繪系統(tǒng)中各種角色或功能交互的模型。交互視圖顯示了跨越多個對象的系統(tǒng)控制流程。我們通過不同對象間的相互作用來描述系統(tǒng)的行為,是通過兩種方式進(jìn)行的,一種是以獨(dú)立的對象為中心進(jìn)行描述,另外一種方式是以相互作用的一組對象為中心進(jìn)行描述。交互視圖可運(yùn)使用兩種圖的形式來表示:序列圖和協(xié)作圖。1、視圖二、常用的UML元素分析交互視圖
狀態(tài)機(jī)視圖是通過對象的各種狀態(tài)來建立模型來描述對象隨時間變化的動態(tài)行為。狀態(tài)機(jī)視圖也是通過不同對象間的相互作用來描述系統(tǒng)的行為的,不同的它是以獨(dú)立的對象為中心進(jìn)行描述。狀態(tài)機(jī)視圖中,每一個對象都擁有自己的狀態(tài),這些狀態(tài)之間的變化是通過事件進(jìn)行觸發(fā)的。對象被看成為通過事件進(jìn)行觸發(fā)并做出相應(yīng)的動作來與外界的其他對象進(jìn)行通信的獨(dú)立實體。事件表達(dá)了對象可以被使用操作,同時反映了對象狀態(tài)的變化。1、視圖二、常用的UML元素分析狀態(tài)機(jī)視圖
活動視圖是一種特殊形式的狀態(tài)機(jī)視圖,是狀態(tài)機(jī)的一個變體,用來描述執(zhí)行算法的工作流程中涉及的活動。通?;顒右晥D用于對計算流程和工作流程建模?;顒右晥D中的狀態(tài)表示計算過程中所處的各種狀態(tài)?;顒右晥D是在假定整個計算處理的過程中沒有外部事件引起的中斷的條件下進(jìn)行描述的,否則普通的狀態(tài)機(jī)更加適合于描述這種情況。1、視圖二、常用的UML元素分析活動視圖
物理視圖是對應(yīng)用自身的實現(xiàn)結(jié)構(gòu)建模,例如系統(tǒng)的構(gòu)件組織情況以及運(yùn)行節(jié)點(diǎn)的配置等等。物理視圖提供了將系統(tǒng)中的類映射成物理構(gòu)件和節(jié)點(diǎn)的機(jī)制。物理視圖提供了將系統(tǒng)中的類映射成物理構(gòu)件和節(jié)點(diǎn)的機(jī)制。系統(tǒng)模型的大部分內(nèi)容反映了系統(tǒng)的邏輯和設(shè)計方面的信息,并且獨(dú)立于系統(tǒng)的最終實現(xiàn)單元。1、視圖二、常用的UML元素分析物理視圖使用建模語言需要相應(yīng)的工具支持,工具應(yīng)提供下述功能:畫圖(drawdiagram):工具中必須提供方便作圖和為圖著色的功能,也必須具有智能,能夠理解圖的目的,知道簡單的語義和規(guī)則。這樣的特點(diǎn)帶來的便利是,當(dāng)建模者不適當(dāng)或錯誤地使用模型元素時,工具能自動告警或禁止其操作。積累(repository):工具中必須提供普通的積累功能,以便系統(tǒng)能夠把收集到的模型信息存儲下來。如果在某個圖中改變某個類的名稱,那么這種變化必須及時地反映到使用該類的所有其他圖中。導(dǎo)航(navigation):工具應(yīng)該支持易于在模型元素之間導(dǎo)航的功能,也就是使建模者能夠容易地從一個圖到另一個圖,跟蹤模型元素或擴(kuò)充對模型元素的描述。多用戶支持:工具應(yīng)能夠使多個用戶可以在一個模型上工作,且彼此之間沒有干擾。產(chǎn)生代碼(generatecode):高級的工具要有產(chǎn)生代碼的能力,該功能可以把模型中的所有信息翻譯成代碼框架,把代碼框架作為實現(xiàn)階段的基礎(chǔ)。1.4UML建模工具使用建模語言需要相應(yīng)的工具支持,工具應(yīng)提供下述功能:逆轉(zhuǎn)(reverse):高級的
工具一定要有閱讀現(xiàn)成代碼并依代碼產(chǎn)生模型的能力,即模型可由代碼生成。它與產(chǎn)生代碼是互逆的兩個過程。對開發(fā)者來說,可以用建模工具或編程方法建模。集成(integrate):工具一定要能與其他工具集成,也就是與開發(fā)環(huán)境(比如編輯器、編譯器和調(diào)試器)和企業(yè)工具(比如配置管理和版本控制系統(tǒng))等的集成。覆蓋模型的所有抽象層:工具應(yīng)該能夠容易地從對系統(tǒng)最上層的抽象描述向下導(dǎo)航至最低的代碼層。如果需要獲得類中某個具體操作的代碼,只需要在圖中單擊這個操作的名字即可。模型互換:模型或來自某個模型的個別圖應(yīng)該能夠從一個工具輸出,然后再輸入到另一個工具。就像Java代碼可在一個工具中產(chǎn)生,而后用在另一個工具中一樣。模型互換功能也應(yīng)該支持用明確定義的語言描述的模型之間的互換(輸出/輸入)。1.4UML建模工具使用建模語言需要相應(yīng)的工具支持,工具應(yīng)提供下述功能:逆轉(zhuǎn)(reverse):高級的
工具一定要有閱讀現(xiàn)成代碼并依代碼產(chǎn)生模型的能力,即模型可由代碼生成。它與產(chǎn)生代碼是互逆的兩個過程。對開發(fā)者來說,可以用建模工具或編程方法建模。集成(integrate):工具一定要能與其他工具集成,也就是與開發(fā)環(huán)境(比如編輯器、編譯器和調(diào)試器)和企業(yè)工具(比如配置管理和版本控制系統(tǒng))等的集成。覆蓋模型的所有抽象層:工具應(yīng)該能夠容易地從對系統(tǒng)最上層的抽象描述向下導(dǎo)航至最低的代碼層。如果需要獲得類中某個具體操作的代碼,只需要在圖中單擊這個操作的名字即可。模型互換:模型或來自某個模型的個別圖應(yīng)該能夠從一個工具輸出,然后再輸入到另一個工具。就像Java代碼可在一個工具中產(chǎn)生,而后用在另一個工具中一樣。模型互換功能也應(yīng)該支持用明確定義的語言描述的模型之間的互換(輸出/輸入)。1.4UML建模工具常用的UML建模工具:RationalRosePowerDesignerVisio1.4UML建模工具RationalRose:RationalRose是直接伴隨UML發(fā)展而誕生的設(shè)計工具,RationalRose一開始沒有對數(shù)據(jù)庫端建模提供支持,但是現(xiàn)在的版本中已經(jīng)加入數(shù)據(jù)庫建模功能。RationalRose對開發(fā)過程中的各種語義、模塊、對象以及流程、狀態(tài)等描述得比較好,主要體現(xiàn)在能夠從各個方面和角度進(jìn)行分析和設(shè)計,使軟件的開發(fā)藍(lán)圖更清晰、內(nèi)部結(jié)構(gòu)更加明朗(但是僅僅對那些掌握UML的開發(fā)人
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版體育賽事運(yùn)營權(quán)收購協(xié)議書范本(含贊助商權(quán)益)3篇
- 農(nóng)業(yè)科技項目2025年度市場開發(fā)與品牌建設(shè)合同3篇
- 2025版二零二五民辦學(xué)校教師職業(yè)發(fā)展規(guī)劃聘用協(xié)議4篇
- 2025年度美容美發(fā)行業(yè)技師勞動合同續(xù)簽條件合同4篇
- 2025年度美甲店品牌形象保護(hù)與侵權(quán)糾紛處理合同4篇
- 二零二五年度車牌租賃經(jīng)營合作協(xié)議范本3篇
- 2025年高科技研發(fā)中心投資合作框架協(xié)議3篇
- 2025年度綠化工程進(jìn)度跟蹤與管理合同4篇
- 2025年攤位電子支付系統(tǒng)合作協(xié)議3篇
- 2025年智能城市基礎(chǔ)設(shè)施建設(shè)土地買賣合同范例3篇
- 2025貴州貴陽市屬事業(yè)單位招聘筆試和高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年住院醫(yī)師規(guī)范化培訓(xùn)師資培訓(xùn)理論考試試題
- 期末綜合測試卷(試題)-2024-2025學(xué)年五年級上冊數(shù)學(xué)人教版
- 2024年廣東省公務(wù)員錄用考試《行測》試題及答案解析
- 結(jié)構(gòu)力學(xué)本構(gòu)模型:斷裂力學(xué)模型:斷裂力學(xué)實驗技術(shù)教程
- 黑色素的合成與美白產(chǎn)品的研究進(jìn)展
- 金蓉顆粒-臨床用藥解讀
- 法治副校長專題培訓(xùn)課件
- 《幼兒園健康》課件精1
- 汽車、電動車電池火災(zāi)應(yīng)對
- 中醫(yī)藥適宜培訓(xùn)-刮痧療法教學(xué)課件
評論
0/150
提交評論