信息系統(tǒng)分析與設(shè)計(jì)-第六章-面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)課件_第1頁(yè)
信息系統(tǒng)分析與設(shè)計(jì)-第六章-面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)課件_第2頁(yè)
信息系統(tǒng)分析與設(shè)計(jì)-第六章-面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)課件_第3頁(yè)
信息系統(tǒng)分析與設(shè)計(jì)-第六章-面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)課件_第4頁(yè)
信息系統(tǒng)分析與設(shè)計(jì)-第六章-面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課堂討論通過對(duì)結(jié)構(gòu)化方法的學(xué)習(xí),談?wù)勀愕捏w會(huì)。結(jié)構(gòu)化方法的基本原理;結(jié)構(gòu)化方法的工作階段;結(jié)構(gòu)化方法工作的重點(diǎn)和難點(diǎn);結(jié)構(gòu)化方法的局限和不足。面向?qū)ο蠓椒ǖ幕驹?/p>

面向?qū)ο蠓椒ㄊ欠治鰡栴}和解決問題的新方法,其基本出發(fā)點(diǎn)就是盡可能按照人類認(rèn)識(shí)世界的方法和思維方式來分析和解決問題??陀^世界是由許多具體的事物或事件,抽象的概念和規(guī)則等組成的,因此,我們將任何感興趣或要加以研究的事、物、概念都稱為對(duì)象。面向?qū)ο蟮姆椒ㄕ且詫?duì)象作為最基本的元素,這也是分析問題,解決問題的核心。面向?qū)ο笾械膸讉€(gè)概念*對(duì)象(Object):可以看作其自身所具有的狀態(tài)特征及可以對(duì)這些狀態(tài)施加的操作結(jié)合在一起所構(gòu)成的獨(dú)立實(shí)體。類:(Class):類是具有相同屬性和服務(wù)的一組對(duì)象的集合。消息(Message):消息是面向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求。封裝(Encapsulation):把對(duì)象的屬性和服務(wù)結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位,盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。繼承(Inheritance):即“自動(dòng)地?fù)碛小?,特殊類可以自?dòng)地?fù)碛衅湟话泐惗x的所有屬性與服務(wù)。多態(tài)(Polymorphism):描述同一個(gè)消息可以根據(jù)發(fā)送消息對(duì)象的不同,采用多種不同的行為方式。問題背景:

需要強(qiáng)調(diào)的是,面向?qū)ο蟛粌H是一種程序設(shè)計(jì)方法,更重要的是,它是一種對(duì)真實(shí)世界的抽象思維方式。隨著計(jì)算機(jī)應(yīng)用的飛速發(fā)展,軟件的復(fù)雜程度不斷提高,源代碼的規(guī)模越來越大,項(xiàng)目失敗的可能性也相應(yīng)增加。在長(zhǎng)期的研究與實(shí)踐中,人們愈來愈深刻地認(rèn)識(shí)到,建立簡(jiǎn)明準(zhǔn)確的()是把握復(fù)雜系統(tǒng)的關(guān)鍵。表示模型模型可以使人們從全局上把握系統(tǒng)的全貌及其相關(guān)部件之間的聯(lián)系,可以防止人們過早地陷入各個(gè)模塊的細(xì)節(jié)。因此,面向?qū)ο蟮姆治龊驮O(shè)計(jì)應(yīng)該從()開始。建模BoochOMTOOSEUML面對(duì)眾多的建模語言,用戶沒有能力區(qū)別不同語言之間的差別,因此很難找到一種比較適合其應(yīng)用特點(diǎn)的語言。另外,在眾多的建模語言中,實(shí)際上各有千秋,需要取長(zhǎng)補(bǔ)短,日臻完善。第三,雖然不同的建模語言大多相同,但仍存在某些細(xì)微的差別。極大地妨礙了用戶之間的交流。因此,在客觀上,極有必要在精心比較不同建模語言的優(yōu)缺點(diǎn)及總結(jié)面向?qū)ο蠹夹g(shù)應(yīng)用實(shí)踐的基礎(chǔ)上,努力統(tǒng)一這些建模語言。例:使用Booch方法和OMT方法描述的系統(tǒng)用例圖。面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)一、UML簡(jiǎn)介二、基于UML的面向?qū)ο蟮南到y(tǒng)分析1、定義基本用例--需求分析2、建立概念模型--概念類分析3、建立系統(tǒng)行為--順序圖4、定義系統(tǒng)操作契約三、基于UML的面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)一、統(tǒng)一建模語言UML(Unifiedmodelinglanguage)定義:UML代表統(tǒng)一建模語言,是使用面向?qū)ο蟾拍钸M(jìn)行系統(tǒng)建模的一組表示法,它已成為面向?qū)ο箢I(lǐng)域標(biāo)準(zhǔn)的建模圖形。*1、什么是UML?2、與面向?qū)ο蠓椒ㄖg有何關(guān)系?設(shè)計(jì)者為UML設(shè)定的目標(biāo):(1)運(yùn)用面向?qū)ο蟾拍顏順?gòu)造系統(tǒng)模型;(2)建立起從概念模型直到可執(zhí)行體之間明顯對(duì)應(yīng)關(guān)系;(3)為復(fù)雜的系統(tǒng)建立衡量標(biāo)準(zhǔn),同時(shí)應(yīng)著眼于那些有重大影響的問題;(4)創(chuàng)建一種對(duì)人和機(jī)器都適用的建模語言。關(guān)于UML的幾個(gè)要點(diǎn):*1、UML是一種建模語言,而不是一種方法。2、UML統(tǒng)一了面向?qū)ο蠼5幕靖拍?、術(shù)語及其圖形符號(hào)。3、UML能夠有力地支持從需求分析開始的軟件開發(fā)的全過程。4、UML是標(biāo)準(zhǔn)的語言,而不是標(biāo)準(zhǔn)的開發(fā)過程。5、UML采用的是一種圖形表示法,是一種可視化的圖形建模語言。6、UML包含靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制兩大類。RUP(RationalUnifiedProcess)

