第2章電子商務應用系統(tǒng)與開發(fā)課件_第1頁
第2章電子商務應用系統(tǒng)與開發(fā)課件_第2頁
第2章電子商務應用系統(tǒng)與開發(fā)課件_第3頁
第2章電子商務應用系統(tǒng)與開發(fā)課件_第4頁
第2章電子商務應用系統(tǒng)與開發(fā)課件_第5頁
已閱讀5頁,還剩155頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章統(tǒng)一建模語言UML第2章統(tǒng)一建模語言UML本章內(nèi)容2.1UML概述

2.2UML的關系

2.3用例圖2.4類圖和對象圖2.5交互作用圖2.6活動圖2.7用例驅(qū)動開發(fā)2.8RationalRose的安裝與使用本章內(nèi)容2.1UML概述2.1UML概述

建模的目的

UML簡介

UML的術語和概念

UML的組成2.1UML概述建模的目的2.1.1建模的目的

建模的必要性

對于多數(shù)程序員而言,在腦海里設想一個軟件的實現(xiàn)與用代碼來實現(xiàn)這個軟件是沒有距離的,怎么想,就怎么用代碼來實現(xiàn)它。這種做法會產(chǎn)生下列問題:不利于交流。如果不建立模型,軟件系統(tǒng)中的有些東西很難用文本的編程語言來表達清楚。如果程序員在修改代碼時,沒有將他腦海中的模型記錄下來,這個信息可能會永遠丟失,不便于軟件維護。2.1.1建模的目的建模的必要性

建模的重要性模型是對現(xiàn)實世界的簡化,建模是為了更好地理解正在開發(fā)的系統(tǒng)。建模原理每一種模型可以在不同的精度級別上表示,最好的模型是與現(xiàn)實相聯(lián)系的。單個模型是不充分的。對重要的系統(tǒng)應采用一組幾乎獨立的模型進行建模。面向?qū)ο蠼乃惴ǖ慕嵌冉#ńY構化)從面向?qū)ο蟮慕嵌冉=5哪康?/p>

建模的重要性建模的目的2.1.2UML簡介

UML的發(fā)展UML不僅結合了Booch、OMT和OOSE方法,而且對其做了進一步的發(fā)展,統(tǒng)一了符號體系,并從其它的方法和軟件工程實踐中吸收了許多經(jīng)過實際檢驗的概念和技術;UML是GradyBooch、JamesRumbaugh、IvarJacobson和許多其他人員集體智慧的結晶,并最終統(tǒng)一為大眾所接受的標準建模語言。2.1.2UML簡介UML的發(fā)展

UML的特點UML是一種語言UML是一種可視化語言UML是一種可用于詳細描述的語言UML是一種構造語言UML是一種文檔化語言

UML的功能為軟件系統(tǒng)的產(chǎn)出建立可視化模型規(guī)約軟件系統(tǒng)的產(chǎn)出構造軟件系統(tǒng)的產(chǎn)出UML簡介

UML的特點UML簡介2.1.3UML的術語和概念

系統(tǒng)和模型系統(tǒng)和子系統(tǒng)模型視圖用例視圖設計視圖過程視圖實現(xiàn)視圖配置視圖圖系統(tǒng)和子系統(tǒng)2.1.3UML的術語和概念系統(tǒng)和模型系統(tǒng)和子系統(tǒng)

包是一個用來將模型單元分組的通用機制,可以將一個系統(tǒng)看作一個單一的、高級的包??梢娦砸肱c輸出類屬關系UML的術語和概念

包UML的術語和概念

注釋注釋是附加在元素或元素集上,用來表示約束或注釋的圖形符號。

UML的術語和概念

注釋UML的術語和概念

協(xié)作協(xié)作是一組類、接口和其他元素的群體,它們共同工作,提供比各組成部分的功能總和更強的合作行為。UML的術語和概念

協(xié)作UML的術語和概念

對象對象(Object)代表了類的一個特定實例,具有身份(Identity)和屬性值(AttributeValues)。為了與上下文中的其他對象相區(qū)別,每個對象都應該有一個名字。對象可以用3種方式命名:對象名、對象名和類名、或只用類名。UML的術語和概念

對象UML的術語和概念

消息消息是對象間的通信,它傳達了要執(zhí)行動作的信息,它能觸發(fā)事件。UML的術語和概念

消息UML的術語和概念

接口接口是用來規(guī)定類或組件服務的操作的集合。接口可以有名字,以與其他的接口相區(qū)分。實踐中,接口名通常是從問題域的詞匯表中抽取出的短名詞或名詞詞組。和類一樣,接口可以參與類屬關系、關聯(lián)關系和依賴關系。另外,接口還可以參與實現(xiàn)關系。UML的術語和概念

接口UML的術語和概念接口的符號如圖所示有3中表示方法。第一種是圖標(Icon)形式,第二種是修飾(Decoration)形式,第三種是標簽(Label)形式。對于后兩種表示方法,還可以將屬性、或操作、或兩部分都隱藏起來UML的術語和概念

接口的符號如圖所示有3中表示方法。第一種是圖標(Icon)形

類型類型是類的構造型,用于描述對象的域。UML的術語和概念

類型UML的術語和概念

角色角色是一個參與特定語境的實體的行為。UML的術語和概念

角色UML的術語和概念

實例實例是抽象的具體表示,對它可使用一組操作,它有用來存儲操作結果的狀態(tài)。名稱操作狀態(tài)主動對象連接類范圍的屬性和操作暫時UML的術語和概念

實例UML的術語和概念

事件事件是對一個在時間和空間上占有一定位置的有意義的事情的規(guī)格說明。種類消息信號調(diào)用UML的術語和概念

事件UML的術語和概念UML的擴充機制UML支持自身的擴充與調(diào)整,以便使其與一個特定的方法、組織或用戶相一致,UML中包含3種主要的擴充組件:原型、標記值和約束。原型:能夠說清領域中的詞匯,且看起來仍像原有構造塊的新事物。標記值:為UML事物增加新的特性。約束:增加新的語義或改變已存在的規(guī)則。UML的術語和概念

UML的擴充機制UML的術語和概念

狀態(tài)機說明對象在生命期中響應事件所經(jīng)歷的狀態(tài)序列,以及它們對事件的響應。狀態(tài):對象生命期中的一個條件或狀況,在此期間,對象將滿足某些條件,執(zhí)行某些活動,或等待某些事件。初態(tài):狀態(tài)機或子狀態(tài)的缺省開始位置;終態(tài):狀態(tài)機或外圍狀態(tài)的執(zhí)行已經(jīng)完成。轉(zhuǎn)換:一個轉(zhuǎn)換是兩個狀態(tài)之間的一種關系,表示對象將在第一個狀態(tài)中執(zhí)行一定的動作,并在某個特定事件發(fā)生而某個特定的條件滿足時進入第二個狀態(tài)。UML的術語和概念

狀態(tài)機UML的術語和概念

時間和空間時間標記:表示事件發(fā)生時刻的符號,由交互中的消息名形成的表達式。時間表達式:用來判斷絕對或相對時間值的表達式。時間約束:關于絕對或相對時間值的語義陳述。位置:一個構件在一個節(jié)點上的位置。實時系統(tǒng):是時間關鍵系統(tǒng)。事件可以在規(guī)則或不規(guī)則的時間發(fā)生;對一個事件的響應必須在可預料的絕對時間或者相對于事件本身的時間發(fā)生。UML的術語和概念

時間和空間UML的術語和概念UML的內(nèi)容UML語義UML表示法

UML的構成元素結構元素:模型的靜態(tài)部分,描述概念或物理元素。包括類、接口、協(xié)作、用例、主動類、組件和節(jié)點。行為元素:模型的動態(tài)部分,描述跨越時間和空間的行為。包括交互和狀態(tài)機。分組元素:模型的組織部分,如包。注釋元素:模型的解釋部分,用來描述、說明和標注模型的任何元素,如注解。2.1.4UML的組成

