建模和電子商城10、uml_第1頁
建模和電子商城10、uml_第2頁
建模和電子商城10、uml_第3頁
建模和電子商城10、uml_第4頁
建模和電子商城10、uml_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

北京傳智播客教育UML講師:曹睿北京傳智播客教育

內(nèi)容介紹概述用例圖類圖活動圖順序圖組件圖部署圖概述UML是什么為什么使用UMLUML分類UML圖繪制工具Rose工具使用北京傳智播客教育UMLUML歷史

UML創(chuàng)始于1994年10月,主要創(chuàng)始人GradyBooch、JimRumbaugh和IvarJacobson。UML(Unifiedmodelinglanguage統(tǒng)一建模語言)是一種用于軟件系統(tǒng)分析和設(shè)計的語言工具。它用于幫助軟件開發(fā)人員進行思考和記錄思路的結(jié)果。為什么使用UML隨著程序功能的增加如何控制程序結(jié)構(gòu)如何控制開發(fā)流程……效仿建筑學(xué)引進工程的概念——軟件工程UML——工程用圖紙北京傳智播客教育

UML分類類型包含圖靜態(tài)圖類圖、對象圖、包圖行為圖狀態(tài)圖、活動圖用例圖用例圖交互圖順序圖、協(xié)作圖實現(xiàn)圖組件圖、部署圖UML圖繪制工具畫UML圖與寫文章差不多,都是把自己的思想描述給別人看,關(guān)鍵在于思路和條理,圖好看與否就是看你的字是否規(guī)范,至于工具,就像你用什么筆,不算非常重要。目前市場上常見的建模工具有IBMRationalRose、MicrosoftVisio、PowerDesigner等,Rose使用最廣,市場份額最大。Rose界面介紹修改默認語言Rose的四種視圖模型用例視圖用例視圖中包括了系統(tǒng)中的所有參與者、用例和用例圖,必要時還可以在用例視圖中添加順序圖、活動圖等邏輯視圖邏輯系統(tǒng)關(guān)注系統(tǒng)是如何實現(xiàn)用例中所描述的功能的,主要是對系統(tǒng)功能性需求提供支持,即為用戶提供服務(wù)方面,系統(tǒng)所應(yīng)提供的功能。邏輯視圖下的模型元素包括類圖、順序圖和狀態(tài)圖等組件視圖組件視圖用來描述系統(tǒng)中各個實現(xiàn)模塊以及它們之間的關(guān)系。組件視圖包括模型代碼庫、執(zhí)行文件、運行庫和其它組件信息,按照內(nèi)容來劃分有包、組件和組件圖組成。部署視圖部署圖顯示系統(tǒng)的實際部署情況,它是為了便于理解系統(tǒng)在一組處理節(jié)點上的物理分布。部署視圖中包括進程、處理器和設(shè)備。用例圖由參與者、用例以及用例與用例之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動態(tài)視圖稱為用例圖參與者用例用例關(guān)系用例圖練習用例圖——參與者參與者(Actor)是指存在于系統(tǒng)外部并直接與系統(tǒng)交互的人、系統(tǒng)或設(shè)備等。參與者按是否使用系統(tǒng)核心功能可分為主要參與者與次要參與者。參與者在畫圖中用簡筆人物畫來表示:用例圖——用例用例是系統(tǒng)為參與者提供的功能。對于對用例的命名,我們可以給用例取一個簡單、概括性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱:實線箭頭,在用例圖中用于連接參與者與用例,箭頭方向指向用例。用例之間關(guān)系用例之間的關(guān)系包括:①包含關(guān)系(include)②擴展關(guān)系(extend)③泛化關(guān)系(generalization)用例間的關(guān)系—包含包含(include)關(guān)系指的是兩個用例之間的關(guān)系,其中一個用例(稱作基本用例,baseusecase)的行為包含了另一個用例(稱作包含用例,inclusioncase)的行為用例間的關(guān)系—擴展擴展(extend)關(guān)系:將基用例中一段相對獨立并且可選的動作,用擴展(Extension)用例加以封裝,再讓它從基用例中聲明的擴展點(ExtensionPoint)上進行擴展,從而使基用例行為更簡練和目標更集中用例間的關(guān)系—泛化泛化(generalization)代表一般與特殊的關(guān)系。在泛化關(guān)系中,子用例繼承了父用例的行為和含義。下圖為購買彩票的簡單實現(xiàn)方式用例圖練習ATM機用例圖EC的幫助模塊注意列表內(nèi)容的處理類圖——類類的組成:名稱+屬性+操作(方法)類圖——類類的名稱必須是名詞,不需要前綴或后綴,可以多個名稱組合,單詞首字母大寫。正體字表示類可實例化,斜體字說明類為抽象類類的屬性(Attributes):可見性:public、protected、private、Implementation(default)屬性類型與初始值類的操作(Operations):可見性:public、protected、private、Implementation參數(shù)返回類型抽象類(雙擊類)——名稱斜體類圖——接口接口中包含方法,但不包含屬性.在UML中接口用一個帶有名稱的圓圈表示,通過一條三角箭頭的虛線連接具體的接口與實現(xiàn)類,箭頭指向接口有時候接口也使用普通類的符號表示(在這種情況下三角箭頭的虛線才能正常顯示):類之間的關(guān)系依賴(Dependency)在java中.依賴關(guān)系體現(xiàn)為:局部變量,方法中的參數(shù),和對靜態(tài)方法的調(diào)用.泛化(Generalization)在Java中此類關(guān)系通過關(guān)鍵字extends明確標識,依賴的特例實現(xiàn)(Realization)在Java中此類關(guān)系通過關(guān)鍵字implements明確標識,依賴的特例關(guān)聯(lián)(Association)聚合(Aggregation):聚合關(guān)系描述的是部分與整體關(guān)系的關(guān)聯(lián),描述了“hasa”的關(guān)系,汽車整車與發(fā)動機、座椅的關(guān)系組合(Composition):組合關(guān)系是一種更強形式的關(guān)聯(lián),整合控制成員的生命周期,如公司與部門的關(guān)系類之間的關(guān)系——依賴類一方的改動將引起另一方的變動。這是一種典型的臨時關(guān)系,代表了類之間的一種短暫的交互。依賴關(guān)系在Java語言中體現(xiàn)為局部變量、方法的參數(shù)或者對靜態(tài)方法的調(diào)用,如工具類,現(xiàn)實生活中人與錘子。依賴用虛線箭頭,箭頭指向依賴的類。類之間的關(guān)系——泛化泛化定義了一般元素和特殊元素之間的分類關(guān)系,如果從面向?qū)ο蟪绦蛟O(shè)計語言的角度來說,類與類之間的泛化關(guān)系就是平常所說的類之間的繼承關(guān)系。如人與男人和女人的關(guān)系。使用空心箭頭標示泛化,箭頭指向基類。類之間的關(guān)系——實現(xiàn)實現(xiàn)是一種類與接口的關(guān)系,表示類是接口所有特征和行為的實現(xiàn)實現(xiàn)用帶三角箭頭的虛線表示,箭頭指向接口類之間的關(guān)系——關(guān)聯(lián)關(guān)聯(lián)關(guān)系是類與類之間的聯(lián)結(jié),它使一個類知道另一個類的屬性和方法,關(guān)聯(lián)可以是雙向的,也可以是單向的。雙向的關(guān)聯(lián)可以有兩個箭頭或者沒有箭頭,單向的關(guān)聯(lián)有一個箭頭。在Java中,關(guān)聯(lián)關(guān)系是通過使用成員變量來實現(xiàn)的。如人與身份證