RUP也稱統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程。RUP是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論。根據(jù)Rational公司的說法,好像一個(gè)在線的指導(dǎo)者,它可以為所有方面和層次的程序開發(fā)提供指導(dǎo)方針,模版以及事例支持。RUP把開發(fā)中面向過程的方面(例如定義的階段,技術(shù)和實(shí)踐)和其他開發(fā)的組件(例如文檔,模型,手冊(cè)以及代碼等等)整合在一個(gè)統(tǒng)一的框架內(nèi)。

規(guī)劃分析設(shè)計(jì)實(shí)施運(yùn)行傳統(tǒng)的流水線過程瀑布模型高級(jí)分析細(xì)節(jié)分析設(shè)計(jì)開發(fā)測(cè)試部署重復(fù)性的開發(fā)方法開發(fā)過程中的各個(gè)階段:*1.初始階段2.細(xì)化階段3.構(gòu)造階段4.交付階段

UML的主要內(nèi)容:(5類,共9種模型)*一、用例圖。它從用戶角度描述系統(tǒng)的功能,并指出各功能的執(zhí)行者。二、靜態(tài)圖。包括類圖、對(duì)象圖。類圖用于定義系統(tǒng)中的類,描述類之間的聯(lián)系以及類的內(nèi)部結(jié)構(gòu)。在系統(tǒng)的整個(gè)生命周期都有效。對(duì)象圖顯示類的實(shí)例,其只能在系統(tǒng)某一時(shí)間段存在。三、行為圖。描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象間的交互關(guān)系。一種是狀態(tài)圖,它描述一類對(duì)象的所有可能的狀態(tài)以及事件發(fā)生時(shí)的狀態(tài)的轉(zhuǎn)移條件,通常狀態(tài)圖是對(duì)類圖的補(bǔ)充。另一種是活動(dòng)圖,它描述為滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系。使用活動(dòng)圖可以很方便地表示并行活動(dòng)。例例例四、交互圖,描述對(duì)象間的交互關(guān)系。一種是順序圖,用以顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系。它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)也顯示對(duì)象之間的交互過程。另一種是協(xié)作圖,它著重描述對(duì)象間的協(xié)作關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,使用順序圖。如果強(qiáng)調(diào)通信關(guān)系,使用合作圖。五、實(shí)現(xiàn)圖,包括構(gòu)件圖和配置圖。構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)以及各部件之間的依賴關(guān)系。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。例面向?qū)ο蠓治鲭A段的基本過程:*

1、基于用例模型從外部用戶的角度捕獲系統(tǒng)的行為,即系統(tǒng)應(yīng)該響應(yīng)的主要事件

