chapter01-基礎(chǔ)知識(shí)_第1頁(yè)
chapter01-基礎(chǔ)知識(shí)_第2頁(yè)
chapter01-基礎(chǔ)知識(shí)_第3頁(yè)
chapter01-基礎(chǔ)知識(shí)_第4頁(yè)
chapter01-基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、教材教材:UML基礎(chǔ)與Rose建模案例覃海煥,基礎(chǔ)知識(shí)基礎(chǔ)知識(shí)軟件工程、面向?qū)ο蠹夹g(shù)UML語(yǔ)言及建模方法語(yǔ)言及建模方法UML構(gòu)成 4+1視圖、9種圖、模型元素、關(guān)系、通用機(jī)制UML建模方法應(yīng)用應(yīng)用Rose進(jìn)行進(jìn)行UML建模建模UML與統(tǒng)一開(kāi)發(fā)過(guò)程與統(tǒng)一開(kāi)發(fā)過(guò)程UML建模案例建模案例UML基礎(chǔ)與基礎(chǔ)與Rose建模教程建模教程蔡敏等編著,人民郵電出版社,2006年。大篇幅介紹Rose的使用,適于入門(mén)。UML面向?qū)ο蠓治雠c設(shè)計(jì)教程面向?qū)ο蠓治雠c設(shè)計(jì)教程胡荷芬等編著,清華大學(xué)出版社,2012年。依據(jù)UML與面向?qū)ο缶幊陶Z(yǔ)言,結(jié)合實(shí)際案例,深入全面地探討了軟件建模的概念、規(guī)范和方法。UML參考手冊(cè)參考手

2、冊(cè)James Rumbaugh, Ivar Jacobson, Grady booch (UML三劍客) 編著。最經(jīng)典的介紹UML的書(shū)籍,適于深入理解。UML相關(guān)網(wǎng)站,有大量相關(guān)的資源和討論相關(guān)網(wǎng)站,有大量相關(guān)的資源和討論/IBM公司,了解公司,了解Rational軟件與軟件與UMLhttps:/ 平時(shí)平時(shí)10%實(shí)驗(yàn)考查實(shí)驗(yàn)考查40%期末考試期末考試50%1.1 軟件工程概述軟件工程概述 1.2 建模的目的建模的目的 1.3 UML概述概述1.1.1 軟件工程的發(fā)展歷史軟件工程的發(fā)展歷史1.1.2 軟件工程的生命周期軟件工程的生命周期 46年第一臺(tái)電子計(jì)算機(jī)在

3、美國(guó)研制成功后,50年代,軟件誕生。程序功能單一,大多由使用者自己編寫(xiě),極具個(gè)人特色60年代中期-70年代中期,軟件業(yè)進(jìn)入大發(fā)展時(shí)期軟件規(guī)模急劇膨脹,軟件需求日趨復(fù)雜 維護(hù)難度越來(lái)越大、開(kāi)發(fā)成本以指數(shù)級(jí)增長(zhǎng)、用戶(hù)對(duì) 已完成的軟件系統(tǒng)不滿(mǎn)意、失敗的軟件項(xiàng)目比比皆是如何開(kāi)發(fā)軟件,才能滿(mǎn)足不斷增長(zhǎng)的、日趨復(fù)雜的要求?如何使得規(guī)模日漸龐大的軟件產(chǎn)品可維護(hù)?1968年,北大西洋公約召集的會(huì)議主張通過(guò)工程化的方法開(kāi)發(fā)軟件來(lái)解決軟件危機(jī),提出了“軟件工程” 概念,后發(fā)展成了一門(mén)學(xué)科。軟件工程:軟件工程:一門(mén)建立在系統(tǒng)化、規(guī)范化、數(shù)量化等工程原則和方法上的,關(guān)于軟件開(kāi)發(fā)各階段的定義、任務(wù)和作用的工程學(xué)科。軟件