UML的內(nèi)容2.1.4UML的組成關系

關系說明元素之間的相互聯(lián)系,即事物之間的聯(lián)系,在面向?qū)ο蠼V?,有四種很重要的關系:依賴(Dependency)關系類屬(Generalization)關系關聯(lián)(Association)關系實現(xiàn)(Realization)關系UML的組成

關系UML的組成圖

圖是由一組元素和關系組成的連通圖,包括靜態(tài)結構圖和動態(tài)行為圖類圖對象圖組件圖配置圖用例圖UML的組成

順序圖協(xié)作圖狀態(tài)圖活動圖圖UML的組成2.2UML的關系

依賴關系類屬關系關聯(lián)關系實現(xiàn)關系

2.2UML的關系依賴關系2.2.1依賴關系

依賴關系描述了類之間的使用關系。如果一個模型元素發(fā)生變化會影響另一個模型元素(這種影響不必是可逆的),那么就說在這兩個模型元素之間存在依賴關系。例如:有兩個元素X、Y,如果修改元素X的定義會引起對元素Y的定義的修改,則稱元素Y依賴于元素X。2.2.1依賴關系依賴關系描述了類之間的使用關系。依賴關系

依賴關系的UML符號表示是帶箭頭的虛線,指向被依賴的模型元素。依賴關系依賴關系的UML符號表示是帶箭頭的虛線,指向被依賴依賴關系在類圖中,依賴可以由許多原因引起,例如,一個類向另一個類發(fā)送消息(也即,一個類的操作調(diào)用另一個類的操作),或者一個類是另一個類的數(shù)據(jù)成員,或者一個類是另一個類的某個操作參數(shù),那么就可以說這兩個類之間存在著依賴關系。語義上,所有的關系(包括關聯(lián)關系、類屬關系、實現(xiàn)關系)都是各種各樣的依賴關系,因為這3種關系具有很重要的語義,所以在UML中被分離出來成為獨立的關系。依賴關系在類圖中,依賴可以由許多原因引起,例如,一個類向另一2.2.2類屬關系

類之間的類屬關系表示子類繼承一個或多個父類的結構與行為。類屬關系描述了類之間的“是一種”(is-a-kind-of)的關系,類屬關系用來連接一般類與特殊類,用來描述父類與子類或父與子的關系,子類繼承父類的特性,尤其是屬性和操作。類屬關系的UML符號表示是帶空心箭頭的實線,箭頭指向父元素。2.2.2類屬關系類之間的類屬關系表示子類繼承一個或多個

一個類可以有零個到多個父類,沒有父類且有一個或多個子類的類被稱為根類或基類。沒有子類的類被稱為葉類。一個類可以有零個到多個父類,沒有父類且有一個或多個子

如果在繼承關系中,每個類只能有一個父類,則是單繼承。

如果一個類有多于一個的父類存在,則被稱為多繼承。

如果在繼承關系中,每個類只能有一個父類,則是單繼承。2.2.3關聯(lián)關系關聯(lián)關系是一種結構關系,規(guī)定了一種事物的對象可以與另一種事物的對象相連。例如,雇員為公司工作,一個公司有很多部門,就可以認為雇員和公司、公司和部門之間存在某種語義上的聯(lián)系,在類圖模型中,就可以在類Employee(雇員)和類Company(公司)、類Company(公司)和類Department(部門)之間建立關聯(lián)關系。關聯(lián)關系的UML符號表示是一條實線。2.2.3關聯(lián)關系關聯(lián)關系是一種結構關系,規(guī)定了一種事物的關聯(lián)關系

可以應用于關聯(lián)關系的四種基本修飾是:名稱:描述關系的性質(zhì)。角色:關聯(lián)中靠近它一端的類對另外一端的類呈現(xiàn)的職責。階元(Multiplicity):說明一個關聯(lián)的實例中有多少個相互連接的對象。聚合(Aggregation):整體對象擁有部分對象。關聯(lián)關系可以應用于關聯(lián)關系的四種基本修飾是:關聯(lián)名通常是一個動詞或動詞詞組,用來表示關聯(lián)關系的類型或目的。所選擇的關聯(lián)名應該有助于理解該模型。關聯(lián)名通常是一個動詞或動詞詞組,用來表示關聯(lián)關系的類型或目的

關聯(lián)關系中的相關術語和概念角色階元導航聚合關系組合關系關聯(lián)類可見性限定符接口說明符關聯(lián)關系關聯(lián)關系中的相關術語和概念關聯(lián)關系2.2.4實現(xiàn)關系

實現(xiàn)關系是分類器之間的語義關系,一個分類器規(guī)定合同,另一個分類器保證實現(xiàn)這個合同??梢栽趦煞N情況下使用實現(xiàn)關系:實現(xiàn)被用在接口與實現(xiàn)它們的類或組件之間;實現(xiàn)被用在用例和實現(xiàn)該用例的協(xié)作之間。實現(xiàn)關系的UML符號表示是一條帶有空心箭頭的虛線。2.2.4實現(xiàn)關系實現(xiàn)關系是分類器之間的語義關系,一個分第2章電子商務應用系統(tǒng)與開發(fā)課件2.3用例圖

用例圖概述用例圖的構成用例圖的應用

2.3用例圖用例圖概述2.3.1用例圖概述

參與者觸發(fā)用例,并與用例進行信息交換。單個參與者可以和多個用例連接,一個用例也可以與多個參與者連接。對同一個用例而言,不同參與者有著不同活動:可以從用例獲取值,也可以輸出信息到用例中。在參與者和用例之間存在的關聯(lián)關系通常被稱為通信關聯(lián),因為它代表著參與者與用例之間的通信。2.3.1用例圖概述參與者觸發(fā)用例,并與用例進行信息交換用例圖概述不帶箭頭的線段代表關聯(lián)是雙向?qū)Ш剑◤膮⑴c者到用例,并從用例到參與者);帶箭頭的線段代表關聯(lián)是單向?qū)Ш剑◤膮⑴c者到用例,或從用例到參與者),導航的方向表明了是參與者發(fā)起了和用例的通信還是用例發(fā)起了和參與者的通信。用例捕捉了系統(tǒng)的行為但沒有規(guī)定怎樣實現(xiàn)這些行為,這一點很重要,因為系統(tǒng)分析(規(guī)定行為)應該盡可能多地不被實現(xiàn)的細節(jié)(規(guī)定怎樣執(zhí)行行為)所影響。最終,用例需要被實現(xiàn),在UML中用來實現(xiàn)用例的元素是協(xié)作(Collaboration)。用例圖概述不帶箭頭的線段代表關聯(lián)是雙向?qū)Ш剑◤膮⑴c者到用例,

協(xié)作是一起工作以實現(xiàn)用例行為的類和其他元素構成的群體,顯式說明用例的實現(xiàn)。協(xié)作是一起工作以實現(xiàn)用例行為的類和其他元素構成的群體,顯式2.3.2用例圖的構成

參與者在UML中,參與者代表與系統(tǒng)交互的人、硬件、或另一個系統(tǒng),是用例使用者與用例交互時所扮演的角色。參與者的UML符號表示是圖示的“小人”,并可在符號下標出參與者名。參與者可以只向系統(tǒng)輸入信息或只從系統(tǒng)接受信息,也可以既可以輸入信息給系統(tǒng),還可以接受系統(tǒng)的輸出信息。參與者與參與者之間也可以存在類屬關系。為了準確獲取用例,首先需要識別系統(tǒng)的參與者,可以通過問題的答案來幫助發(fā)現(xiàn)系統(tǒng)的參與者。2.3.2用例圖的構成參與者識別參與者須注意的問題:盡管參與者在用例圖中是用類似人的圖形來表示,但參與者并不一定必須是人。參與者代表角色。一個實體可以扮演多種角色(參與者),在確定實體的參與者身份時,應考慮其所扮演的角色,而不是實體的頭銜或名稱。角色不是對職位建模。用例圖的構成識別參與者須注意的問題:用例圖的構成