2、使用類圖定義系統(tǒng)領(lǐng)域主要概念之間的關(guān)系,形成系統(tǒng)的概念模型,它表達(dá)了系統(tǒng)對(duì)應(yīng)的事物部分

3、采用順序圖對(duì)系統(tǒng)操作行為進(jìn)行描述,系統(tǒng)行為描述了系統(tǒng)做什么,而不解釋系統(tǒng)怎么做

4、基于概念模型、系統(tǒng)順序圖和系統(tǒng)操作建立系統(tǒng)操作的契約。二、基于UML的面向?qū)ο蠓治?、定義基本用例--需求分析需求包括三個(gè)不同的層次:業(yè)務(wù)需求、用戶需求和功能需求。*業(yè)務(wù)需求反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)高層次的目標(biāo)要求,它們?cè)谙到y(tǒng)的視圖與范圍文檔中予以說明;用戶需求描述了用戶使用系統(tǒng)必須要完成的任務(wù),它使用用例(usecase)及其用例場(chǎng)景予以說明;功能需求定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能。業(yè)務(wù)需求視圖與范圍文檔用戶需求質(zhì)量屬性其他非功能需求約束條件功能需求用例文檔需求規(guī)格說明需求分類

用包圖來描述信息系統(tǒng)的業(yè)務(wù)需求結(jié)構(gòu)。每一個(gè)需求用一個(gè)需求包來表示,包與包之間用組成關(guān)系關(guān)聯(lián)起來,包可以逐層分解,構(gòu)成分層信息系統(tǒng)需求結(jié)構(gòu)。

※用戶需求分析--用例圖*用例圖:描述系統(tǒng)外部角色(執(zhí)行者)與系統(tǒng)提供的用例之間的某種聯(lián)系。用例的作用?--面向?qū)ο蟮乃泄ぷ魇怯美?qū)動(dòng)的。用例(UseCase):是指對(duì)系統(tǒng)提供的功能的一種描述。用例按詳細(xì)程度可以分為:高層用例和擴(kuò)展用例。

高層用例以簡(jiǎn)潔的方式來描述一個(gè)過程,可快速獲得對(duì)系統(tǒng)整體過程的理解。而擴(kuò)展用例也叫用例場(chǎng)景,對(duì)一個(gè)過程的描述要比高層用例詳細(xì)得多,在格式上具有典型的事件發(fā)生過程。

此外,用例按重要程度分為主要用例、次要用例和可選用例三種。主要用例:代表了那些主要的過程;次要用例:代表那些不重要的或者是不常見的用例;可選用例:代表那些可以處理也可以不處理的用例。用例注冊(cè)選課角色學(xué)生(發(fā)起者)類型主要的描述學(xué)生從所開設(shè)的課程列表中選擇課程,并生成課程表例:“注冊(cè)選課”的高層用例用例圖:顯示了

、

