版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο笙到y(tǒng)分析與設(shè)計,,2,面向?qū)ο笙到y(tǒng)分析與設(shè)計,7.1 面向?qū)ο蟮陌l(fā)展歷史7.2 面向?qū)ο蟮幕靖拍?.3 面向?qū)ο蟮姆椒ㄕ?.4 面向?qū)ο蟮姆治?.5 面向?qū)ο蟮脑O(shè)計7.6 面向?qū)ο笈c統(tǒng)一建模語言,3,面向?qū)ο笙到y(tǒng)分析與設(shè)計,面向?qū)ο蟮臍v史與發(fā)展,古希臘哲學(xué)家的論著,K.Nyguard等設(shè)計的Simula 67,Alan Keyz主持設(shè)計的Smalltalk,以Smalltalk 80和 C++為代表的語言,面向?qū)ο蟮?/p>
2、系統(tǒng)開發(fā),面向?qū)ο蟮膽?yīng)用深入,,4,面向?qū)ο笙到y(tǒng)分析與設(shè)計,數(shù)據(jù)抽象 – 一種設(shè)計方法把一組數(shù)據(jù)及作用與其上的操作組成一個設(shè)計實體或單位。接口說明外部可見,其實現(xiàn)是隱蔽的,不可見的。發(fā)展的三個階段,5,面向?qū)ο笙到y(tǒng)分析與設(shè)計,抽象數(shù)據(jù)類型抽象數(shù)據(jù)類型是指“一個值集和作用在該值集上的操作集”。抽象數(shù)據(jù)類型的定義只決定于其邏輯特性,與其具體的計算機內(nèi)部實現(xiàn)無關(guān)。一個抽象數(shù)據(jù)類型可以分解為語法、語義、表示和算法4個部分。,6,面向?qū)ο笙?/p>
3、統(tǒng)分析與設(shè)計,抽象數(shù)據(jù)類型的實現(xiàn)實現(xiàn)抽象數(shù)據(jù)類型需要借助于高級程序設(shè)計語言(Pascal,C,C++,…);在面向過程的語言中,用戶可以自己定義數(shù)據(jù)類型;(ADA Package, Pascal Unit)在面向?qū)ο蟮某绦蛟O(shè)計語言中,借助于對象描述抽象數(shù)據(jù)類型。(Class),7,面向?qū)ο笙到y(tǒng)分析與設(shè)計,問題求解面向?qū)ο笤O(shè)計方法:實現(xiàn)問題空間和問題求解空間的近似和直接模擬。,意識部分教室,物質(zhì)部分303教室,抽象部分
4、教室類,具體部分一個對象:教室實例,,,現(xiàn)實問題空間,解空間,8,面向?qū)ο蠹夹g(shù)概述,面向?qū)ο蟮奶攸c封裝機制基于消息的通信繼承機制多態(tài)機制,9,面向?qū)ο笙到y(tǒng)分析與設(shè)計,7.1 面向?qū)ο蟮陌l(fā)展歷史7.2 面向?qū)ο蟮幕靖拍?.3 面向?qū)ο蟮姆椒ㄕ?.4 面向?qū)ο蟮姆治?.5 面向?qū)ο蟮脑O(shè)計7.6 面向?qū)ο笈c統(tǒng)一建模語言,10,7.2面向?qū)ο蟮幕靖拍?基本概念與特點對象(Object)消息(Message)類(C
5、lass)實例(Instance)繼承(Inheritance)封裝(Encapsulation)多態(tài)(Polymorphism),11,面向?qū)ο蟮氖澜缬^,把客觀世界從概念上看成是一個由相互配合而協(xié)作的對象所組成的系統(tǒng)面向?qū)ο?對象+分類+繼承+通信一個實例——椅子,12,一個面向?qū)ο蟮膶嵗巫?13,對象,對象(Object)對象是用來描述客觀存在的事物,它是構(gòu)成系統(tǒng)的基本單位,是對客觀世界中事物的抽象描述。,對象
6、= 行為(功能、方法、服務(wù)) + 屬性(數(shù)據(jù)),屬性,行為,,,,,,,接口,對象,對象,對象,,7.2面向?qū)ο蟮幕靖拍?14,對象是由私有數(shù)據(jù)(屬性)及作用于其上的一組操作(行為)所構(gòu)成的一個封閉整體由于對象的數(shù)據(jù)是私有的,所以要想訪問其數(shù)據(jù)的正確方法是向該對象發(fā)送消息,讓對象自身選擇其內(nèi)部相應(yīng)的操作以完成對該項數(shù)據(jù)的訪問對象的動作取決于外界給對象的刺激,這就是消息,消息告訴對象所要求它完成的功能。對象具有一定的智能功能,即“知
7、道”如何選擇相應(yīng)的操作來處理對象所接收的消息從設(shè)計人員的角度看,對象是一個完成特定功能的程序塊從用戶的角度看,對象為他們提供了所希望的行為,7.2面向?qū)ο蟮幕靖拍?15,對象(Object)對象標(biāo)識對象生命周期一般對象主動對象永久對象,7.2面向?qū)ο蟮幕靖拍?16,類(Class)一個對象類描述的是具有相似性質(zhì)(屬性)的一組對象,這組對象具有一般行為(操作),一般的關(guān)系(對象之間)及一般語義。類是對象類的縮寫,類
8、中的對象有著相同的屬性、行為模式。,將事物進行歸納劃分成不同的一些類是人們認(rèn)識客觀世界的基本思維方法。這種方法依據(jù)的原則是抽象,它忽略了客觀事物非本質(zhì)特性,將客觀事物所具有的共同點,即本質(zhì)特性劃分為一類,形成對事物的本質(zhì)認(rèn)識,得出事物的抽象結(jié)果。,7.2面向?qū)ο蟮幕靖拍?17,類(Class),,結(jié)構(gòu)化程序設(shè)計,面向?qū)ο蟮某绦蛟O(shè)計,7.2面向?qū)ο蟮幕靖拍?18,7.2面向?qū)ο蟮幕靖拍?消息(Message)對象之間的聯(lián)系是通過傳
9、遞消息來實現(xiàn)的。是對象之間進行通訊的一種數(shù)據(jù)結(jié)構(gòu)。消息統(tǒng)一了“數(shù)據(jù)流”和“控制流”。,19,7.2面向?qū)ο蟮幕靖拍?消息 - 消息傳送與函數(shù)調(diào)用的區(qū)別函數(shù)調(diào)用可以帶或不帶參數(shù),但是消息至少帶一個參數(shù),它表明接收該消息的對象,消息中告訴對象做什么的部分稱為消息操作;消息操作名類似于函數(shù)名,其本質(zhì)區(qū)別在于:函數(shù)名代表一段可執(zhí)行的代碼,但消息操作名具體功能的選定還取決于接收消息的對象本身函數(shù)調(diào)用是過程式的(如何做),消息傳送是說明
10、式的(做什么),具體如何做,由對象根據(jù)收到的消息自行確定。,20,屬于某類的具體對象就是該類的實例。一個類的不同實例必定具有:相同的操作(或行為)的集合相同的信息結(jié)構(gòu)或?qū)傩远x,但可以有不同的屬性值不同的對象標(biāo)識,7.2面向?qū)ο蟮幕靖拍?21,7.2面向?qū)ο蟮幕靖拍?實例(Instance),22,7.2面向?qū)ο蟮幕靖拍?繼承(Inheritance)是自動共享類、子類和對象中的方法和數(shù)據(jù)的機制。是實現(xiàn)從可重用成分構(gòu)造系統(tǒng)
11、的最有效的特性,23,封裝(Encapsulation)封裝封裝是一種信息隱蔽技術(shù),就是把對象的屬性和行為相結(jié)合構(gòu)成一個獨立的基本單位,用戶只能見到對象封裝界面上的信息,對象內(nèi)部對用戶是隱蔽的。封裝的目的在于將對象的使用者和對象的設(shè)計者分開,使用者不必知道行為實現(xiàn)的細(xì)節(jié),只需使用設(shè)計者提供的消息訪問對象,7.2面向?qū)ο蟮幕靖拍?24,PosColor… …,公有消息,私有消息,,,,存儲結(jié)構(gòu),方法,協(xié)..……議,,一個對象,7.
12、2面向?qū)ο蟮幕靖拍?封裝的定義為:(1)一個限定所有對象內(nèi)部軟件的一個清楚界面;(2)一個描述這個對象和其它對象之間相互作用的接口(3)受保護的內(nèi)部實現(xiàn),這個實現(xiàn)給出了由軟件對象提供的功能細(xì)節(jié),實現(xiàn)細(xì)節(jié)不能在定義這個對象的類的外面訪問,25,7.2面向?qū)ο蟮幕靖拍?多態(tài)(Polymorphism)即一個名字具有多種語義。同一對象接收到不同消息采用不同的行為方式不同對象收到相同消息時產(chǎn)生不同的動作重載(overload)
13、動態(tài)綁定類屬,26,面向?qū)ο笙到y(tǒng)分析與設(shè)計,7.1 面向?qū)ο蟮陌l(fā)展歷史7.2 面向?qū)ο蟮幕靖拍?.3 面向?qū)ο蟮姆椒ㄕ?.4 面向?qū)ο蟮姆治?.5 面向?qū)ο蟮脑O(shè)計7.6 面向?qū)ο笈c統(tǒng)一建模語言,27,分析方法的改進,分析工作面臨的問題問題域和系統(tǒng)任務(wù)通信需求變化重用,28,7.3面向?qū)ο蟮姆椒ㄕ?處理復(fù)雜問題的原則抽象(Abstract)封裝(Encapsulation)繼承(Inheritance)相關(guān)
14、(Association)消息通訊(Communication with message)組織方法(Method of organization)規(guī)模(Scale)行為規(guī)范(Categories of behavior),29,7.3面向?qū)ο蟮姆椒ㄕ?從認(rèn)識論看面向?qū)ο?信息系統(tǒng)認(rèn)識的三個方面,30,采用面向?qū)ο蟮母拍罴捌涑橄髾C制建立應(yīng)用系統(tǒng)模型,將系統(tǒng)開發(fā)視為對象模型的轉(zhuǎn)換和不斷細(xì)化過程優(yōu)點與其他建模方法的關(guān)系,7.
15、3面向?qū)ο蟮姆椒ㄕ?31,面向?qū)ο蠓椒ǖ膬?yōu)點,它是在人類思維的3個基本方法的框架(即:對象分類、封裝和繼承)之內(nèi)定義并表達(dá)需求;主要集中于對問題空間的分析與理解;使屬性和對屬性的服務(wù)作為一個整體看待;使對象之間的依賴達(dá)到最?。豢梢詫σ活悓ο蟮墓餐卣黠@式的表示;使分析與設(shè)計擁有共同和一致的基本表示,32,分析方法的改進,分析方法功能分解法數(shù)據(jù)流法信息模擬法面向?qū)ο蠓?33,分析方法的改進,分析方法 – 功能分解法功能
16、分解 = 功能 + 子功能 + 功能接口將問題域映射為功能和子功能。為系統(tǒng)必須提供的功能和子功能編寫文檔。產(chǎn)生的規(guī)格說明只能間接的反映問題域。,34,分析方法的改進,分析方法 – 數(shù)據(jù)流法(結(jié)構(gòu)化方法)數(shù)據(jù)流法 = 數(shù)據(jù)流 + 數(shù)據(jù)變換 + 數(shù)據(jù)存儲 + 過程規(guī)格說明 + 數(shù)據(jù)字典將現(xiàn)實世界映射為數(shù)據(jù)流圖??坍嫈?shù)據(jù)從輸入到輸出的信息流。面向?qū)ο蠓椒ù砹讼鄬τ诿嫦蜻^程的根本性變化。面向過程的觀點是系統(tǒng)被分解后,用過程來實現(xiàn)
17、系統(tǒng)的基礎(chǔ)構(gòu)造,把對問題域的分析轉(zhuǎn)化為對求解域的設(shè)計,分析的結(jié)果是設(shè)計階段的輸入,35,分析方法的改進,分析方法 – 信息模擬法信息模擬法 = 對象 + 屬性 + 關(guān)系 + 超類/子類 + 有關(guān)對象面向?qū)ο蠓椒ㄏ鄬τ诿嫦驍?shù)據(jù)的方法學(xué)僅僅是適當(dāng)增補,36,分析方法的改進,分析方法 – 面向?qū)ο蠓嫦驅(qū)ο蠓?= 對象 + 類 + 繼承 + 消息通信 面向?qū)ο蟮姆椒ㄊ遣捎脴?gòu)造模型的觀點。在系統(tǒng)的開發(fā)過程中,各個步驟的共同目標(biāo)是建
18、造一個問題域的模型,因此雖然分析與設(shè)計是不同的系統(tǒng)開發(fā)階段,但它們?nèi)菫閷崿F(xiàn)這一目的而努力的。系統(tǒng)分析不是設(shè)計的輸入,從分析到設(shè)計的轉(zhuǎn)移是一致的。這就是在分析階段把系統(tǒng)分解成實體及其關(guān)系,設(shè)計則是解決這些實體和關(guān)系如何實現(xiàn)的問題,37,面向?qū)ο蟮姆椒ㄕ?解決語言的鴻溝,38,面向?qū)ο蟮姆椒ㄕ?語言的鴻溝變窄,39,面向?qū)ο蟮姆椒ㄕ?分析與設(shè)計的鴻溝,40,面向?qū)ο蠓治鲈O(shè)計的基本思路,識別對象和類通過一組互相關(guān)聯(lián)的模型詳細(xì)表示類之間的關(guān)
19、系和對象的行為,并最終描述系統(tǒng)的信息、功能和行為靜態(tài)邏輯模型動態(tài)邏輯模型,41,識別對象和類,為了發(fā)現(xiàn)對象和類,開發(fā)人員要在系統(tǒng)需求分析的文檔中查找名詞和名詞短語,包括可感知的事物(雷達(dá)、火炮、傳感器);角色(指揮官、操作員、士兵);事件(線路中斷、登陸、收到命令);互相作用(指揮、控制、戰(zhàn)斗);人員;場所;組織;設(shè)備;地點等發(fā)現(xiàn)重要的對象和其責(zé)任,是面向?qū)ο蠓治鲈O(shè)計的初期重要的技術(shù),42,靜態(tài)邏輯模型,靜態(tài)邏輯模型描述實例化(類
20、成員關(guān)系)、關(guān)聯(lián)、聚集(整體/部分)、和一般化(繼承)等關(guān)系。這被稱為對象模型。一般化關(guān)系表示屬性和方法的繼承關(guān) 系。定義對象模型的圖形符號體系通常是從用于數(shù)據(jù)建模的實體關(guān)系圖導(dǎo)出的。對設(shè)計十分重要的約束,如基數(shù)(一對一、一對多、多對多),也在對象模型中表示,43,動態(tài)邏輯模型,動態(tài)邏輯模型描述對象之間的互相作用?;ハ嘧饔猛ㄟ^一組協(xié)同的對象,對象之間消息的有序的序列,加上對象的可見性定義,來定義系統(tǒng)運行時的行為,44,面向?qū)ο?/p>
21、方法綜述,Booch方法Coad/Yourdon方法Jocobson方法(OOSE方法)Rambaugh方法(OMT方法)Wirfs-Brock方法RDD方法VMT方法,45,Booch方法,46,把系統(tǒng)的開發(fā)工作分為兩個部分:微觀過程和宏觀過程。,微觀過程,宏觀過程,Booch方法,47,Coad/Yourdon方法,五個層次的問題域模型,48,Jocobson方法(OOSE方法),使用實例(use case)驅(qū)動,它
22、建立的所有模型都是以使用實例模型為基礎(chǔ)的。使用實例——用以描述用戶和系統(tǒng)間如何交互的場景,49,Rambaugh方法(OMT方法),創(chuàng)建三個模型:對象模型(對象類、層次和關(guān)系的表示)、動態(tài)模型(對象和系統(tǒng)行為的表示)和功能模型(高層的類似DFD的系統(tǒng)信息流的表示),50,主要分為分析、設(shè)計和實現(xiàn)三個階段。分析階段:確定對象模型、動態(tài)模型和功能模型設(shè)計階段:系統(tǒng)設(shè)計和對象設(shè)計實現(xiàn)階段的細(xì)節(jié)和具體的實現(xiàn)環(huán)境有關(guān)OMT方法突出的特點
23、是在分析階段,它可以較為全面地描述系統(tǒng)的靜杰結(jié)構(gòu),所以0MT方法適合于數(shù)據(jù)密集型的信息系統(tǒng)的開發(fā)。,Rambaugh方法(OMT方法),51,Wirfs-Brock方法,評估客戶規(guī)約使用語法分析從規(guī)約中抽取候選類組合類以試圖標(biāo)識超類為每個類定義責(zé)任為每個類賦予責(zé)任標(biāo)識類之間的關(guān)系定義類之間基于責(zé)任的協(xié)作構(gòu)造類的層次表示以顯示繼承關(guān)系構(gòu)造系統(tǒng)的協(xié)作圖,52,RDD方法,主要思想強調(diào)對象行為以及對象間的關(guān)系 使用責(zé)任、合
24、作、合作者、顧客、服務(wù)者、合約等概念。它用擬人的手法把對象的行為比喻為責(zé)任,對象間的關(guān)系比喻為合作,具有責(zé)任的對象比喻為合作者。基本過程探查階段。尋找類,確定責(zé)任和合作 分析階段。細(xì)化對象的行為和服務(wù) 工具:CRC卡片,53,CRC卡片,54,RDD方法對于小型項目具有較好的靈活性和適應(yīng)性。但是對于大型系統(tǒng),這個方法則顯得力不從心了。,RDD方法,55,VMT方法,作為第三代面向?qū)ο箝_發(fā)方法,VMT方法結(jié)合了OMT,OOSE,R
25、DD等方法的優(yōu)點,并且結(jié)合了可視化編程和原型技術(shù) 選擇OMT方法作為整個方法的框架,并采用其表示方法 引入了OOSE方法中的使用實例概念加強對需求的分析引入了RDD方法中的CRC卡片代替OMT方法中用數(shù)據(jù)流圖表示的功能模型,56,面向?qū)ο笙到y(tǒng)分析與設(shè)計,7.1 面向?qū)ο蟮陌l(fā)展歷史7.2 面向?qū)ο蟮幕靖拍?.3 面向?qū)ο蟮姆椒ㄕ?.4 面向?qū)ο蟮姆治?.5 面向?qū)ο蟮脑O(shè)計7.6 面向?qū)ο笈c統(tǒng)一建模語言,57,面向?qū)ο蟮姆?/p>
26、析,面向?qū)ο蠓治龇椒ń⒌恼J(rèn)識基礎(chǔ):從現(xiàn)實世界中區(qū)分特定的客體及其屬性。 區(qū)分事物的整體及其組成部分。 對不同種類的事物給出形式化表示,然后在此基礎(chǔ)上加以區(qū)分。,58,面向?qū)ο蟮姆治?面向?qū)ο蟮南到y(tǒng)分析原則:抽象封裝 繼承 分類聚合關(guān)聯(lián)消息通信粒度控制,59,面向?qū)ο蟮姆治?面向?qū)ο蟮南到y(tǒng)分析模型的過程:發(fā)現(xiàn)對象,定義問題域的類;識別對象的內(nèi)部特征(定義屬性,定義方法)識別對象的外部關(guān)系建立一般-特殊結(jié)構(gòu);
27、建立整體-部分結(jié)構(gòu)建立實例連接;建立消息通信(上述三個活動建立基本模型)劃分主題,建立主題圖定義Use-Case,建立交互圖(上述兩個過程在某些情況下可以省略)給出詳細(xì)說明原型開發(fā),60,面向?qū)ο蟮姆治?面向?qū)ο蟮南到y(tǒng)分析工作的前提:(1)研究用戶需求,明確系統(tǒng)責(zé)任(2)研究問題域(3)確定系統(tǒng)邊界,61,面向?qū)ο蟮姆治?面向?qū)ο蟮姆治鰞?nèi)容:標(biāo)識發(fā)現(xiàn)對象定義屬性定義方法結(jié)構(gòu)的認(rèn)定主題的認(rèn)定,62,標(biāo)識對象,
28、步驟和內(nèi)容尋找對象那些可以作為對象對候選對象審查和篩選質(zhì)疑和調(diào)整對象命名,63,標(biāo)識對象,對象表示,表示一個類和對象,表示一個類,類的名稱,類的屬性,類的方法,64,標(biāo)識對象,尋找對象考慮:系統(tǒng)責(zé)任素材:問題域、文字說明、圖形表示等等。,65,標(biāo)識對象,哪些可以作為對象問題域人員、組織、物品、設(shè)備、事件、表格、結(jié)構(gòu);系統(tǒng)邊界從系統(tǒng)外部邊界出發(fā),尋找系統(tǒng)以外的與系統(tǒng)直接交互的相關(guān)人員、外部系統(tǒng)、設(shè)備,從而找出對象系
29、統(tǒng)責(zé)任,66,標(biāo)識對象,對候選對象的審查和篩選舍棄無用對象對象精簡,67,標(biāo)識對象,質(zhì)疑和調(diào)整類的屬性或服務(wù)不適合該類的全部對象 屬性和服務(wù)相同的類 屬性和服務(wù)相似的類同一事物的重復(fù)描述,68,標(biāo)識對象,命名對象原則上講,對象名應(yīng)該能描述對象的實例的基本特征,因此,為對象命名的主要方法可以是:?用單個名詞或形容詞加名詞作為對象名;?采用標(biāo)準(zhǔn)名稱作為對象名;?盡量采用可讀性好的名字。,69,標(biāo)識對象例子,,假定商場銷售
30、系統(tǒng)有如下功能需求:為顧客選購的商品計價、收費、打印清單;記錄每一種商品的編號、單價及現(xiàn)有數(shù)量;幫助供貨員發(fā)現(xiàn)哪些商品將要脫銷,以及時補充貨源;隨時按上級系統(tǒng)的要求報告當(dāng)前的款貨數(shù)量、增減商品種類或修改商品定價;交接班時結(jié)算貨款數(shù)目,報告上級系統(tǒng)。系統(tǒng)以外與系統(tǒng)進行交互的活動者有收款員、供貨員和它的上級系統(tǒng)。據(jù)此,可以啟發(fā)我們發(fā)現(xiàn)如下一些對象:收款機;供貨員;上級系統(tǒng)接口??紤]該系統(tǒng)問題域內(nèi)部的事物和系統(tǒng)責(zé)任可以發(fā)現(xiàn)下述對
31、象:商品;特價商品;計量商品;商品一覽表:考慮系統(tǒng)責(zé)任,根據(jù)商品編號快速地找到相應(yīng)商品的信息,需要設(shè)立一個“商品一覽表”對象,它保持一個商品目錄表,并提供對商品項的檢索及增刪等功能。銷售事件;賬冊:記錄一個收款員在一個班次內(nèi)經(jīng)手的。,70,標(biāo)識對象例子,,例子以商場銷售管理系統(tǒng)為例建立OOA的模型 。,71,定義屬性,1. 認(rèn)定屬性2. 確定屬性的位置3. 重新修改關(guān)于對象的認(rèn)定4. 對屬性及實例關(guān)聯(lián)進行規(guī)格說明,72,認(rèn)
32、定一個屬性需要3個基本原則。 首先,要確認(rèn)它對于相應(yīng)對象或分類結(jié)構(gòu)的每一個實例都是適用的。 其次,一個屬性即使對某種對象的實例都是適用的,也還要考察在現(xiàn)實世界中它與這種事物的關(guān)系是不是最密切。 第三,認(rèn)定的屬性應(yīng)當(dāng)是一種相對的原子概念,也就是說,不依賴于并列的其他屬性就可以被理解。,定義屬性-認(rèn)定屬性,73,定義屬性-確定屬性的位置,確定屬性的位置 確定一個屬性的位置主要是針對分類結(jié)構(gòu)而言,采用的是繼承的
33、觀點。低層對象的共有屬性應(yīng)在上層對象中定義,而自己只定義特有的屬性。,74,這里應(yīng)重點注意下面幾種情況:不能適用于對象的所有實例的屬性;只有一個屬性的對象;值的數(shù)目不定的對象;適配參數(shù)。,定義屬性-重新修改關(guān)于對象的認(rèn)定,75,關(guān)于屬性與實例關(guān)聯(lián)的說明要包含在對象的規(guī)格說明之中,對屬性的說明,包括屬性的名、描述、約束和范疇;對實例關(guān)聯(lián)的說明,應(yīng)給出關(guān)聯(lián)的雙方(一般用對象的名來表示)和映射的種類。,常見的關(guān)聯(lián)類型有表示物理位置的(
34、如毗鄰、包含),動作傳遞的(如驅(qū)動、發(fā)動),通訊聯(lián)系的(如告訴),所有關(guān)系的(如擁有)和條件滿足的(為...工作、與...結(jié)婚、管理)等等。,定義屬性-對屬性及實例關(guān)聯(lián)進行規(guī)格說明,76,屬性例子,77,定義方法,1. 認(rèn)定基礎(chǔ)的方法2. 認(rèn)定輔助方法3. 認(rèn)定消息關(guān)聯(lián)4. 對方法進行規(guī)格說明,78,定義方法,認(rèn)定基礎(chǔ)的方法 在一個OOA模型中,對每一種對象或分類結(jié)構(gòu)要考慮的基礎(chǔ)方法有三類:存在(實例的添加、修改、刪除和選
35、擇)、計算(處理)、監(jiān)控(狀態(tài))。對這三類方法的認(rèn)定,就是對一個系統(tǒng)中專有的方法進行認(rèn)定的基本方面。,79,定義方法,認(rèn)定輔助方法 在一個OOA模型中,對每一種對象或分類結(jié)構(gòu)所要考慮的輔助方法有兩類:對象的生存史、狀態(tài)-事件-響應(yīng)。,80,定義方法,認(rèn)定消息關(guān)聯(lián) 消息關(guān)聯(lián)是事件-響應(yīng)和數(shù)據(jù)流的一種結(jié)合。換句話說,每一個消息關(guān)聯(lián)都表示著一條要發(fā)出的消息和收到這條消息后要作出的一個響應(yīng)。,81,定義方法,對方法進行規(guī)格說明
36、 對方法進行規(guī)格說明的重點是那些要求使外部可觀察到的行為,目的是強調(diào)可測試的部分,作為將來對系統(tǒng)需求進行驗證、對系統(tǒng)實現(xiàn)進行驗收和測試的基準(zhǔn)。,82,方法例子,83,含義:結(jié)構(gòu)指的是對象的多種組織方式。作用:用來反映問題域中的復(fù)雜事物和復(fù)雜關(guān)系兩種結(jié)構(gòu):分類結(jié)構(gòu)- 組裝結(jié)構(gòu)-標(biāo)識結(jié)構(gòu)的內(nèi)容如下:,標(biāo)識結(jié)構(gòu)和連接,1. 分類結(jié)構(gòu)2. 組裝結(jié)構(gòu),事物的類別之間的組織關(guān)系,整體與部件之間的組合關(guān)系,3. 靜態(tài)連接
37、4. 動態(tài)連接,84,分類結(jié)構(gòu)-(一般特殊關(guān)系),定義: 如果類A具有類B的全部屬性和服務(wù),而且具有自己特有的某些屬性或服務(wù),則A叫作B的特殊類,B叫作A的一般類。,85,分類結(jié)構(gòu)的表示,表示方法,,,86,分類結(jié)構(gòu)的認(rèn)定,分類結(jié)構(gòu)一般是樹型,但并非總是樹型。當(dāng)對象之間有多重繼承的時候,就會有復(fù)雜的分類結(jié)構(gòu)。,87,分類結(jié)構(gòu)的認(rèn)定,認(rèn)定分類結(jié)構(gòu),總的原則是先從一般向特殊考慮,再從特殊向一般考慮。,對于一種對象,首先認(rèn)為它具有最
38、一般的含義??此趩栴}域中具有不同特殊性的可能性,即對于該對象每一種可能的特殊性,考慮:. 是否可以用不同的屬性和(或)方法來描述;. 是否反映了現(xiàn)實世界中有意義的特殊性;. 是否在問題域之內(nèi),即是否限定在目標(biāo)系統(tǒng)之內(nèi)。,確定了對象的特殊性之后,就可以令共有的屬性和方法從屬于一般含義的對象,而令擴充的特殊屬性和方法分屬于特殊含義的對象,這時原來認(rèn)定的對象將會發(fā)生分解。飛機→民用+軍用,88,分類結(jié)構(gòu)的認(rèn)定,認(rèn)定分類結(jié)構(gòu),總的原則
39、是先從一般向特殊考慮,再從特殊向一般考慮。,然后,再從特殊向一般考慮。對于一種對象,在認(rèn)為它具有某種特殊的含義之后考察:. 問題域中是否還有其它對象與這種對象有一些屬性和方法是共有的。若有,則意味著可能存在某種更一般化的對象,能夠把這些共有的屬性和(或)方法概括在一起;. 如果引入某一種更一般化的對象,是否反映了現(xiàn)實世界中更有意義的一般性;. 如果引入某一種更一般化的對象,那么這種對象是否在問題域內(nèi)。汽車+飛機→交通工具,89,
40、一般-特殊結(jié)構(gòu),,,,,,,表示一般與特殊結(jié)構(gòu),90,分類結(jié)構(gòu)的認(rèn)定,舉例。牛奶,羊毛,豬肉三個對象,好象風(fēng)馬牛不相及。,但它們在問題域基層部隊農(nóng)副業(yè)生產(chǎn)管理中都同屬于“農(nóng)副業(yè)產(chǎn)品”這個一般類。,91,組裝結(jié)構(gòu),如果對象A是對象B的一個組成部分,則稱B是A整體對象,A是B的部分對象。并將B和A之間的關(guān)系稱作整體-部分關(guān)系或“has-a”關(guān)系。,組裝結(jié)構(gòu)又稱為整體-部分結(jié)構(gòu),用于描述系統(tǒng)中各類對象之間的組成關(guān)系,通過它可以看出某個類
41、的對象以另外一些類的對象作為其組成部分。,92,組裝結(jié)構(gòu)的表示,表示,,93,組裝結(jié)構(gòu)的認(rèn)定,認(rèn)定組裝結(jié)構(gòu),總的原則是先從整體向部件考慮,再從部件向整體考慮。,對于一種對象,首先認(rèn)為它是一個整體。這時,看它在問題域中含有部件的可能性,即考察:. 它的部件是什么?. 對于它的一個部件,系統(tǒng)是否必要記錄每一個實例或值?. 對于它的一個部件,每一個實例或值是否都可以用屬性來描述?. 它的部件是否反映了現(xiàn)實世界中存在的部件?. 它的部
42、件是否限定在目標(biāo)系統(tǒng)之內(nèi)?飛機→引擎、機翼、座位,94,組裝結(jié)構(gòu)的認(rèn)定,認(rèn)定組裝結(jié)構(gòu),總的原則是先從整體向部件考慮,再從部件向整體考慮。,之后,再從部件向整體考慮。對于一種對象,假定它可能是另一種對象的一個部件,可以考慮:. 這種對象適合什么樣的組裝關(guān)系?. 還需要哪些對象與這種對象一起來構(gòu)成另一種對象?. 對于這樣的組裝而成的對象,系統(tǒng)是否有必要記錄它的一個實例?. 這樣組裝而成的對象在現(xiàn)實世界中是否有意義?. 這樣組裝
43、而成的對象是否限定在目標(biāo)系統(tǒng)之內(nèi)?單位 職員 駕駛證注冊,95,整體-部分結(jié)構(gòu),,,,,表示整體與部分結(jié)構(gòu),,,,,,,,96,標(biāo)識結(jié)構(gòu)例子,(1)分類結(jié)構(gòu)一般類“商品”和它的兩個特殊類“特價商品”及“計量商品”構(gòu)成分類結(jié)構(gòu)。在這個結(jié)構(gòu)中一部分屬性和服務(wù)是多態(tài)的。(2)組裝結(jié)構(gòu)“商品一覽表”和“商品”構(gòu)成一個組裝結(jié)構(gòu),通過前者的“商品目錄”屬性體現(xiàn)這種關(guān)系?!百~冊”和“銷售事件”構(gòu)成另一個組裝結(jié)構(gòu),通過前者的“銷售事件表
44、”屬性體現(xiàn)這種關(guān)系。,97,實例關(guān)聯(lián),認(rèn)定和定義實例關(guān)聯(lián) 實例關(guān)聯(lián)是一個實例集合到另一個實例集合的映射。稱為實例關(guān)聯(lián)而不是對象關(guān)聯(lián),是因為有關(guān)聯(lián)關(guān)系的兩個實例集合,既可以是兩種對象的實例集合,也可以是同一種對象之實例集合的兩個子集。,98,實例關(guān)聯(lián)又稱為鏈接,用于表達(dá)對象之間的靜態(tài)關(guān)系。,靜態(tài)關(guān)系是指可通過對象屬性來表示的一個對象對另一個對象的依賴關(guān)系。,實例關(guān)聯(lián),99,消息連接,在應(yīng)用面對象方法構(gòu)造的系統(tǒng)中,消息體現(xiàn)了對象行為
45、之間的依賴關(guān)系。它是實現(xiàn)對象之間的動態(tài)聯(lián)系,使系統(tǒng)成為一個能活動的整體,并使各個部分能夠協(xié)調(diào)工作的關(guān)鍵因素。,100,消息連接,消息特征語法上,消息的描述應(yīng)包括:消息名;入口參數(shù);返回參數(shù)。語義上,消息應(yīng)包括:發(fā)送者;接收者;其它需要的傳送的信息。,101,消息連接,OOA方法應(yīng)該識別和表示的主要問題包括:(1)對象之間是否存在著某種消息?(2)每一種消息是從發(fā)送者的哪個服務(wù)發(fā)出的?是由接收者的哪個服務(wù)響應(yīng)和處理的?(3)消息
46、是同步的還是異步的?(4)發(fā)送者是否等待消息的處理結(jié)果?,102,消息連接,定義: 消息連接是OOA和OOD模型中對對象之間行為依賴關(guān)系的表示。即:若類A的對象在它的服務(wù)執(zhí)行時需要向類B的對象發(fā)送消息,則稱存在著從A到B的消息連接。,103,消息連接,根據(jù)對上述問題的思考與回答,在相應(yīng)的類符號之間畫出用虛線箭頭表示的消息連接符。,104,標(biāo)識結(jié)構(gòu)例子,105,定義主題,1. 主題的概念2. 主題的表示方法3. 主題的劃分
47、,人同時可以考慮和理解的問題數(shù)目受到記憶能力和處理能力的制約,為7±2個。因此人類在認(rèn)識復(fù)雜事物時,學(xué)會了采用粒度控制的原則。當(dāng)對象太多時,人們對它觀察和理解時就會感到困難。需要引進一種比類和對象抽象層次更高、粒度更大的概念,用以建立系統(tǒng)的高層抽象視圖。OOA方法將這種概念稱為主題。,為什么要引入主題的概念?,106,主題的定義,主題是把一組具有較強聯(lián)系的類組織在一起而得到的類的集合。主題:是一種指導(dǎo)研究大型復(fù)雜模型的機制
48、機制:控制必須考慮的模型數(shù)目。同時可以給出OOA模型的總體概貌依據(jù):整體 – 部分關(guān)系的擴充。,107,主題的概念,主題的概念具有以下特點:(1)它是由一組類構(gòu)成的集合,但它本身并不是一個類。(2)一個主題內(nèi)部的對象類應(yīng)具有某種意義上的內(nèi)在聯(lián)系。每個主題內(nèi)部應(yīng)該是高內(nèi)聚的,各個主題之間應(yīng)該是低耦合的。(3)主題的劃分有一定的靈活性或隨意性。強調(diào)的重點不同可以得到不同的主題劃分,可能每一種劃分都是合理的。,108,主題的表示方法
49、,主題有三種表示方式:壓縮方式-半展開方式-全展開方式-,帶編號和主題名的矩形,上欄填寫主題的編號和主題名。下欄列出這個主題中所包含的類和下層主題名,在類圖上用一個多邊形框出這個主題所包含的類符號,并在凸角位置上標(biāo)出主題的編號;它的內(nèi)部是類圖上原有的全部內(nèi)容,在OOA工具的幫助下,主題的展開與壓縮可以很方便的進行,109,主題(子系統(tǒng))的圖形化表示,主題1,主題2,主題3,主題4,主題5,,,,,,,,110,主題的劃分,主題的
50、劃分包含兩個部分(步驟)的工作:主題的劃分主題的合并,一種是自底向上的。即,先建立類圖,然后把類圖中每一組聯(lián)系較強的類組織為一個主題。如果主題數(shù)量仍然大多,則進一步把聯(lián)系較強的小主題組織成一個大主題,直到系統(tǒng)中最上層的主題數(shù)量為七個左右。,基本方法,111,主題的劃分,主題的劃分包含兩個部分(步驟)的工作:主題的劃分主題的合并,另一種方式是自頂向下的。即先對系統(tǒng)做初步的分析,確定幾個大的主題,每個主題相當(dāng)于一個子系統(tǒng),按這些子系
51、統(tǒng)進行分工,各個分析小組對自己分工的子系統(tǒng)進行正規(guī)的面向?qū)ο蠓治?,建立各個子系統(tǒng)(主題)中的類圖。最后各個小組的分析結(jié)果將合并為一個大的OOA模型。,基本方法,112,主題的劃分,把類圖中的類劃分到一些最低層的主題中。類圖中的每個分類結(jié)構(gòu)和每個組裝結(jié)構(gòu)都是一組聯(lián)系較為緊密的類,所以首先考慮把每個結(jié)構(gòu)作為一個主題。對于分類結(jié)構(gòu),可以用這個結(jié)構(gòu)中最上層一般類的類名作為主題名。有少量交叉的兩個結(jié)構(gòu),可以劃分為兩個主題;對于交叉部分大多而很
52、難看成兩個結(jié)構(gòu)的,可以劃分到一個主題,并為它取一個合適的主題名。對于組裝結(jié)構(gòu),可以用這個結(jié)構(gòu)中最上層整體類的類名作為主題名。通過實例連接互相聯(lián)系的類可考慮劃分到一個主題中。剩下的一些既不屬于任何結(jié)構(gòu),也沒有實例連接的類。,113,主題的合并,主題合并工作是把一些較小的主題合并為一個較大的主題。向上抽象一層。,(1)根據(jù)問題域的情況,如果某幾個主題所包含的對象類在概念上比較接近,或者有較強的相關(guān)性,則可考慮合并為一個主題。 (2)
53、考慮系統(tǒng)責(zé)任,如果某幾個主題所涉及的系統(tǒng)責(zé)任有較大的相關(guān)性,或者說,它們的功能同屬某項大的功能,則可考慮合并為一個主題。 (3)在類圖上觀察各個主題之間的關(guān)系強弱,把強耦合的(即各種關(guān)系較多的)主題合并為一個主題。,114,定義主題的例子,115,116,面向?qū)ο笙到y(tǒng)分析與設(shè)計,7.1 面向?qū)ο蟮陌l(fā)展歷史7.2 面向?qū)ο蟮幕靖拍?.3 面向?qū)ο蟮姆椒ㄕ?.4 面向?qū)ο蟮姆治?.5 面向?qū)ο蟮脑O(shè)計7.6 面向?qū)ο笈c統(tǒng)一建模語
54、言,117,面向?qū)ο蟮脑O(shè)計,問題域部分的設(shè)計人機交互部分的設(shè)計任務(wù)管理部分的設(shè)計數(shù)據(jù)管理部分的設(shè)計OOD的評價標(biāo)準(zhǔn),118,從OOA到OOD不是一個突變的過程, OOA的結(jié)果符合OOD的問題域部分(PDC),OOD是在對OOA的結(jié)果作深入研究的基礎(chǔ)上的改動和增補,這是一個循序漸進的過程。,,面向?qū)ο蟮脑O(shè)計,119,人機交互部分(HIC) 根據(jù)用戶選用的圖形用戶界面系統(tǒng)(GUI)和特定用戶對人機界面的要求而設(shè)計的系
55、統(tǒng)使用界面。它很大程度上依賴于所用的圖形用戶界面環(huán)境(如MS-Windows、Linux等),由新定義的人機界面類和對象組成。,,面向?qū)ο蟮脑O(shè)計,120,任務(wù)管理部分(TMC) 用于定義系統(tǒng)中需要并發(fā)執(zhí)行的各個任務(wù)。包括任務(wù)的定義、通信和協(xié)調(diào),以及硬件分配、外部系統(tǒng)及設(shè)備約定,可能包括的類有“任務(wù)”類和“任務(wù)協(xié)調(diào)”類。,面向?qū)ο蟮脑O(shè)計,121,數(shù)據(jù)管理部分(DMC) 按選定的數(shù)據(jù)管理系統(tǒng)而設(shè)計的負(fù)責(zé)對象的
56、存儲及檢索的系統(tǒng)組成部分。它與物理的數(shù)據(jù)管理方法無關(guān),可以是普通文件、帶標(biāo)記語言的文件、關(guān)系型數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫等等??赡馨ǖ念愑小按鎯Ψ?wù)”類,協(xié)調(diào)每個需永久保存的對象的存儲。,面向?qū)ο蟮脑O(shè)計,122,問題域部分的設(shè)計,問題域部分的設(shè)計需要對OOA的結(jié)果加以增補和具體化:1.針對編程語言支持能力進行調(diào)整2.增加一般類,提供共同協(xié)議3.為實現(xiàn)復(fù)用采取的設(shè)計策略4.提高性能5.提供數(shù)據(jù)管理部分6.完善對象細(xì)節(jié),123,針
57、對語言能力進行調(diào)整,不同的實現(xiàn)語言對設(shè)計的影響是不同的,OOD階段需要將OOA階段得到的分析結(jié)果根據(jù)適用語言的進行調(diào)整,主要包括:(1)語言對面向?qū)ο蟮闹С帜芰?。?)一般-特殊結(jié)構(gòu)和整體-部分結(jié)構(gòu)的調(diào)整。(3)其他方面,124,增加一般類,提供共同協(xié)議,在OOA中定義一般類的主要目的是:集中地描述問題域中事物的共同特性,將多個類都具有的特征提升到一般類中進行表示。 在OOD中定義上述一般類的主要目的是:描述特定
58、條件下某些(全部或部分)類的共同實現(xiàn)策略,用一個一般類集中地給出多個類的實現(xiàn)都要使用的屬性和服務(wù)。,125,為復(fù)用采取的設(shè)計策略,軟件復(fù)用可分為程序代碼級、設(shè)計級和分析級等不同級別。 (1)直接復(fù)用:如果類庫中定義的類恰好與系統(tǒng)的要求完全相符,則可以直接在OOD模型中使用這個復(fù)用的類。 (2)通過繼承復(fù)用:如果可復(fù)用的類中屬性和服務(wù)都是系統(tǒng)中所需要的,但是并不完整,則可以通過繼承來復(fù)用。,126,改進性能,影響性能的因素可分為三個方
59、面: (1)網(wǎng)絡(luò)傳輸時間 (2)數(shù)據(jù)存取時間 (3)數(shù)據(jù)處理時間 幾種可以改進性能的措施:(1)在對象之間具有高度繁忙的消息流通的情況下,這種高度耦合可能需要把兩個或更多的類進行合并;(2)在類及對象中擴充一些保存臨時結(jié)果的屬性;(3)避開正常的數(shù)據(jù)抽象原則而允許服務(wù)從其它對象中強行獲得屬性值。,127,提供數(shù)據(jù)管理部分,為了提供數(shù)據(jù)管理部分,每個被保存的對象需要知道自己是怎樣被存儲的。 (1)第一種方法是“每個對象
60、自己保存自己”。 (2)第二種方法是,每個對象把自己傳送給數(shù)據(jù)管理部分,讓數(shù)據(jù)管理部分來存儲對象自己。 (3)第三種方法是,每個需要長期保存的對象由一個面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(OO-DBMS)來管理。,128,增加低層細(xì)節(jié),底層細(xì)節(jié)一般包括: (1)彌補OOA模型的不足 (2)解決OOA階段推遲考慮的問題 (3)設(shè)計對象和服務(wù),129,人機交互部分的設(shè)計,人機交互部分的設(shè)計主要包括人機交互使用的界面,突出人如何命令系統(tǒng)以及
61、系統(tǒng)如何向用戶提交信息,人在使用計算機過程中的感受直接影響到用戶對系統(tǒng)的接受程度。 人機界面部分不是純粹的設(shè)計和實現(xiàn)問題,很大程度上也是分析問題。,130,人機交互部分的設(shè)計,人機交互部分的策略由以下幾點構(gòu)成:·對人分類;·描述每類人的任務(wù)腳本;·設(shè)計命令層次;·設(shè)計詳細(xì)的交互;·不斷原型化;·設(shè)計人機交互部分的類;,131,人機交互部分的設(shè)計,例子的設(shè)計命令
62、層如下:系統(tǒng)登錄 商品銷售 商品維護 系統(tǒng)查詢 計價 增加商品 銷售記錄 收款 刪除商品 商品數(shù)量 打印購貨單 修改
63、商品 帳目 交接班 設(shè)定特價商品 統(tǒng)計銷售情況 缺貨登記,132,任務(wù)管理部分的設(shè)計,任務(wù)又稱為進程,若干任務(wù)并發(fā)執(zhí)行時叫做多任務(wù)。任務(wù)增加了設(shè)計、編碼和過程的復(fù)雜性,因此必須
64、細(xì)心地選擇并作最終調(diào)整。,133,定義每個任務(wù),(1)任務(wù)的內(nèi)容 首先要說明是什么任務(wù):為任務(wù)命名,并簡要地說明該任務(wù)。(2)如何協(xié)調(diào)任務(wù) 定義每個任務(wù)怎樣協(xié)調(diào)工作。(3)如何通信 定義每個任務(wù)如何通信。,134,數(shù)據(jù)管理部分的設(shè)計,數(shù)據(jù)管理部分提供了在數(shù)據(jù)管理協(xié)調(diào)中存儲和檢索東西的基本結(jié)構(gòu)。數(shù)據(jù)管理部分旨在隔離數(shù)據(jù)管理方案的影響,不管該方案是普通文件、關(guān)系型數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫或其它方式的。,
65、135,數(shù)據(jù)管理部分的設(shè)計,設(shè)計數(shù)據(jù)管理部分既包括數(shù)據(jù)存放方法的設(shè)計,也包括相應(yīng)服務(wù)的設(shè)計。數(shù)據(jù)存放設(shè)計 按普通文件、關(guān)系或面向?qū)ο蟮臄?shù)據(jù)管理來設(shè)計數(shù)據(jù)的存放。設(shè)計相應(yīng)的服務(wù) 為每個需要存儲其對象的類增加一個屬性和一個服務(wù),形成了問題域部分和數(shù)據(jù)管理部分之間的必要橋梁。,136,數(shù)據(jù)管理方法,數(shù)據(jù)管理方法主要有三種——文件、關(guān)系型的及OO方法。(1)文件管理: 文件管理具有基本的文件管理及排序機制。(2)關(guān)
66、系DBMS: 關(guān)系DBMS是建立在關(guān)系理論的基礎(chǔ)上的。(3)面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng): OO-DBMS是一種新的技術(shù),OO-DBMS的設(shè)計主要綜合了二種方法:擴展的關(guān)系型DBMS與擴展的OOPL的結(jié)合。,137,數(shù)據(jù)管理方法,(1)文件管理:OOA&D階段為應(yīng)用系統(tǒng)識別、定義的對象,在實現(xiàn)時將被表示成文件中的數(shù)據(jù)。,138,數(shù)據(jù)管理方法,(2)關(guān)系數(shù)據(jù)庫系統(tǒng)關(guān)系數(shù)據(jù)庫存儲對象的方式是將對象的屬性存儲在數(shù)據(jù)庫中的二維表
67、中,表中的列存儲對象的簡單屬性,對于對象的復(fù)雜屬性可以將其進行分解成為簡單屬性,并在其他二維表中存儲。,,139,OOD的評價標(biāo)準(zhǔn),優(yōu)秀設(shè)計是一種權(quán)衡各種因素,最小化整個生命周期的總系統(tǒng)開銷的設(shè)計。軟件的耦合、內(nèi)聚以及重用是衡量設(shè)計好壞的重要標(biāo)準(zhǔn)。,140,耦合性,在OOD中,有兩種情況:由消息連接表示的兩個對象之間的耦合和一般類與特殊類之間的耦合。即:交互耦合和繼承耦合。減少交互耦合的原則是盡可能減少消息聯(lián)結(jié)的復(fù)雜性。提高繼承耦合
68、性是十分需要的。,141,內(nèi)聚性,服務(wù)內(nèi)聚 一個服務(wù)應(yīng)該完成一個并且僅完成一個功能。類內(nèi)聚 屬性和服務(wù)應(yīng)該是高內(nèi)聚性的,其中不含無用的屬性和服務(wù),而且全都是描述類的對象責(zé)任的。一般一特殊內(nèi)聚 一般類應(yīng)該確實描述一般的屬性與服務(wù),特殊類應(yīng)該確實描述特殊,并且仔細(xì)斟酌其在結(jié)構(gòu)中的位置。,142,重用性,原因①需要創(chuàng)建可重用的組元;②需要完成高級質(zhì)量保證,常常需要花多倍的時間去測試可重用的組元;③需要維護一些相應(yīng)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向?qū)ο蟮南到y(tǒng)分析與設(shè)計
- 《面向?qū)ο笙到y(tǒng)分析與設(shè)計》教學(xué)大綱
- 面向?qū)ο笙到y(tǒng)分析與設(shè)計選擇題庫
- ATM系統(tǒng)的面向?qū)ο笙到y(tǒng)分析.pdf
- 基于UML的面向?qū)ο蟮南到y(tǒng)分析與設(shè)計.pdf
- 基于UML的面向?qū)ο笙到y(tǒng)分析與設(shè)計的研究.pdf
- 面向?qū)ο蟮囊簤合到y(tǒng)分析研究95461
- 軟件工程畢業(yè)論文-面向?qū)ο蟮南到y(tǒng)分析與設(shè)計
- 外文翻譯---面向?qū)ο蟮囊簤合到y(tǒng)分析研究
- 基于神經(jīng)網(wǎng)絡(luò)的面向?qū)ο笙到y(tǒng)分析.pdf
- 面向?qū)ο蟮慕?jīng)理信息系統(tǒng)分析、設(shè)計與計算機實現(xiàn).pdf
- 系統(tǒng)分析與設(shè)計
- 面向?qū)ο蟮碾娏ο到y(tǒng)分析軟件研究與開發(fā).pdf
- 基于面向?qū)ο蠓椒ǖ膶W(xué)生管理信息系統(tǒng)分析與設(shè)計研究.pdf
- 系統(tǒng)分析與設(shè)計論文
- 基于面向?qū)ο蟮氖I(yè)保險系統(tǒng)分析與設(shè)計宜春市就業(yè)信息子系統(tǒng).pdf
- 面向個人的綜合醫(yī)療服務(wù)系統(tǒng)分析與設(shè)計.pdf
- 合同管理系統(tǒng)分析與設(shè)計
- atm機系統(tǒng)分析與設(shè)計
- 網(wǎng)上購物系統(tǒng)分析與設(shè)計
評論
0/150
提交評論