用例用例描述了系統(tǒng)所執(zhí)行的一組動作序列,系統(tǒng)執(zhí)行該動作序列來為參與者產(chǎn)生一個可供觀察的結果。用例的UML符號表示是橢圓,并可在符號下標出用例名。在實踐中,用例的名字通常是用動詞詞組命名從問題域中發(fā)現(xiàn)的一些行為。用例表示了系統(tǒng)的功能,也就是系統(tǒng)提供給參與者的功能。系統(tǒng)的用例構成了系統(tǒng)的所有使用功能。用例圖的構成用例用例圖的構成用例圖的構成構造一個好的用例應該遵循的原則:一個用例應該描述一個從頭至尾的完整的功能,用例要與參與者交互。用例的獲取是需求分析時首先要做的工作,大部分用例將在需求分析時產(chǎn)生,并且隨著工作深入會發(fā)現(xiàn)更多的用例,這些都應及時添加到已有的用例集中。用例集中的每個用例都是一個潛在的需求。參與者的識別對識別用例很有用。面對一個大系統(tǒng),可先列出參與者清單,再對每個參與者列出它的用例,問題就會容易很多。在識別出了參與者后,可以通過一些問題的答案來幫助發(fā)現(xiàn)系統(tǒng)的用例。用例圖的構成構造一個好的用例應該遵循的原則:用例圖的構成對于每個用例,都可以用事件流來規(guī)定用例的行為。用例的事件流是對完成用例規(guī)定行為所需要的事件的描述。在描述用例的事件流時,既可以用非正式的結構化文本,也可以用正式的結構化文本,還可以用偽代碼。在創(chuàng)建事件流文檔時,每個項目都應使用一個標準模板,模板內(nèi)容如下所示:

X“用例名”

X.1簡單描述

X.2前置條件

X.3后置條件

X.4事件流

X.4.1基流

X.4.2分支流(可選)

X.4.3替代流用例圖的構成對于每個用例,都可以用事件流來規(guī)定用例的行為。用

用例間的關系類屬關系(Generalization)用例間的類屬關系如同類間的類屬關系。也就是說,子用例繼承父用例的行為和含義,子用例可添加新行為或覆蓋父用例的行為。包含關系(Include)多個用例可能具有一些相同的功能,共享的功能通常被放在一個單獨的用例中,可在該用例和其他需要使用其功能的用例之間創(chuàng)建Include關系。使用Include關系可以避免重復描述同樣的事件流,因為公共的行為被放入一個專門的用例中,這個專門的用例是被基用例包含的。用例圖的構成用例間的關系用例圖的構成擴充關系(Extend)擴充關系用來說明可選的、只在特定條件下運行的行為,具有擴充關系的用例基于參與者的選擇,可以運行幾個不同的流。用例間的擴充關系表示基用例在指定的擴充點隱式地含有另一個用例的行為?;美梢元毩⒋嬖冢谔囟l件下,它的行為會被另一個用例的行為擴充?;美辉诒环Q為擴充點的特定點被擴充??梢哉J為,擴充用例將行為推進基用例。包含關系(抽取公共行為)和擴充關系(識別變種)對于創(chuàng)建簡單、易于理解的系統(tǒng)用例集是非常重要的。用例圖的構成擴充關系(Extend)用例圖的構成2.3.3用例圖的應用為系統(tǒng)的上下文建模為系統(tǒng)的上下文建模,涉及到圍繞整個系統(tǒng)劃一條線,并確保位于系統(tǒng)外的參與者與系統(tǒng)相互作用。這個上下文定義了系統(tǒng)存在的環(huán)境。在建立用例圖時,首先要確定圍繞系統(tǒng)的參與者,確定參與者是很重要的,因為這樣就確定了與系統(tǒng)交互作用的一類事物。對系統(tǒng)的需求建模需求規(guī)定了用戶期望系統(tǒng)做什么。需求的表達可以有很多方式,例如:事件流描述、活動圖。系統(tǒng)的全部或大部分功能需求可以表達為用例。UML的用例圖對于管理這些需求是很重要的。為系統(tǒng)的需求建模涉及到規(guī)定系統(tǒng)應該做什么,不需要知道系統(tǒng)應該怎樣實現(xiàn)這些行為,即用例圖用來規(guī)定系統(tǒng)的行為。2.3.3用例圖的應用為系統(tǒng)的上下文建模2.4類圖和對象圖

類的相關概念類圖對象圖

2.4類圖和對象圖類的相關概念2.4.1類的相關概念

類是一組具有相同屬性、操作、關系和語義的對象的描述,是現(xiàn)實世界中的事物的抽象,當這些事物存在于真實世界中時,他們是類的實例,并被稱為對象。類的UML符號表示是劃分為3個格子的長方形,頂部的格子放類名,中間格子放類的屬性、屬性的類型和值,下面的格子放操作、操作的參數(shù)表和返回類型。有實例的建模元素稱為類元,它具有結構特征(屬性)和行為特征(操作)。包括類、接口、數(shù)據(jù)類型、信號、構件、節(jié)點、用例和子系統(tǒng)。2.4.1類的相關概念類是一組具有相同屬性、操作、關系類的名稱每個類都有一個名字,以與其他類相區(qū)別。在實踐中,類名通常用問題域中的短名詞或名詞詞組來表示。通常將類名中的每個組成詞的第一個字母大寫,如Student、HelloWorld等。類的命名應盡量用問題域中的術語,應明確、無歧義,以利于開發(fā)人員與用戶之間的相互理解與交流。類的屬性屬性描述了類的所有對象所共有的特性。一個類可以有一個或多個屬性或者根本沒有屬性。屬性是類的對象所包含的數(shù)據(jù)或狀態(tài)的抽象。在特定的時刻,類的對象對類的每個屬性都有特定的值。不同的屬性具有不同的可見性,可見性用來描述特征能否為其他類元使用。常見的可見性有公用的(public)、私有的(private)、受保護的(protected)類的相關概念

類的名稱類的相關概念類的操作操作是類的所有對象所共有的行為的抽象。操作用于修改、檢索類的屬性或執(zhí)行某些動作。一個類可以有任何數(shù)量的操作或根本沒有操作。操作通常也被稱為功能或方法,但是它們被約束在類的內(nèi)部,只能作用到該類的對象上。操作名、返回類型和參數(shù)表組成操作的接口。類的類型邊界類實體類控制類類的相關概念

類的操作類的相關概念2.4.2類圖

概述類圖是面向?qū)ο蠼W畛R姷膱D,它是顯示一組類、接口、協(xié)作以及它們之間關系的圖。類圖由類、接口、協(xié)作、依賴關系、類屬關系、實現(xiàn)關系以及關聯(lián)關系這幾部分組成,像其他的圖一樣,類圖也可以含有注釋和約束。劃分雖然在軟件開發(fā)的不同階段都使用類圖,但這些類圖描述了不同層次的抽象。在需求分析階段,類圖是所研究的問題域中的概念;在設計階段,類圖描述類與類之間的接口;在實現(xiàn)階段,類圖描述軟件系統(tǒng)中類的實現(xiàn)。要正確的理解類圖,首先應正確的理解3種層次:概念層、說明層、實現(xiàn)層。2.4.2類圖概述類圖