的圖形。各個(gè)部分的關(guān)系:(1)關(guān)聯(lián)關(guān)系(2)包含(Include)關(guān)系(3)擴(kuò)展(Extend)關(guān)系(4)泛化關(guān)系<<include>><<extend>>角色:是系統(tǒng)之外的人員或外部系統(tǒng)用例:是系統(tǒng)需要完成的各項(xiàng)功能*掌握其圖形表示及使用對(duì)象角色用例用例之間的關(guān)系用例中各種關(guān)系的說明:*1、關(guān)聯(lián)關(guān)系是指兩者之間有信息交流。只能用于角色和用例之間的“通信”。2、包含關(guān)系也叫使用關(guān)系,只能用于兩個(gè)用例之間。一般是指一個(gè)用例使用了另一個(gè)用例的行為或功能,它允許將不同用例中的共同行為抽取出來放到另一個(gè)獨(dú)立的用例當(dāng)中。(例)3、擴(kuò)展關(guān)系是指一個(gè)用例與另一個(gè)用例相似,但比另外一個(gè)所做的動(dòng)作多一些,或者將常規(guī)的動(dòng)作放在基本用例中,將非常規(guī)動(dòng)作放在它的擴(kuò)展中。擴(kuò)展關(guān)系只能用于兩個(gè)用例之間。4、泛化關(guān)系指抽象與具體的關(guān)系。既可以用在角色之間也可以用在用例之間。說明:“注冊(cè)選課”用例使用了“登錄”用例,它表示在執(zhí)行“注冊(cè)選課”流程過程中,同時(shí)執(zhí)行了“注冊(cè)選課”和“登錄”兩個(gè)用例。銀行系統(tǒng)用例圖擴(kuò)展關(guān)系泛化關(guān)系練習(xí):1:在很多業(yè)務(wù)中,總是存在著維護(hù)某某信息的功能,如果將它作為一個(gè)用例,那添加、編輯以及修改都要在用例詳述中描述,過于復(fù)雜;如果分成添加用例、編輯用例和刪除用例,則劃分太細(xì)。這時(shí)()關(guān)系可以用來理清關(guān)系。包含2:系統(tǒng)中允許用戶對(duì)查詢的結(jié)果進(jìn)行導(dǎo)出、打印。對(duì)于查詢而言,能不能導(dǎo)出、打印,查詢都是一樣的,導(dǎo)出、打印是不可見的。導(dǎo)入、打印和查詢相對(duì)獨(dú)立,而且為查詢添加了新行為。因此可以采用()關(guān)系來描述。擴(kuò)展包含用例事件流的執(zhí)行過程基用例事件流被包含的用例事件流說明:基用例中所包含中事件流肯定被執(zhí)行,被包含的用例事件被看作是基用例的一部分。兩者是包含的關(guān)系?;美录鲾U(kuò)展用例的執(zhí)行過程A序列行為擴(kuò)展點(diǎn)B擴(kuò)展的用例事件流B序列行為擴(kuò)展點(diǎn)A說明:1、系統(tǒng)將可選的新增功能放入擴(kuò)展用例中,不影響基用例的執(zhí)行。兩者具有較高的獨(dú)立性。2、擴(kuò)展用例是對(duì)基用例增加的額外行為。3、擴(kuò)展點(diǎn)過多,使基用例行為難以理解。高層用例圖直觀地描述了信息系統(tǒng)功能。但不能反映各功能的詳細(xì)內(nèi)容,以及用戶在使用這個(gè)功能時(shí)與信息系統(tǒng)交互的內(nèi)容和交互過程。而這些內(nèi)容又是理解功能的必要材料,所以需要對(duì)每一個(gè)用例進(jìn)行說明。用例描述是對(duì)用例圖中的用例做出的說明。在用例說明中,需要描述用例的編號(hào)、名稱、角色和用例的功能以及交互過程。想一想:以上繪制的用例圖的作用是什么?是否還存在一定的缺陷。黑盒方法和白盒方法*對(duì)用例圖繪制持有的兩種觀點(diǎn):一種是認(rèn)為僅需從“外部”視圖描述系統(tǒng)即可,另外一種認(rèn)為僅僅有外部描述還遠(yuǎn)遠(yuǎn)不夠,用例中還必須包括一些重要的系統(tǒng)行為。僅從外部視圖描述用例,采用的是黑盒方法(blackbox)。在用例描述中包括對(duì)支持達(dá)到外部角色的目標(biāo)所需要的系統(tǒng)行為,采用的是白盒方法(whitebox)。通過黑盒方法繪制了高層用例后,還需采用白盒法在用例場(chǎng)景中采用文字書寫該用例的實(shí)現(xiàn)過程。而對(duì)于復(fù)雜的用例,由于處理流程復(fù)雜,可以采用活動(dòng)圖來描述用例場(chǎng)景的內(nèi)容。*帶有備選流程的用例活動(dòng)圖起始動(dòng)作狀態(tài)決策結(jié)束轉(zhuǎn)移活動(dòng)1活動(dòng)2活動(dòng)3.1活動(dòng)3.2活動(dòng)4.1活動(dòng)4.2活動(dòng)5.1學(xué)籍管理系統(tǒng)查詢成績(jī)用例描述樣例用例名查詢成績(jī)角色學(xué)生(發(fā)起者)描述描述學(xué)生查詢成績(jī)的過程.查詢成功返回成績(jī)列表;失敗返回錯(cuò)誤信息角色操作系統(tǒng)響應(yīng)基本操作過程步驟1.學(xué)生提交查詢成績(jī)的請(qǐng)求,輸入要查詢的課程號(hào)步驟5.查詢成績(jī)完畢步驟2.確認(rèn)學(xué)號(hào)與課程號(hào)的對(duì)應(yīng)關(guān)系步驟3.對(duì)每門課程,確認(rèn)成績(jī)是否有效步驟4.打印有成績(jī)的課程、學(xué)分和相應(yīng)成績(jī)可選操作流程步驟2.課程號(hào)與學(xué)號(hào)不匹配,輸出錯(cuò)誤信息”該生未選此課!”步驟3.課程成績(jī)未出或被覆蓋,輸出信息”無成績(jī)!”前置條件只有在校學(xué)生才能查詢成績(jī)后置條件學(xué)生獲得成績(jī)單假設(shè)不輸入課程號(hào),則認(rèn)為是查詢?nèi)砍煽?jī)黑盒視圖白盒視圖用例的開發(fā)過程(1)依據(jù)系統(tǒng)事件列出系統(tǒng)功能,定義系統(tǒng)邊界,識(shí)別出角色和用例。例:以商店作為系統(tǒng)和以商店中的POS作為系統(tǒng),角色是否一致?(2)用高層用例寫出所有用例,將它們分成主要的、次要的和可選的三類。(3)繪制用例圖。(4)使用例之間相互關(guān)聯(lián)并在用例圖中顯示出來。(5)對(duì)于最關(guān)鍵、影響最大和最具開發(fā)風(fēng)險(xiǎn)的那些用例寫出其主要的用例場(chǎng)景,以便能夠更好地理解和估計(jì)出問題的性質(zhì)和規(guī)模。(6)使用包含、擴(kuò)展關(guān)系精化用例,并劃分用例的層次。三、建立概念模型

