




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第9章章 面向對象方法學引論面向對象方法學引論(Object-Oriented Methodology) 本章介紹面向對象方法學的概述、基本概念,以及本章介紹面向對象方法學的概述、基本概念,以及在用面向對象方法學開發軟件過程中通常建立的在用面向對象方法學開發軟件過程中通常建立的3 3種模種模型:對象模型、動態模型和功能模型。型:對象模型、動態模型和功能模型。 瀑布模型的缺點是僵化,要求:生命周期各階段間遵守嚴格瀑布模型的缺點是僵化,要求:生命周期各階段間遵守嚴格的順序;預先定義并的順序;預先定義并“凍結凍結”軟件需求。軟件需求。 SA-SD-SP 技術的缺點:本質上是功能分解,以實現功能的技
2、術的缺點:本質上是功能分解,以實現功能的過過程程為中心,而用戶的需求變化主要是針對為中心,而用戶的需求變化主要是針對功能功能的。這就使基于過的。這就使基于過程的設計程的設計不易被理解不易被理解;且;且功能功能變化往往引起結構變化較大,變化往往引起結構變化較大,穩定穩定性不好性不好。數據與操作分開處理,可能造成軟構件對具體應用環境。數據與操作分開處理,可能造成軟構件對具體應用環境的依賴,的依賴,可重用性可重用性(reusability)較差較差。1. OOM概述概述 盡可能模擬人類習慣的思維方式,即盡可能模擬人類習慣的思維方式,即問題域問題域與與求解域求解域在結構在結構上盡可能一致。與傳統方法相
3、反,上盡可能一致。與傳統方法相反,OOM以數據或信息為主線,以數據或信息為主線,把把數據和處理結合數據和處理結合構成統一體構成統一體 對象。這時程序不再是一系對象。這時程序不再是一系列工作在數據上的函數集合,而是相互協作又彼此獨立的列工作在數據上的函數集合,而是相互協作又彼此獨立的對象對象的集合。的集合。 OOM的四要點:的四要點:對象對象(object):客觀世界由:客觀世界由對象對象組成。組成。 類類 (class) :對象對象可劃分為可劃分為類類;單個對象可視為某一類的;單個對象可視為某一類的實例實例 (instance)。 OOM的特點:的特點: class Post_office p
4、rivate : loc_type location ; emp_type employee ; public : void send (req_type request, money_type payment); void sell (int goods, money_type payment) ; main ( ) Post_office My_PO ; req_type My_request ; money_type My_payment ; My_PO.Send ( My_request, My_payment) ; 1. OOM概述概述例如例如: 繼承繼承(inheritance):
5、類可分層,下層:類可分層,下層子類子類與上層與上層父類父類有相同有相同特征,稱為特征,稱為繼承繼承。 消息消息(message):對象間只能通過發送:對象間只能通過發送消息消息進行聯系,外界不進行聯系,外界不能處理能處理對象對象的內部數據,只能通過的內部數據,只能通過消息消息請求請求它進行處理(如果它提供相應消息的話)。它進行處理(如果它提供相應消息的話)。1. OOM概述概述OOM(Object-Oriented ) = Object+Classes+Inheritance+Communication with messagesObject-based = Object+Communicat
6、ion with messagesClass-based = Object+Classes+Communication with messagesOOM:以:以object 為核心,強調對現實概念的模擬而不強調算法。為核心,強調對現實概念的模擬而不強調算法。“面向對象方法學的基本原則,是按照人們習慣的思維方面向對象方法學的基本原則,是按照人們習慣的思維方式建立問題域的模型,開發出盡可能直觀、自然地表現求式建立問題域的模型,開發出盡可能直觀、自然地表現求解方法的軟件系統解方法的軟件系統”。 Class:由特殊到一般的歸納:由特殊到一般的歸納(induction) Inheritance:由一般到
7、特殊的演繹:由一般到特殊的演繹(deduction)2、面向對象方法學的優點、面向對象方法學的優點傳統方法:面向過程設計,以算法為核心,數據與操作分離,不傳統方法:面向過程設計,以算法為核心,數據與操作分離,不易理解。易理解。1. OOM概述概述 與人類習慣的思維方式一致與人類習慣的思維方式一致OOM:以:以object模擬實體,需求變化不會引起結構的整體變化,模擬實體,需求變化不會引起結構的整體變化,因為實體相對穩定,故系統也相應穩定。因為實體相對穩定,故系統也相應穩定。 面向對象軟件穩定性好面向對象軟件穩定性好傳統方法:結構依賴于功能,不穩定。傳統方法:結構依賴于功能,不穩定。傳統方法:通
8、過建立標準函數庫來重用軟構件。但標準函數缺少傳統方法:通過建立標準函數庫來重用軟構件。但標準函數缺少必要的必要的“柔性柔性”,難以適應不同場合的不同需要。,難以適應不同場合的不同需要。OOM:一個:一個class所有的所有的 instances 都可重用它的代碼;由都可重用它的代碼;由 inheritance 派生出的新的派生出的新的 class 可重用其父類的代碼,可重用其父類的代碼,并且可以修改、擴充而不影響其父類的使用。并且可以修改、擴充而不影響其父類的使用。1. OOM概述概述 面向對象軟件可重用性好面向對象軟件可重用性好傳統方法:在許多中、小規模軟件開發中取得成功。傳統方法:在許多中
9、、小規模軟件開發中取得成功。OOM:構成軟件系統的每個對象有自己的數據、操作、功能:構成軟件系統的每個對象有自己的數據、操作、功能和用途。可以把大型軟件產品分解成一系列本質上相和用途。可以把大型軟件產品分解成一系列本質上相互獨立的小產品,從而降低技術難度,便于管理。互獨立的小產品,從而降低技術難度,便于管理。 較易開發大型軟件產品較易開發大型軟件產品穩定性好:軟件功能需求的變化不牽動全局,只需局部修穩定性好:軟件功能需求的變化不牽動全局,只需局部修改;改;Class 獨立性強:只要修改不涉及獨立性強:只要修改不涉及class的對外接口,則內部的對外接口,則內部修改完全不影響外部調用;修改完全不
10、影響外部調用;Inheritance和多態性和多態性(polymorphism)使其很容易被修改和擴使其很容易被修改和擴充;充;容易理解;容易理解;OOM:從以下幾方面改善了可維護性:從以下幾方面改善了可維護性 有這一條就什么都好辦了!有這一條就什么都好辦了! 容易測試、調試。容易測試、調試。這一點還可商榷這一點還可商榷 面向對象軟件可維護性好面向對象軟件可維護性好1. OOM概述概述傳統方法:可維護性是最令人頭痛的問題。傳統方法:可維護性是最令人頭痛的問題。注:注:OOM并不是減少了開發時間并不是減少了開發時間,而是通過提高可重用性、可維護,而是通過提高可重用性、可維護性,進行擴充和修改的容
11、易程度等,從長遠角度性,進行擴充和修改的容易程度等,從長遠角度改進了軟件的改進了軟件的質量質量。3、面向對象的軟件過程、面向對象的軟件過程 任何開發方法學都必須完成任何開發方法學都必須完成的工作要素:的工作要素:“做什么做什么”、“怎怎樣做樣做”、“實現實現”和和“完善完善”。 迭代在迭代在OOM中更常見更容易實現中更常見更容易實現 開發重點應該是生命周期的分析階開發重點應該是生命周期的分析階段段 生命周期個階段的區分并不重要、生命周期個階段的區分并不重要、不明顯不明顯 整個開發過程中使用統一的軟件概整個開發過程中使用統一的軟件概念念“對象對象” 整個開發過程吻合一致,是整個開發過程吻合一致,
12、是“無縫無縫”連接的連接的 為避免開發過程過分無序,應以一為避免開發過程過分無序,應以一線性過程為總目標。線性過程為總目標。1. OOM概述概述進一步開發進一步開發運行狀態運行狀態集成和測試階段集成和測試階段編碼階段編碼階段面向對象設計階段面向對象設計階段面向對象分析階段面向對象分析階段陳述需求階段陳述需求階段維護期維護期f1f2 f3 fifnfi(X)Sgi(X,S)S輸輸出出輸輸出出2. 面向對象的概念面向對象的概念 對象是基本運行實體,由描述其屬性的數據以及可以對這些對象是基本運行實體,由描述其屬性的數據以及可以對這些數據施加的所有操作封裝在一起構成的統一體。數據施加的所有操作封裝在一
13、起構成的統一體。1、對象、對象(Object)Object : = ID + Method + Attribute + Message = ID,MS,DS,MI 2. OO的概念的概念Object的特點:的特點: 以數據為中心以數據為中心,不設與數據無關的操作;,不設與數據無關的操作; Object主動處理主動處理而不而不 被動地等待被處理,外部只能通過被動地等待被處理,外部只能通過message請求操作;請求操作; 具有黑盒性具有黑盒性:外部操作時,無須知道該:外部操作時,無須知道該object內部的數據結內部的數據結構及算法;構及算法; 具有并行性具有并行性:不同:不同object各自獨
14、立地處理自身數據,彼此間各自獨立地處理自身數據,彼此間僅通過傳遞僅通過傳遞message完成通信;完成通信; 模塊獨立性好模塊獨立性好:內聚強(:內聚強( )、耦合弱()、耦合弱( )class 中定義的數據,中定義的數據,object 有自己特有的屬性值。有自己特有的屬性值。7、封裝、封裝(Encapsulation)2、類、類(Class)2. OO的概念的概念具有相同數據和相同操作的一組相似對象。具有相同數據和相同操作的一組相似對象。3、實例、實例(Instance)某個某個class描述的一個具體對象。描述的一個具體對象。4、消息、消息(Message) 要求對象執行在定義它的那個類中
15、所定義的某個操作的規格說要求對象執行在定義它的那個類中所定義的某個操作的規格說明。明。Message: = object_ID. method_ID (parameter(s)5、方法、方法(Method) object能做的操作,亦稱為能做的操作,亦稱為service 、responsibility, 在在 class 中須中須定義相應的代碼。定義相應的代碼。6、屬性、屬性(Attribute) 把數據和實現操作集中放在對象內部,對外界隱藏了實現細節。把數據和實現操作集中放在對象內部,對外界隱藏了實現細節。Class 中國人中國人中國人中國人 Attributes中國人中國人 Methods
16、張山張山 (instance) Class 中國人中國人 張山的張山的 AttributesClass 重慶重慶人人 (子類子類) 重慶人重慶人 Attributes 重慶人重慶人 Methods Class 中國人中國人李士李士 (instance) 中國人李士的中國人李士的 Attributes 重慶人李士的重慶人李士的 Attributes Class 重慶人重慶人例:例:2. OO的概念的概念8、繼承、繼承(Inheritance) 子類自動共享父類的子類自動共享父類的attributes 和和methods ,而不必重復定義。,而不必重復定義。Inheritance的特點:的特點:
17、若若重慶人重慶人的的 methods中有與中有與中國人中國人的同名,則李士執行該的同名,則李士執行該 method 時以時以重慶人重慶人為準,不執行為準,不執行中國人中國人中定義的同名中定義的同名 method。 講官話,這叫做講官話,這叫做“低層性質低層性質override高層性質高層性質”講土話,這叫做講土話,這叫做“縣官不如現管縣官不如現管” 傳遞性傳遞性(transitivity):AB、BC AC 一個一個 class 繼承了上層全部繼承了上層全部 classes 的一切性質。的一切性質。 一個子類只一個子類只 有有 一一 個父類稱為單個父類稱為單 繼繼 承承 (single inh
18、eritance), 一個一個子類可有多個父類稱為多重繼承子類可有多個父類稱為多重繼承(multiple inheritance). 2. OO的概念的概念FemaleChineseScholarI例:例:注意:注意:multiple inheritance 在定在定義中應避免二義性義中應避免二義性(ambiguity),即二個父類中定義重名,但各即二個父類中定義重名,但各具不同性質。具不同性質。 修改與擴充可以很容易地通過派生子類來完成。修改與擴充可以很容易地通過派生子類來完成。9、多態性、多態性(Polymorphism) 不同層次的不同層次的 classes 可共享一個可共享一個meth
19、od名,但按各自的方式來名,但按各自的方式來實現這種實現這種 method。 C+ 中定義了虛函數中定義了虛函數(virtual function)來實現這一功能。即一來實現這一功能。即一個個method有多個版本,運行時才決定執行哪一個。故亦稱為有多個版本,運行時才決定執行哪一個。故亦稱為動態動態聯編聯編(dynamic binding)或或滯后聯編滯后聯編(late binding)2. OO的概念的概念10、重載、重載(Overloading) 對相同的函數名或運算符實現不同的函數算法或運算。分為對相同的函數名或運算符實現不同的函數算法或運算。分為函數重載和運算符重載兩種。函數重載和運算
20、符重載兩種。double avg (const double a , int size) ;double avg (const int a , int size) ;double avg (const double a , int size) ; double sum = 0.0 ; for ( int i = 0; i size; +i ) sum += ai ; return ( sum / size ) ; double avg (const int a , int size) ; int sum = 0 ; for ( int i = 0; i size; +i ) sum += ai
21、 ; return ( (double) sum / size ) ; main() int k3 = 1, 2, 3 ; double x3 = 1.1, 2.2, 3.3 ; cout avg(k, 3) “ int average n” ; cout avg(x, 3) “ double average n” ; Function (or parameter) overloading :不同函數共用一個名字,而調用不同函數共用一個名字,而調用參數的特征不同。參數的特征不同。2. OO的概念的概念例:例: Operator overloading : 同一運算符同一運算符 (operato
22、r)作用于不作用于不同類型的操作數同類型的操作數 (operand) 。 在編譯在編譯(compile)階段就決定了階段就決定了使用類型及執行代碼,故亦稱為使用類型及執行代碼,故亦稱為靜態聯編靜態聯編 (static binding)或或先前先前聯編聯編 (early binding) 。3. 面向對象建模面向對象建模Object-Oriented Modeling 面向對象方法最基本的原則是:按照人們習慣的思維方式,面向對象方法最基本的原則是:按照人們習慣的思維方式,用面向對象觀點建立問題域的模型,進而開發出盡可能自然用面向對象觀點建立問題域的模型,進而開發出盡可能自然地表現求解方法的軟件。
23、地表現求解方法的軟件。 模型模型是為了理解事物而對事物作出的一種抽象,是對事物的是為了理解事物而對事物作出的一種抽象,是對事物的一種無歧義的書面描述。一種無歧義的書面描述。 影響較大的面向對象技術:影響較大的面向對象技術: Coad/Yourdon方法方法 Booch方法方法 OMT(Object Modeling Technique)技術)技術 UML(Unified Modeling Language)和)和RUP(Rational Unified Process)OMT方法建立三種模型:方法建立三種模型: 描述系統數據結構的對象模型描述系統數據結構的對象模型(object model).
24、 描述系統控制結構的動態模型描述系統控制結構的動態模型(dynamic model). 描述系統功能的功能模型描述系統功能的功能模型(function model). 三種模型從三種模型從3個不同但又密切相關的角度模擬目標系統,從不個不同但又密切相關的角度模擬目標系統,從不同側面反映了系統的實質性內容,綜合起來全面地反映對目標系同側面反映了系統的實質性內容,綜合起來全面地反映對目標系統的需求。統的需求。 三種模型都是必不可少的,其中的對象模型是最重要、最基本、三種模型都是必不可少的,其中的對象模型是最重要、最基本、最核心的。最核心的。3. 面向對象建模面向對象建模3. 面向對象建模面向對象建模
25、1、對象模型、對象模型(Object Model,OM)Class NameAttributesMethodsClass 對象模型表示靜態的、結構化的系統的對象模型表示靜態的、結構化的系統的“數據數據”性質,是對模性質,是對模擬客觀世界實體的對象及對象彼此間的關系的映射,描述了系統擬客觀世界實體的對象及對象彼此間的關系的映射,描述了系統的靜態結構。的靜態結構。 建立對象模型的目標是從客觀世界中提煉出對具體應用有價值建立對象模型的目標是從客觀世界中提煉出對具體應用有價值的概念。的概念。(1)類圖的基本符號)類圖的基本符號 通常使用通常使用UML提供的提供的類圖類圖來建立對象模型,來建立對象模型,
26、UML中類的實際含中類的實際含義是義是“一個類及屬于該類的對象一個類及屬于該類的對象”。 類類 屬性屬性 服務服務可見性可見性 屬性名:類型名屬性名:類型名=初值初值性質串性質串可見性可見性 操作名操作名(參數表參數表):返回值類型:返回值類型性質串性質串注:注:可見性有可見性有3種種+(public)、-(private)、#(protected) 參數名:類型名參數名:類型名=默認值默認值例如:例如:圓圓 圓心坐標圓心坐標 半徑半徑 顯示顯示 隱藏隱藏 3. 面向對象建模面向對象建模半徑:半徑:integer1 關聯關系表示兩類對象之間存在著某種語義上的聯系,即對象關聯關系表示兩類對象之間
27、存在著某種語義上的聯系,即對象之間有相互作用、相互依靠的關系。之間有相互作用、相互依靠的關系。(2)表示關系的符號)表示關系的符號3. 面向對象建模面向對象建模 關聯關系關聯關系校校 長長學學 校校一對一一對一(1:1)教教 師師講講 義義一對多一對多(1:M)1M教教 師師學學 生生多對多多對多(N:M)MN 關聯的多重性:在表示關聯的直線兩端寫上重數關聯的多重性:在表示關聯的直線兩端寫上重數0.1 表示表示0到到1個對象個對象0.*或或* 表示表示0到多個對象到多個對象1+或或1.* 表示表示1到多個對象到多個對象1.10 表示表示1到到10個對象個對象5 表示表示5個對象個對象3. 面向
28、對象建模面向對象建模1+目目 錄錄文文 件件文件名文件名 名稱:常見的關聯是雙向的關系名稱:常見的關聯是雙向的關系作作 家家計算機計算機1+*使用使用 被使用被使用 關聯的限定:受限的關聯由兩類對象及限定詞組成關聯的限定:受限的關聯由兩類對象及限定詞組成 關聯類:為說明關聯的性質,引入關聯類來表示這些附加信息關聯類:為說明關聯的性質,引入關聯類來表示這些附加信息電梯控制器電梯控制器電電 梯梯按鈕按鈕4*隊隊 列列 角色:類對象在關聯中的特定作用角色:類對象在關聯中的特定作用工工 人人公公 司司*雇主雇主雇員雇員 聚集關系聚集關系3. 面向對象建模面向對象建模 聚集(聚合)是聚集(聚合)是關聯的
29、特例,表示一類對象與另一類對象之關聯的特例,表示一類對象與另一類對象之間的關系是整體與部分的關系。間的關系是整體與部分的關系。 共享聚集:處于部分方的對象可以同時參與多個處于整體方共享聚集:處于部分方的對象可以同時參與多個處于整體方對象對象 組合聚集:部分類對象完全隸屬于整體類對象組合聚集:部分類對象完全隸屬于整體類對象窗窗 口口列表框列表框*按按 鈕鈕菜菜 單單文本框文本框*包含包含課題組課題組人人1.*成員成員3. 面向對象建模面向對象建模 泛化關系泛化關系 泛化關系就是通常的繼承關系,是通用類和具體類泛化關系就是通常的繼承關系,是通用類和具體類之間的關系。之間的關系。具體類完全擁有通用類
30、的數據和操作,并且還可以補充一些數據具體類完全擁有通用類的數據和操作,并且還可以補充一些數據和操作。和操作。注:注: 泛化是針對類而不針對實泛化是針對類而不針對實例,指出在類與類之間存例,指出在類與類之間存在在“一般一般-特殊特殊”關系。關系。 抽象類是沒有具體對象的抽象類是沒有具體對象的類。類。 抽象操作是抽象類的操作。抽象操作是抽象類的操作。 普通泛化:就是繼承關系普通泛化:就是繼承關系(2)交通工具交通工具abstractdrive()abstract汽車汽車drive()輪船輪船drive() 受限泛化:具有進一步說明泛化使用方法或擴充方法的附加約受限泛化:具有進一步說明泛化使用方法或
31、擴充方法的附加約束條件的泛化關系。束條件的泛化關系。預定義的約束有多重、不相交、完全和不完全預定義的約束有多重、不相交、完全和不完全4種。種。3. 面向對象建模面向對象建模 依賴和細化關系依賴和細化關系 依賴關系:描述兩個類或用例之間的語義連接關系。表明一個依賴關系:描述兩個類或用例之間的語義連接關系。表明一個類對象為了完成自己的任務需要借助另一個類對象提供的服務。類對象為了完成自己的任務需要借助另一個類對象提供的服務。 如:一個類使用另一個類的對象作為操作的參數或數據成員、如:一個類使用另一個類的對象作為操作的參數或數據成員、一個類向另一個類發消息等。一個類向另一個類發消息等。類類 B類類
32、A 細化關系:描述同一個事物的不同抽象層次的類對象。細化關系:描述同一個事物的不同抽象層次的類對象。分析類分析類設計類設計類 即:即:“分析類分析類”和和“設計類設計類”描述同一事物但抽象層次不同,描述同一事物但抽象層次不同,“設計類設計類”是在是在“分析類分析類”的基礎上的更詳細的描述(的基礎上的更詳細的描述(“設計設計類類”細化了細化了“分析類分析類”,或,或“分析類分析類”細化成了細化成了“設計類設計類”)。)。三要素:三要素: 事件事件 (event):引發:引發 object 狀態改變的控制信息狀態改變的控制信息(瞬時瞬時)。 狀態狀態(status):即即 object 的的 at
33、tributes 所處的情形所處的情形(可持續可持續)。 行為行為(action):object 要達到某種要達到某種 status 所做的操作所做的操作(耗時耗時)。 動態模型表示系統瞬時的、行為化的系統控制性質,規定了動態模型表示系統瞬時的、行為化的系統控制性質,規定了對象模型中對象模型中的對象的合法變化序列。的對象的合法變化序列。表示方法:表示方法: 用用UML提供的狀態圖提供的狀態圖(P.66)來描述對象的狀態、觸發狀態轉換來描述對象的狀態、觸發狀態轉換的事件以及對象的行為。的事件以及對象的行為。注注:每個類的動態行為用一張:每個類的動態行為用一張狀態圖狀態圖來描繪,各個類的狀態圖通來
34、描繪,各個類的狀態圖通過共享事件合并起來構成系統的動態模型。過共享事件合并起來構成系統的動態模型。2、動態模型、動態模型(Dynamic Model,DM)3. 面向對象建模面向對象建模閑閑 置置撥撥 號號通通 話話斷斷 線線撥號音撥號音do/do/響撥號音響撥號音超超 時時do/do/響蜂鳴音響蜂鳴音存儲的信息存儲的信息do/do/播放信息播放信息接通中接通中do/do/試接通試接通振振 鈴鈴do/do/振振 鈴鈴忙忙 音音do/do/響忙音響忙音拿起聽筒拿起聽筒數字數字數字數字有效號碼有效號碼已接通已接通受話人回話受話人回話受話人掛斷電話受話人掛斷電話掛斷電話掛斷電話超超 時時掛斷電話掛斷
35、電話超時超時無效號碼無效號碼信息播完信息播完占占 線線例:電話系統的狀態圖例:電話系統的狀態圖3. 面向對象建模面向對象建模表示方法:表示方法: 數據流圖(數據流圖(DFD)(P.40) 用例模型(用例模型(Case Model)(1)用例圖)用例圖(Case Diagram) UML提供的用例圖是進行需求分析和建立功能模型的有力工具。提供的用例圖是進行需求分析和建立功能模型的有力工具。在在UML中用用例圖建立起來的系統模型稱用例模型。中用用例圖建立起來的系統模型稱用例模型。 用例圖包含的模型元素有系用例圖包含的模型元素有系統、行為者、用例及用例之間統、行為者、用例及用例之間的關系。的關系。3
36、. 面向對象建模面向對象建模3、功能模型、功能模型(Function Model,FM)功能模型表示變化的系統的功能性質,表明系統應該功能模型表示變化的系統的功能性質,表明系統應該做什么做什么。自動售貨機系統自動售貨機系統售貨售貨供貨供貨取貨款取貨款顧客顧客供貨人供貨人收銀員收銀員3. 面向對象建模面向對象建模 系統系統 用矩形框表示系統。方框的邊線表示系統的邊界,用于劃定系用矩形框表示系統。方框的邊線表示系統的邊界,用于劃定系統的功能范圍,定義了系統所具有的功能。統的功能范圍,定義了系統所具有的功能。 用例用例 UML中用例定義為系統完成一個完整功能的一系列動作,其結中用例定義為系統完成一個
37、完整功能的一系列動作,其結果能被特定的行為者感受到。具有如下特征:果能被特定的行為者感受到。具有如下特征: 用例代表用戶可見的功能,實現一個具體的用戶目標用例代表用戶可見的功能,實現一個具體的用戶目標 用例是被行為者啟動的,并向行為者提供確切的值用例是被行為者啟動的,并向行為者提供確切的值 用例可大可小,但必須是相對完整的用例可大可小,但必須是相對完整的注注: 用例置于系統方框內用例置于系統方框內 用例是一個類,代表一類功能而不是使用該類功能的某個用例是一個類,代表一類功能而不是使用該類功能的某個具體實例具體實例 用例的實例是系統的一種實際使用方法(腳本)用例的實例是系統的一種實際使用方法(腳本) 用例除完成內部計算與工作外,還包括與外部的通信用例除完成內部計算與工作外,還包括與外部的通信3. 面向對象建模面向對象建模 行為者行為者 用例之間的關系用例之間的關系 是與系統交互的人或其他系統,代表系統外部的實
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豬場生物安全教育
- 民事賠償合同范本
- 相鄰土地共建合同
- 藥品銷售企業用工合同范本
- 股權轉讓居間合同協議
- 汽車零部件倉庫租賃合同范本
- 中小企業融資擔保合同
- 網絡文明與安全教育主題班會
- 股權轉讓合同協議范例
- 建筑工程施工內部承包合同范本
- 足療店應急處理預案方案
- 人教版五年級下冊數學期末質量檢測試卷含答案
- Unit 2 Understanding ideas The Well that changed the world 說課課件-2022-2023學年高中英語外研版(2019)必修第三冊
- 人教版五年級上冊數學-解方程計算題
- DB63-T 2160-2023 公路建設環境保護和水土保持綜合服務規范
- 2022版數學課程標準解讀
- 國家公務員考試準考證模板
- 泌尿生殖系統畸形《外科學》-課件
- 一般現在時的特殊疑問句
- 第六講 以新發展理念引領高質量發展PPT習概論2023優化版教學課件
- 貴州交通運輸廳所屬事業單位考試真題2022
評論
0/150
提交評論