如何篩選得到分析類并畫出分析類圖在系統(tǒng)分析階段的前半部分內(nèi)容中,使用用例圖、活動圖和用例的一種結構化文檔描述方法對系統(tǒng)的需求進行了分析。下一步的工作是找出實體類、控制類和邊界類,然后再使用協(xié)作圖分析它們之間的交互情況,從而不僅又一次明確了功能需求,也為在設計階段設計出真正的可編程的類打下了基礎,因此這是一個承前啟后的過程。以“圖書選購”這一個功能為例。類圖如何篩選得到分析類并畫出分析類圖類圖

設計階段類圖的作用對簡單的協(xié)作建模對數(shù)據(jù)庫概念設計建模

類圖的應用對系統(tǒng)的詞匯建模對簡單的協(xié)作建模對邏輯數(shù)據(jù)庫模式建模類圖設計階段類圖的作用2.4.3對象圖

概述表示在某一時間點上一組對象以及它們之間的關系的圖,模擬類圖中所含有的類的實例。它為處在時域空間某一點的系統(tǒng)建模,描繪了系統(tǒng)的對象、對象的狀態(tài)及對象間的關系。對象圖主要用來為對象結構建模。對象圖可以看作是類圖的一個實例。對象是類的實例,對象之間的連接是類之間的關聯(lián)關系的實例。對象圖常用于描述復雜類圖的一個實例。對象圖中通常含有:對象(Objects)、連接(Links),對象圖可以含有注解和約束;對象圖也可以含有包或子系統(tǒng),包或子系統(tǒng)用來將模型的元素封裝成比較大的模塊。2.4.3對象圖概述對象圖

應用對象圖通常用于為對象結構建模。對象圖可以用來可視化、規(guī)范、構造、并文檔化系統(tǒng)中特定實例的存在以及實例間的關系。為對象結構建模時,需要考慮以下幾點:確定想要模擬的機制。機制代表了所模擬的部分系統(tǒng)的由類、接口等交互作用產(chǎn)生的功能或行為。對于每個機制,識別參加這個協(xié)作的類、接口以及其他元素,并確定這些元素間的關系。考慮貫穿這個機制的一個腳本,顯示在腳本的某一時間點參與這個機制的對象。如果必要,揭示每個對象的狀態(tài)和屬性值。類似地,揭示對象間的連接,這些連接是關聯(lián)關系的實例。對象圖應用2.5交互作用圖

顯示一個交互,由一組對象和它們之間的關系構成,其中包括在對象間傳遞的消息。順序圖和協(xié)作圖都被稱為交互作用圖。順序圖強調(diào)消息的時間順序,適合于描述實時系統(tǒng);協(xié)作圖強調(diào)發(fā)送和接收消息的對象的組織結構,描述了對象間的關系。交互作用圖的組成元素:對象;連接;消息;注解和約束。2.5交互作用圖顯示一個交互,由一組對象和它們之間的關系2.5.1交互

交互是由實現(xiàn)某一目標的一組對象之間進行交換的一組消息所構成的行為。它包括連接和消息,連接是關聯(lián)的一個實例,它指明了一個對象向另一個對象發(fā)送消息的路徑;消息是傳送信息的對象之間所進行的通訊的詳述。消息的傳送將引起如下動作:調(diào)用(Call)返回(Return)發(fā)送(Send)創(chuàng)建(Create)撤消(Destroy)2.5.1交互交互是由實現(xiàn)某一目標的一組對象之間進行交2.5.2順序圖概述

順序圖存在兩個軸:水平軸表示不同的對象,垂直軸表示時間。順序圖中的對象用一個帶有垂直虛線的矩形框表示,并標有對象名和類名,對于對象,可以只標對象名,也可以只標類名,還可以都標出。垂直虛線是對象的生命線,用于表示在某段時間內(nèi)對象是存在的。對象間的通信通過在對象的生命線間畫消息來表示。2.5.2順序圖概述順序圖存在兩個軸:水平軸表示不同的對順序圖概述

順序圖中的消息可以是信號、操作調(diào)用等。當收到消息時,接收對象立即開始執(zhí)行活動,即對象被激活了,通過對象生命線上的一個細長矩形框來表示激活。消息以帶有標簽的箭頭表示。消息還可帶有條件表達式,表示分支或決定是否發(fā)送消息。如果用于表示分支,則每個分支是相互排斥的,即在某一時刻僅可發(fā)送分支中的一個消息。順序圖概述順序圖中的消息可以是信號、操作調(diào)用等。當收到消息

順序圖強調(diào)了消息的時間順序。在畫順序圖時,首先將參與交互作用的對象沿著X軸放在圖的頂端,將啟動交互作用的對象放在左邊,將從屬的對象放在右邊,將這些對象發(fā)送和接收的消息按照時間增加的順序沿著Y軸由上而下地放置。順序圖強調(diào)了消息的時間順序。在畫順序圖時,首先將參與交互作

當消息的源和目標為對象或類時,標簽是響應消息時所調(diào)用的方法的簽名。不過,如果源或目標中有一方是參與者,那么消息就以描述交流信息的簡要文本為標簽。當消息的源和目標為對象或類時,標簽是響應消息時所調(diào)用的方法順序圖概述

順序圖區(qū)別于協(xié)作圖的兩個特點:有對象生命線。有控制中心。順序圖概述順序圖區(qū)別于協(xié)作圖的兩個特點:2.5.3協(xié)作圖概述在形成協(xié)作圖時,首先要將參與交互作用的對象放在圖中,然后聯(lián)結這些對象,并用對象接收和發(fā)送的消息來裝飾這些連接。協(xié)作圖沒有時間維,所以消息和并發(fā)線程的時間順序必須由序列號表示。協(xié)作圖描述了兩個方面:對交互作用的對象的靜態(tài)結構的描述,包括相關的對象的關系、屬性和操作;為完成工作在對象間交換的消息的時間順序的描述。第一個方面被稱為協(xié)作所提供的“上下文”,第二個方面被稱為協(xié)作支持的“交互作用”。2.5.3協(xié)作圖概述在形成協(xié)作圖時,首先要將參與交互作用的

對象間的連接關系是類圖中類之間關系的實例。通過在對象間的連接上標記帶有消息串的消息來表達對象間的消息傳遞,也即描述對象間的交互。協(xié)作圖中的連接用于表示對象間的各種關系,消息的箭頭指明消息的流動方向,消息串說明要發(fā)送的消息、消息的參數(shù)、消息的返回值以及消息的序列號等信息。對象間的連接關系是類圖中類之間關系的實例。通過在對象間的連協(xié)作圖概述

協(xié)作圖區(qū)別于順序圖的兩個特點:有路徑有序列號協(xié)作圖概述協(xié)作圖區(qū)別于順序圖的兩個特點:2.5.4交互作用圖的應用

在用交互作用圖為系統(tǒng)的動態(tài)方面建模時,上下文可以是整個系統(tǒng)、一個子系統(tǒng)、一個操作或一個類,還可以用交互作用圖來為用例的一個腳本建模。當為系統(tǒng)的動態(tài)方面建模時,通常有以下兩種方式:

按時間順序為控制流建模需要使用順序圖按時間順序為控制流建模。

按組織結構為控制流建模在按組織結構為控制流建模的情況下,使用協(xié)作圖。

2.5.4交互作用圖的應用在用交互作用圖為系統(tǒng)的動態(tài)方2.6活動圖

活動圖概述活動圖的組成元素活動圖的應用

2.6活動圖活動圖概述2.6.1活動圖概述

活動圖是一個流圖,描述了從活動到活動的流。一個活動是在狀態(tài)機中進行的一個非原子執(zhí)行單元,它由一系列的動作組成。動作由可執(zhí)行的原子計算組成,這些計算會導致系統(tǒng)狀態(tài)的改變或者返回一個值。例如調(diào)用另一個操作、發(fā)送一個信號、創(chuàng)建或破壞一個對象、或者是純粹的計算(例如計算一個表達式的值)等都是動作。活動圖主要包含下列元素:活動狀態(tài)和動作狀態(tài)躍遷對象注釋和約束2.6.1活動圖概述活動圖是一個流圖,描述了從活動到活動2.6.2活動圖的組成元素