概念模型用于對(duì)系統(tǒng)中的各個(gè)部分進(jìn)行建模。在UML中,不使用“概念”這一術(shù)語,而使用“類”這個(gè)術(shù)語。類是具有相同的屬性、操作、方法、關(guān)系和語義的一組對(duì)象的描述。

用例模型捕獲系統(tǒng)的行為,而類、對(duì)象模型描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。作為對(duì)用例模型的補(bǔ)充,由關(guān)聯(lián)、聚集、泛化等概念組成的靜態(tài)模型表示了系統(tǒng)需求的另一個(gè)方面。這兩者是組成完整分析模型不可缺少的一部分。概念類的表示概念類的類型:*

UML把概念類分為實(shí)體類、邊界類和控制類三種類型。1)實(shí)體類實(shí)體類(EntityClass)是信息系統(tǒng)表示客觀實(shí)體的抽象要素。實(shí)體類一般對(duì)應(yīng)著在業(yè)務(wù)領(lǐng)域中的客觀事物,或者是具有較穩(wěn)定信息內(nèi)容的系統(tǒng)元素。實(shí)體類來源于業(yè)務(wù)分析中所確定的實(shí)體。

2)邊界類邊界類(BoundaryClass)是描述系統(tǒng)與角色之間交互的抽象要素。邊界類只是對(duì)信息系統(tǒng)與角色之間交互的抽象建模,并不表示交互的具體內(nèi)容及交互界面的具體形式。

3)控制類控制類(ControlClass)是表示信息系統(tǒng)對(duì)其它對(duì)象實(shí)施協(xié)調(diào)處理、邏輯運(yùn)算的抽象要素。例:售書售貨員通過售書界面,進(jìn)行售書的控制,即:管理架存圖書和售出圖書。在UML中,類的可視化表示為一個(gè)劃分成三個(gè)格子的長(zhǎng)方形(下面兩個(gè)格子可省略)。最頂部的格子包含類的名字。中間的格子包含類的屬性,用以描述該類對(duì)象的共同特點(diǎn)。最下面一行表示類的操作(Operation)。*

類之間的聯(lián)系:(1)關(guān)聯(lián)(Association)。關(guān)聯(lián)表示兩個(gè)類之間存在某種語義上的聯(lián)系。圖形表示:用一根連接類的實(shí)線表示,用箭頭表示關(guān)聯(lián)的方向;如果不明確指明方向,則默認(rèn)關(guān)聯(lián)是雙向的管理關(guān)聯(lián)多重性的表示方法:*A和一個(gè)B關(guān)聯(lián)A和一個(gè)或多個(gè)B關(guān)聯(lián)A和零個(gè)或一個(gè)B關(guān)聯(lián)A和零個(gè)、一個(gè)或多個(gè)B關(guān)聯(lián)AB1AB1..*AB0..1AB*關(guān)聯(lián)多重性:關(guān)聯(lián)的一端可連接任意個(gè)數(shù)的對(duì)象實(shí)例。分析兩者之間的關(guān)聯(lián),并進(jìn)行描述多邊形點(diǎn)3..*(2)聚集(aggregation)

