![第4章-面向?qū)ο蟮南到y(tǒng)1_第1頁(yè)](http://file4.renrendoc.com/view/a606b0f7f3d40d1c74a948af2a6a28d9/a606b0f7f3d40d1c74a948af2a6a28d91.gif)
![第4章-面向?qū)ο蟮南到y(tǒng)1_第2頁(yè)](http://file4.renrendoc.com/view/a606b0f7f3d40d1c74a948af2a6a28d9/a606b0f7f3d40d1c74a948af2a6a28d92.gif)
![第4章-面向?qū)ο蟮南到y(tǒng)1_第3頁(yè)](http://file4.renrendoc.com/view/a606b0f7f3d40d1c74a948af2a6a28d9/a606b0f7f3d40d1c74a948af2a6a28d93.gif)
![第4章-面向?qū)ο蟮南到y(tǒng)1_第4頁(yè)](http://file4.renrendoc.com/view/a606b0f7f3d40d1c74a948af2a6a28d9/a606b0f7f3d40d1c74a948af2a6a28d94.gif)
![第4章-面向?qū)ο蟮南到y(tǒng)1_第5頁(yè)](http://file4.renrendoc.com/view/a606b0f7f3d40d1c74a948af2a6a28d9/a606b0f7f3d40d1c74a948af2a6a28d95.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
梁昌勇信息系統(tǒng)分析、設(shè)計(jì)與開(kāi)發(fā)方法第4章面向?qū)ο蟮南到y(tǒng)分析4.1面向?qū)ο蟮幕具^(guò)程
4.2面向?qū)ο蠓治龅奶攸c(diǎn) 4.3需求分析陳述4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng) 4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型4.8案例目錄面向?qū)ο蠓治?Object-OrientedAnalysis,OOA),就是抽取和整理用戶(hù)需求,按照面向?qū)ο蟮乃枷雭?lái)分析問(wèn)題,最后建立問(wèn)題域的精確模型。分析的過(guò)程就是識(shí)別問(wèn)題域和系統(tǒng)責(zé)任提取系統(tǒng)需求的過(guò)程,分析工作包括3項(xiàng)內(nèi)容,即理解、表達(dá)、驗(yàn)證。分析過(guò)程得出的最重要的文檔資料是軟件需求規(guī)格說(shuō)明,在面向?qū)ο蠓治鲋校饕蓪?duì)象模型、動(dòng)態(tài)模型和功能模型組成。
4.1面向?qū)ο蠓治龅幕具^(guò)程4.1.1概述問(wèn)題域(problemdomain)就是被開(kāi)發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即軟件系統(tǒng)所能處理的現(xiàn)實(shí)世界中業(yè)務(wù)范圍。系統(tǒng)責(zé)任(systemresponsibilities)即所開(kāi)發(fā)的軟件系統(tǒng)應(yīng)該具備的職能.4.1面向?qū)ο蠓治龅幕具^(guò)程4.1.1概述OOA分析的過(guò)程就是提取需求的過(guò)程,主要包括理解、表達(dá)和驗(yàn)證。OOA過(guò)程模型4.1面向?qū)ο蠓治龅幕具^(guò)程4.1.2基本過(guò)程O(píng)OA過(guò)程由5項(xiàng)主要活動(dòng)組成:(1)識(shí)別問(wèn)題域中的類(lèi)和對(duì)象(2)確定結(jié)構(gòu)(3)確定主題(4)定義屬性(5)定義服務(wù)4.1面向?qū)ο蠓治龅幕具^(guò)程4.1.2基本過(guò)程O(píng)OA模型由5個(gè)層組成:(1)主題層,按模塊進(jìn)行劃分,從而降低模型的復(fù)雜程度;(2)類(lèi)與對(duì)象層,描述了系統(tǒng)中的類(lèi)與對(duì)象;(3)結(jié)構(gòu)層,描述了類(lèi)之間的繼承關(guān)系和“整體-部分”結(jié)構(gòu);(4)屬性層,描述了屬性以及類(lèi)和對(duì)象之間的實(shí)例連接;(5)服務(wù)層,描述了方法以及類(lèi)和對(duì)象之間的消息連接。OOA過(guò)程的5項(xiàng)活動(dòng)分別對(duì)應(yīng)OOA模型的5個(gè)層次,這5項(xiàng)活動(dòng)和5個(gè)層次又繼續(xù)貫穿在OOD(面向?qū)ο蟮脑O(shè)計(jì))過(guò)程中。4.1面向?qū)ο蠓治龅幕具^(guò)程4.1.2基本過(guò)程4.1面向?qū)ο蠓治龅幕具^(guò)程4.1面向?qū)ο蟮幕具^(guò)程 4.2面向?qū)ο蠓治龅奶攸c(diǎn)
4.3需求分析陳述4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng) 4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型4.8案例目錄OOA的主要原則(1)抽象原則。系統(tǒng)中的對(duì)象是對(duì)現(xiàn)實(shí)世界中事物的抽象;類(lèi)是系統(tǒng)中對(duì)象的抽象。(2)分類(lèi)原則。就是把具有相同屬性和服務(wù)的對(duì)象劃分為一類(lèi),用類(lèi)作為這些對(duì)象的抽象描述。(3)聚合原則。聚合將一個(gè)復(fù)雜的事物看成由若干比較簡(jiǎn)單的事物組合形成的,從而簡(jiǎn)化對(duì)復(fù)雜事物的描述。4.2面向?qū)ο蠓治龅奶攸c(diǎn)OOA的主要原則(4)關(guān)聯(lián)原則。在面向?qū)ο蠓治鲞^(guò)程中,運(yùn)用關(guān)聯(lián)原則可以
在系統(tǒng)模型中明確地標(biāo)識(shí)對(duì)象之間的靜態(tài)聯(lián)系。(5)消息通信原則。這一原則要求對(duì)象之間只能通過(guò)消息進(jìn)行通信,而不允許在對(duì)象之外直接地存取對(duì)象內(nèi)部的屬性。通過(guò)消息進(jìn)行通信是由于封裝原則而引起的。(6)粒度控制原則。人在面對(duì)一個(gè)復(fù)雜的問(wèn)題域時(shí),需要控制自己的視野:考慮全局時(shí),注意其大的組成部分,暫時(shí)不詳察每一部分的具體的細(xì)節(jié);考慮某部分的細(xì)節(jié)時(shí)則暫時(shí)撇開(kāi)其余的部分。4.2面向?qū)ο蠓治龅奶攸c(diǎn)OOA的主要優(yōu)點(diǎn)(1)OOA是在人類(lèi)思維組織的基本方法框架下定義并表達(dá)需求,直觀性好。(2)便于分析人員集中精力于問(wèn)題空間的理解和分析,有利于超越系統(tǒng)的復(fù)雜性困難。(3)把屬性和有關(guān)服務(wù)方法作為對(duì)象整體來(lái)看待,比較自然。(4)使用對(duì)象間的最小相關(guān)性來(lái)分析和說(shuō)明。這有利于實(shí)行封裝性原則,并使OOA適應(yīng)開(kāi)發(fā)需求的變化,也有利于制作和提取可復(fù)用的部件。4.2面向?qū)ο蠓治龅奶攸c(diǎn)OOA的主要優(yōu)點(diǎn)(5)通過(guò)對(duì)共性的顯式表示而提高表達(dá)能力。抽象層次與后續(xù)OOP結(jié)合,編程思路清晰,特別是有利于提高程序效率。(6)分析法與設(shè)計(jì)法的一致性,密切配合建造一個(gè)問(wèn)題域模型。(7)對(duì)系統(tǒng)族的適用性和可擴(kuò)展性強(qiáng)4.2面向?qū)ο蠓治龅奶攸c(diǎn)4.1面向?qū)ο蟮幕具^(guò)程 4.2面向?qū)ο蠓治龅奶攸c(diǎn) 4.3需求分析陳述4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng) 4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型4.8案例目錄面向?qū)ο笙到y(tǒng)分析的基本出發(fā)點(diǎn)是問(wèn)題域及用戶(hù)需求。研究問(wèn)題域及用戶(hù)需求的主要目的是通過(guò)對(duì)問(wèn)題域的深入研究,建立一個(gè)能夠滿足用戶(hù)需求的系統(tǒng)模型。面向?qū)ο蠓治鰪?qiáng)調(diào)系統(tǒng)模型與問(wèn)題域的緊密對(duì)應(yīng),對(duì)問(wèn)題域的研究貫穿于整個(gè)面向?qū)ο蠓治龉ぷ髦?。?duì)問(wèn)題域的研究一般可以通過(guò)以下工作來(lái)完成:親臨現(xiàn)場(chǎng),通過(guò)觀察掌握第一手材料;認(rèn)真聽(tīng)取問(wèn)題域?qū)<业囊?jiàn)解;閱讀與問(wèn)題論域有關(guān)的材料,學(xué)習(xí)相關(guān)領(lǐng)域的基本知識(shí);借鑒相關(guān)或相似問(wèn)題論域已有系統(tǒng)的OOA文檔。4.3需求分析陳述用戶(hù)需求就是用戶(hù)對(duì)所要開(kāi)發(fā)的系統(tǒng)提出的各種要求和期望。用戶(hù)需求大致可以分為2類(lèi):技術(shù)需求(功能需求、非功能需求、可用性需求等)非技術(shù)需求(系統(tǒng)交付時(shí)間、資源使用限制等)4.3需求分析陳述功能需求和非功能需求是系統(tǒng)分析人員首先要考慮的因素。功能需求描述了系統(tǒng)可以做什么或被期望做什么,描述了系統(tǒng)的功能,在OOA中可以使用用例來(lái)描述系統(tǒng)功能;非功能需求描述了系統(tǒng)如何更好地提供功能服務(wù),可以從性能、安全性、可靠性、可用性等方面來(lái)描述。在對(duì)用戶(hù)需求的研究中,系統(tǒng)分析員需要解決如下問(wèn)題:系統(tǒng)需要提供哪些功能,要達(dá)到何種性能指標(biāo)以及可靠性、安全性要求,人機(jī)交互要求,系統(tǒng)的對(duì)外接口等。Usercase是用來(lái)收集和描述用戶(hù)需求的最好方法。即先標(biāo)識(shí)使用該系統(tǒng)的不同的參與者(actor)。參與者所提出的每個(gè)使用場(chǎng)景(或功能)稱(chēng)為一個(gè)用例,所有的用例則構(gòu)成完整的系統(tǒng)需求。在這個(gè)過(guò)程中,很可能需要快速建立起原型系統(tǒng),以便與用戶(hù)更有效地交流。4.3需求分析陳述需求陳述的內(nèi)容包括:?jiǎn)栴}范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等。書(shū)寫(xiě)需求陳述時(shí),要盡力做到語(yǔ)法正確,而且應(yīng)該慎重選用名詞、動(dòng)詞、形容詞和同義詞。4.3需求分析陳述用例名:購(gòu)買(mǎi)商品參與者:出納員簡(jiǎn)要描述:顧客帶著所要購(gòu)買(mǎi)的商品來(lái)到收款處。收款員記錄下商品信息并收款。付款完成后,顧客帶著所購(gòu)買(mǎi)的商品和收據(jù)離開(kāi)。用例的簡(jiǎn)要描述購(gòu)買(mǎi)商品收款員4.3需求分析陳述對(duì)“取款”用例的非正式描述1)用戶(hù)插入ATM卡并輸入密碼2)用戶(hù)選擇取款并輸入取款數(shù)量3)系統(tǒng)吐出現(xiàn)金,并從賬號(hào)余額中扣除取款數(shù)4.3需求分析陳述4.3需求分析陳述對(duì)“取款”用例的完整描述主參與者:信用卡用戶(hù)目標(biāo):用戶(hù)使用信用卡從ATM機(jī)獲取現(xiàn)金范圍:銀行ATM系統(tǒng)前置條件:用戶(hù)將信用卡插入ATM觸發(fā)事件:用戶(hù)希望從ATM機(jī)上取現(xiàn)金主事件流:1)用戶(hù)插入信用卡到ATM機(jī)2)ATM系統(tǒng)識(shí)別卡的ID和賬號(hào),并用主銀行系統(tǒng)驗(yàn)證其有效性3)用戶(hù)輸入密碼,ATM驗(yàn)證其有效性4)用戶(hù)選擇取款,并輸入提取金額,該數(shù)額必須在50~5000之間,50的倍數(shù)4.3需求分析陳述對(duì)“取款”用例的完整描述主事件流:5)ATM系統(tǒng)通知賬戶(hù)所在的主銀行系統(tǒng),傳遞賬號(hào)和取款金額,并接受返回的確認(rèn)信息和賬戶(hù)余額6)ATM系統(tǒng)發(fā)放現(xiàn)金、卡,并打印收據(jù)7)ATM將事務(wù)記入日志4.3需求分析陳述對(duì)“取款”用例的完整描述備選事件流:
2a:該卡不能在此ATM機(jī)上使用3a:密碼不正確3b:用戶(hù)沒(méi)有及時(shí)輸入密碼4a:金額不是50的倍數(shù),或不在指定范圍5a:主機(jī)死機(jī)或網(wǎng)絡(luò)癱瘓5b:賬戶(hù)余額不足發(fā)生頻率:一天1000次4.1面向?qū)ο蟮幕具^(guò)程 4.2面向?qū)ο蠓治龅奶攸c(diǎn) 4.3需求分析陳述
4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng)
4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型4.8案例目錄獲取對(duì)象和類(lèi)確定關(guān)聯(lián)確定主題確定屬性確定方法
4.4面相對(duì)象的系統(tǒng)分析活動(dòng)獲取對(duì)象和類(lèi)
面向?qū)ο笙到y(tǒng)分析過(guò)程如人的認(rèn)識(shí)過(guò)程一樣,從個(gè)別事物認(rèn)識(shí)上升到一般概念的歸納過(guò)程,這就是認(rèn)識(shí)事物的抽象過(guò)程。然后,在一般概念的指導(dǎo)下,再對(duì)事物進(jìn)行認(rèn)識(shí)與分析。在OO建模和OOP中,所有的對(duì)象都是通過(guò)類(lèi)來(lái)描述的,類(lèi)是具有相同屬性和操作的一組對(duì)象的集合。OOA活動(dòng)的最終目標(biāo)是建立所有對(duì)象的類(lèi)。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)在識(shí)別問(wèn)題域可能有用的候選對(duì)象時(shí),可以從以下三個(gè)面入手:從問(wèn)題域方面出發(fā),可以啟發(fā)分析員發(fā)現(xiàn)對(duì)象的因素包括:人員、組織、物品、設(shè)備、事件、表格、結(jié)構(gòu)等。從系統(tǒng)邊界方面出發(fā),應(yīng)該考慮的因素包括:人員、設(shè)備和外部系統(tǒng),它們是否與所要開(kāi)發(fā)的系統(tǒng)有交互行為,如果有,那么它們就是候選對(duì)象。從系統(tǒng)責(zé)任出發(fā),對(duì)照系統(tǒng)責(zé)任所要求的每一項(xiàng)功能,查看是否可以由已找出的對(duì)象來(lái)完成該功能,在不能滿足要求時(shí)增加相應(yīng)的對(duì)象,可以使系統(tǒng)分析員盡可能全地找出所需的各種對(duì)象。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.1獲取對(duì)象和類(lèi)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)在找到許多可能有用的候選對(duì)象之后,需要對(duì)它們進(jìn)行逐個(gè)審查,分析它們是否是OOA模型所真正需要的,從而篩選掉一些對(duì)象,或精簡(jiǎn)及合并一些對(duì)象,以及將一些對(duì)象推遲到OOD階段再進(jìn)行考慮。系統(tǒng)對(duì)象判斷的標(biāo)準(zhǔn)就是這些對(duì)象是否為系統(tǒng)提供了有用的屬性和服務(wù)。確定最終對(duì)象的原則:需要保留的信息、需要的服務(wù)、具有多個(gè)屬性、具有公共屬性及操作。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.1獲取對(duì)象和類(lèi)抽象出對(duì)象類(lèi)的常見(jiàn)問(wèn)題:
(1)類(lèi)的屬性或服務(wù)不適合該類(lèi)的全部對(duì)象(不完全)
;
(2)出現(xiàn)屬性和服務(wù)相似的類(lèi)(冗余)
;
(3)出現(xiàn)對(duì)同一事物的重復(fù)描述。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.1獲取對(duì)象和類(lèi)OOA中要正確運(yùn)用抽象原則:首先是擯棄與系統(tǒng)責(zé)任無(wú)關(guān)的事物,專(zhuān)注于系統(tǒng)責(zé)任所涉及的事物,把它們作為系統(tǒng)責(zé)任的候選對(duì)象。其次,描述候選對(duì)象的相應(yīng)特征,對(duì)這些特征進(jìn)行認(rèn)真分析,舍棄與系統(tǒng)責(zé)任無(wú)關(guān)的特征,只保留與系統(tǒng)責(zé)任有關(guān)的特征,然后將這些特征抽象為對(duì)象的屬性和操作。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.1獲取對(duì)象和類(lèi)判斷問(wèn)題域事物是否與系統(tǒng)責(zé)任有關(guān),可以從以下3方面進(jìn)行:是否向系統(tǒng)輸入信息,也就是說(shuō),系統(tǒng)是否要保留或管理這些信息。是否從系統(tǒng)接受信息,或者說(shuō)事物是否需要系統(tǒng)提供信息。既向系統(tǒng)輸入信息,也需要系統(tǒng)提供信息。4.4.1獲取對(duì)象和類(lèi)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)關(guān)聯(lián)是指問(wèn)題域的復(fù)雜性和連接關(guān)系。當(dāng)兩個(gè)或多個(gè)類(lèi)之間有相互依賴(lài)、相互作用的關(guān)系就是關(guān)聯(lián)。一個(gè)面向?qū)ο蟮南到y(tǒng)中,類(lèi)之間存在以下四種關(guān)系:一般——特殊整體——部分關(guān)聯(lián)依賴(lài)關(guān)系4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)1.一般—特殊結(jié)構(gòu)
一般—特殊關(guān)系又稱(chēng)類(lèi)屬關(guān)系,是現(xiàn)實(shí)世界中一般對(duì)象和特殊對(duì)象之間的關(guān)系,反映了現(xiàn)實(shí)世界中事物之間的分類(lèi)關(guān)系。前者稱(chēng)為父類(lèi),后者稱(chēng)為子類(lèi),子類(lèi)繼承父類(lèi)的特性(屬性、操作、關(guān)聯(lián)等),同時(shí)又擁有自己的特性。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)1.一般—特殊結(jié)構(gòu)
確定了類(lèi)中應(yīng)該定義的屬性之后,就可以利用繼承機(jī)制共享公共性質(zhì),并對(duì)系統(tǒng)中眾多的類(lèi)加以組織。建立繼承關(guān)系的方式:(1)自底向上:抽象出現(xiàn)有類(lèi)的共同性質(zhì)泛化出父類(lèi),這個(gè)過(guò)程實(shí)質(zhì)上模擬了人類(lèi)歸納思維過(guò)程。(2)自頂向下:把現(xiàn)有類(lèi)細(xì)化成更具體的子類(lèi),這模擬了人類(lèi)的演繹思維過(guò)程。
4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)例如圖書(shū)借閱管理系統(tǒng)中,對(duì)象類(lèi)“人員”是類(lèi)“管理員”和“借閱者”類(lèi)的父類(lèi),而子類(lèi)“管理員”又是類(lèi)“系統(tǒng)維護(hù)人員”和類(lèi)“一般操作人員”的父類(lèi)。一般——特殊關(guān)系4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)2.整體—部分對(duì)象實(shí)例之間的整體—部分關(guān)系,反映了現(xiàn)實(shí)世界中的事物之間的構(gòu)成關(guān)系。整體—部分關(guān)聯(lián)又可以從兩個(gè)方面來(lái)反映:聚合關(guān)系表示對(duì)象實(shí)例之間的整體與部分的關(guān)系,作為整體的對(duì)象擁有作為部分的對(duì)象。組合關(guān)系是聚合關(guān)系的一種特殊形式。在組合關(guān)系中,整體和部分之間有著很緊密的關(guān)系和一致的生命周期。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)3.關(guān)聯(lián)表示對(duì)象實(shí)例之間的靜態(tài)聯(lián)系,這兩個(gè)對(duì)象實(shí)例之間存在某種語(yǔ)義上聯(lián)系。例如,員工為公司工作,一個(gè)公司有許多部門(mén),因此,可以認(rèn)為員工和公司、公司和部門(mén)之間存在某種語(yǔ)義上的聯(lián)系,如下圖所示。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)4.依賴(lài)關(guān)系一個(gè)模型元素的變化影響另一個(gè)模型元素,則兩個(gè)元素之間存在依賴(lài)關(guān)系。以X和Y兩個(gè)元素為例,當(dāng)修改X的定義時(shí),引起Y的定義的修改,則稱(chēng)Y依賴(lài)于X。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.2確定關(guān)聯(lián)主題是指事物的總體概貌和總體分析模型。在開(kāi)發(fā)大型、復(fù)雜系統(tǒng)的過(guò)程中,為了降低復(fù)雜程度,人們習(xí)慣于把復(fù)雜系統(tǒng)進(jìn)一步劃分為幾個(gè)不同的主題,即在概念上把系統(tǒng)包含的內(nèi)容分解成幾個(gè)小的范疇。對(duì)于一個(gè)復(fù)雜的系統(tǒng),一般情況下在獲取對(duì)象與類(lèi)、確定結(jié)構(gòu)之后,然后劃分主題。這樣有利于系統(tǒng)開(kāi)發(fā)人員觀察整個(gè)系統(tǒng)模型。主題的劃分不是按照功能進(jìn)行分解的,而是按照問(wèn)題域進(jìn)行劃分的。另外,遵循最少原則進(jìn)行主題劃分,即不同主題內(nèi)的對(duì)象之間依賴(lài)和交互關(guān)系最少。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.3確定主題從本質(zhì)上講,屬性定義了對(duì)象??蓮膯?wèn)題的陳述中或通過(guò)對(duì)類(lèi)的理解而標(biāo)識(shí)出屬性。
對(duì)象的屬性是描述對(duì)象靜態(tài)特征的,確定對(duì)象屬性時(shí)要從問(wèn)題域和目標(biāo)系統(tǒng)兩方面進(jìn)行。一般說(shuō)來(lái),確定屬性的過(guò)程包括分析和選擇兩個(gè)步驟。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.4確定屬性1.分析從以下角度去確定對(duì)象應(yīng)具有的屬性:按一般常識(shí),該對(duì)象應(yīng)具有哪些屬性;在當(dāng)前問(wèn)題論域中,該對(duì)象應(yīng)具有哪些屬性;根據(jù)系統(tǒng)責(zé)任的要求,該對(duì)象應(yīng)具有哪些屬性;建立該對(duì)象是為了保存和管理哪些信息;對(duì)象為了在服務(wù)中實(shí)現(xiàn)其功能,需要增設(shè)哪些屬性;是否需要增設(shè)屬性來(lái)區(qū)別對(duì)象的不同狀態(tài);用什么屬性來(lái)表示對(duì)象的整體-部分聯(lián)系和實(shí)例連接4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.4確定屬性2.選擇刪掉不正確的或不必要的屬性,通常有以下幾種常見(jiàn)情況:誤把對(duì)象當(dāng)作屬性;如果某個(gè)實(shí)體的獨(dú)立存在比它的值更重要,則應(yīng)把它作為一個(gè)對(duì)象而不是對(duì)象的屬性。在具體應(yīng)用領(lǐng)域中具有自身性質(zhì)的實(shí)體,必然是對(duì)象。誤把關(guān)聯(lián)類(lèi)的屬性當(dāng)作一般對(duì)象的屬性;如果某個(gè)性質(zhì)依賴(lài)于某個(gè)關(guān)聯(lián)鏈的存在;則該性質(zhì)是關(guān)聯(lián)類(lèi)的屬性,在分析階段不應(yīng)該把它作為一般對(duì)象的屬性。把限定誤當(dāng)成屬性;正確使用限定詞往往可以減少關(guān)聯(lián)的重?cái)?shù)。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.4確定屬性誤把內(nèi)部狀態(tài)當(dāng)成了屬性;如果某個(gè)性質(zhì)是對(duì)象的非公開(kāi)的內(nèi)部狀態(tài),則應(yīng)該從對(duì)象模型中刪掉這個(gè)屬性。過(guò)于細(xì)化;在分析階段應(yīng)該忽略那些對(duì)大多數(shù)操作都沒(méi)有影響的屬性。存在不一致的屬性;類(lèi)應(yīng)該是簡(jiǎn)單而且一致的。如果得出一些看起來(lái)與其他屬性毫不相關(guān)的屬性,則應(yīng)該考慮把該類(lèi)分解成兩個(gè)不同的類(lèi)。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.4確定屬性方法,也稱(chēng)服務(wù)、操作或行為等,用來(lái)描述對(duì)象的動(dòng)態(tài)特征。有的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言中,又將服務(wù)稱(chēng)之為類(lèi)的成員函數(shù)或簡(jiǎn)稱(chēng)函數(shù)。一般從以下幾個(gè)方面發(fā)現(xiàn)和定義對(duì)象方法:系統(tǒng)責(zé)任問(wèn)題域?qū)ο鬆顟B(tài)(狀態(tài)機(jī)圖)4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.5確定方法1.系統(tǒng)責(zé)任在OOA模型中,對(duì)象的操作是最直接體現(xiàn)系統(tǒng)責(zé)任并實(shí)現(xiàn)用戶(hù)需求的成分,分析研究用戶(hù)需求中提出的每一項(xiàng)功能要求,這些功能要求應(yīng)該由哪對(duì)象來(lái)提供,從而在該對(duì)象中設(shè)立相應(yīng)的方法。從對(duì)象的角度出發(fā),分析這個(gè)對(duì)象是否應(yīng)該設(shè)立,它能完成哪些功能。由該對(duì)象完成的功能就是這個(gè)對(duì)象的方法。從信息的輸入、加工、輸出的流程出發(fā),在整個(gè)信息流中涉及哪些對(duì)象?這些對(duì)象是如何處理這些信息的?對(duì)象完成信息處理的功能就是對(duì)象的方法。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.5確定方法2.問(wèn)題域從問(wèn)題域出發(fā),考慮每個(gè)對(duì)象所代表的實(shí)際事物在問(wèn)題域中呈現(xiàn)哪些行為?這些行為是否與系統(tǒng)責(zé)任有關(guān)?在系統(tǒng)中應(yīng)該為這些對(duì)象設(shè)立何種方法?3.對(duì)象狀態(tài)對(duì)象從創(chuàng)建到撤銷(xiāo)要經(jīng)歷一系列的狀態(tài),從一種狀態(tài)轉(zhuǎn)移為另一種狀態(tài)是由某個(gè)操作引起的。對(duì)象的狀態(tài)和狀態(tài)之間的轉(zhuǎn)移可以通過(guò)狀態(tài)機(jī)圖來(lái)描繪。狀態(tài)機(jī)圖就是確定對(duì)象操作的手段之一。4.4面相對(duì)象的系統(tǒng)分析活動(dòng)4.4.5確定方法4.1面向?qū)ο蟮幕具^(guò)程 4.2面向?qū)ο蠓治龅奶攸c(diǎn) 4.3需求分析陳述
4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng) 4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型4.8案例目錄面向?qū)ο蠓治鍪滓墓ぷ?,是建立?wèn)題域的對(duì)象模型。這個(gè)模型描述了現(xiàn)實(shí)世界中的“類(lèi)與對(duì)象”以及它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。OOA基本模型分為三個(gè)層次:對(duì)象層——給出系統(tǒng)中所有反映問(wèn)題域和系統(tǒng)責(zé)任的對(duì)象。特征層——給出類(lèi)(對(duì)象)的內(nèi)部特征,即類(lèi)的屬性和操作關(guān)系層——給出各類(lèi)(對(duì)象)之間的關(guān)系,即類(lèi)之間的四種關(guān)系。4.5建立對(duì)象模型1.類(lèi)圖類(lèi)圖描述系統(tǒng)中類(lèi)的靜態(tài)結(jié)構(gòu),它不僅定義系統(tǒng)中的類(lèi),表示類(lèi)之間的關(guān)系(如關(guān)聯(lián)、依賴(lài)、聚集等),也表達(dá)類(lèi)的內(nèi)部結(jié)構(gòu)(即類(lèi)的屬性和操作)。類(lèi)圖描述的這種靜態(tài)關(guān)系涉及軟件系統(tǒng)開(kāi)發(fā)的整個(gè)生命周期。4.5建立對(duì)象模型1.類(lèi)圖
類(lèi)一般包含3個(gè)組成部分:類(lèi)名、屬性、方法。4.5建立對(duì)象模型建筑設(shè)計(jì)院公文審批類(lèi)圖
類(lèi)圖使用方式對(duì)系統(tǒng)的靜態(tài)對(duì)象建模。如圖書(shū)借閱系統(tǒng)的Book類(lèi)、reader類(lèi),學(xué)生管理系統(tǒng)的Student類(lèi)等。對(duì)簡(jiǎn)單的協(xié)作建模。協(xié)作是一些共同行為的類(lèi)、接口和其他元素的群體。對(duì)邏輯數(shù)據(jù)庫(kù)模式建模。在很多領(lǐng)域中,都需要在關(guān)系數(shù)據(jù)庫(kù)或面向?qū)ο髷?shù)據(jù)庫(kù)中存儲(chǔ)永久信息,系統(tǒng)分析者可以用類(lèi)圖對(duì)這些需要永久化的實(shí)體建模。4.5建立對(duì)象模型類(lèi)的表示方式有兩種即:全部顯示類(lèi)的屬性和操作,或者隱藏屬性部分或操作部分,或者兩者都隱藏。4.5建立對(duì)象模型2.對(duì)象圖對(duì)象圖表示在某一時(shí)刻系統(tǒng)對(duì)象的狀態(tài)、對(duì)象之間的聯(lián)系的狀態(tài)以及對(duì)象行為的靜態(tài)方面的狀態(tài)。對(duì)象圖和類(lèi)圖一樣反映系統(tǒng)的靜態(tài)過(guò)程,但它是從實(shí)際的或原型化的情景來(lái)表達(dá)的。對(duì)象圖是類(lèi)圖的實(shí)例,幾乎使用與類(lèi)圖完全相同的標(biāo)識(shí)。它們的不同點(diǎn)在于對(duì)象圖顯示類(lèi)的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類(lèi)。一個(gè)對(duì)象圖是類(lèi)圖的一個(gè)實(shí)例。由于對(duì)象存在生命周期,因此對(duì)象圖只能在系統(tǒng)某一時(shí)間段存在。4.5建立對(duì)象模型2.對(duì)象圖4.5建立對(duì)象模型:辦公室工作人員:辦公室主任對(duì)象只有兩個(gè)分欄(名稱(chēng)、屬性);對(duì)象的名稱(chēng)形式為“對(duì)象名:類(lèi)名”;匿名對(duì)象的名稱(chēng)形式為“:類(lèi)名”;對(duì)象只定義了屬性的當(dāng)前值;對(duì)象圖中不包含操作;對(duì)象使用鏈連接,鏈擁有名稱(chēng)、角色,但是沒(méi)有多重性。對(duì)象圖的用途:捕獲實(shí)例和連接在分析和設(shè)計(jì)階段創(chuàng)建捕獲交互的靜態(tài)部分舉例說(shuō)明數(shù)據(jù)/對(duì)象結(jié)構(gòu)詳細(xì)描述瞬態(tài)圖由分析人員、設(shè)計(jì)人員和代碼實(shí)現(xiàn)人員開(kāi)發(fā)4.5建立對(duì)象模型2.對(duì)象圖包(Package)是一種常規(guī)用途的組合機(jī)制。UML中的一個(gè)包直接對(duì)應(yīng)于Java中的一個(gè)包。在Java中,一個(gè)包可能含有其他包、類(lèi)或者同時(shí)含有這兩者。進(jìn)行建模時(shí),通常使用邏輯性的包,用于對(duì)模型進(jìn)行組織;使用物理性的包,用于轉(zhuǎn)換成系統(tǒng)中的Java包。每個(gè)包的名稱(chēng)對(duì)這個(gè)包進(jìn)行了惟一性的標(biāo)識(shí)。4.5建立對(duì)象模型3.包圖包圖建模:將一個(gè)框架的所有類(lèi)放置在相同的包中;將相同繼承層次的類(lèi)放在相同的包中;彼此間有聚集或組成關(guān)系的類(lèi)通常放在相同的包中;彼此合作頻繁的類(lèi)、信息能夠通過(guò)UML順序圖和UML合作圖反映出來(lái)的類(lèi),通常放在相同的包中;確定包與包之間的依賴(lài)關(guān)系或泛化關(guān)系。4.5建立對(duì)象模型4.1面向?qū)ο蟮幕具^(guò)程 4.2面向?qū)ο蠓治龅奶攸c(diǎn) 4.3需求分析陳述
4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng) 4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型4.8案例目錄動(dòng)態(tài)模型是與時(shí)間和變化有關(guān)的系統(tǒng)性質(zhì)。該模型描述了系統(tǒng)的控制結(jié)構(gòu),它表示了瞬間的、行為化的系統(tǒng)控制性質(zhì),它關(guān)心的是系統(tǒng)的控制,操作的執(zhí)行順序,它表示從對(duì)象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了對(duì)象的相互行為。該模型描述的系統(tǒng)屬性是觸發(fā)事件、事件序列、狀態(tài)、事件與狀態(tài)的組織。使用狀態(tài)圖作為描述工具。它涉及到事件、狀態(tài)、操作等重要概念。4.6建立動(dòng)態(tài)模型事件;事件是指定時(shí)刻發(fā)生的某件事。狀態(tài);狀態(tài)是對(duì)象屬性值的抽象。對(duì)象的屬性值按照影響對(duì)象顯著行為的性質(zhì)將其歸并到一個(gè)狀態(tài)中去。狀態(tài)指明了對(duì)象對(duì)輸入事件的響應(yīng)。各對(duì)象之間相互觸發(fā)(即作用)就形成了一系列的狀態(tài)變化。把一個(gè)觸發(fā)行為稱(chēng)作一個(gè)事件。狀態(tài)有持續(xù)性,它占用一段時(shí)間間隔。狀態(tài)與事件密不可分,一個(gè)事件分開(kāi)兩個(gè)狀態(tài),一個(gè)狀態(tài)隔開(kāi)兩個(gè)事件。事件表示時(shí)刻,狀態(tài)代表時(shí)間間隔。4.6建立動(dòng)態(tài)模型狀態(tài)圖;狀態(tài)圖是一個(gè)標(biāo)準(zhǔn)的計(jì)算機(jī)概念,它是有限自動(dòng)機(jī)的圖形表示,這里把狀態(tài)圖作為建立動(dòng)態(tài)模型的圖形工具。狀態(tài)圖反映了狀態(tài)與事件的關(guān)系。當(dāng)接收一事件時(shí),下一狀態(tài)就取決于當(dāng)前狀態(tài)和所接收的該事件,由該事件引起的狀態(tài)變化稱(chēng)為轉(zhuǎn)換。狀態(tài)圖是一種圖,用結(jié)點(diǎn)表示狀態(tài),結(jié)點(diǎn)用圓圈表示;圓圈內(nèi)有狀態(tài)名,用箭頭連線表示狀態(tài)的轉(zhuǎn)換,上面標(biāo)記事件名,箭頭方向表示轉(zhuǎn)換的方向。4.6建立動(dòng)態(tài)模型4.6建立動(dòng)態(tài)模型電話狀態(tài)圖建立動(dòng)態(tài)模型的步驟:第一步,是編寫(xiě)典型交互行為的腳本。雖然腳本中不可能包括每個(gè)偶然事件,但至少必須保證不遺漏常見(jiàn)的交互行為。第二步,從腳本中提取出事件,確定觸發(fā)每個(gè)事件的動(dòng)作對(duì)象以及接受事件的目標(biāo)對(duì)象。第三步,排列事件發(fā)生的次序,確定每個(gè)對(duì)象可能有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖描繪它們。最后,比較各個(gè)對(duì)象的狀態(tài)圖,檢查它們之間的一致性,確保事件之間的匹配。4.6建立動(dòng)態(tài)模型4.1面向?qū)ο蟮幕具^(guò)程 4.2面向?qū)ο蠓治龅奶攸c(diǎn) 4.3需求分析陳述
4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng) 4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型
4.8案例目錄功能模型描述了系統(tǒng)的所有計(jì)算,著重于系統(tǒng)內(nèi)部數(shù)據(jù)的傳送和處理,功能模型定義“做什么”,動(dòng)態(tài)模型定義“何時(shí)做”,對(duì)象模型定義“對(duì)誰(shuí)做”。功能模型表明一個(gè)計(jì)算如何從輸入值得到輸出值,它不考慮計(jì)算的次序。功能模型由多張數(shù)據(jù)流圖組成。數(shù)據(jù)流圖用來(lái)表示從源對(duì)象到目標(biāo)對(duì)象的數(shù)據(jù)值的流向,它不包含控制信息,控制信息在動(dòng)態(tài)模型中表示,同時(shí)數(shù)據(jù)流圖也不表示對(duì)象中值的組織,值的組織在對(duì)象模型中表示。4.7建立功能模型公文發(fā)文數(shù)據(jù)流圖3種模型之間的關(guān)系:針對(duì)每個(gè)類(lèi)建立的動(dòng)態(tài)模型,描述了類(lèi)實(shí)例的生命周期或運(yùn)行周期。狀態(tài)轉(zhuǎn)換驅(qū)使行為發(fā)生,這些行為在數(shù)據(jù)流圖中被映射成處理,在用例圖中被映射成用例,它們同時(shí)與類(lèi)圖中的服務(wù)相對(duì)應(yīng)。功能模型中的處理(或用例)對(duì)應(yīng)于對(duì)象模型中的類(lèi)所提供的服務(wù)。數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ),以及數(shù)據(jù)的源點(diǎn)/終點(diǎn),通常是對(duì)象模型中的對(duì)象。4.7建立功能模型3種模型之間的關(guān)系:數(shù)據(jù)流圖中的數(shù)據(jù)流,往往是對(duì)象模型中對(duì)象的屬性值,也可能是整個(gè)對(duì)象。用例圖中的行為者,可能是對(duì)象模型中的對(duì)象。功能模型中的處理(或用例)可能產(chǎn)生動(dòng)態(tài)模型中的事件。對(duì)象模型描述了數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)源點(diǎn)/終點(diǎn)的結(jié)構(gòu)。4.7建立功能模型4.1面向?qū)ο蟮幕具^(guò)程 4.2面向?qū)ο蠓治龅奶攸c(diǎn) 4.3需求分析陳述
4.4面向?qū)ο蟮南到y(tǒng)分析活動(dòng) 4.5建立對(duì)象模型4.6建立動(dòng)態(tài)模型4.7建立功能模型4.8案例目錄項(xiàng)目概述
某建筑設(shè)計(jì)院立項(xiàng)開(kāi)發(fā)工程設(shè)計(jì)綜合項(xiàng)目管理信息系統(tǒng),總體目標(biāo)是對(duì)設(shè)計(jì)院核心業(yè)務(wù)流程進(jìn)行梳理和優(yōu)化,規(guī)范工作流程和管理制度,并運(yùn)用計(jì)算機(jī)技術(shù)和信息技術(shù)實(shí)現(xiàn)設(shè)計(jì)院經(jīng)營(yíng)管理和工程設(shè)計(jì)的信息化,提高運(yùn)營(yíng)效率,以適應(yīng)不斷變化的市場(chǎng)需求,更好地為社會(huì)提供一流的產(chǎn)品和服務(wù)。辦公自動(dòng)化系統(tǒng)是該系統(tǒng)的一個(gè)子系統(tǒng),其中公文管理模塊要求實(shí)現(xiàn)公文收、發(fā)文處理、審批、公告、督辦催辦、歸檔、查詢(xún)等功能。工作流技術(shù)采用JBPM工作流引擎,系統(tǒng)開(kāi)發(fā)采用Struts2.0+Spring2.5+Hibernate3.2+DWR2.0框架技術(shù),服務(wù)器是JBoss服務(wù)器。4.8案例通過(guò)對(duì)用戶(hù)需求調(diào)研分析,公文發(fā)文業(yè)務(wù)流程如圖所示。4.8案例1.系統(tǒng)需求通過(guò)對(duì)問(wèn)題域的認(rèn)真分析,識(shí)別出公文發(fā)文系統(tǒng)對(duì)象,如右圖所
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑材料進(jìn)口物流合同樣本
- 礦產(chǎn)開(kāi)采用地中介服務(wù)合同
- 二零二五年度包裝機(jī)械遠(yuǎn)程監(jiān)控與維修服務(wù)合同
- 家禽養(yǎng)殖合同禽類(lèi)采購(gòu)合同
- 房屋買(mǎi)賣(mài)合同詳情
- 農(nóng)業(yè)工程綜合實(shí)施方案
- 軟件技術(shù)服務(wù)合同書(shū)
- 國(guó)際酒店服務(wù)管理手冊(cè)
- 工程監(jiān)理規(guī)范實(shí)務(wù)手冊(cè)
- 牛羊肉供貨協(xié)議書(shū)
- 人教版PEP五年級(jí)英語(yǔ)下冊(cè)單詞表與單詞字帖 手寫(xiě)體可打印
- 如果歷史是一群喵
- 抖音房產(chǎn)直播敏感詞匯表
- 2024屆山東省青島市市北區(qū)八年級(jí)物理第二學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 2022-2023年人教版九年級(jí)化學(xué)(上冊(cè))期末試題及答案(完整)
- 中華民族共同體概論課件專(zhuān)家版2第二講 樹(shù)立正確的中華民族歷史觀
- 蔚來(lái)用戶(hù)運(yùn)營(yíng)分析報(bào)告-數(shù)字化
- 中學(xué)生低碳生活調(diào)查報(bào)告
- 游泳池經(jīng)營(yíng)合作方案
- 擘畫(huà)未來(lái)技術(shù)藍(lán)圖
- 基于情報(bào)基本理論的公安情報(bào)
評(píng)論
0/150
提交評(píng)論