動作狀態(tài)和活動狀態(tài)躍遷源狀態(tài)(SourceState)與目標狀態(tài)(TargetState)觸發(fā)事件(EventTrigger)護衛(wèi)條件(GuardCondition)動作(Action)

分支分叉和聯(lián)結泳道對象流2.6.2活動圖的組成元素動作狀態(tài)和活動狀態(tài)2.6.3活動圖的應用

活動圖可以用來為系統(tǒng)的動態(tài)方面建模,這些動態(tài)方面包括系統(tǒng)中任意一種抽象(包括類、接口、組件、節(jié)點)的活動,通?;顒訄D的上下文可以是系統(tǒng)、子系統(tǒng)、操作或類?;顒訄D還可以用來描述用例腳本?;顒訄D的應用通常分為兩種情況:

對工作流建模對操作建模

2.6.3活動圖的應用活動圖可以用來為系統(tǒng)的動態(tài)方面建模2.7用例驅(qū)動開發(fā)

用例驅(qū)動開發(fā)概述在UML中,用例規(guī)定了系統(tǒng)或部分系統(tǒng)的行為,它描述了系統(tǒng)所執(zhí)行的一組動作序列,系統(tǒng)執(zhí)行該動作序列來為參與者產(chǎn)生一個可供觀察的結果。用例著眼于為用戶增加價值,提供了一種捕獲功能需求的系統(tǒng)且直觀的方法。所有用例合在一起構成用例模型。用例模型用于系統(tǒng)開發(fā)的各個階段。

2.7用例驅(qū)動開發(fā)用例驅(qū)動開發(fā)概述用例驅(qū)動開發(fā)用例模型用于需求分析階段,它的建立是系統(tǒng)開發(fā)者和用戶反復討論的結果,表明了開發(fā)者和用戶對需求規(guī)格定義達成的共識。開發(fā)人員捕獲需求形成用例模型;開發(fā)人員以用例模型作為輸入創(chuàng)建分析模型;開發(fā)人員以分析模型作為輸入創(chuàng)建設計模型,并進一步創(chuàng)建實施模型;開發(fā)人員把設計模型中的類實現(xiàn)為實現(xiàn)模型中的構件;測試人員驗證系統(tǒng)確實能夠?qū)崿F(xiàn)用例所描述的功能。用例驅(qū)動開發(fā)用例模型用于需求分析階段,它的建立是系統(tǒng)開發(fā)者和用例驅(qū)動開發(fā)用例不僅啟動了開發(fā)過程,而且使其結合為一體。

基于用例的銀行系統(tǒng)分析、設計和實現(xiàn)用例驅(qū)動開發(fā)用例不僅啟動了開發(fā)過程,而且使其結合為一體。基2.8RationalRose的安裝與使用

安裝RationalRoseEnterpriseEdition2002forWindows

啟動RationalRoseEnterpriseEdition

掌握靜態(tài)圖的畫法

用例圖、類圖、組件圖、配置圖掌握動態(tài)圖的畫法

狀態(tài)圖、活動圖、順序圖、協(xié)作圖2.8RationalRose的安裝與使用安裝Ra復習思考題1.()是軟件需求分析到最終實現(xiàn)的第一步。

(A)類圖 (B)對象圖

(C)用例圖 (D)順序圖2.交互圖可以分為以下幾種()。

(A)活動圖(B)順序圖

(C)配置圖(D)協(xié)作圖3.判斷:接口是用來規(guī)定類或組件服務的操作集,每個類只能實現(xiàn)一個接口。4.常用的建模方法有哪些?試分別闡述。5.詳細論述類圖在設計階段的作用及類圖的應用。復習思考題1.()是軟件需求分析到最終實現(xiàn)的第一步TheEndTheEnd第2章統(tǒng)一建模語言UML第2章統(tǒng)一建模語言UML本章內(nèi)容2.1UML概述

2.2UML的關系

2.3用例圖2.4類圖和對象圖2.5交互作用圖2.6活動圖2.7用例驅(qū)動開發(fā)2.8RationalRose的安裝與使用本章內(nèi)容2.1UML概述2.1UML概述

建模的目的

UML簡介

UML的術語和概念

UML的組成2.1UML概述建模的目的2.1.1建模的目的

建模的必要性

對于多數(shù)程序員而言,在腦海里設想一個軟件的實現(xiàn)與用代碼來實現(xiàn)這個軟件是沒有距離的,怎么想,就怎么用代碼來實現(xiàn)它。這種做法會產(chǎn)生下列問題:不利于交流。如果不建立模型,軟件系統(tǒng)中的有些東西很難用文本的編程語言來表達清楚。如果程序員在修改代碼時,沒有將他腦海中的模型記錄下來,這個信息可能會永遠丟失,不便于軟件維護。2.1.1建模的目的建模的必要性

建模的重要性模型是對現(xiàn)實世界的簡化,建模是為了更好地理解正在開發(fā)的系統(tǒng)。建模原理每一種模型可以在不同的精度級別上表示,最好的模型是與現(xiàn)實相聯(lián)系的。單個模型是不充分的。對重要的系統(tǒng)應采用一組幾乎獨立的模型進行建模。面向?qū)ο蠼乃惴ǖ慕嵌冉#ńY構化)從面向?qū)ο蟮慕嵌冉=5哪康?/p>

建模的重要性建模的目的2.1.2UML簡介

UML的發(fā)展UML不僅結合了Booch、OMT和OOSE方法,而且對其做了進一步的發(fā)展,統(tǒng)一了符號體系,并從其它的方法和軟件工程實踐中吸收了許多經(jīng)過實際檢驗的概念和技術;UML是GradyBooch、JamesRumbaugh、IvarJacobson和許多其他人員集體智慧的結晶,并最終統(tǒng)一為大眾所接受的標準建模語言。2.1.2UML簡介UML的發(fā)展

UML的特點UML是一種語言UML是一種可視化語言UML是一種可用于詳細描述的語言UML是一種構造語言UML是一種文檔化語言

UML的功能為軟件系統(tǒng)的產(chǎn)出建立可視化模型規(guī)約軟件系統(tǒng)的產(chǎn)出構造軟件系統(tǒng)的產(chǎn)出UML簡介

UML的特點UML簡介2.1.3UML的術語和概念

系統(tǒng)和模型系統(tǒng)和子系統(tǒng)模型視圖用例視圖設計視圖過程視圖實現(xiàn)視圖配置視圖圖系統(tǒng)和子系統(tǒng)2.1.3UML的術語和概念系統(tǒng)和模型系統(tǒng)和子系統(tǒng)

包是一個用來將模型單元分組的通用機制,可以將一個系統(tǒng)看作一個單一的、高級的包??梢娦砸肱c輸出類屬關系UML的術語和概念

包UML的術語和概念

注釋注釋是附加在元素或元素集上,用來表示約束或注釋的圖形符號。

UML的術語和概念

注釋UML的術語和概念

協(xié)作協(xié)作是一組類、接口和其他元素的群體,它們共同工作,提供比各組成部分的功能總和更強的合作行為。UML的術語和概念

協(xié)作UML的術語和概念

對象對象(Object)代表了類的一個特定實例,具有身份(Identity)和屬性值(AttributeValues)。為了與上下文中的其他對象相區(qū)別,每個對象都應該有一個名字。對象可以用3種方式命名:對象名、對象名和類名、或只用類名。UML的術語和概念

對象UML的術語和概念

消息消息是對象間的通信,它傳達了要執(zhí)行動作的信息,它能觸發(fā)事件。UML的術語和概念

消息UML的術語和概念

