




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象方法學引論內容9.1面向對象方法學概述9.2面向對象的概念9.3面向對象建模9.4對象模型9.5動態(tài)模型9.6功能模型9.1面向對象方法學概述面向對象方法學(Object-OrientedMethodology),簡稱OOM9.1.1面向對象方法學的要點9.1.2面向對象方法學的優(yōu)點9.1面向對象方法學概述9.1.1面向對象方法學的要點OOM的出發(fā)點和基本原則:盡可能模擬人類習慣的思維方式,使描述問題的問題空間與實現解法的解空間在結構上盡可能一致。面向對象方法是一種以數據和信息為主線,把數據和處理相結合的方法:面向對象方法把對象作為由數據及可以施加在這些數據上的操作所構成的統(tǒng)一體9.1面向對象方法學概述9.1.1面向對象方法學的要點解空間與問題空間的“語義斷層”對象解空間對象和問題空間對象解空間對象的呆板問題空間對象的靜態(tài)屬性/動態(tài)行為9.1面向對象方法學概述9.1.1面向對象方法學的要點OOM的4個要素對象(object):世界由對象組成。類(class):具有相同屬性和操作的對象可劃分為類;單個對象可視為某一類的實例(instance)繼承(inheritance):類可分層下層子類與上層父類有相同特征,稱為繼承消息(message):對象間只能通過發(fā)送消息進行聯系,外界不能處理對象的內部數據,只能通過消息9.1面向對象方法學概述基于對象(objects-based)方法使用對象-消息基于類(class-based)方法使用類-對象-消息面向對象(objects-based)使用類-對象-消息-繼承9.1面向對象方法學概述9.1.2面向對象方法學的優(yōu)點與人類習慣的思維方式一致
穩(wěn)定性好可重用性好可維護性好注:OOM并不是減少了開發(fā)時間,而是通過提高可重用性、可維護性,進行擴充和修改的容易程度等,從長遠角度改進了軟件的質量。9.1面向對象方法學概述9.1.2面向對象方法學的優(yōu)點與人類習慣的思維方式一致傳統(tǒng)方法:面向過程設計,以計算為核心,數據與操作分離,不易理解。OOM:以object為核心,強調對現實概念的模擬而不強調算法?!懊嫦驅ο蠓椒▽W的基本原則,是按照人們習慣的思維方式建立問題域的模型,開發(fā)出盡可能直觀、自然地表現求解方法的軟件系統(tǒng)”。Class:由特殊到一般的歸納(induction)Inheritance:由一般到特殊的演繹(deduction)9.1面向對象方法學概述9.1.2面向對象方法學的優(yōu)點
穩(wěn)定性好傳統(tǒng)方法:結構依賴于功能,不穩(wěn)定。OOM:以object模擬實體,需求變化不會引起結構的整體變化,因為實體相對穩(wěn)定,故系統(tǒng)也相應穩(wěn)定。9.1面向向對對象象方方法法學學概概述述面向向對對象象方方法法學學的的優(yōu)優(yōu)點點可重重用用性性好好傳統(tǒng)統(tǒng)方方法法::通通過過建建立立標標準準函函數數庫庫來來重重用用軟軟構構件件。。但但標標準準函函數數缺缺少少必必要要的的““柔柔性性””,,難難以以適適應應不不同同場場合合的的不不同同需需要要。。OOM:一一個個class所有的instances都可重用用它的代代碼;由由inheritance派生出的的新的class可重用其其父類的的代碼,,并且可可以修改改、擴充充而不影影響其父父類的使使用。9.1面向對象象方法學學概述面向對象象方法學學的優(yōu)點點可維護性性好傳統(tǒng)方法法:可維維護性是是最令人人頭痛的的問題。。OOM:從以下下幾方面面改善了了可維護護性穩(wěn)定性好好:需求求的變化化不牽動動全局,,只需局局部修改改;Class獨立性強強:只要要修改不不涉及class的對外接接口,則則內部修修改完全全不影響響外部調調用;繼承(Inheritance)和多態(tài)性性(polymorphism)使其易被被修改和和擴充;;容易理解解、容易易測試、、調試9.2面向對象象的概念念對象對象既可可以是具具體的物物理實體體的抽象象,也可可以是人人為的概概念,或或者是任任何有明明確邊界界和意義義的東西西。例如,一一名職工工、一家家公司、、一個窗窗口、一一座圖書書館、一一本圖書書、貸款款、借款款等等,,都可以以作為一一個對象象。9.2面向對象象的概念念對象f1f2f3……fi……fnfi(X)Sgi(X,S)S’輸出輸出Object:=ID+Method+Attribute+Message9.2面向對象象的概念念對象對象的定定義定義1:對象是是具有相相同狀態(tài)態(tài)的一組組操作的的集合。。定義2:對象是是對問題題域中某某個東西西的抽象象,這種種抽象反反映了系系統(tǒng)保存存有關這這個東西西的信息息或與它它交互的的能力定義3:對象::=<ID,MS,DS,MI>,依次表表示名字字操操作集合合數數據結結構對對外外接口9.2面向對象象的概念念對象特點以數據為為中心,,不設與與數據無無關的操操作;Object主動處理理而不被被動地地等待被被處理,,外部只只能通過過message請求操作作;具有封裝裝性:外外部操作作時,無無須知道道該object內部的數數據結構構及算法法;具有并行行性:不不同object各自獨立立地處理理自身數數據,彼彼此間僅僅通過傳傳遞message完成通信信;模塊獨立立性好::內聚強強、耦合合松9.2面向對象象的概念念其他概念念類:是對具具有相同同數據和和相同操操作的一一組相似似對象的的定義。。例例人人、圓圓實例:是由由某個個特定定的類類所描描述的的一個個具體體對象象。消息:是要要求某某個對對象執(zhí)執(zhí)行在在定義義它的的那個個類中中所定定義的的某個個操作作的規(guī)規(guī)格說說明。。由3部分組組成::接受受消息息的對對象、、消息息選擇擇符(名)、零個個和多多個變變元。。方法:是對象所所能執(zhí)行的的操作;即即類中所定定義的服務務。方法描描述了對象象執(zhí)行操作作的算法,,響應消息息的方法。。屬性:是類中所所定義的數數據,是對對客觀實體體所具有的的性質抽象象9.2面向對象的的概念其他概念封裝:是把某個個事務包起起來,使外外界不知道道該事物的的具體內容容。封裝的條件件:(1)有一個清晰晰的邊界(2)有確定的接接口(3)受保護的內內部實現繼承繼承是子類類自動地共共享基類中中定義的數數據和方法法的機制,,其特性是是:一個類類的上層可可以有父類類,下層可可以有子類類。繼承具有傳傳遞性,如如果類C繼承類B,類B繼承類A,則類C繼承類A。當類等級為為樹形結構構時,類的的繼承是單單繼承;當當允許一個個類有多個個父親時,,類的繼承承是多重繼繼承。9.2面向對象的的概念其他概念繼承在程序執(zhí)行行期間,對對對象某一一性質的查查找是從該該對象類在在類等級中中所在的程程序開始,,沿類等級級逐層向上上進行的,,并把第一一個被找到到的性質作作為所要的的性質。因因此,低層的性質質將屏蔽高高層的同名名的性質。從原有類派派生出新的的子類的辦辦法有:需要擴充原原有功能時時,派生類類的方法可可以調用基基類的方法法,并在此此基礎上增增加必要的的程序代碼碼;需要完全改改變原有操操作的算法法時,可以以在派生類類中實現一一個與基類類方法同名名而算法不不同的方法法;需要增加新新的功能時時,可以在在派生類中中實現一個個新的方法法。Class中國人中國人Attributes中國人Methods張山(instance)Class中國人
張山的AttributesClass杭州人
(子類)
杭州人Attributes杭州人MethodsClass中國人李士(instance)
中國人李士的Attributes
杭州人李士的AttributesClass杭州人例:9.2面向對象的的概念9.2面向對象的的概念其他概念多態(tài)性多態(tài)性是指指子類對象可可以像父類類對象那樣樣使用,同樣的消消息既可以以發(fā)送給父父類對象也也可以發(fā)送送給子類對對象。在C++語言中,多多態(tài)性是通通過虛函數數來實現的的。虛函數數機制使得得程序員能能在一個類類等級中使使用相同函函數的多個個不同版本本,稱為動態(tài)聯遍,也叫滯后后聯編。多態(tài)性機制制不僅增加加了面向對對象軟件的的靈活性,,進一步減減少了信息息冗余,而而且顯著提提高了軟件件可重用性性和可擴充充性。9.2面向對象的的概念其他概念重載函數重載是是指在同一一作用域內內的若干個個參數特征征不同的函函數可以使使用相同的的函數名字字;運算符重載載是指同一一個運算符符可以施加加與不同類類型的操作作數上面,,當參數類類型不同或或被操作數數的類型不不同時,實實現函數的的算法或運運算符的語語義是不相相同的在C++語言中函數數重載是通通過靜態(tài)聯編(也叫先前前聯編)實實現的,也也就是在編編譯時根據據函數變元元的個數和和類型,決決定到底使使用函數的的哪個實現現代碼;對對于重載的的運算符,,同樣是在在編譯時根根據被操作作數的類型型,決定使使用該運算算符的哪種種語義。9.3面向對象建建模用面向對象象方法開發(fā)發(fā)軟件,通通常要建立立3種形式的模模型:描述系統(tǒng)數據結構的對象模型描述系統(tǒng)控制結構的動態(tài)模型描述系統(tǒng)功能的功能模型一個典型的的軟件系統(tǒng)統(tǒng)使用數據結構(對象模型型),執(zhí)行操作(動態(tài)模型型),并完成數據據值的變化化(功能模型型)9.4對象模型類圖的基本本符號表示關系的的符號9.4對象模型關于建模語語言模型通常由由一組圖示符號和組成這些些符號的規(guī)則組成,定義義和描述問問題域的術術語和概念念為建立模型型,需要用用適當的語言來表達模型型建模語言由由記號(即模型中中使用的符符號)和使使用這些記記號的規(guī)則(語法、語語義)組成成9.4對象模型關于UML建模模語語言言面向向對對象象分分析析與與設設計計方方法法在在20世紀紀80年代代末末到到90年代代中中出出現現了了一一個個高高潮潮,,統(tǒng)統(tǒng)一一建建模模語語言言UML就是是這這個個高高潮潮的的產產物物UML是由由面面向向對對象象方方法法領領域域的的三三位位著著名名專專家家GradyBooch,JamesRumbaugh和IvarJacobson提出出的的UML統(tǒng)一一了了他他們們三三人人的的表表示示方方法法,,而而且且融融入入了了眾眾多多優(yōu)優(yōu)秀秀的的軟軟件件方方法法和和思思想想,,從從而而把把面面向向對對象象方方法法提提高高到到一一個個嶄嶄新新的的高高度度。。UML標志志著著面面向向對對象象建建模模方方法法進進入入了了第第三三代代GradyBoochJamesRumbaughIvarJacobson9.4對象象模模型型關于于UML建模模語語言言UML已得得到到許許多多世世界界知知名名公公司司的的使使用用和和支支持持1997年11月17日被被OMG組織織采采納納,,成成為為面面向向對對象象建建模模的的標標準準語語言言OMG已經經把把UML作為為公公共共可可得得到到的的規(guī)規(guī)格格說說明明提提交交給給國國際際標標準準化化組組織織進進行行國國際際標標準準化化,,UML最終終成成為為信信息息技技術術的的正正式式國國際際標標準準UML不論論在在計計算算機機學學術術界界、、軟軟件件產產業(yè)業(yè)界界還還是是在在商商業(yè)業(yè)界界,,UML已經經逐逐漸漸成成為為人人們們?yōu)闉楦鞲鞣N種系系統(tǒng)統(tǒng)建建模模、、描描述述系系統(tǒng)統(tǒng)體體系系結結構構、、商商業(yè)業(yè)體體系系結結構構和和商商業(yè)業(yè)過過程程時時使使用用的的統(tǒng)統(tǒng)一一工工具具,,而而且且在在實實踐踐過過程程中中人人們們還還在在不不斷斷擴擴展展它它的的應應用用領領域域9.4對象模型對象模型對象模型表示示靜態(tài)的、結構化的系系統(tǒng)的“數據”性質是對模擬客觀觀世界實體的的對象以及對象彼此間的的關系的映射建立對象模型型時,我們的的目標是從客客觀世界中提提煉出對具體體應用有價值值的概念OO方法強調圍繞繞“對象”而不是“功能”來構造系統(tǒng)對象模型為建建立動態(tài)模型型和功能模型型提供了架構UML使用類圖來建立對象模模型9.4對象模型類圖的基本符符號類圖描述類、、類與類之間間的靜態(tài)關系系,是一種靜靜態(tài)模型,是是創(chuàng)建其他UML圖的基礎一個系統(tǒng)由多多張類圖來描描述,一個類類也可以出現現在幾張類圖圖中1定義類UML中類的圖形符符號為長方形形,用兩條橫橫線把長方形形分成上、中中、下3個區(qū)域(下面面兩個區(qū)域可可以省略)為類命名時應應該遵守以下下幾條準則::使用標準術語語使用具有確切切含義的名詞詞必要時用名詞詞短語作為名名字類名屬性服務9.4對象模型類圖的基本符符號2定義屬性UML描述屬性的語語法如下:可見性屬屬性名:類型型名=初值{性質串}屬性的可見性性(即可訪問問性)通常有有下述3種:公有的(public)(+)私有的(private)(-)保護的(protected)(#)類型名表示該該屬性的數據據類型,它可可以是基本數數據類型,也也可以是用戶戶自定義的類類型用花括號括起起來的性質串串明列出該屬屬性所有可能能的取值例:-管理員:String=“未定”類名屬性服務9.4對象模型類圖的基本符符號3定義服務UML描述操作的語語法格式如下下:可見性操作作名(參數表):返回值類型型{性質串}操作可見性的的定義方法與與屬性相同。。參數表是用逗逗號分隔的形形式參數的序序列。描述一一個參數的語語法如下:參數名:類型型名=默認值值當操作的調用用者未提供實實在參數時,,該參數就使使用默認值。。類名屬性服務9.4對象模型表示關系的符符號類與類之間通通常有關聯、泛化(繼承承)、、依賴和細化等4種關系系1關聯關聯表表示兩兩個類類的對對象之之間存存在某某種語語義上上的聯聯系(1)普通關關聯::最常常見的的關聯聯關系系,只只要在在類與與類之之間存存在連連接關關系就就可以以用普普通關關聯表表示。。例如,,作家家使用用計算算機,,我們們就認認為在在作家家和計計算機機之間間存在在某種種語義義連接接,因因此在在類圖圖中應應該在在作家家類和和計算算機類類之間間建立立關聯聯關系系作家計算機機*使用1..*被使用用9.4對象模模型表示關關系的的符號號1關聯聯通常常關關聯聯是是雙雙向向的的,,可可在在一一個個方方向向上上為為關關聯聯起起一一個個名字字,在在另另一一個個方方向向上上起起另另一一個個名名字字((也也可可不不起起名名字字))在表表示示關關聯聯的的直直線線兩兩端端可可以以寫寫上上重數數(multiplicity),它它表表示示該該類類有有多多少少個個對對象象與與對對方方的的一一個個對對象象連連接接。。重重數數的的表表示示方方法法通通常常有有((默默認認重重數數為為1)0..1表示示0到1個對對象象0..*或*表表示示0到多多個個對對象象1+或或1..*表示示1到多多個個對對象象1..15表示示1到15個對對象象3表示示3個對對象象作家家計算算機機*使用用1..*被使使用用9.4對象象模模型型表示示關關系系的的符符號號1關聯(2)關聯的角角色在任何關關聯中都都會涉及及到參與此關關聯的對對象所扮演的的角色,,在某些些情況下下顯式標標明角色色名有助助于別人人理解類類圖例:一個個人與另另一個人人結婚,,必然一一個人扮扮演丈夫夫的角色色,另一一個人扮扮演妻子子的角色色。如果果沒有顯顯式標出出角色名名,則意意味著用用類名作作為角色色名。人結婚丈夫妻子9.4對象模型型表示關系系的符號號1關聯(3)限定關聯聯限定關聯聯通常在在一對多多或多對對多的關關聯關系系中,可可以把模模型中的的重數從從一對多多變成一一對一,,或從多多對多簡簡化成多多對一例如,某某操作系系統(tǒng)中一一個目錄錄下有許許多文件件,一個個文件僅僅屬于一一個目錄錄,在一一個目錄錄內文件件名確定定了惟一一一個文文件??梢姡孟薅ǘㄔ~把一一對多關關系簡化化成了一一對一關關系。目錄文件名文件9.4對象模型型表示關系系的符號號1關聯(4)關聯類為了說明明關聯的的性質可可能需要要一些附附加信息息,可以以引入一一個關聯聯類來記記錄這些些信息。。關聯中的的每個連連接與關關聯類的的一個對對象相聯聯系。關關聯類通通過一條條虛線與與關聯連連接。隊列列電梯梯控控制制器器電梯梯按鈕鈕4*9.4對象象模模型型表示示關關系系的的符符號號2聚集集聚集集也也稱稱為為聚聚合合,,是是關關聯聯的的特特例例。。聚聚集集表表示示類類與與類類之之間間的的關關系系是是整整體體和和部部分分的的關關系系。。在陳述需需求時使使用的““包含””、“組組成”、、“分為為……部分”等等字句,,往往意意味著存存在聚集集關系。。除了一一般聚集集之外,,還有兩兩種特殊殊的聚集集關系,,分別是是共享聚聚集和組組合聚集集。(1)共享聚集集如果在聚聚集關系系中處于于部分方方的對象象可同時時參與多多個處于于整體方方對象的的構成,,則該聚聚集稱為為共享聚聚集。課題組人*1..*成員9.4對象模型型表示關系系的符號號2聚集(2)組合聚集集如果部分分類完全全隸屬于于整體類類,部分分與整體體共存,,整體不不存在了了部分也也會隨之之消失((或失去去存在的的價值了了),則則該聚集集稱為組組合聚集集(簡稱稱為組成成)。例如,在在屏幕上上打開一一個窗口口,它由由文本框框、列表表框、按按鈕和菜菜單組成成,一旦旦關閉了了窗口,,各個組組成部分分也同時時消失,,窗口和和它的組組成部分分之間存存在著組組合聚集集關系。。窗口文本框列表框按鈕菜單包含****9.4對象模型型表示關系系的符號號3泛化在UML中的泛化化關系就就是通常常所說的的繼承關關系,它它是通用用元素和和具體元元素之間間的一種種分類關關系。具體元素素完全擁擁有通用用元素的的信息,,并且還還可以附附加一些些其他信信息。泛化針對對類型而而不針對對實例,,一個類類可以繼繼承另一一個類,,但一個個對象不不能繼承承另一個個對象。。實際上,,泛化關關系指出出在類與與類之間間存在““一般--特殊””關系。。泛化可進進一步劃劃分成普普通泛化化和受限限泛化。。9.4對象模型型表示關系系的符號號3泛化(1)普通泛化化需要特別別說明的的是沒有有具體對對象的類類稱為抽象類抽象類通通常作為為父類,,用于描描述其他他類(子子類)的的公共屬屬性和行行為。圖圖示抽象象類時,,在類名名下方附附加一個個標記值值{abstract}交通工具具{abstract}drive(){abstract}汽車drive()船drive()驅動車輪輪轉換轉動螺旋旋槳9.4對象模型型表示關系系的符號號3泛化例子:一一副工程程藍圖由由許多圖圖形組成成,圖形形可以是是直線,,圓,多多邊形或或組合圖圖,而多多邊形由由直線組組成,組組合圖由由各種線線型混合合而成。。圖形{abstract}draw(){abstract}位置:pos組合圖draw()多邊形draw()線draw()圓draw()由…組成*藍圖由…組成*由…組成*9.4對象模型型表示關系系的符號號3泛化(2)受限泛化化可以給泛泛化關系系附加約約束條件件,以進進一步說說明該泛泛化關系系的使用用方法或或擴充方方法,這這樣的泛泛化關系系稱為受受限泛化化。預定義的的約束有有4種::多重,不相交,完全和不完全,這些約約束都是是語義約約束。多重繼承承指的是是,一個個子類可可以同時時多次繼繼承同一一個上層層基類。。與多重重繼承相相反是不不相交繼繼承完全繼承指指的是父類類的所有子子類都已在在圖中窮舉舉交通工具水路兩用汽車船動力裝置動力裝置多重9.4對象模型表示關系的的符號4依賴和細化化依賴關系::依賴關系系描述兩個個模型元素素之間的語語義連接關關系,其中中一個模型型元素是獨獨立的,另另一個模型型元素不是是獨立的,,如果獨立立的模型元元素改變,,將影響依依賴于它的的模型元素素。細化關系::當對同一一個事物在在不同抽象象層次上描描述時,這這些描述之之間具有細細化關系。。類B類A《友元》獨立分析類設計類9.5動態(tài)模型動態(tài)模型動態(tài)模型表表示瞬時的的,行為化化的系統(tǒng)的的“控制”性質,它規(guī)定了對對象模型中中的對象的的合法變化化序列。每個類的動動態(tài)行為用用一張狀態(tài)圖來描繪(注:有些觀觀點認為,,不應對系系統(tǒng)中的每每個類都畫畫狀態(tài)圖,,而只應對對某些關鍵鍵類建立狀狀態(tài)圖;而而且應將狀狀態(tài)圖與其其它技術組組合使用)各個類的狀狀態(tài)圖通過過共享事件件合并起來來,從而構構成系統(tǒng)的的動態(tài)模型型動態(tài)模型是是基于事件件共享而互互相關聯的的一組狀態(tài)態(tài)圖的集合合9.5動態(tài)模型動態(tài)模型的的三要素::①事件(event):引發(fā)對象狀態(tài)改變的的控制信息息(瞬時))②狀態(tài)(status):即對象的屬性所處的情形形(可持續(xù)續(xù))③行為(action):對象要達達到某種狀態(tài)所做的操作作(耗時))表示方法::Event0Status1do:Action1Status2do:Action2Event1Event2StartEnd[Condition1]注:當描述循循環(huán)運行過過程時,通通常不關心心是怎樣啟啟動的。閑置撥號通話斷線撥號音do:響撥號音超時do:響蜂鳴音存儲的信息do:播放信息接通中do:試接通振鈴do:振鈴忙音do:響忙音拿起聽筒數字數字有效號碼已接通受話人回話受話人掛斷電話掛斷電話超時掛斷電話超時無效號碼信息播完占線例:電話的的狀態(tài)態(tài)圖9.5動態(tài)模型狀態(tài)圖:適適合描述跨跨越多個用用例的單個個對象的行行為,不適適合描述多多個對象之之間的協(xié)作作行為不應對系統(tǒng)統(tǒng)中的每個個類都畫狀狀態(tài)圖,而而只應對某某些關鍵類類建立狀態(tài)態(tài)圖;而且且應將狀態(tài)態(tài)圖與其它它技術組合合使用9.6功能模型功能模型表示變化的的系統(tǒng)的“功能”性質,它指指明了系統(tǒng)統(tǒng)應該“做什么”,因此更直直接地反映映了用戶對對目標系統(tǒng)統(tǒng)的需求。。功能模型由由一組數據據流圖組成成,在面向向對象方法法學中,數數據流圖遠遠不如在結結構分析設設計方法中中那樣重要要一般說來,,與對象模模型和動態(tài)態(tài)模型比較較,數據流流圖并沒有有增加新的的信息UML提供的用例例圖也是進進行需求分分析和建立立功能模塊塊的強有力力工具,在在UML中把用用例例圖建立起起來的系統(tǒng)統(tǒng)模型成為為用例模型。9.6功能模型用例圖用例圖包含含的模型元元素有系統(tǒng)統(tǒng),行為者者,用例及及用例之間間的關系..圖中的方框框代表系統(tǒng)統(tǒng),橢圓代代表用例,,線條人代代表行為者者,它們之之間的連線線表示關系系用例的實例例是系統(tǒng)的的一種實際際使用方法法,通常把把用例的實實例稱為腳腳本。腳本本是系統(tǒng)的的一次具體體執(zhí)行過程程例如,在自自動售貨機機系統(tǒng)中,,張三投入入硬幣購買買礦泉水,,系統(tǒng)收到到錢后把礦礦泉水送出出來,上述述過程就是是一個腳本本;李四投投幣買可樂樂,但是可可樂賣完了了,于是系系統(tǒng)給出提提示信息并并把錢退還還給李四,,這個過程程是另一個個腳本。售貨供貨取款機自動售貨機系統(tǒng)顧客供貨人收銀員9.6功能模型用例圖1系統(tǒng)系統(tǒng)被看作作是一個提提供用例的的黑盒子,,內部如何何工作,用用例如何實實現,這些些對于建立立用例模型型來說都是是不重要的的。系統(tǒng)的方框框邊線表示示系統(tǒng)的邊邊界,劃定定系統(tǒng)的功功能范圍2用例用例是可以以被行為者者感受到的的,系統(tǒng)的的一個完整整的功能在UML中把用例定定義成系統(tǒng)統(tǒng)完成的一一系列動作作,動作的的結果能被被特定的行行為者察覺覺到。用例具有下下述特征::(1)用例代表某某些用戶可可見的功能能,實現一一個具體用用戶目標(2)用例總是被被行為者啟啟動的,并并向行為者者提供可識識別的值(3)用例必須是是完整的售貨供貨取款機自動售貨機系統(tǒng)顧客供貨人收銀員9.6功能模型用例圖3行為者者行為者是指指與系統(tǒng)交交互的人或或其他系統(tǒng)統(tǒng),它代表表外部實體體。使用用用例并且與與系統(tǒng)交互互的任何人人或物都是是行為者。。行為者代表表一種角色色,而不是是某個具體體的人或物物。例如,在自自動售貨機機系統(tǒng)中,,使用售貨貨功能的人人既可以是是買張三((買礦泉水水)也可以以是李四的的(買可樂樂),但是是不能把張張三或李四四這樣的個個體對象稱稱為行為者者。售貨供貨取款機自動售貨機系統(tǒng)顧客供貨人收銀員9.6功能模型用例圖4用例之之間的關系系uml1.1中有兩種用用例關系<<uses>>關系和<<extends>>關系它們都是泛泛化(generalization)關系的構構造型(stereotype)uml1.3之后,提供供了三種用用例關系<<include>>關系、<<extend>>關系都是依依賴(dependency)關系的構構造型(stereotype)泛化關系((generalization)售貨供貨取款機自動售貨機系統(tǒng)顧客供貨人收銀員9.6功能模型用例圖4用例之之間的關系系(1)擴展關系向一個用例例中添加一一些動作后后構成了另另一個用例例,這兩個用例例之間的關關系就是擴擴展關系,后者稱為擴擴展用例。。例如,在自動售貨貨機系統(tǒng)中中,”售貨”是一個基本本的用例,如果顧客購購買罐裝飲飲料,把非常規(guī)動動作放置于于”售貨裝飲料料”用例中,這兩個用例例之間關系系就是擴展展關系售貨供貨取款機自動售貨機系統(tǒng)顧客供貨人收銀員9.6功能模型用例圖4用例之之間的關系系(2)使用關系當一個用例例使用另一一個用例時時,這兩個用例例之間就構構成了使用用關系。一般說來,如果在若干干個用例中中有某些相相同的動作作,則可以把這這些相同的的動作提取取出來單獨獨構成一個個用例(成為抽象用用例)。例如,在自動售貨貨機系統(tǒng)中中,”供貨”和”取貨款”,”打開機器”用例,把最后的動動作抽象成成”關閉機器”用例通常在描述述一般行為為的變化時時采用擴展展關系;在兩個或多多個用例中中出現重復復描述又想想避免這種種重復時,可以采用使使用關系。。售貨供貨取款機自動售貨機系統(tǒng)顧客供貨人收銀員9.6功能模型售貨供貨取款機自動售貨機系統(tǒng)顧客供貨人收銀員售散裝飲料打開機器關閉機器打開機器關閉機器擴展《使用》《使用》《使用》《使用》9.6功能模型用例建模一個用例模模型由若干干幅用例圖圖組成創(chuàng)建用例模模型的工作作包括:定義系統(tǒng),尋找行為者者和用例描述用例,定義用例之之間的關系系確認模型。。其中,尋找行為者者和用例是是關鍵。9.6功能模型用例建模1.尋找行為者者通過請系統(tǒng)統(tǒng)的用戶回回答一些問問題的辦法法來發(fā)現行行為者,下下述問題有有助于發(fā)現現行為者:誰將使用系系統(tǒng)的主要要功能(主行為者)?誰需要借助助系統(tǒng)的支支持來完成成日常工作作?誰來維護和和管理系統(tǒng)統(tǒng)(副行為者)?系統(tǒng)控制哪哪些硬件設設備?系統(tǒng)需要與與哪些其他他系統(tǒng)交互互?哪些人或系系統(tǒng)對本系系統(tǒng)產生的的結果(值)感興趣?9.6功能模型用例建模2.尋找用例一旦找到了了行為者,就可以通過過請每個行行為者回答答下述問題題來獲取用用例:行為者需要要系統(tǒng)提供供
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷年課題申報書查看
- 銅鼓文化課題項目申報書
- 高校 工會課題申報書
- 體育課題申報評審書范文
- 合作投資酒店意向合同范本
- 人防車位產權合同范本
- 單價工裝采購合同范本
- 合同范本可以代替律師證
- 少數民族文化課題申報書
- 不交金合同范本
- 幼兒園小班音樂游戲《聽聲學走》課件
- 《公債經濟學》課程教學大綱
- 《產后出血預防與處理指南(2023)》解讀課件
- 趣味語文課程設計
- 政府合同范本(2篇)
- 外研版(2019)必修 第一冊Unit 1 A New Start revision 課件
- 肺部感染臨床路徑
- 高中英語3500詞(亂序版)
- 電商平臺定價策略優(yōu)化
- 人美版美術 二年級下冊全冊教學設計(表格式)
- 保險經紀人考試題庫含答案
評論
0/150
提交評論