軟件工程4-史濟(jì)民_第1頁
軟件工程4-史濟(jì)民_第2頁
軟件工程4-史濟(jì)民_第3頁
軟件工程4-史濟(jì)民_第4頁
軟件工程4-史濟(jì)民_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

湘潭大學(xué)中篇:面向?qū)ο筌浖こ痰?章面向?qū)ο笈cUML第5章需求工程與需求分析第6章面向?qū)ο蠓治龅?章面向?qū)ο笤O(shè)計(jì)第8章編碼與測(cè)試第4章面向?qū)ο笈cUML面向?qū)ο蟾攀鯱ML簡(jiǎn)介靜態(tài)建模動(dòng)態(tài)建模物理架構(gòu)建模UML工具4.1面向?qū)ο蟾攀雒嫦驅(qū)ο笫且詥栴}空間中出現(xiàn)的事物為中心進(jìn)行模型化的一種技術(shù)。UML是OO軟件工程使用的統(tǒng)一建模語言,是一種圖形化的語言。面向?qū)ο蟾攀鰧?duì)象的概念對(duì)象代表客觀世界中實(shí)際或抽象的事物,每個(gè)對(duì)象都包含一定的特征和服務(wù)功能??陀^世界是由各種對(duì)象組成的,對(duì)象可以分解,復(fù)雜對(duì)象可以由比較簡(jiǎn)單的對(duì)象構(gòu)成。計(jì)算機(jī)世界,對(duì)象定義為數(shù)據(jù)以及在其上的操作的封裝體。是客觀世界在計(jì)算機(jī)中的邏輯表示。一個(gè)對(duì)象是具有唯一對(duì)象名和固定對(duì)外接口的一組屬性和操作的集合。屬性表示對(duì)象的靜態(tài)特征;方法或操作描述對(duì)象的動(dòng)態(tài)行為;對(duì)外接口是對(duì)象與外界通信的通道,對(duì)象之間通過消息的傳遞相互作用。類的概念類是一組相似的對(duì)象的共性抽象,是創(chuàng)建對(duì)象的模板。在現(xiàn)實(shí)世界,類是一組客觀對(duì)象的抽象。在計(jì)算機(jī)世界,類是實(shí)現(xiàn)抽象數(shù)據(jù)類型的工具。類與對(duì)象的關(guān)系抽象與具體的關(guān)系;組成類的每個(gè)對(duì)象都是該類的實(shí)例;實(shí)例是類的具體事物;類是各個(gè)實(shí)例的綜合抽象。面向?qū)ο蟮幕咎卣鞒橄笤谀硞€(gè)重要的或想關(guān)注的方面來表示某個(gè)物體或概念。忽略主題中與當(dāng)前目標(biāo)無關(guān)的方面。封裝把操作和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只通過已定義的接口來完成。繼承類之間的“isa”或“islike”關(guān)系。類層次,定義一個(gè)新類,可以從現(xiàn)有的類中派生出來。子類可以從父類繼承方法和屬性。多態(tài)