4、開(kāi)發(fā)技術(shù),包括:軟件開(kāi)發(fā)方法學(xué)、軟件工具和軟件工程環(huán)境。軟件項(xiàng)目管理,包括:軟件度量、項(xiàng)目估算、進(jìn)度控制、人員組織、配置管理和項(xiàng)目計(jì)劃等。經(jīng)典的軟件工程思想將軟件開(kāi)發(fā)分為經(jīng)典的軟件工程思想將軟件開(kāi)發(fā)分為5個(gè)階個(gè)階段:段: 需求捕獲 (Requirements Capture) 階段系統(tǒng)分析與設(shè)計(jì) (System Analysis and Design)階段系統(tǒng)實(shí)現(xiàn) (Implementation) 階段測(cè)試 (Testing) 階段維護(hù) (Maintenance) 階段 需求捕獲階段需求捕獲階段捕獲用戶(hù)對(duì)系統(tǒng)在功能、行為、性能和設(shè)計(jì)約束等方面的期望,通過(guò)分析、建模,最終形成需求規(guī)格說(shuō)明書(shū)。是整

5、個(gè)開(kāi)發(fā)過(guò)程的基礎(chǔ),所占比例不斷提高。系統(tǒng)分析與設(shè)計(jì)階段系統(tǒng)分析與設(shè)計(jì)階段分析用戶(hù)需求并設(shè)計(jì)系統(tǒng)的內(nèi)部結(jié)構(gòu)。通常系統(tǒng)分析與需求捕獲同時(shí)進(jìn)行,而系統(tǒng)設(shè)計(jì)則在系統(tǒng)分析之后進(jìn)行。系統(tǒng)實(shí)現(xiàn)階段系統(tǒng)實(shí)現(xiàn)階段編碼階段,所占比例在逐漸縮小。測(cè)試階段測(cè)試階段通過(guò)各種測(cè)試思想、方法和工具,使軟件的Bug降到最低。也是驗(yàn)收軟件是否符合用戶(hù)需求的一種手段。維護(hù)階段維護(hù)階段 軟件產(chǎn)品交付之后進(jìn)行的修改工作。維護(hù)問(wèn)題仍然是軟件開(kāi)發(fā)中所面臨的最大問(wèn)題。1.1 軟件工程概述軟件工程概述 1.2 建模的目的建模的目的 1.2.1 建模的重要性 1.2.2 建模四原則 1.2.3 面向?qū)ο蠼?1.3 UML概述概述對(duì)建模的使用

6、是軟件成功的一個(gè)基本因素。對(duì)建模的使用是軟件成功的一個(gè)基本因素。模型的實(shí)質(zhì):模型的實(shí)質(zhì):對(duì)現(xiàn)實(shí)的簡(jiǎn)化。 建模的目標(biāo)建模的目標(biāo) :(1)便于展現(xiàn)系統(tǒng)。(2)允許指定系統(tǒng)的結(jié)構(gòu)或行為。(3)提供構(gòu)造系統(tǒng)的模板。(4)記錄決策。 越龐大的系統(tǒng),建模的意義越越龐大的系統(tǒng),建模的意義越大。大。認(rèn)真選擇模型。認(rèn)真選擇模型。 每個(gè)模型可以有多種表達(dá)方式。每個(gè)模型可以有多種表達(dá)方式。 不同的使用者希望從不同的視角描述、了解系統(tǒng)最好的模型總是能夠切合實(shí)際。最好的模型總是能夠切合實(shí)際。在簡(jiǎn)化現(xiàn)實(shí)的過(guò)程中不要掩蓋掉重要的細(xì)節(jié) 孤立的模型是不完整的。任何好的系統(tǒng)都孤立的模型是不完整的。任何好的系統(tǒng)都是由一些幾乎獨(dú)立的