接口接口是用來規(guī)定類或組件服務的操作的集合。接口可以有名字,以與其他的接口相區(qū)分。實踐中,接口名通常是從問題域的詞匯表中抽取出的短名詞或名詞詞組。和類一樣,接口可以參與類屬關系、關聯(lián)關系和依賴關系。另外,接口還可以參與實現(xiàn)關系。UML的術語和概念

接口UML的術語和概念接口的符號如圖所示有3中表示方法。第一種是圖標(Icon)形式,第二種是修飾(Decoration)形式,第三種是標簽(Label)形式。對于后兩種表示方法,還可以將屬性、或操作、或兩部分都隱藏起來UML的術語和概念

接口的符號如圖所示有3中表示方法。第一種是圖標(Icon)形

類型類型是類的構造型,用于描述對象的域。UML的術語和概念

類型UML的術語和概念

角色角色是一個參與特定語境的實體的行為。UML的術語和概念

角色UML的術語和概念

實例實例是抽象的具體表示,對它可使用一組操作,它有用來存儲操作結果的狀態(tài)。名稱操作狀態(tài)主動對象連接類范圍的屬性和操作暫時UML的術語和概念

實例UML的術語和概念

事件事件是對一個在時間和空間上占有一定位置的有意義的事情的規(guī)格說明。種類消息信號調(diào)用UML的術語和概念

事件UML的術語和概念UML的擴充機制UML支持自身的擴充與調(diào)整,以便使其與一個特定的方法、組織或用戶相一致,UML中包含3種主要的擴充組件:原型、標記值和約束。原型:能夠說清領域中的詞匯,且看起來仍像原有構造塊的新事物。標記值:為UML事物增加新的特性。約束:增加新的語義或改變已存在的規(guī)則。UML的術語和概念

UML的擴充機制UML的術語和概念

狀態(tài)機說明對象在生命期中響應事件所經(jīng)歷的狀態(tài)序列,以及它們對事件的響應。狀態(tài):對象生命期中的一個條件或狀況,在此期間,對象將滿足某些條件,執(zhí)行某些活動,或等待某些事件。初態(tài):狀態(tài)機或子狀態(tài)的缺省開始位置;終態(tài):狀態(tài)機或外圍狀態(tài)的執(zhí)行已經(jīng)完成。轉(zhuǎn)換:一個轉(zhuǎn)換是兩個狀態(tài)之間的一種關系,表示對象將在第一個狀態(tài)中執(zhí)行一定的動作,并在某個特定事件發(fā)生而某個特定的條件滿足時進入第二個狀態(tài)。UML的術語和概念

狀態(tài)機UML的術語和概念

時間和空間時間標記:表示事件發(fā)生時刻的符號,由交互中的消息名形成的表達式。時間表達式:用來判斷絕對或相對時間值的表達式。時間約束:關于絕對或相對時間值的語義陳述。位置:一個構件在一個節(jié)點上的位置。實時系統(tǒng):是時間關鍵系統(tǒng)。事件可以在規(guī)則或不規(guī)則的時間發(fā)生;對一個事件的響應必須在可預料的絕對時間或者相對于事件本身的時間發(fā)生。UML的術語和概念

時間和空間UML的術語和概念UML的內(nèi)容UML語義UML表示法

UML的構成元素結構元素:模型的靜態(tài)部分,描述概念或物理元素。包括類、接口、協(xié)作、用例、主動類、組件和節(jié)點。行為元素:模型的動態(tài)部分,描述跨越時間和空間的行為。包括交互和狀態(tài)機。分組元素:模型的組織部分,如包。注釋元素:模型的解釋部分,用來描述、說明和標注模型的任何元素,如注解。2.1.4UML的組成

UML的內(nèi)容2.1.4UML的組成關系

關系說明元素之間的相互聯(lián)系,即事物之間的聯(lián)系,在面向?qū)ο蠼V?,有四種很重要的關系:依賴(Dependency)關系類屬(Generalization)關系關聯(lián)(Association)關系實現(xiàn)(Realization)關系UML的組成

關系UML的組成圖

圖是由一組元素和關系組成的連通圖,包括靜態(tài)結構圖和動態(tài)行為圖類圖對象圖組件圖配置圖用例圖UML的組成

順序圖協(xié)作圖狀態(tài)圖活動圖圖UML的組成2.2UML的關系

依賴關系類屬關系關聯(lián)關系實現(xiàn)關系

2.2UML的關系依賴關系2.2.1依賴關系

依賴關系描述了類之間的使用關系。如果一個模型元素發(fā)生變化會影響另一個模型元素(這種影響不必是可逆的),那么就說在這兩個模型元素之間存在依賴關系。例如:有兩個元素X、Y,如果修改元素X的定義會引起對元素Y的定義的修改,則稱元素Y依賴于元素X。2.2.1依賴關系依賴關系描述了類之間的使用關系。依賴關系

依賴關系的UML符號表示是帶箭頭的虛線,指向被依賴的模型元素。依賴關系依賴關系的UML符號表示是帶箭頭的虛線,指向被依賴依賴關系在類圖中,依賴可以由許多原因引起,例如,一個類向另一個類發(fā)送消息(也即,一個類的操作調(diào)用另一個類的操作),或者一個類是另一個類的數(shù)據(jù)成員,或者一個類是另一個類的某個操作參數(shù),那么就可以說這兩個類之間存在著依賴關系。語義上,所有的關系(包括關聯(lián)關系、類屬關系、實現(xiàn)關系)都是各種各樣的依賴關系,因為這3種關系具有很重要的語義,所以在UML中被分離出來成為獨立的關系。依賴關系在類圖中,依賴可以由許多原因引起,例如,一個類向另一2.2.2類屬關系

類之間的類屬關系表示子類繼承一個或多個父類的結構與行為。類屬關系描述了類之間的“是一種”(is-a-kind-of)的關系,類屬關系用來連接一般類與特殊類,用來描述父類與子類或父與子的關系,子類繼承父類的特性,尤其是屬性和操作。類屬關系的UML符號表示是帶空心箭頭的實線,箭頭指向父元素。2.2.2類屬關系類之間的類屬關系表示子類繼承一個或多個

一個類可以有零個到多個父類,沒有父類且有一個或多個子類的類被稱為根類或基類。沒有子類的類被稱為葉類。一個類可以有零個到多個父類,沒有父類且有一個或多個子

如果在繼承關系中,每個類只能有一個父類,則是單繼承。

如果一個類有多于一個的父類存在,則被稱為多繼承。

如果在繼承關系中,每個類只能有一個父類,則是單繼承。2.2.3關聯(lián)關系關聯(lián)關系是一種結構關系,規(guī)定了一種事物的對象可以與另一種事物的對象相連。例如,雇員為公司工作,一個公司有很多部門,就可以認為雇員和公司、公司和部門之間存在某種語義上的聯(lián)系,在類圖模型中,就可以在類Employee(雇員)和類Company(公司)、類Company(公司)和類Department(部門)之間建立關聯(lián)關系。關聯(lián)關系的UML符號表示是一條實線。2.2.3關聯(lián)關系關聯(lián)關系是一種結構關系,規(guī)定了一種事物的關聯(lián)關系

可以應用于關聯(lián)關系的四種基本修飾是:名稱:描述關系的性質(zhì)。角色:關聯(lián)中靠近它一端的類對另外一端的類呈現(xiàn)的職責。階元(Multiplicity):說明一個關聯(lián)的實例中有多少個相互連接的對象。聚合(Aggregation):整體對象擁有部分對象。關聯(lián)關系可以應用于關聯(lián)關系的四種基本修飾是:關聯(lián)名通常是一個動詞或動詞詞組,用來表示關聯(lián)關系的類型或目的。所選擇的關聯(lián)名應該有助于理解該模型。關聯(lián)名通常是一個動詞或動詞詞組,用來表示關聯(lián)關系的類型或目的