定義:類之間的一種整體與部分的關(guān)系。體現(xiàn)了一種層次結(jié)構(gòu),整體類位于部分類的上層,多個(gè)部分類處于并列的層次。圖形表示:尾端帶一個(gè)菱形的單箭頭直線,菱形指向整體部分。當(dāng)部分是整體不可分割的一部分時(shí),稱為組成(composition)關(guān)聯(lián)。組成關(guān)系擁有其被關(guān)聯(lián)的部分,兩者之間可能擁有“終身關(guān)系”,即,它們被同時(shí)建立和清除。聚集和組成都具有傳遞性。銀行賬戶雇員0..*1..*(3)泛化(generalization)定義:泛化關(guān)系是繼承機(jī)制中產(chǎn)生的類與類之間的關(guān)系“isapartof”關(guān)系:一個(gè)事物是另一個(gè)事物的種類。圖形表示:一條帶有空心大箭頭的有向?qū)嵕€,箭頭指向父類。例:分析下面各類之間的關(guān)系。用類圖表示出來。1、電腦、主板、CPU、內(nèi)存之間的關(guān)系。2、動(dòng)物、老虎、狗之間的關(guān)系。類圖和對(duì)象圖的區(qū)別:類圖

:類具有3個(gè)分欄:名稱、屬性和操作;在類的名稱分欄中只有類名;類的屬性分欄定義了所有屬性的特征;類中列出了操作;類使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱、角色、多重性以及約束等特征定義;類代表的是對(duì)對(duì)象的分類所以必須說明可以參與關(guān)聯(lián)的對(duì)象的數(shù)目。對(duì)象圖:對(duì)象只有兩個(gè)分欄:名稱和屬性

對(duì)象的名稱形式為“對(duì)象名:類名”,匿名對(duì)象的名稱形式為“:類名”

對(duì)象則只定義了屬性的當(dāng)前值,以便用于測(cè)試用例或例子中;對(duì)象圖中不包括操作,因?yàn)閷?duì)于同屬于同一個(gè)類的對(duì)象而言,其操作是相同的;

對(duì)象使用鏈連接、鏈擁有名稱、角色,但是沒有多重性。對(duì)象代表的是單獨(dú)的實(shí)體,所有的鏈都是一對(duì)一的,因此不涉及到多重性。類名屬性服務(wù)類名類的完整和簡(jiǎn)化表示符號(hào)對(duì)象名:類名屬性對(duì)象名:類名對(duì)象的完整和簡(jiǎn)化表示符號(hào)想一想,在我們通過黑盒方法繪制了高層用例后,還需采用白盒法在用例場(chǎng)景中采用文字書寫該用例的實(shí)現(xiàn)過程。而對(duì)于復(fù)雜的用例,由于處理流程復(fù)雜,可以采用()來描述用例場(chǎng)景的內(nèi)容?;顒?dòng)圖活動(dòng)圖被設(shè)計(jì)用于簡(jiǎn)化描述一個(gè)過程或操作的工作步驟?;顒?dòng)圖既可以描述普通的順序活動(dòng),也可以描述在不同條件下的分支選擇活動(dòng),具體可以使用一個(gè)菱形的判斷標(biāo)志來實(shí)現(xiàn)。另外,活動(dòng)圖對(duì)表示并發(fā)行為也很有用。在活動(dòng)圖中,使用一個(gè)稱為同步條的水平粗線可以將一條轉(zhuǎn)移分為多個(gè)并發(fā)執(zhí)行的分支,或?qū)⒍鄠€(gè)轉(zhuǎn)移合為一條轉(zhuǎn)移。此時(shí),只有輸入的轉(zhuǎn)移全部有效,同步條才會(huì)觸發(fā)轉(zhuǎn)移,進(jìn)而執(zhí)行后面的活動(dòng)。狀態(tài)圖(StateDiagram)用來描述一個(gè)特定對(duì)象的所有可能狀態(tài)及其引起狀態(tài)轉(zhuǎn)移的事件。大多數(shù)面向?qū)ο蠹夹g(shù)都用狀態(tài)圖表示單個(gè)對(duì)象在其生命周期中的行為。一個(gè)狀態(tài)圖包括一系列的狀態(tài)以及狀態(tài)之間的轉(zhuǎn)移。狀態(tài)所有對(duì)象都具有狀態(tài),狀態(tài)是對(duì)象執(zhí)行了一系列活動(dòng)的結(jié)果。當(dāng)某個(gè)事件發(fā)生后,對(duì)象的狀態(tài)將發(fā)生變化。狀態(tài)圖中定義的狀態(tài)有:初態(tài)、終態(tài)、中間狀態(tài)、復(fù)合狀態(tài)。其中,初態(tài)是狀態(tài)圖的起始點(diǎn),而終態(tài)則是狀態(tài)圖的終點(diǎn)。一個(gè)狀態(tài)圖只能有一個(gè)初態(tài),而終態(tài)則可以有多個(gè)。狀態(tài)名轉(zhuǎn)移條件初態(tài)終態(tài)簡(jiǎn)化狀態(tài)狀態(tài)轉(zhuǎn)移狀態(tài)圖模型元素的表示符號(hào)三、定義系統(tǒng)行為順序圖:順序圖是交互圖的一種,用以顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系。它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)也顯示對(duì)象之間的交互過程??梢酝ㄟ^交互圖來定義系統(tǒng)行為。它主要是用來描述對(duì)象之間的動(dòng)態(tài)合作關(guān)系以及合作過程的行為次序。它常常用來顯示用例中所涉及的對(duì)象和這些對(duì)象之間的消息傳遞情況。交互圖有兩種形式,即順序圖和合作圖。它們分別從不同的側(cè)面來描述對(duì)象間的交互關(guān)系。