7、模型拼湊出來(lái)的。是由一些幾乎獨(dú)立的模型拼湊出來(lái)的。 兩種最常用的建模方法:兩種最常用的建模方法:基于算法方法(過(guò)程)建模 主要模塊為程序或函數(shù) 隨著需求的變化和系統(tǒng)的增長(zhǎng),運(yùn)用此方法建立起來(lái)的系統(tǒng)很難維護(hù)面向?qū)ο蠼?主要的模塊為對(duì)象或者類(lèi)。 1.1 軟件工程概述軟件工程概述 1.2 建模的目的建模的目的 1.3 UML概述概述1.3.1 UML的歷史1.3.2 UML包含的內(nèi)容1.3.3 UML的定義1.3.4 UML的應(yīng)用領(lǐng)域從70年代中期到1994年,出現(xiàn)了眾多的面向?qū)ο蠼UZ(yǔ)言。用戶(hù)難以選擇適合的語(yǔ)言。90年代中期,建模語(yǔ)言走向成熟,代表語(yǔ)言包括Booch 1993、OOSE、OMT-

8、2等,其中,Booch 1993:提出了面向?qū)ο筌浖こ痰母拍?,適合于系統(tǒng)分析和構(gòu)造OOSE (Jacobson):提出了面向用例的概念,引入了外部角色的概念,適合支持商業(yè)工程和需求分析OMT-2 (Rumbaugh):用對(duì)象模型、動(dòng)態(tài)模型、功能模型和用例模型共同完成對(duì)整個(gè)系統(tǒng)的建模,適用于分析和描述以數(shù)據(jù)為中心的信息系統(tǒng)Coad/Yourdon:最早的面向?qū)ο蠓椒?,但處理能力有?4年,Booch和Rumbaugh首先致力于Booch1993和OMT-2的統(tǒng)一。95年,Jacobson加入。之后成立了UML成員協(xié)會(huì),以完善、加強(qiáng)和促進(jìn)UML的定義工作,陸續(xù)發(fā)布了UML1.0、 UML1.1等

9、,目前最新版本為UML 2.5??稍诰W(wǎng)站下載。UML作為一種標(biāo)準(zhǔn)建模語(yǔ)言,其內(nèi)容包含:作為一種標(biāo)準(zhǔn)建模語(yǔ)言,其內(nèi)容包含:UML語(yǔ)義:描述基于UML的精確元模型定義。UML表示法:定義UML符號(hào)的表示法,在語(yǔ)義上是UML元模型的實(shí)例。UML的主要作用:的主要作用:幫助用戶(hù)對(duì)軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒?。通過(guò)建立各種模型元素間的聯(lián)系來(lái)組件整個(gè)結(jié)構(gòu)模型。通過(guò)各種圖形把這些模型元素及其關(guān)系可視化,使模型更易于理解。提供多種模型視圖,使人們可以從多個(gè)視角來(lái)考察模型。1. 視圖視圖:系統(tǒng)某一方面特性的描述。包括:用例視圖、邏輯視圖、并發(fā)視圖、組件視圖和配置視圖2. 圖圖:UML模型的圖形化呈現(xiàn)UML通