單向關(guān)聯(lián)雙向關(guān)聯(lián)類之間的關(guān)系——自關(guān)聯(lián)自關(guān)聯(lián)類之間的關(guān)系——聚合聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是更強的關(guān)聯(lián)關(guān)系。聚合是整體和部分之間的關(guān)系,例如汽車由引擎、輪胎以及其它零件組成。聚合關(guān)系也是通過成員變量來實現(xiàn)的。但是,關(guān)聯(lián)關(guān)系所涉及的兩個類處在同一個層次上,而聚合關(guān)系中,兩個類處于不同的層次上,一個代表整體,一個代表部分。

類之間的關(guān)系——組合UML類圖關(guān)系中合成關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強的關(guān)系。代表整體的對象負責代表部分對象的生命周期。類之間的關(guān)聯(lián)——多重性關(guān)聯(lián)關(guān)系的多重性,在UML中,多重性可以用下面的格式表示:0..10..*(也可以表示為0..n)1(1..1的簡寫)1..*(也可以表示為1..n)*(即0..n)73,6..90(0..0的簡寫)(表示沒有實例參與關(guān)聯(lián),一般不用)可以看到,多重性是用非負整數(shù)的一個子集來表示的。類圖練習

X公司組織結(jié)構(gòu)類圖:公司下有研發(fā)部、銷售部、人力資源部;公司負責人為CEO,各個部門下有經(jīng)理、普通員工。①基本關(guān)系②可擴展性北京傳智播客教育活動圖活動圖可以用于描述系統(tǒng)的工作流程和并發(fā)行為?;顒訄D中一個活動結(jié)束后將立即進入下一個活動,JBPM就是以活動圖為基礎(chǔ)?;靖拍睥倩顒英谄瘘c和終點③分支④泳道⑤分叉和匯合活動圖—活動活動(activity)表示的是某流程中的任務(wù)的執(zhí)行,它可以表示某算法過程中語句的執(zhí)行.在活動圖中需要注意區(qū)分動作狀態(tài)和活動狀態(tài)這兩個概念.動作狀態(tài)是原子的,不能被分解,沒有內(nèi)部轉(zhuǎn)移,沒有內(nèi)部活動、動作狀態(tài)的工作所占用的時間是可忽略的。動作狀態(tài)的目的是執(zhí)行進入動作(entryaction),然后轉(zhuǎn)向另一個狀態(tài)?;顒訝顟B(tài)是可分解的,不是原子的,其工作的完成需要一定的時間??梢园褎幼鳡顟B(tài)看作是活動狀態(tài)的特例活動圖——分支在活動圖中,對于同一個觸發(fā)時間,可以根據(jù)不同的條件轉(zhuǎn)向不同的活動,每個可能的轉(zhuǎn)移是一個分支(branch)活動圖——簡單案例(登錄)活動圖——泳道泳道(swimlane)是活動圖中的區(qū)域劃分,根據(jù)每個活動的職責對所有活動進行劃分,每個泳道代表一個職責區(qū)。泳道和類并不是一一對應(yīng)的關(guān)系,泳道關(guān)系的是其所代表的職責,一個泳道可能由一個類實現(xiàn),也可能由多個類實現(xiàn)?;顒訄D——小案例員工請假在線填寫請假條,三天以下,部門經(jīng)理審核即可,三天以上需要CTO同意和HR批準,以上情況都通過,即可請假?;顒訄D——小案例答案活動圖——分叉(fork)和匯合(join)分支表示的是從多種可能的活動轉(zhuǎn)移中選擇一個,如果要表示系統(tǒng)或?qū)ο笾械牟l(fā)行為,則可以使用分叉(fork)和匯合(join)這兩種建模元素。分叉表示的是一個控制流被兩個或多個控制流代替,經(jīng)過分叉后,這些控制流是并發(fā)進行的;匯合正好與分叉相反,表示兩個或多個控制流被一個控制流代替。活動圖——分叉和匯合活動圖練習報銷業(yè)務(wù):填寫報銷申請單,由部門經(jīng)理確認出差,財務(wù)審核票據(jù),如果超過500元需要CEO簽字,都成功即領(lǐng)取報銷款?;顒訄D練習答案活動圖的用途活動圖對表示并發(fā)行為很有用,其應(yīng)用非常廣泛。一般活動圖可以對系統(tǒng)的工作流程建模,也可以對具體的操作建模,用于描述計算過程的細節(jié)。順序圖定義順序圖是顯示對象之間交互的圖,這些對象之間是按時間順序排列的。水平方向?qū)ο缶S垂直方向時間維順序圖—建模元素順序圖中包括的建模元素有:對象(參與者實例也是對象)、生命線(lifeline)、消息(message)等。生命線用一條虛線表示,消息用從一個對象的生命線到另一個對象的生命線的箭頭表示.箭頭以時間的順序在圖中上下排列.異步(asynchronous)消息的發(fā)送者通過消息把信號傳遞給消息的接收者,然后繼續(xù)自己的活動,不等待接收者返回消息或控制。異步消息的接收者和發(fā)送者是并發(fā)工作的.返回(return)消息表示從過程調(diào)用返回,是可選的,以帶箭頭的虛線表示用戶登錄順序圖順序圖練習畫出servlet工作的時序圖順序圖練習答案北京傳智播客教育組件圖組件圖用來建立系統(tǒng)的各個組件之間的關(guān)系,它們是通過功能或者文件組織在一起,使用組件圖可以幫助讀者了解某個功能位于軟件包的哪一位置,以及各個版本的軟件包含那些功能。如javabean、ejb、jsp都是組件。在UML中,組件使用在左側(cè)有兩個小矩形的大矩形表示。組件圖可以用來幫助設(shè)計系統(tǒng)的整體構(gòu)架。北京傳智播客教育部署圖部署圖用來幫助讀者了解軟件中的各個組件駐留在什么硬件位置,以及這些硬件之間的交互關(guān)系。節(jié)點:用來表示一種硬件,它可以是打印機、計算機等。節(jié)點的標記符號是一個三維框,在框的左上方包含了節(jié)點的名稱。通信關(guān)聯(lián):節(jié)點通過通信關(guān)聯(lián)建立彼此的關(guān)系,采用從節(jié)點到節(jié)點繪制實線來表示關(guān)聯(lián)。如下圖所示:北京傳智播客教育