順序圖有兩個(gè)軸:水平軸表示不同的對(duì)象,垂直軸表示時(shí)間。在順序圖中,對(duì)象用一個(gè)帶有垂直虛線的矩形框表示,在矩形框內(nèi)標(biāo)有對(duì)象名和類名。垂直虛線稱為對(duì)象的生命線,它代表在對(duì)象之間的交互作用中該對(duì)象的生命周期。兩根對(duì)象的生命線之間的箭頭表示消息。消息的箭頭形狀指明消息的類型是發(fā)送還是返回。消息按發(fā)生的時(shí)間順序從上到下排列。每個(gè)消息旁注明消息名稱。返回自身生命線的消息箭頭叫回授,表示對(duì)象發(fā)送消息給自己。一個(gè)申請(qǐng)貸款的順序圖選擇座位遞交服務(wù)請(qǐng)求完成貸款服務(wù)順序圖

和合作圖之間的聯(lián)系與區(qū)別*順序圖和合作圖適合描述單個(gè)用例中幾個(gè)對(duì)象的行為。順序圖:強(qiáng)調(diào)事情發(fā)生的順序;能明顯地顯示消息的順序;更適于觀察整個(gè)工作流,更適于實(shí)時(shí)、復(fù)雜的系統(tǒng)。合作圖:強(qiáng)調(diào)對(duì)象的布局;顯示交互關(guān)系;更適于協(xié)作模式

UML中用于描述系統(tǒng)動(dòng)態(tài)行為的四個(gè)圖(狀態(tài)圖、順序圖、合作圖和活動(dòng)圖)均可用于系統(tǒng)的動(dòng)態(tài)建模,但它們各自的側(cè)重點(diǎn)不同,分別用于不同的目的。首先,不要對(duì)系統(tǒng)中的每個(gè)類都畫狀態(tài)圖。盡管這樣做很完美,但太浪費(fèi)精力,其實(shí)你可能只關(guān)心某些類的行為。正確的做法是:為幫助理解類而畫它的狀態(tài)圖。狀態(tài)圖描述跨越多個(gè)用例的單個(gè)對(duì)象的行為,而不適合描述多個(gè)對(duì)象間的行為合作。為此,常將狀態(tài)圖與其它技術(shù)(如順序圖、合作圖和活動(dòng)圖)組合使用。

順序圖和合作圖適合描述單個(gè)用例中幾個(gè)對(duì)象的行為。其中順序圖突出對(duì)象間交互的順序,而合作圖的布局方法能更清楚地表示出對(duì)象之間靜態(tài)的連接關(guān)系。當(dāng)行為較為簡(jiǎn)單時(shí),順序圖和合作圖是最好的選擇。但當(dāng)行為比變復(fù)雜時(shí),這兩個(gè)圖將失去其清晰度。因

溫馨提示

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

評(píng)論

0/150

提交評(píng)論