10、常提供9種基本的圖,包括用例圖、類(lèi)圖等3. 模型元素模型元素:UML的基本構(gòu)造塊,包括:事物和事物之間的聯(lián)系4. 通用機(jī)制:通用機(jī)制:為模型元素提供額外的注釋、信息和語(yǔ)義,可進(jìn)行擴(kuò)展UML的的5種視圖:種視圖:用例視圖 (Use Case View):外部用戶(hù)所能觀(guān)察到的系統(tǒng)功能的模型圖。邏輯視圖 (Logical View):系統(tǒng)的靜態(tài)或結(jié)構(gòu)組成及特征。也稱(chēng)結(jié)構(gòu)模型視圖或靜態(tài)視圖。并發(fā)視圖 (Concurrency View):系統(tǒng)的動(dòng)態(tài)或行為特征。也稱(chēng)為行為模型視圖或動(dòng)態(tài)視圖。組件視圖 (Component View):系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征。也稱(chēng)為實(shí)現(xiàn)模型視圖。配置視圖 (Deploy

11、ment View):系統(tǒng)實(shí)現(xiàn)環(huán)境的結(jié)構(gòu)和行為特征。也稱(chēng)為物理視圖。視圖由圖構(gòu)成,視圖由圖構(gòu)成,UML提供了提供了9種圖:種圖:(1)用例圖 (Use Case Diagram):系統(tǒng)功能(2)類(lèi)圖 (Class Diagram):系統(tǒng)的靜態(tài)結(jié)構(gòu)(3)對(duì)象圖 (Object Diagram):系統(tǒng)在某個(gè)時(shí)刻 的靜態(tài)結(jié)構(gòu)(4)時(shí)序圖 (Sequence Diagram):按時(shí)間順序 描述系統(tǒng)元素間的交互(5)協(xié)作圖 (Collaboration Diagram):描述交互 中的系統(tǒng)元素及它們之間的消息鏈視圖由圖構(gòu)成,視圖由圖構(gòu)成,UML提供了提供了9種圖種圖(6)狀態(tài)圖 (State Diagr

12、am):系統(tǒng)元素的狀態(tài) 條件和響應(yīng)(7)活動(dòng)圖 (Activity Diagram):系統(tǒng)元素的活動(dòng)(8)組件圖 (Component Diagram):實(shí)現(xiàn)系統(tǒng)的 元素的組織(9)配置圖 (Deployment Diagram):環(huán)境元素的配 置,及實(shí)現(xiàn)系統(tǒng)的元素與元素配置間的映射靜態(tài)建模機(jī)制靜態(tài)建模機(jī)制用例圖、類(lèi)圖、對(duì)象圖、包、組件圖和配置圖動(dòng)態(tài)建模機(jī)制動(dòng)態(tài)建模機(jī)制消息、狀態(tài)圖、時(shí)序圖、協(xié)作圖和活動(dòng)圖UML可以對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的可以對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行建模系統(tǒng)進(jìn)行建模最常用于建立軟件系統(tǒng)的模型適用于從需求規(guī)格描述道測(cè)試的不同階段適用于從需求規(guī)格描述道測(cè)試的不同

13、階段需求分析階段:用例分析階段:類(lèi)圖、類(lèi)之間的協(xié)作(動(dòng)態(tài)模型)設(shè)計(jì)階段:技術(shù)細(xì)節(jié)的類(lèi)測(cè)試階段:提供測(cè)試依據(jù)。單元測(cè)試類(lèi)圖和類(lèi)規(guī)格說(shuō)明;集成測(cè)試組件圖和協(xié)作圖;系統(tǒng)測(cè)試用例圖1 面向?qū)ο蠹夹g(shù)概述面向?qū)ο蠹夹g(shù)概述 1.1 面向?qū)ο蟮幕靖拍?.2 面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言 2 面向?qū)ο蟮姆治龊驮O(shè)計(jì)面向?qū)ο蟮姆治龊驮O(shè)計(jì)3 基于基于UML的面向?qū)ο蠓治?、設(shè)計(jì)過(guò)程的面向?qū)ο蠓治?、設(shè)計(jì)過(guò)程 Coad和和Yourdon:面向?qū)ο竺嫦驅(qū)ο?對(duì)象對(duì)象+類(lèi)類(lèi)+繼承繼承+通信通信 使用這4個(gè)概念進(jìn)行設(shè)計(jì)并加以實(shí)現(xiàn)的軟件系統(tǒng)面向?qū)ο蟮能浖到y(tǒng)面向?qū)ο蠹夹g(shù)的基本觀(guān)點(diǎn)面向?qū)ο蠹夹g(shù)的基本觀(guān)點(diǎn):(1)客觀(guān)世界由對(duì)象對(duì)象組成,任何客

