軟件工程3基于UML的軟件開發(fā)過程.pptx_第1頁
軟件工程3基于UML的軟件開發(fā)過程.pptx_第2頁
軟件工程3基于UML的軟件開發(fā)過程.pptx_第3頁
軟件工程3基于UML的軟件開發(fā)過程.pptx_第4頁
軟件工程3基于UML的軟件開發(fā)過程.pptx_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于UML的軟件開發(fā)過程,1,UML概述 案例,內(nèi)容,3,1. UML語言概述,1.1 UML的歷史 1.2 UML的定義 1.3 UML包含的內(nèi)容 1.4 UML的應(yīng)用領(lǐng)域,4,為什么需要UML?,5,1.1 UML的歷史,面向?qū)ο蟮姆治雠c設(shè)計(OOA&OOD)方法的發(fā)展在20世紀(jì)80年代末至90年代中出現(xiàn)了一個高潮,UML是這個高潮的產(chǎn)物。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對其做了進(jìn)一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語言。 公認(rèn)的面向?qū)ο蠼UZ言出現(xiàn)于20世紀(jì)70年代中期對象是問題域或?qū)崿F(xiàn)域中某些事物的一個抽象。 1996年6月和10月分別發(fā)布了兩個新的版本,即UML 0.9和UML 0.91,并將UM重新命名為UML(Unified Modeling Language)。UML的開發(fā)者倡議并成立了UML成員協(xié)會。,6,UML的誕生,創(chuàng)始人 Grady Booch Grady (IBM fellow)因其在軟件架構(gòu)、軟件工程和軟件建模方面的杰出貢獻(xiàn)而在國際上享有盛名。自 Rational 于1981年創(chuàng)建以來,他就一直擔(dān)任 IBM Rational 的首席科學(xué)家。Grady 于 2003 年 3 月榮獲IBM 名士(IBM fellow)的稱號。 Booch方法的力量在于其豐富的符號體系,包括: . 類圖(類結(jié)構(gòu)靜態(tài)視圖) . 對象圖(對象結(jié)構(gòu)靜態(tài)視圖) . 狀態(tài)轉(zhuǎn)移圖(類結(jié)構(gòu)動態(tài)視圖) . 時態(tài)圖(對象結(jié)構(gòu)動態(tài)視圖) . 模塊圖(模塊體系結(jié)構(gòu)) . 進(jìn)程圖(進(jìn)程體系結(jié)構(gòu)) ,7,UML的誕生,創(chuàng)始人 Ivar Jacobson Ivar Jacobson 博士是 Objectory 方法的發(fā)明者,也是瑞典 Objectory AB 公司的創(chuàng)始人。Jacobson 博士是兩本影響深遠(yuǎn)的暢銷書的主要作者:面向?qū)ο蟮能浖こ桃环N用例驅(qū)動方法(1992年計算機語言生產(chǎn)力獎獲得者)和 對象的優(yōu)勢采用對象技術(shù)的業(yè)務(wù)過程再工程。 Jacobson將use case模型與其它五種系統(tǒng)模型關(guān)聯(lián): . 領(lǐng)域?qū)ο竽P?。use case模型根據(jù)領(lǐng)域來表示。 . 分析模型。use case模型通過分析來構(gòu)造。 . 設(shè)計模型。use case模型通過設(shè)計來具體化。 . 實現(xiàn)模型。該模型依據(jù)具體化的設(shè)計來實現(xiàn)use case模型。 . 測試模型。用來測試具體化的use case模型。,8,UML的誕生,創(chuàng)始人 James Rumbaugh James Rumbaugh 博士是享譽全球的軟件開發(fā)方法學(xué)家。Jim 一直是引導(dǎo) UML 未來開發(fā)的領(lǐng)袖,他提出了許多有關(guān) UML 的概念。他與 Rational 的其他軟件領(lǐng)袖一起工作在各個領(lǐng)域,比如 Rational 統(tǒng)一過程和實時開發(fā)方法學(xué)。自從 2003 年 IBM 收購了 Rational 之后,Jim 就一直致力于推動 IBM 建模工具的開發(fā)。 Rumbaugh的OMT方法將開發(fā)過程分為四個階段: . 分析 . 系統(tǒng)設(shè)計 . 對象設(shè)計 . 實現(xiàn),9,UML發(fā)展歷史,10,1.2 UML的定義,UML適用于各種軟件開發(fā)方法、軟件生命周期的各個階段 、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具。 2. UML由以下5類圖來定義: 第1類:用例圖 第2類:靜態(tài)圖(包括類圖、對象圖和包圖) 第3類:行為圖(包括狀態(tài)圖和活動圖) 第4類:交互圖(包括時序圖和協(xié)作圖) 第5類:實現(xiàn)圖(包括組件圖和配置圖),11,1.3 UML包含的內(nèi)容,作為一種建模語言,UML的定義包括UML語義和UML表示法兩個部分。 (1)UML語義 描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致和通用的定義性說明,使開發(fā)者能在語義上取得一致,消除了因人而異的表達(dá)方法所造成的影響。此外UML還支持對元模型的擴展定義。 (2)UML表示法 定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。這些圖形符號和文字所表達(dá)的是應(yīng)用級的模型,在語義上它是UML元模型的實例。,12,UML的組成,模型 是一個特定系統(tǒng)的完整描述。,UML中的5類圖形,Use Case Diagrams,Use Case Diagrams,用例圖,Scenario Diagrams,Scenario Diagrams,協(xié)作圖,State Diagrams,State Diagrams,構(gòu)件圖,Component Diagrams,Component Diagrams,部署圖,State Diagrams,State Diagrams,包圖,Scenario Diagrams,Scenario Diagrams,狀態(tài)圖,Use Case Diagrams,Use Case Diagrams,時序圖,State Diagrams,State Diagrams,類圖/對象圖,活動圖,模型庫,14,小例子,用UML圖來描述一臺洗衣機。 一臺洗衣機應(yīng)該具備的屬性: 品牌,比如海爾。 模式,比如全自動,半自動。 序列號,比如AS19980909 容量,比如5L 一臺洗衣機操作包括: 裝入衣物 裝入洗衣粉 開電源 關(guān)電源 一臺洗衣機的功能:浸泡,洗滌,漂洗,脫水 人使用洗衣機來洗衣服。,15,類圖,類(class):一類或一組具有類似屬性和共同行為的事物。,類的圖示,洗衣機類的圖示,品牌,模式,序列號,裝入衣物,裝入洗衣粉,容量,開機,關(guān)機,16,對象圖,對象名:類名,匿名對象,某臺具體的洗衣機就是洗衣機類的一個對象。 比如:小明家的海爾洗衣機,17,用例圖,用例(use case):從用戶的觀點對系統(tǒng)行為的一個描述。 用來從用戶的觀察角度收集系統(tǒng)需求。 用例圖表達(dá)系統(tǒng)的外部事物(參與者)與系統(tǒng)的交互,它表達(dá)了系統(tǒng)的功能,即系統(tǒng)所提供的服務(wù)。 整個軟件項目的開發(fā)可以采用Use Case 驅(qū)動的方式進(jìn)行。,這個用例圖描述了用戶使用洗衣機洗衣服。,18,狀態(tài)圖,在任一給定的時刻,一個對象總是處于某一特定的狀態(tài)。 狀態(tài)圖主要表現(xiàn)一個對象所經(jīng)歷的狀態(tài)序列,引起狀態(tài)或活動轉(zhuǎn)移的事件,以及因狀態(tài)或活動轉(zhuǎn)移而伴隨的動作。,浸泡,洗滌,漂洗,脫水,洗衣機的狀態(tài)圖,19,時序圖的定義,在一個運行的系統(tǒng)中,對象之間要發(fā)生交互,并且這些交互要經(jīng)歷一定的時間。 順序圖表達(dá)的正是這種基于時間的動態(tài)交互。重點是完成某個行為的對象類和這些對象類之間所傳遞的消息的時間順序。,20,時序圖,洗衣機的例子: 定時器(timer) 注水的進(jìn)水管(water piper) 裝衣服的洗滌缸(drum),21,1浸泡定時,2注水,3儲水,4停止注水,5洗滌定時,6.反復(fù)旋轉(zhuǎn)洗滌,7.排臟水,8.停止洗滌,9.漂洗定時,10.注水,11儲水,12.反復(fù)旋轉(zhuǎn)洗滌,14.停止漂洗,13.排臟水,15.脫水定時,16.順時針旋轉(zhuǎn),17.停止脫水,22,協(xié)作圖,協(xié)作圖通過對象之間的連接和它們相互發(fā)送的消息來顯示參與交互的對象。,23,協(xié)作圖的圖例,1,5,9,15由定時器完成,2,4,10由定時器調(diào)用注水管完成,2,10由注水管調(diào)用洗衣缸完成,6,7,8,12,13,14,16,17由定時器調(diào)用洗衣缸完成,24,交互圖的應(yīng)用,順序圖和協(xié)作圖都是交互圖,它們既是等價的,又是有區(qū)別的。 順序圖和協(xié)作圖都能等價的表現(xiàn)系統(tǒng)運行中對象通過消息發(fā)生的交互行為。 順序圖表示了時間的消息序列,便于分析交互的時序,但沒有表示靜態(tài)對象關(guān)系,順序圖可以有效地幫助人們觀察系統(tǒng)的順序行為。 協(xié)作圖著重表示一個協(xié)作中的對象之間的聯(lián)系和消息。,25,活動圖,活動圖實質(zhì)上是一種流程圖,只不過表現(xiàn)的是從一個活動到另一個活動的控制流?;顒訄D描述活動的序列,并且支持對帶條件的行為和并發(fā)行為表達(dá)。,26,構(gòu)件圖,組件圖代表系統(tǒng)的一個物理實現(xiàn)塊,代表邏輯模型元素如類、接口的物理打包。,27,部署圖,顯示基于計算機系統(tǒng)的物理體系結(jié)構(gòu)。,28,UML2.0中的新圖,組成結(jié)構(gòu)圖(composite structure diagram) 交互縱覽圖(interaction overview diagram) 計時圖(timing diagram),29,組成結(jié)構(gòu)圖,從類的內(nèi)部來審視這個類。,30,交互縱覽圖,31,計時圖,32,1.4 UML的應(yīng)用領(lǐng)域,UML的目標(biāo)是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng)。其中最常用的是建立軟件系統(tǒng)的模型,但它同樣可以用于描述非軟件領(lǐng)域的系統(tǒng),如機械系統(tǒng)、企業(yè)機構(gòu)或業(yè)務(wù)過程,以及處理復(fù)雜數(shù)據(jù)的信息系統(tǒng)、具有實時要求的工業(yè)系統(tǒng)或工業(yè)過程等。 UML模型可作為測試階段的依據(jù)。系統(tǒng)通常需要經(jīng)過單元測試、集成測試、系統(tǒng)測試和驗收測試。不同的測試小組使用不同的UML圖作為測試依據(jù):單元測試使用類圖和類規(guī)格說明;集成測試使用部件圖和協(xié)作圖;系統(tǒng)測試使用用例圖來驗證系統(tǒng)的行為;驗收測試由用戶進(jìn)行,以驗證系統(tǒng)測試的結(jié)果是否滿足在分析階段確定的需求。,33,2. 選取一個過程RUP,迭代1,迭代2,迭代n,CMS系統(tǒng) 該系統(tǒng)需求非常簡單,大致課做如下描述: 這個系統(tǒng)主要用來發(fā)布新聞,管理員只需要一個,登錄后可以在后臺發(fā)布新聞。任何人可以瀏覽新聞,瀏覽者可以注冊成為系統(tǒng)會員,注冊后可對新聞進(jìn)行評論。管理員在后臺可以對新聞、評論、注冊會員進(jìn)行管理,如修改、刪除等。,34,一個簡單的案例,35,與用戶進(jìn)行訪談,并且做好記錄,了解用戶的業(yè)務(wù)流程。 在訪談過程中,抽象出系統(tǒng)的“詞匯”,畫出領(lǐng)域類圖 畫出業(yè)務(wù)用例圖,用來與用戶溝通”系統(tǒng)應(yīng)該實現(xiàn)什么樣的業(yè)務(wù)”,完成了業(yè)務(wù)用例圖后,我們要為每一個業(yè)務(wù)用例繪制一幅活動圖。活動圖描述了這個業(yè)務(wù)用例中,用戶可能會進(jìn)行的操作序列。活動圖有個很重要的使命:從業(yè)務(wù)用例分析出系統(tǒng)用例。例如,下面是“新聞管理”的活動圖:,36,將每個業(yè)務(wù)用例都繪制出相應(yīng)的活動圖,再將其中的“活動”整合,就得出所有備選系統(tǒng)用例。 找出所有的備選系統(tǒng)用例后,我們要對他們進(jìn)行合并和篩選。合并就是將相同的用例合并成一個,篩選就是將不符合系統(tǒng)用例條件的備選用例去掉。 一個系統(tǒng)用例應(yīng)該是實際使用系統(tǒng)的用戶所進(jìn)行的一個操作。,37,得出系統(tǒng)用例圖后,我們應(yīng)該對每一個系統(tǒng)用例給出用例規(guī)約。關(guān)于用例規(guī)約,沒有一個通用的格式,大家可以按照習(xí)慣的格式進(jìn)行編寫。對用例規(guī)約唯一的要求就是“清晰易懂”。 下面給出“登錄”這個系統(tǒng)用例的一個規(guī)約:,38,在設(shè)計階段,需要繪制實現(xiàn)類圖和包圖。同時還涉及到組件圖,時序圖,協(xié)作圖等。 實現(xiàn)類圖和領(lǐng)域類圖不一樣,它描述的是真正系統(tǒng)的靜態(tài)結(jié)構(gòu),是和最后的代碼完全一致的。因此,它和平臺關(guān)系密切,必須準(zhǔn)確給出系統(tǒng)中的實體類、控制類、界面類、接口等元素以及其中的關(guān)系。,39,有了靜態(tài)結(jié)構(gòu),我們還要給出動態(tài)結(jié)構(gòu),這樣,才能看清系統(tǒng)間的類是如何交互的,從而有效幫助程序員進(jìn)行編碼工作。,40,時序圖在實際中是很多的,幾乎每個類方法都配有相應(yīng)的時序圖,41,編寫缺陷報告、測試報告,42,假設(shè)你進(jìn)入了一個軟件公司進(jìn)行為期3個月的實習(xí)。 作為一個實習(xí)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論