關聯(lián)關系中的相關術語和概念角色階元導航聚合關系組合關系關聯(lián)類可見性限定符接口說明符關聯(lián)關系關聯(lián)關系中的相關術語和概念關聯(lián)關系2.2.4實現(xiàn)關系

實現(xiàn)關系是分類器之間的語義關系,一個分類器規(guī)定合同,另一個分類器保證實現(xiàn)這個合同。可以在兩種情況下使用實現(xiàn)關系:實現(xiàn)被用在接口與實現(xiàn)它們的類或組件之間;實現(xiàn)被用在用例和實現(xiàn)該用例的協(xié)作之間。實現(xiàn)關系的UML符號表示是一條帶有空心箭頭的虛線。2.2.4實現(xiàn)關系實現(xiàn)關系是分類器之間的語義關系,一個分第2章電子商務應用系統(tǒng)與開發(fā)課件2.3用例圖

用例圖概述用例圖的構成用例圖的應用

2.3用例圖用例圖概述2.3.1用例圖概述

參與者觸發(fā)用例,并與用例進行信息交換。單個參與者可以和多個用例連接,一個用例也可以與多個參與者連接。對同一個用例而言,不同參與者有著不同活動:可以從用例獲取值,也可以輸出信息到用例中。在參與者和用例之間存在的關聯(lián)關系通常被稱為通信關聯(lián),因為它代表著參與者與用例之間的通信。2.3.1用例圖概述參與者觸發(fā)用例,并與用例進行信息交換用例圖概述不帶箭頭的線段代表關聯(lián)是雙向?qū)Ш剑◤膮⑴c者到用例,并從用例到參與者);帶箭頭的線段代表關聯(lián)是單向?qū)Ш剑◤膮⑴c者到用例,或從用例到參與者),導航的方向表明了是參與者發(fā)起了和用例的通信還是用例發(fā)起了和參與者的通信。用例捕捉了系統(tǒng)的行為但沒有規(guī)定怎樣實現(xiàn)這些行為,這一點很重要,因為系統(tǒng)分析(規(guī)定行為)應該盡可能多地不被實現(xiàn)的細節(jié)(規(guī)定怎樣執(zhí)行行為)所影響。最終,用例需要被實現(xiàn),在UML中用來實現(xiàn)用例的元素是協(xié)作(Collaboration)。用例圖概述不帶箭頭的線段代表關聯(lián)是雙向?qū)Ш剑◤膮⑴c者到用例,

協(xié)作是一起工作以實現(xiàn)用例行為的類和其他元素構成的群體,顯式說明用例的實現(xiàn)。協(xié)作是一起工作以實現(xiàn)用例行為的類和其他元素構成的群體,顯式2.3.2用例圖的構成

參與者在UML中,參與者代表與系統(tǒng)交互的人、硬件、或另一個系統(tǒng),是用例使用者與用例交互時所扮演的角色。參與者的UML符號表示是圖示的“小人”,并可在符號下標出參與者名。參與者可以只向系統(tǒng)輸入信息或只從系統(tǒng)接受信息,也可以既可以輸入信息給系統(tǒng),還可以接受系統(tǒng)的輸出信息。參與者與參與者之間也可以存在類屬關系。為了準確獲取用例,首先需要識別系統(tǒng)的參與者,可以通過問題的答案來幫助發(fā)現(xiàn)系統(tǒng)的參與者。2.3.2用例圖的構成參與者識別參與者須注意的問題:盡管參與者在用例圖中是用類似人的圖形來表示,但參與者并不一定必須是人。參與者代表角色。一個實體可以扮演多種角色(參與者),在確定實體的參與者身份時,應考慮其所扮演的角色,而不是實體的頭銜或名稱。角色不是對職位建模。用例圖的構成識別參與者須注意的問題:用例圖的構成

用例用例描述了系統(tǒng)所執(zhí)行的一組動作序列,系統(tǒng)執(zhí)行該動作序列來為參與者產(chǎn)生一個可供觀察的結果。用例的UML符號表示是橢圓,并可在符號下標出用例名。在實踐中,用例的名字通常是用動詞詞組命名從問題域中發(fā)現(xiàn)的一些行為。用例表示了系統(tǒng)的功能,也就是系統(tǒng)提供給參與者的功能。系統(tǒng)的用例構成了系統(tǒng)的所有使用功能。用例圖的構成用例用例圖的構成用例圖的構成構造一個好的用例應該遵循的原則:一個用例應該描述一個從頭至尾的完整的功能,用例要與參與者交互。用例的獲取是需求分析時首先要做的工作,大部分用例將在需求分析時產(chǎn)生,并且隨著工作深入會發(fā)現(xiàn)更多的用例,這些都應及時添加到已有的用例集中。用例集中的每個用例都是一個潛在的需求。參與者的識別對識別用例很有用。面對一個大系統(tǒng),可先列出參與者清單,再對每個參與者列出它的用例,問題就會容易很多。在識別出了參與者后,可以通過一些問題的答案來幫助發(fā)現(xiàn)系統(tǒng)的用例。用例圖的構成構造一個好的用例應該遵循的原則:用例圖的構成對于每個用例,都可以用事件流來規(guī)定用例的行為。用例的事件流是對完成用例規(guī)定行為所需要的事件的描述。在描述用例的事件流時,既可以用非正式的結構化文本,也可以用正式的結構化文本,還可以用偽代碼。在創(chuàng)建事件流文檔時,每個項目都應使用一個標準模板,模板內(nèi)容如下所示:

X“用例名”

X.1簡單描述

X.2前置條件

X.3后置條件

X.4事件流

X.4.1基流

X.4.2分支流(可選)

X.4.3替代流用例圖的構成對于每個用例,都可以用事件流來規(guī)定用例的行為。用

用例間的關系類屬關系(Generalization)用例間的類屬關系如同類間的類屬關系。也就是說,子用例繼承父用例的行為和含義,子用例可添加新行為或覆蓋父用例的行為。包含關系(Include)多個用例可能具有一些相同的功能,共享的功能通常被放在一個單獨的用例中,可在該用例和其他需要使用其功能的用例之間創(chuàng)建Include關系。使用Include關系可以避免重復描述同樣的事件流,因為公共的行為被放入一個專門的用例中,這個專門的用例是被基用例包含的。用例圖的構成用例間的關系用例圖的構成擴充關系(Extend)擴充關系用來說明可選的、只在特定條件下運行的行為,具有擴充關系的用例基于參與者的選擇,可以運行幾個不同的流。用例間的擴充關系表示基用例在指定的擴充點隱式地含有另一個用例的行為?;美梢元毩⒋嬖?,但在特定條件下,它的行為會被另一個用例的行為擴充。基用例只在被稱為擴充點的特定點被擴充。可以認為,擴充用例將行為推進基用例。包含關系(抽取公共行為)和擴充關系(識別變種)對于創(chuàng)建簡單、易于理解的系統(tǒng)用例集是非常重要的。用例圖的構成擴充關系(Extend)用例圖的構成2.3.3用例圖的應用為系統(tǒng)的上下文建模為系統(tǒng)的上下文建模,涉及到圍繞整個系統(tǒng)劃一條線,并確保位于系統(tǒng)外的參與者與系統(tǒng)相互作用。這個上下文定義了系統(tǒng)存在的環(huán)境。在建立用例圖時,首先要確定圍繞系統(tǒng)的參與者,確定參與者是很重要的,因為這樣就確定了與系統(tǒng)交互作用的一類事物。對系統(tǒng)的需求建模需求規(guī)定了用戶期望系統(tǒng)做什么。需求的表達可以有很多方式,例如:事件流描述、活動圖。系統(tǒng)的全部或大部分功能需求可以表達為用例。UML的用例圖對于管理這些需求是很重要的。為系統(tǒng)的需求建模涉及到規(guī)定系統(tǒng)應該做什么,不需要知道系統(tǒng)應該怎樣實現(xiàn)這些行為,即用例圖用來規(guī)定系統(tǒng)的行為。2.3.3用例圖的應用為系統(tǒng)的上下文建模2.4類圖和對象圖