14、觀(guān)實(shí)體都是對(duì)象,復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象組成。(2)具有相同數(shù)據(jù)和操作的對(duì)象可歸納成類(lèi)類(lèi),對(duì)象是類(lèi)的一個(gè)實(shí)例。(3)類(lèi)可以派生出子類(lèi),子類(lèi)除了繼承繼承父類(lèi)的全部特性外還可以有自己的特性。(4)對(duì)象之間的聯(lián)系聯(lián)系通過(guò)消息傳遞消息傳遞來(lái)維系。面向?qū)ο蟮暮诵脑孛嫦驅(qū)ο蟮暮诵脑? 對(duì)象 封裝 消息 類(lèi) 繼承 多態(tài)性 結(jié)構(gòu)與連接 一個(gè)對(duì)象代表了客觀(guān)世界里的一個(gè)實(shí)體一個(gè)對(duì)象代表了客觀(guān)世界里的一個(gè)實(shí)體自然實(shí)體:具體的有形的物,如人、汽車(chē);或概念實(shí)體:無(wú)形的事物或概念,如規(guī)則、計(jì)劃對(duì)象從不同的角度看有不同的含義對(duì)象從不同的角度看有不同的含義問(wèn)題論域:對(duì)象指現(xiàn)實(shí)世界中的一個(gè)事物。建模和實(shí)現(xiàn):對(duì)象是問(wèn)題域或?qū)崿F(xiàn)

15、域中某些事物的抽象,是一個(gè)封裝數(shù)據(jù)屬性和操作行為的實(shí)體。 系統(tǒng)中的對(duì)象在軟件生命周期的各個(gè)階段可能有不同的表示形式對(duì)象的特征:對(duì)象的特征:?jiǎn)栴}論域:一個(gè)對(duì)象所包含的特性和行為系統(tǒng):一個(gè)對(duì)象所包含的數(shù)據(jù)(屬性)和所有提供的功能(操作)復(fù)雜的對(duì)象可由相對(duì)簡(jiǎn)單的對(duì)象以某種方法組成。對(duì)象之間通過(guò)消息通信封裝:封裝:將屬性和操作封進(jìn)一個(gè)對(duì)象里,使得對(duì)內(nèi)部信息的訪(fǎng)問(wèn)只能通過(guò)對(duì)象提供的有限接口進(jìn)行。封裝有兩個(gè)含義:封裝有兩個(gè)含義:結(jié)合性信息隱蔽性封裝是面向?qū)ο蠓椒ǖ囊粋€(gè)重要原則,其基本單位是對(duì)象。消息:消息:向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求。一個(gè)消息包含消息名、接受對(duì)象的標(biāo)志、服務(wù)標(biāo)志、輸入信息、回答信息等。 消息傳遞

16、:消息傳遞:對(duì)象間的通信機(jī)制一個(gè)對(duì)象向另一個(gè)對(duì)象o發(fā)送消息請(qǐng)求其服務(wù),消息包含請(qǐng)求執(zhí)行該項(xiàng)服務(wù)的信息o接收到消息后,解釋執(zhí)行該消息,然后給予響應(yīng)對(duì)象間的協(xié)作通過(guò)消息傳遞進(jìn)行對(duì)象間的協(xié)作通過(guò)消息傳遞進(jìn)行36類(lèi):類(lèi):是對(duì)象的抽象,是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象的集合??陀^(guān)世界實(shí)際存在的都是對(duì)象,而不是類(lèi) 。類(lèi)和對(duì)象的關(guān)系類(lèi)和對(duì)象的關(guān)系 類(lèi)是對(duì)象的模板,基于類(lèi)可以生成多個(gè)具有不同屬性值的對(duì)象。一個(gè)具體的對(duì)象是類(lèi)的一個(gè)實(shí)例。示例:類(lèi):學(xué)生,對(duì)象:張三、李四等繼承:繼承:指子類(lèi)可以自動(dòng)擁有父類(lèi)的全部屬性與操作的機(jī)制。 子類(lèi)又稱(chēng)派生類(lèi),父類(lèi)又稱(chēng)超類(lèi)或基類(lèi)表示:表示:帶實(shí)心三角形的 實(shí)線(xiàn),箭頭指向父