不同類的對(duì)象可以對(duì)同一消息作出響應(yīng),執(zhí)行不同的處理。--面向?qū)ο箝_發(fā)的優(yōu)點(diǎn)面向?qū)ο蠓先祟惲?xí)慣的思維方式OO開發(fā)的優(yōu)點(diǎn)提高軟件系統(tǒng)的可復(fù)用性提高軟件系統(tǒng)的可擴(kuò)展性提高軟件系統(tǒng)的可維護(hù)性4.2UML簡(jiǎn)介UnifiedModelingLanguage(統(tǒng)一建模語言)近10多年來OOSE最重要的成果貢獻(xiàn)者:GradyBooch,IvarJacobson,JimRumbaugh中文網(wǎng)站http://www.UML的組成UML的模型元素,有兩類:一類表示模型中的某個(gè)概念類對(duì)象構(gòu)件用例結(jié)點(diǎn)(node)接口(interface)包(package)注釋(note)UML的組成一類表示模型元素之間的關(guān)系關(guān)聯(lián)、泛化、依賴、實(shí)現(xiàn)、聚集和組合。關(guān)聯(lián):模型元素實(shí)例之間的固定對(duì)應(yīng)關(guān)系,永久的結(jié)構(gòu)關(guān)系。泛化:表示一般與特殊的關(guān)系,“一般”元素是“特殊”元素的泛化,“特殊”元素是“一般”元素的特化。依賴:表示一個(gè)元素以某種方式依賴于另一個(gè)元素,為短暫性關(guān)系。實(shí)現(xiàn):表示接口和實(shí)現(xiàn)它的模型元素之間的關(guān)系。聚集:表示“整體”與“部分”關(guān)系,“部分”元素是“整體”元素的一部分。組合:表示“整體”與“部分”關(guān)系,“部分”不能獨(dú)立于“整體”而存在。UML的組成UML的元模型結(jié)構(gòu)(四個(gè)層次)元元模型層:元元模型定義用于描述元模型的語言,是任何模型的基礎(chǔ)。元模型層:元模型定義了用于描述模型的語言,組成了UML的基本元素,包括面向?qū)ο蠛蜆?gòu)件的概念。元模型是元元模型的一個(gè)實(shí)例。模型層:模型定義了用于描述信息領(lǐng)域的語言,組成了UML的模型。用戶模型層:用戶模型是模型的實(shí)例,用于表達(dá)一個(gè)模型的特定情況。下一層是上一層的基礎(chǔ),上一層是下一層的實(shí)例。用戶模型元模型模型元元模型圖和視圖UML用模型描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征以及行為或動(dòng)態(tài)特征。UML從不同的視角為系統(tǒng)建模,形成不同的視圖,每個(gè)視圖由一組圖構(gòu)成,圖中包含了強(qiáng)調(diào)系統(tǒng)中某一方面的信息,顯示了系統(tǒng)中某一特定的方面。UML的組成圖是系統(tǒng)架構(gòu)在某個(gè)側(cè)面的表示,有兩類:靜態(tài)圖用例圖:描述系統(tǒng)功能;類圖:描述系統(tǒng)的靜態(tài)結(jié)構(gòu);對(duì)象圖:描述系統(tǒng)在某個(gè)時(shí)刻的靜態(tài)結(jié)構(gòu);構(gòu)件圖:描述實(shí)現(xiàn)系統(tǒng)的元素的組織;部署圖:描述系統(tǒng)環(huán)境元素的配置,也稱配置圖。動(dòng)態(tài)圖狀態(tài)圖:描述系統(tǒng)元素的狀態(tài)條件和響應(yīng);時(shí)序圖:按時(shí)間順序描述系統(tǒng)元素間的交互;協(xié)作圖:按照連接關(guān)系描述系統(tǒng)元素間的交互;活動(dòng)圖:描述系統(tǒng)元素的活動(dòng)流程。UML的組成視圖用例視圖:從用戶的角度看到的系統(tǒng)應(yīng)有的外部功能。用用例圖描述,用活動(dòng)圖進(jìn)一步描述其中的實(shí)例。邏輯視圖:描述系統(tǒng)的靜態(tài)結(jié)構(gòu)和對(duì)象間的動(dòng)態(tài)協(xié)作關(guān)系。靜態(tài)結(jié)構(gòu)用類圖和對(duì)象圖描述,動(dòng)態(tài)行為用狀態(tài)圖、時(shí)序圖、協(xié)作圖和活動(dòng)圖表示。進(jìn)程視圖:展示系統(tǒng)的動(dòng)態(tài)行為及其并發(fā)性。用狀態(tài)圖、時(shí)序圖、協(xié)作圖、活動(dòng)圖、構(gòu)件圖和部署圖表示。構(gòu)件視圖:展示系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征。用構(gòu)件圖表示。部署視圖:顯示系統(tǒng)的實(shí)現(xiàn)環(huán)境和構(gòu)件被部署到物理結(jié)構(gòu)中的映射。用部署圖描述。UML的特點(diǎn)統(tǒng)一標(biāo)準(zhǔn)面向?qū)ο蟊磉_(dá)能力強(qiáng)大可視化UML的應(yīng)用用于描述系統(tǒng)開發(fā)的不同類型于不同階段,從需求分析到軟件設(shè)計(jì)到軟件測(cè)試及維護(hù)。主要作用:可視化問題描述,幫助理解問題。幫助建立各階段的文檔。獲取和交流有關(guān)應(yīng)用問題求解的知識(shí)。輔助構(gòu)建系統(tǒng)。4.3靜態(tài)建模UML的靜態(tài)建模機(jī)制包括用例圖、類圖和對(duì)象圖。用例模型用例圖表示從最終用戶的角度描述系統(tǒng)功能類和對(duì)象模型類圖和對(duì)象圖表示表示系統(tǒng)的靜態(tài)結(jié)構(gòu)用例圖與用例模型用例圖的組成符號(hào)系統(tǒng)名稱系統(tǒng)邊界用例名用例參與者關(guān)聯(lián)建立用例圖保險(xiǎn)商務(wù)系統(tǒng)用例圖保險(xiǎn)商務(wù)系統(tǒng)簽定保險(xiǎn)單銷售統(tǒng)計(jì)客戶統(tǒng)計(jì)客戶保險(xiǎn)銷售員用例之間的關(guān)系用例之間主要存在兩種關(guān)系:擴(kuò)展關(guān)系根據(jù)指定的條件,一個(gè)用例中有可能加入另一個(gè)用例的動(dòng)作。包含關(guān)系一個(gè)用例的行為包含另一個(gè)用例的行為,可把若干用例的相同行為抽取成單獨(dú)一個(gè)用例,即抽象用例。《擴(kuò)展》簽保險(xiǎn)單簽汽車購買合同《使用》《使用》簽保險(xiǎn)單簽汽車保險(xiǎn)單簽房屋保險(xiǎn)單類圖ClassDiagram類圖表示類以及類之間的關(guān)系。學(xué)生姓名:string學(xué)號(hào):string書書名:string價(jià)格:real 1 購買