軟件的生命周期1、問題的定義及規(guī)劃:(可行性分析報告和軟件開發(fā)計劃)

此階段是軟件開發(fā)方與需求方共同討論,主要確定軟件的開發(fā)目標及其可行性。2、需求分析:(需求分析說明書和初步的用戶手冊)

在確定軟件開發(fā)可行的情況下,對軟件需要實現(xiàn)的各個功能進行詳細分析。需求分析階段是一個很重要的階段,這一階段做得好,將為整個軟件開發(fā)項目的成功打下良好的基礎(chǔ)。"唯一不變的是變化本身。",同樣需求也是在整個軟件開發(fā)過程中不斷變化和深入的,因此我們必須制定需求變更計劃來應(yīng)付這種變化,以保護整個項目的順利進行。3、軟件設(shè)計:

(概要設(shè)計、詳細設(shè)計)

此階段主要根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進行設(shè)計,如系統(tǒng)框架設(shè)計,數(shù)據(jù)庫設(shè)計等等。軟件設(shè)計一般分為總體設(shè)計和詳細設(shè)計。好的軟件設(shè)計將為軟件程序編寫打下良好的基礎(chǔ)。4、程序編碼:(提交源程序及清單)

此階段是將軟件設(shè)計的結(jié)果轉(zhuǎn)換成計算機可運行的程序代碼。在程序編碼中必須要制定統(tǒng)一,符合標準的編寫規(guī)范。以保證程序的可讀性,易維護性,提高程序的運行效率。5、軟件測試:

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論