17、類(lèi)。繼承性又繼承性又分為單重繼承和多重繼承兩類(lèi)分為單重繼承和多重繼承兩類(lèi)。 繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言不同于其他語(yǔ)言的最主要的特點(diǎn)。繼承機(jī)制可提高軟件的可重用性。多態(tài)性:多態(tài)性:同一操作作用于不同的對(duì)象,可以有不同的解釋?zhuān)a(chǎn)生不同的執(zhí)行結(jié)果。例如“畫(huà)”操作,作用于“矩形”對(duì)象,則在屏幕上畫(huà)一個(gè)矩形,作用于“圓”對(duì)象,則畫(huà)一個(gè)圓。根據(jù)綁定階段的不同,多態(tài)性分為兩種:根據(jù)綁定階段的不同,多態(tài)性分為兩種:編譯時(shí)的多態(tài)性:在編譯時(shí)決定實(shí)現(xiàn)何種操作。通過(guò)重載實(shí)現(xiàn)。運(yùn)行時(shí)的多態(tài)性:在運(yùn)行時(shí)才能決定實(shí)現(xiàn)何種操作。通過(guò)繼承和虛函數(shù)實(shí)現(xiàn)。多態(tài)性大致有如下多態(tài)性大致有如下3種實(shí)現(xiàn)方式:種實(shí)現(xiàn)方式:通過(guò)接口實(shí)現(xiàn):

18、多個(gè)類(lèi)實(shí)現(xiàn)相同的接口,這些實(shí)現(xiàn)可以各不相同。通過(guò)繼承實(shí)現(xiàn):多個(gè)子類(lèi)重載基類(lèi)的相同操作,提供不同的實(shí)現(xiàn)。通過(guò)抽象類(lèi)實(shí)現(xiàn):抽象類(lèi)不能實(shí)例化,必須被繼承。未實(shí)現(xiàn)的操作需要繼承類(lèi)提供實(shí)現(xiàn),已實(shí)現(xiàn)的操作可重寫(xiě)。多態(tài)性對(duì)建模者同樣重要:多態(tài)性對(duì)建模者同樣重要:可讓建模者用客戶(hù)的語(yǔ)言、術(shù)語(yǔ)與客戶(hù)溝通。當(dāng)一個(gè)操作術(shù)語(yǔ)有多種含義時(shí),用多態(tài)來(lái)實(shí)現(xiàn)。一般一般/特殊結(jié)構(gòu):特殊結(jié)構(gòu):也稱(chēng)為層次結(jié)構(gòu),描述對(duì)象之間的繼承關(guān)系,是以類(lèi)為節(jié)點(diǎn)、繼承關(guān)系為邊的連通有向圖。整體整體/部分結(jié)構(gòu):部分結(jié)構(gòu):也稱(chēng)為組裝結(jié)構(gòu),描述對(duì)象之間的組成關(guān)系。實(shí)例連接:實(shí)例連接:反映對(duì)象之間的靜態(tài)聯(lián)系,其實(shí)現(xiàn)通??赏ㄟ^(guò)對(duì)象的屬性表達(dá)。例如,描述教師

19、與學(xué)生的導(dǎo)師的關(guān)系,可在學(xué)生類(lèi)中增加一個(gè)屬性“導(dǎo)師”,其類(lèi)型為教師消息連接:消息連接:描述對(duì)象之間的動(dòng)態(tài)關(guān)系,即兩個(gè)對(duì)象之間存在的由于通信需要而形成的關(guān)系,從消息發(fā)送者指向消息接收者。1. 面向?qū)ο蟮慕UZ(yǔ)言面向?qū)ο蟮慕UZ(yǔ)言Booch 1993 (Grady Booch)、OOSE (Jim Rumbaugh)、OMT-2 (Ivar Jacobson),UML2. 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言有四個(gè)分支:面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言有四個(gè)分支:基于Smalltalk的語(yǔ)言: 不支持多繼承,但仍被認(rèn)為是最面向?qū)ο蟮恼Z(yǔ)言。代表為Smalltalk-80。基于C的語(yǔ)言: Object-C, C+, Java