0..*

屬于

類名屬性(可省略)方法(可省略)類屬性的語法:可見性屬性名:類型=默認(rèn)值{約束特性}可見性:Public(+),Private(-),Protected(#)Public(+)表示所以的對(duì)象都可以訪問;Private(-)表示只有類本身的對(duì)象可以訪問;Protected(#)表示類本身及其子類的對(duì)象可以訪問。方法(操作)的語法:可見性操作名(參數(shù)表):返回類型{約束特性}對(duì)象圖ObjectDiagram對(duì)象是類的實(shí)例,對(duì)象圖可看做是類圖的實(shí)例,對(duì)象之間的鏈?zhǔn)穷愔g的關(guān)聯(lián)的實(shí)例。對(duì)象圖常用于表示復(fù)雜的類圖的一個(gè)實(shí)例。王平:學(xué)生姓名:王平學(xué)號(hào):020106英語:書書名:英語價(jià)格:26.5數(shù)學(xué):書書名:數(shù)學(xué)價(jià)格:21.8對(duì)象名屬性值鏈類圖表示類間關(guān)系關(guān)聯(lián)關(guān)系

(Association)

類之間存在的語義上的關(guān)系普通關(guān)聯(lián)、遞歸關(guān)聯(lián)、多重關(guān)聯(lián)等關(guān)聯(lián)類兩個(gè)類之間的關(guān)聯(lián)是多對(duì)多時(shí),可以把該關(guān)聯(lián)定義成關(guān)聯(lián)類。關(guān)聯(lián)類也可以有屬性、操作和其他的關(guān)聯(lián)。聚集關(guān)系(Aggregation)

特殊的關(guān)聯(lián):整體-部分組合關(guān)系(Composition)特殊的聚集:整體強(qiáng)烈擁有部分泛化關(guān)系(Generalization)

繼承依賴關(guān)系(Dependency)

對(duì)一個(gè)類/對(duì)象的修改會(huì)影響另一個(gè)類/對(duì)象關(guān)聯(lián)關(guān)系1..*工人管理老板0..1員工遞歸關(guān)聯(lián)機(jī)器產(chǎn)品三重關(guān)聯(lián)工人角色名角色名學(xué)生姓名:string學(xué)號(hào):string書書名:string價(jià)格:real普通關(guān)聯(lián)關(guān)聯(lián)類用戶工作站授權(quán)優(yōu)先級(jí)特權(quán)0…*

授權(quán)0..*聚集和組合一般聚集也稱共享聚集,特征是“部分”對(duì)象可以是多個(gè)任意“整體”對(duì)象的一部分。成員課題組個(gè)人聚集關(guān)系窗口標(biāo)題外框顯示區(qū)組合關(guān)系泛化關(guān)系泛化也稱為繼承,UML對(duì)泛化有3個(gè)要求:一般元素所具有的關(guān)聯(lián)、屬性和操作,特殊元素也都隱含地具有。特殊元素應(yīng)包含額外信息。允許使用特殊元素實(shí)例的地方,也應(yīng)能使用一般元素。泛化又分為普通泛化和限制泛化。泛化關(guān)系交通工具{abstract}船車轎車卡車客車依賴關(guān)系設(shè)X,Y是兩個(gè)元素,如果修改X的定義可能會(huì)引起對(duì)Y的定義的修改,則稱Y依賴于X。例如某個(gè)類中使用另一類的對(duì)象作為操作中的參數(shù)等。圖中是類B依賴類A。類B類A約束與派生約束和派生機(jī)制能應(yīng)用于任何模型元素用花括號(hào)括起放在模型元素旁邊典型的屬性約束是該屬性的取值范圍派生屬性可由其它屬性通過某種方式計(jì)算得到,通常在派生屬性前面加一個(gè)“/”表示關(guān)聯(lián)關(guān)系可以被約束,也可以被派生類圖的例子包圖包是UML將一些模型元素組織成語義上相關(guān)的組的分組機(jī)制。形成一個(gè)高內(nèi)聚、低耦合的類的集合。包之間的關(guān)系可以是依賴和泛化。子系統(tǒng)A子系統(tǒng)D子系統(tǒng)B子系統(tǒng)C子系統(tǒng)E子系統(tǒng)F4.4動(dòng)態(tài)建模UML也提供了描述系統(tǒng)動(dòng)態(tài)行為的圖形工具,用于描述系統(tǒng)中的對(duì)象在執(zhí)行期間的不同時(shí)間點(diǎn)是如何進(jìn)行動(dòng)態(tài)交互的。消息(Message)狀態(tài)圖(StateDiagram)時(shí)序圖(SequenceDiagram)協(xié)作圖(CollaborationDiagram)活動(dòng)圖(ActivityDiagram)消息消息類型:簡(jiǎn)單消息:表示簡(jiǎn)單的控制流,描述控制如何在對(duì)象間傳遞,不考慮通信的細(xì)節(jié)。同步消息:表示嵌套的控制流。操作的調(diào)用是一種典型的同步消息。調(diào)用者發(fā)出消息后必須等待消息返回,只有當(dāng)處理消息的操作執(zhí)行完畢后,調(diào)用者才能繼續(xù)執(zhí)行自己的操作。異步消息:表示異步控制流。當(dāng)調(diào)用者發(fā)出消息后,不用等待消息的返回即可繼續(xù)自己的操作。同步消息異步消息簡(jiǎn)單消息狀態(tài)圖圖3.7狀態(tài)圖中使用的主要符號(hào)狀態(tài)1狀態(tài)變量1活動(dòng)表1狀態(tài)2狀態(tài)變量2活動(dòng)表2事件表達(dá)式狀態(tài)圖StateDiagram超時(shí)到達(dá)下樓上樓到達(dá)上樓到達(dá)在底樓向上移動(dòng)向底樓移動(dòng)向下移動(dòng)空閑狀態(tài)圖之間發(fā)送消息Off()play()stop()On()CD機(jī)Off()/stop()stop()Off()On()stop()play()On()Off()遙控器關(guān)開關(guān)

開/停止開/播放play()時(shí)序圖(SequenceDiagram)時(shí)序圖:著重體現(xiàn)對(duì)象間消息傳遞的時(shí)間順序。消息可以是信號(hào)或操作調(diào)用。[打印機(jī)忙]保存文件[打印機(jī)就緒]打印文件打印文件打印文件計(jì)算機(jī)打印服務(wù)器打印隊(duì)列打印機(jī)對(duì)象對(duì)象生命線對(duì)象激活消息條件表達(dá)式協(xié)作圖(CollaborationDiagram)協(xié)作圖:描述對(duì)象間的交互和鏈接。與時(shí)序圖著重體現(xiàn)交互的時(shí)間順序不同,協(xié)作圖著重體現(xiàn)交互對(duì)象間的靜態(tài)鏈接。消息串的語法規(guī)則:前綴守衛(wèi)條件序列表達(dá)式返回值:=說明[打印機(jī)忙]2.2:保存文件[打印機(jī)就緒]2.1:打印文件1:打印文件計(jì)算機(jī)打印隊(duì)列打印服務(wù)器打印機(jī)消息流消息串鏈活動(dòng)圖ActivityDiagram活動(dòng)圖:顯示動(dòng)作流程及其結(jié)果。描述操作的行為或用例和對(duì)象內(nèi)部的工作過程。購買處理顧客銷售部門處理銷售支付貨款庫存處理發(fā)送商品收取商品水未開水開了打開信號(hào)接通電源加熱顯示燈亮水壺?cái)嚯娋W(wǎng)上購物活動(dòng)圖電水壺?zé)幕顒?dòng)圖4.5物理架構(gòu)建模邏輯架構(gòu)和物理架構(gòu)物理架構(gòu)詳細(xì)描述系統(tǒng)的軟件和硬件,試圖有效地利用軟硬件資源,并解決以下問題:類和對(duì)象物理上分布在哪一個(gè)程序或進(jìn)程中。程序或進(jìn)程在哪臺(tái)計(jì)算機(jī)上運(yùn)行。系統(tǒng)中有哪些計(jì)算機(jī)和其他硬件,它們是如何連接的。不同的代碼之間有何關(guān)聯(lián),如果一個(gè)文件有改變,其他文件是否需要重新編譯。構(gòu)件圖配置圖構(gòu)件圖ComponentDiagram構(gòu)件圖顯示軟件構(gòu)件之間的依賴關(guān)系,可以用來表現(xiàn)編譯、鏈接或執(zhí)行時(shí)構(gòu)件之間的依賴關(guān)系。一般來說,軟件構(gòu)件是一個(gè)實(shí)際文件。下圖描述了Basket.java的源代碼依賴于Goods.java的源代碼。部署圖DeploymentDiagram部署圖描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及在此結(jié)構(gòu)上執(zhí)行的軟件。結(jié)點(diǎn)和連接、構(gòu)件和接口結(jié)點(diǎn)和連接結(jié)點(diǎn)代表一個(gè)物理設(shè)備以及其上運(yùn)行的軟件系統(tǒng)。結(jié)點(diǎn)之間的連線表示系統(tǒng)之間進(jìn)行交互的通信路徑。構(gòu)件和接口部署圖中的構(gòu)件代表可執(zhí)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論