類的相關概念類圖對象圖

2.4類圖和對象圖類的相關概念2.4.1類的相關概念

類是一組具有相同屬性、操作、關系和語義的對象的描述,是現(xiàn)實世界中的事物的抽象,當這些事物存在于真實世界中時,他們是類的實例,并被稱為對象。類的UML符號表示是劃分為3個格子的長方形,頂部的格子放類名,中間格子放類的屬性、屬性的類型和值,下面的格子放操作、操作的參數(shù)表和返回類型。有實例的建模元素稱為類元,它具有結構特征(屬性)和行為特征(操作)。包括類、接口、數(shù)據(jù)類型、信號、構件、節(jié)點、用例和子系統(tǒng)。2.4.1類的相關概念類是一組具有相同屬性、操作、關系類的名稱每個類都有一個名字,以與其他類相區(qū)別。在實踐中,類名通常用問題域中的短名詞或名詞詞組來表示。通常將類名中的每個組成詞的第一個字母大寫,如Student、HelloWorld等。類的命名應盡量用問題域中的術語,應明確、無歧義,以利于開發(fā)人員與用戶之間的相互理解與交流。類的屬性屬性描述了類的所有對象所共有的特性。一個類可以有一個或多個屬性或者根本沒有屬性。屬性是類的對象所包含的數(shù)據(jù)或狀態(tài)的抽象。在特定的時刻,類的對象對類的每個屬性都有特定的值。不同的屬性具有不同的可見性,可見性用來描述特征能否為其他類元使用。常見的可見性有公用的(public)、私有的(private)、受保護的(protected)類的相關概念

類的名稱類的相關概念類的操作操作是類的所有對象所共有的行為的抽象。操作用于修改、檢索類的屬性或執(zhí)行某些動作。一個類可以有任何數(shù)量的操作或根本沒有操作。操作通常也被稱為功能或方法,但是它們被約束在類的內(nèi)部,只能作用到該類的對象上。操作名、返回類型和參數(shù)表組成操作的接口。類的類型邊界類實體類控制類類的相關概念

類的操作類的相關概念2.4.2類圖

概述類圖是面向?qū)ο蠼W畛R姷膱D,它是顯示一組類、接口、協(xié)作以及它們之間關系的圖。類圖由類、接口、協(xié)作、依賴關系、類屬關系、實現(xiàn)關系以及關聯(lián)關系這幾部分組成,像其他的圖一樣,類圖也可以含有注釋和約束。劃分雖然在軟件開發(fā)的不同階段都使用類圖,但這些類圖描述了不同層次的抽象。在需求分析階段,類圖是所研究的問題域中的概念;在設計階段,類圖描述類與類之間的接口;在實現(xiàn)階段,類圖描述軟件系統(tǒng)中類的實現(xiàn)。要正確的理解類圖,首先應正確的理解3種層次:概念層、說明層、實現(xiàn)層。2.4.2類圖概述類圖

如何篩選得到分析類并畫出分析類圖在系統(tǒng)分析階段的前半部分內(nèi)容中,使用用例圖、活動圖和用例的一種結構化文檔描述方法對系統(tǒng)的需求進行了分析。下一步的工作是找出實體類、控制類和邊界類,然后再使用協(xié)作圖分析它們之間的交互情況,從而不僅又一次明確了功能需求,也為在設計階段設計出真正的可編程的類打下了基礎,因此這是一個承前啟后的過程。以“圖書選購”這一個功能為例。類圖如何篩選得到分析類并畫出分析類圖類圖

設計階段類圖的作用對簡單的協(xié)作建模對數(shù)據(jù)庫概念設計建模

類圖的應用對系統(tǒng)的詞匯建模對簡單的協(xié)作建模對邏輯數(shù)據(jù)庫模式建模類圖設計階段類圖的作用2.4.3對象圖

概述表示在某一時間點上一組對象以及它們之間的關系的圖,模擬類圖中所含有的類的實例。它為處在時域空間某一點的系統(tǒng)建模,描繪了系統(tǒng)的對象、對象的狀態(tài)及對象間的關系。對象圖主要用來為對象結構建模。對象圖可以看作是類圖的一個實例。對象是類的實例,對象之間的連接是類之間的關聯(lián)關系的實例。對象圖常用于描述復雜類圖的一個實例。對象圖中通常含有:對象(Objects)、連接(Links),對象圖可以含有注解和約束;對象圖也可以含有包或子系統(tǒng),包或子系統(tǒng)用來將模型的元素封裝成比較大的模塊。2.4.3對象圖概述對象圖

應用對象圖通常用于為對象結構建模。對象圖可以用來可視化、規(guī)范、構造、并文檔化系統(tǒng)中特定實例的存在以及實例間的關系。為對象結構建模時,需要考慮以下幾點:確定想要模擬的機制。機制代表了所模擬的部分系統(tǒng)的由類、接口等交互作用產(chǎn)生的功能或行為。對于每個機制,識別參加這個協(xié)作的類、接口以及其他元素,并確定這些元素間的關系。考慮貫穿這個機制的一個腳本,顯示在腳本的某一時間點參與這個機制的對象。如果必要,揭示每個對象的狀態(tài)和屬性值。類似地,揭示對象間的連接,這些連接是關聯(lián)關系的實例。對象圖應用2.5交互作用圖

顯示一個交互,由一組對象和它們之間的關系構成,其中包括在對象間傳遞的消息。順序圖和協(xié)作圖都被稱為交互作用圖。順序圖強調(diào)消息的時間順序,適合于描述實時系統(tǒng);協(xié)作圖強調(diào)發(fā)送和接收消息的對象的組織結構,描述了對象間的關系。交互作用圖的組成元素:對象;連接;消息;注解和約束。2.5交互作用圖顯示一個交互,由一組對象和它們之間的關系2.5.1交互

交互是由實現(xiàn)某一目標的一組對象之間進行交換的一組消息所構成的行為。它包括連接和消息,連接是關聯(lián)的一個實例,它指明了一個對象向另一個對象發(fā)送消息的路徑;消息是傳送信息的對象之間所進行的通訊的詳述。消息的傳送將引起如下動作:調(diào)用(Call)返回(Return)發(fā)送(Send)創(chuàng)建(Create)撤消(Destroy)2.5.1交互交互是由實現(xiàn)某一目標的一組對象之間進行交2.5.2順序圖概述

順序圖存在兩個軸:水平軸表示不同的對象,垂直軸表示時間。順序圖中的對象用一個帶有垂直虛線的矩形框表示,并標有對象名和類名,對于對象,可以只標對象名,也可以只標類名,還可以都標出。垂直虛線是對象的生命線,用于表示在某段時間內(nèi)對象是存在的。對象間的通信通過在對象的生命線間畫消息來表示。2.5.2順序圖概述順序圖存在兩個軸:水平軸表示不同的對順序圖概述

順序圖中的消息可以是信號、操作調(diào)用等。當收到消息時,接收對象立即開始執(zhí)行活動,即對象被激活了,通過對象生命線上的一個細長矩形框來表示激活。消息以帶有標簽的箭頭表示。消息還可帶有條件表達式,表示分支或決定是否發(fā)送消息。如果用于表示分支,則每個分支是相互排斥的,即在某一時刻僅可發(fā)送分支中的一個消息。順序圖概述順序圖中的消息可以是信號、操作調(diào)用等。當收到消息

順序圖強調(diào)了消息的時間順序。在畫順序圖時,首先將參與交互作用的對象沿著X軸放在圖的頂端,將啟動交互作用的對象放在左邊,將從屬的對象放在右邊,將這些對象發(fā)送和接收的消息按照時間增加的順

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論