20、基于LISP的語(yǔ)言: CLOS,用于知識(shí)表達(dá)和推理基于PASCAL的語(yǔ)言: Object/Turbo Pascal, Ada951 面向?qū)ο蠹夹g(shù)概述面向?qū)ο蠹夹g(shù)概述 2 面向?qū)ο蟮姆治龊驮O(shè)計(jì)過(guò)程面向?qū)ο蟮姆治龊驮O(shè)計(jì)過(guò)程2.1 面向?qū)ο蠓治?(OOA)2.2 面向?qū)ο笤O(shè)計(jì) (OOD)3 基于基于UML的面向?qū)ο蠓治?、設(shè)計(jì)過(guò)程的面向?qū)ο蠓治?、設(shè)計(jì)過(guò)程 面向?qū)ο蠓治龅幕驹瓌t面向?qū)ο蠓治龅幕驹瓌t 面向?qū)ο蠓治龅囊话氵^(guò)程面向?qū)ο蠓治龅囊话氵^(guò)程 抽象原則:抽象原則:從現(xiàn)實(shí)世界中抽象出類(lèi)。分類(lèi)原則:分類(lèi)原則:對(duì)象類(lèi),抽象程度層次結(jié)構(gòu)。聚合原則:聚合原則:把復(fù)雜事物看成若干簡(jiǎn)單事物的組合體,用整體/部分結(jié)

21、構(gòu)表示。關(guān)聯(lián)原則:關(guān)聯(lián)原則:從一個(gè)事物聯(lián)想到另一個(gè)事物存在關(guān)聯(lián),用實(shí)例連接表示。消息通信原則:消息通信原則:對(duì)象之間只能通過(guò)消息進(jìn)行通信,用消息連接表示。(1)獲取客戶(hù)對(duì)系統(tǒng)的需求)獲取客戶(hù)對(duì)系統(tǒng)的需求采用用例來(lái)收集客戶(hù)需求 分析員標(biāo)識(shí)出使用該系統(tǒng)的參與者(用戶(hù)角色或其它系統(tǒng)) 每個(gè)用戶(hù)描述其如何使用系統(tǒng),或希望系統(tǒng)提供的功能,即用例 所有參與者描述的所有用例構(gòu)成了系統(tǒng)的完整需求得到的用例必須進(jìn)行復(fù)審,以使需求完整(2)標(biāo)識(shí)類(lèi)和對(duì)象)標(biāo)識(shí)類(lèi)和對(duì)象類(lèi)和對(duì)象來(lái)自問(wèn)題領(lǐng)域和系統(tǒng)責(zé)任。運(yùn)用抽象原則標(biāo)識(shí)出候選類(lèi),然后進(jìn)行篩選。抽象出的類(lèi)可能會(huì)遇到以下問(wèn)題:抽象出的類(lèi)可能會(huì)遇到以下問(wèn)題:類(lèi)的屬性或服務(wù)不適

22、合該類(lèi)的全部對(duì)象。出現(xiàn)屬性和服務(wù)相似的類(lèi)。出現(xiàn)對(duì)同一事物的重復(fù)描述。需要分析類(lèi)之間的關(guān)系,定義類(lèi)的結(jié)構(gòu)和層次。(3)定義類(lèi)的結(jié)構(gòu)和層次)定義類(lèi)的結(jié)構(gòu)和層次類(lèi)的結(jié)構(gòu)有兩種:一般/特殊結(jié)構(gòu)、整體/部分結(jié)構(gòu)構(gòu)成類(lèi)圖的元素(類(lèi)、屬性、方法、結(jié)構(gòu)和連接)所表達(dá)的模型信息分為三個(gè)層次: 對(duì)象層:給出系統(tǒng)中所有反映問(wèn)題域 與系統(tǒng)責(zé)任的對(duì)象。 特征層:給出每一個(gè)類(lèi)及其所代表的 對(duì)象的內(nèi)部特征,即屬性和操作。 關(guān)系層:給出各個(gè)類(lèi)及其所代表的對(duì)象 之間的關(guān)系,繼承關(guān)系(一般/特殊結(jié)構(gòu))、組裝關(guān)系(整體/部分關(guān)系)、屬性的靜態(tài)依賴(lài)關(guān)系(實(shí)例連接)和操作的動(dòng)態(tài)依賴(lài)關(guān)系(消息連接)。主題主題 (Subject):互相協(xié)

23、作以完成一組緊密結(jié):互相協(xié)作以完成一組緊密結(jié)合在一起的責(zé)任的類(lèi)的集合。也稱(chēng)為子系統(tǒng)。合在一起的責(zé)任的類(lèi)的集合。也稱(chēng)為子系統(tǒng)。 從外部觀(guān)察系統(tǒng)時(shí),主題可看做黑盒,有自己的一組責(zé)任與協(xié)作者,不必關(guān)注細(xì)節(jié)。觀(guān)察一個(gè)主題的內(nèi)部時(shí),可以集中關(guān)注系統(tǒng)的某一個(gè)方面。主題是比類(lèi)更高主題是比類(lèi)更高抽象抽象層次上的一種描述層次上的一種描述(4)定義類(lèi)(對(duì)象)之間的關(guān)系)定義類(lèi)(對(duì)象)之間的關(guān)系關(guān)聯(lián)依賴(lài)泛化(繼承)實(shí)現(xiàn)(5)定義對(duì)象行為模型)定義對(duì)象行為模型描述系統(tǒng)的動(dòng)態(tài)行為,指明系統(tǒng)如何響應(yīng)外部事件和激勵(lì)。建模步驟如下: 評(píng)估所有的用例,完全理解系統(tǒng)中交互的序列 標(biāo)識(shí)驅(qū)動(dòng)交互序列的事件,理解這些事件如何和特定的對(duì)

24、象相關(guān)聯(lián)。 為每個(gè)用例創(chuàng)建事件軌跡 (event trace)。 為系統(tǒng)建造狀態(tài)機(jī)圖。 復(fù)審對(duì)象行為模型,以驗(yàn)證準(zhǔn)確性和一致性。完整的完整的OOA模型分為:模型分為:基本模型:類(lèi)圖,以直觀(guān)的方式表達(dá)系統(tǒng)最重要的信息,包括系統(tǒng)包含哪些類(lèi),每個(gè)類(lèi)的內(nèi)部構(gòu)成,以及類(lèi)與外部的關(guān)系。補(bǔ)充模型包括: 主題圖:按照粒度控制原則,將系統(tǒng)組成幾個(gè)主題,便于理解。 交互圖:Use case與系統(tǒng)成分之間的對(duì)照?qǐng)D。詳細(xì)說(shuō)明:按照分析方法所要求的格式,對(duì)分析模型進(jìn)行說(shuō)明和解釋。以文字為主。面向?qū)ο笤O(shè)計(jì)的模型面向?qū)ο笤O(shè)計(jì)的模型面向?qū)ο蟮母邔釉O(shè)計(jì)面向?qū)ο蟮母邔釉O(shè)計(jì) 面向?qū)ο蟮念?lèi)設(shè)計(jì)面向?qū)ο蟮念?lèi)設(shè)計(jì)(1)高層設(shè)計(jì)的結(jié)構(gòu)模型)高層設(shè)計(jì)的結(jié)構(gòu)模型(2)高層設(shè)計(jì)的準(zhǔn)則)高層設(shè)計(jì)的準(zhǔn)則(3)問(wèn)題域子系統(tǒng)的設(shè)計(jì))問(wèn)題域子系統(tǒng)的設(shè)計(jì)(4)人機(jī)交互子系統(tǒng)的設(shè)計(jì))人機(jī)交互子系統(tǒng)的設(shè)計(jì)(5)任務(wù)管理子系統(tǒng)的設(shè)計(jì))任務(wù)管

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論