![面向?qū)ο笙到y(tǒng)的分析與設(shè)計_第1頁](http://file4.renrendoc.com/view/c8c77a2a8045ddd6bfabb9d3223fa1df/c8c77a2a8045ddd6bfabb9d3223fa1df1.gif)
![面向?qū)ο笙到y(tǒng)的分析與設(shè)計_第2頁](http://file4.renrendoc.com/view/c8c77a2a8045ddd6bfabb9d3223fa1df/c8c77a2a8045ddd6bfabb9d3223fa1df2.gif)
![面向?qū)ο笙到y(tǒng)的分析與設(shè)計_第3頁](http://file4.renrendoc.com/view/c8c77a2a8045ddd6bfabb9d3223fa1df/c8c77a2a8045ddd6bfabb9d3223fa1df3.gif)
![面向?qū)ο笙到y(tǒng)的分析與設(shè)計_第4頁](http://file4.renrendoc.com/view/c8c77a2a8045ddd6bfabb9d3223fa1df/c8c77a2a8045ddd6bfabb9d3223fa1df4.gif)
![面向?qū)ο笙到y(tǒng)的分析與設(shè)計_第5頁](http://file4.renrendoc.com/view/c8c77a2a8045ddd6bfabb9d3223fa1df/c8c77a2a8045ddd6bfabb9d3223fa1df5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
/《面對對象系統(tǒng)的分析和設(shè)計》學(xué)習(xí)報告面對對象系統(tǒng)的分析和設(shè)計課程是本專業(yè)的一門重要的專業(yè)課。通過本課程的學(xué)習(xí),使我在已有的計算機(jī)軟硬件基礎(chǔ)學(xué)問、程序設(shè)計學(xué)問、數(shù)據(jù)庫和網(wǎng)絡(luò)通信學(xué)問的基礎(chǔ)上系統(tǒng)駕馭了面對對象系統(tǒng)的分析和設(shè)計方法和技術(shù),并初步具備了針對特定環(huán)境下的應(yīng)用問題進(jìn)行信息系統(tǒng)開發(fā)(包括系統(tǒng)分析、設(shè)計和實(shí)現(xiàn))的實(shí)力。現(xiàn)將學(xué)習(xí)狀況作以下匯報。一、面對對象概述在20世紀(jì)60年頭以前,軟件開發(fā)者構(gòu)造的軟件系統(tǒng)大多都是較小的,且相對簡潔。編程語言及編程環(huán)境也相對簡潔,隨著軟件困難性的增長,為了更好地維護(hù)代碼,軟件開發(fā)也須要方法來進(jìn)行約束。傳統(tǒng)的方法中,結(jié)構(gòu)化方法和基于建模方法是典型的軟件開發(fā)方法。結(jié)構(gòu)化方法是結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化編程的總稱。結(jié)構(gòu)化方法的思想萌發(fā)于20世紀(jì)60年頭,是在70年頭由TomDeMacro和EdYourdon等人被系統(tǒng)地進(jìn)出來。其目的在于,供應(yīng)一個有序的機(jī)制,通過抽象來理解待開發(fā)的系統(tǒng),試圖產(chǎn)生結(jié)構(gòu)良好的軟件系統(tǒng)。但對于較困難的系統(tǒng)而言,簡潔導(dǎo)致模塊的低內(nèi)聚和模塊間的高耦合,從面使得系統(tǒng)缺乏靈敏性和可維護(hù)性。基于建模方法在20世紀(jì)70年頭末提出,即PeterChen的實(shí)體——關(guān)系法和EdCodd的關(guān)系數(shù)據(jù)庫理論相結(jié)合提出的一種新的軟件開發(fā)方法。其強(qiáng)調(diào)對信息實(shí)體建模,而不是對象建模。結(jié)構(gòu)化方法和基于建模方法都沒有較強(qiáng)地描述系統(tǒng)的動態(tài)行為的實(shí)力。隨著計算機(jī)技術(shù)的飛速發(fā)展,計算機(jī)管理系統(tǒng)應(yīng)用的普及,企業(yè)信息化勢在必行。傳統(tǒng)開發(fā)方法結(jié)構(gòu)化開發(fā)的軟件存在許多問題,其有穩(wěn)定性、可修改性和可重用性都比較差,生產(chǎn)效率低等缺陷,這是因為傳統(tǒng)的軟件開發(fā)是面對過程的。然而,用戶需求的變更大部分是針對功能的,接受面對對象方法開發(fā)可以滿足用戶的需求,因為面對對象有以下優(yōu)點(diǎn):能夠比較自然地反映現(xiàn)實(shí)事物,可重用性、可維護(hù)性和可擴(kuò)展性比較強(qiáng)。什么是面對對象呢?“面對對象”本身沒有任何意義。“對象”或許是英語中最一般的一個單詞。它在字典中的定義是這樣的。對象:能感覺到或能夠被感覺到的東西。換句話說,對象可以是任何東西!“面對”也沒有任何特殊的含義,它的定義是“指向”。在這種定義下,“面對對象”被理解為形容詞。因此,面對對象可以定義成這樣,面對對象:指向你可以想到的任何東西。毫無疑問,軟件工業(yè)無法為“面對對象”下一個統(tǒng)一的定義。這種模糊性使得任何一個軟件零售商都聲稱他們的商品是“面對對象”的。1面對對象的基本概念盡管權(quán)威人士對面對對象的概念沒有達(dá)成一樣的看法,但從程序設(shè)計方法的角度來看,面對對象是一種新的程序設(shè)計范型。其基本思想是運(yùn)用對象、類、封裝、繼承、關(guān)聯(lián)、聚合、消息、多態(tài)性等基本概念來進(jìn)行程序設(shè)計。1.1對象(Object)對象是人們要進(jìn)行探討的任何事物,它可以是有形的(比如一輛汽車),也可以是無形的(比如一項支配)。對象是構(gòu)成世界的一個獨(dú)立單位,它具有自己的靜態(tài)特征和動態(tài)特征。對象是系統(tǒng)中用來描述客觀事物的一個實(shí)體,它是構(gòu)成系統(tǒng)的一個基本單位。一個對象由一組屬性和對這組屬性進(jìn)行操作的一組服務(wù)構(gòu)成。1.2類(Class)具有相同或相像性質(zhì)的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實(shí)例是對象。類的確定主要是確定該類的全部對象有哪些屬性和哪些行為。這些屬性和行為必需覆蓋該類中的全部對象。例如在一個學(xué)生類中,它的屬性有姓名、學(xué)號、性別、所在院系,它的行為有選課、注冊等。抽象是指忽視事物的非本質(zhì)特征,只留意那些和當(dāng)前目標(biāo)有拳本質(zhì)特征,從而找出事物的共性;而分類是把具有共同性質(zhì)的事物劃分為一類,得出一個抽象的概念。另外,每一個屬性和行為都被封裝后,只能在類的內(nèi)部起作用。1.3封裝(Encapsulation)為了實(shí)現(xiàn)信息的隱藏,又提出了封裝,就是把對象的屬性和行為結(jié)合成一個獨(dú)立的單位,并盡可能隱藏對象的內(nèi)部微小環(huán)節(jié)。1.4繼承(Inheritance)任何一個子類都具有其父類全部的屬性、方法、事務(wù)。這一特性叫做類的繼承。假如父類的特性發(fā)生變更,其子類也相應(yīng)變更。面對對象的編程技術(shù)強(qiáng)調(diào)了代碼的重用性,而可重用性即是能過繼承來實(shí)現(xiàn)的。簡化了人們對事物的相識和描述,也簡化了系統(tǒng)的構(gòu)造強(qiáng)度及其文檔,特殊有益于軟件復(fù)用。1.5關(guān)聯(lián)類之間的靜態(tài)聯(lián)系稱為關(guān)聯(lián)。關(guān)聯(lián)表示了類和類之間的關(guān)系,在實(shí)現(xiàn)這種關(guān)系時,可以通過對象的屬性表達(dá)出來。例如“,學(xué)生”和“課程”類之間存在著關(guān)聯(lián)“選課”,用類“學(xué)生”的對象的屬性來記錄該對象具體選課的課程對象(由“課程”類創(chuàng)建)。1.6聚合是關(guān)聯(lián)的一種,只是關(guān)聯(lián)的語義沒有聚合那么明顯。聚合是具有整體一部分關(guān)系語義的關(guān)聯(lián)。1.7消息(Message)在面對對象方法中,把向?qū)ο蟀l(fā)出的操作請求稱為消息。對象之間通過消息進(jìn)行通信,實(shí)現(xiàn)了對象之間的動態(tài)聯(lián)系。1.8多態(tài)性面對對象設(shè)計借鑒了客觀世界的多態(tài)性,體現(xiàn)在不同的對象收到相同的消息時產(chǎn)生多種不同的行為方式。例如,在一般類“幾何圖形”中定義了一個行為“繪圖”,但并不確定執(zhí)行時原委畫一個什么圖形。特殊類“橢圓”和“多邊形”都繼承了幾何圖形類的繪圖行為,但其功能卻不同,一個是要畫出一個橢圓,另一個是要畫出一個多邊形。這樣一個繪圖的消息發(fā)出后,橢圓、多邊形等類的對象接收到這個消息后各自執(zhí)行不同的繪圖函數(shù)。面對對象方法是一種運(yùn)用對象、類、封裝、繼承、關(guān)聯(lián)、聚合、消息、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。2面對對象的特征面對對象技術(shù)強(qiáng)調(diào)在軟件開發(fā)過程中面對客觀世界或問題域中的事物,接受人類在相識客觀世界的過程中普遍運(yùn)用的思維方法,直觀、自然地描述客觀世界中的有關(guān)事物。面對對象技術(shù)的基本特征主要有對象唯一性、分類性、繼承性和多態(tài)性。2.1對象唯一性每個對象都有自身唯一的標(biāo)識,通過這種標(biāo)識,可找到相應(yīng)的對象。在對象的整個生命期中,它的標(biāo)識都不變更,不同的對象不能有相同的標(biāo)識。2.2分類性分類性是指將具有一樣的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了和應(yīng)用有關(guān)的重要性質(zhì),而忽視其他一些無關(guān)內(nèi)容。任何類的劃分都是主觀的,但必需和具體的應(yīng)用有關(guān)。2.3繼承性繼承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。在定義和實(shí)現(xiàn)一個類的時候,可以在一個已經(jīng)存在的類的基礎(chǔ)之上來進(jìn)行,把這個已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。繼承性是面對對象程序設(shè)計語言不同于其它語言的最重要的特點(diǎn),是其他語言所沒有的。接受繼承性,供應(yīng)了類的規(guī)范的等級結(jié)構(gòu)。通過類的繼承關(guān)系,使公共的特性能夠共享,提高了軟件的重用性。2.4多態(tài)性(多形性)多態(tài)性使指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同的結(jié)果。不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。多態(tài)性允許每個對象以適合自身的方式去響應(yīng)共同的消息。多態(tài)性增加了軟件的靈敏性和重用性。3面對對象開發(fā)的工作過程面對對象開發(fā)的過程一般包括:系統(tǒng)調(diào)查和需求分析、分析問題的性質(zhì)和求解問題、整理問題、程序?qū)崿F(xiàn)。3.1系統(tǒng)調(diào)查和需求分析對系統(tǒng)將要面臨的具體管理問題以及用戶對系統(tǒng)開發(fā)的需求進(jìn)行調(diào)查探討,即先弄清要干什么的問題。3.2分析問題的性質(zhì)和求解問題面對對象系統(tǒng)分析(ObjectOrientedAnalysisOOA),在繁雜的問題域中抽象地識別出對象以及其行為、結(jié)構(gòu)、屬性、方法等。3.3整理問題面對對象系統(tǒng)設(shè)計(ObjectOrientedDesignOOD)即對分析的結(jié)果作進(jìn)一步地抽象、歸類、整理,并最終以范式的形式將它們確定下來。3.4程序?qū)崿F(xiàn)面對對象的程序設(shè)計(ObjectOrientedProgramming)即用面對對象的程序設(shè)計語言將上一步整理的范式干脆映射(干脆用程序語言來取代)為應(yīng)用程序軟件。4面對對象開發(fā)的常用方法目前,面對對象開發(fā)方法的探討已日趨成熟,國際上已有不少面對對象產(chǎn)品出現(xiàn)。面對對象開發(fā)方法有Coad方法、Booch方法、OMT方法和UML(UnifiedModelingLanguage)語言等。4.1Booch方法Booch最先描述了面對對象的軟件開發(fā)方法的基礎(chǔ)問題,指出面對對象開發(fā)是一種根本不同于傳統(tǒng)的功能分解的設(shè)計方法。面對對象的軟件分解更接近人對客觀事務(wù)的理解,而功能分解只通過問題空間的轉(zhuǎn)換來獲得。4.2Coad方法Coad方法是1989年Coad和Yourdon提出的面對對象開發(fā)方法。該方法的主要優(yōu)點(diǎn)是通過多年來大系統(tǒng)開發(fā)的閱歷和面對對象概念的有機(jī)結(jié)合,在對象、結(jié)構(gòu)、屬性和操作的認(rèn)定方面,提出了一套系統(tǒng)的原則。該方法完成了從需求角度進(jìn)一步進(jìn)行類和類層次結(jié)構(gòu)的認(rèn)定。盡管Coad方法沒有引入類和類層次結(jié)構(gòu)的術(shù)語,但事實(shí)上已經(jīng)在分類結(jié)構(gòu)、屬性、操作、消息關(guān)聯(lián)等概念中體現(xiàn)了類和類層次結(jié)構(gòu)的特征。4.3OMT方法OMT方法是1991年由JamesRumbaugh等5人提出來的,其經(jīng)典著作為“面對對象的建模和設(shè)計”。該方法是一種新興的面對對象的開發(fā)方法,開發(fā)工作的基礎(chǔ)是對真實(shí)世界的對象建模,然后圍繞這些對象運(yùn)用分析模型來進(jìn)行獨(dú)立于語言的設(shè)計,面對對象的建模和設(shè)計促進(jìn)了對需求的理解,有利于開發(fā)得更清晰、更簡潔維護(hù)的軟件系統(tǒng)。該方法為大多數(shù)應(yīng)用領(lǐng)域的軟件開發(fā)供應(yīng)了一種實(shí)際的、高效的保證,努力尋求一種問題求解的實(shí)際方法。4.4UML(UnifiedModelingLanguage)語言軟件工程領(lǐng)域在1995年~1997年取得了前所未有的進(jìn)展,其成果超過軟件工程領(lǐng)域過去15年的成就總和,其中最重要的成果之一就是統(tǒng)一建模語言(UML)的出現(xiàn)。UML將是面對對象技術(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言。UML不僅統(tǒng)一了Booch方法、OMT方法、OOSE方法的表示方法,而且對其作了進(jìn)一步的發(fā)展,最終統(tǒng)一為大眾接受的標(biāo)準(zhǔn)建模語言。UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。它融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面對對象的分析和設(shè)計,還支持從需求分析起先的軟件開發(fā)全過程。二、面對對象系統(tǒng)的分析在進(jìn)行了需求分析和業(yè)務(wù)流程分析并得到客戶的認(rèn)可之后,對項目進(jìn)行系統(tǒng)分析是極其重要的。系統(tǒng)分析是能體現(xiàn)整個系統(tǒng)的靈魂的文檔,將客戶的需求從具體到抽象的一個過程,并制定編碼人員可實(shí)施的規(guī)范和標(biāo)準(zhǔn)。在系統(tǒng)分析的過程中須要對需求分析進(jìn)行進(jìn)一步的深化和分析,通??蛻艏皹I(yè)務(wù)人員在需求分析和流程分析的過程中比較留意功能上的表現(xiàn)和定義,即使是做出正規(guī)的用戶界面原型,對系統(tǒng)的需求也是不完整的,處于非技術(shù)人員的緣由,很難苛求能提出完整清晰專業(yè)的性能需求,但不意味著這需求不存在,而且這隱藏的需求對編碼人員來說是極其重要的。假如眼光僅僅放在滿足客戶眼下的需求,當(dāng)問題不斷出現(xiàn)時再不斷修補(bǔ),頭痛醫(yī)頭,腳痛醫(yī)腳,甚至系統(tǒng)構(gòu)架須要不斷調(diào)整或重新設(shè)計,那么,很快就會陷入代碼泥潭或墜入系統(tǒng)重復(fù)開發(fā)的無底深淵,當(dāng)時項目完成時的成就感將被無止境的沮喪所代替。因此,客戶的需求能否在系統(tǒng)中得到真正的體現(xiàn)和實(shí)施,系統(tǒng)分析是至關(guān)重要的。1.對象的特性基本上,軟件對象本身具有三項特性,分別是繼承、封裝、動態(tài)連結(jié)(即多態(tài))?!袄^承”特在面對對象設(shè)計上,是特殊重要的一項觀念,同樣的數(shù)據(jù)和程序代碼,不必在每個須要的地方在重寫一遍。只要?dú)w納整理成一個class,須要時再重制出所須要的instance即可。簡潔的說,繼承性是class之間的一種再分類關(guān)系,它會讓幾個class之間會具有相同的數(shù)據(jù)結(jié)構(gòu)或操作程序,削減重復(fù)的程序代碼,達(dá)到對象重復(fù)運(yùn)用的目的。封裝性的意思是整個對象的數(shù)據(jù)和處理程序『包』在一起,透過一個標(biāo)準(zhǔn)、簡潔的接口才能存取對象內(nèi)的數(shù)據(jù)及運(yùn)用對象供應(yīng)的功能,這里所謂的接口就是指對象的屬性〈properity〉和方法〈method〉由于軟件的開發(fā)功能越強(qiáng),相對的也使得系統(tǒng)變得更困難,為了降低整個系統(tǒng)的困難度,所以就把整體分成許多塊對象,將每一塊對象的困難度降低到一般軟件開發(fā)者可以負(fù)荷的程度,而且讓開發(fā)者能針對每一塊對象去作分析、設(shè)計的工作,不會影響到其它塊對象,這就是對象必需有的獨(dú)立特性,而對象封裝的目的就是為了達(dá)到對象的獨(dú)立。但是,對象封裝的前提是;對象里面封裝的程序代碼必需是正確的,而且要符合當(dāng)時設(shè)計的需求。所謂動態(tài)連結(jié)是指在程序執(zhí)行時,系統(tǒng)才將message和method連結(jié)在一起,而不是在編譯的時候。message是送到對象的接口,用來啟動對象的工具,而method則是在message送達(dá)對象接口后,被選取的操作程序。透過動態(tài)連結(jié)的功能,我們不用事先考慮運(yùn)用對象的型別,只要把message送出即可。等到程序執(zhí)行中,看哪個對象應(yīng)當(dāng)協(xié)作這個message,再把message和這個對象的method連結(jié),然后執(zhí)行這個method。一個對象是由數(shù)據(jù)〈Data〉和方法〈Method〉兩部分所組成。在傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計中,數(shù)據(jù)結(jié)構(gòu)和函數(shù)是分別的,這樣我們維護(hù)程序時會產(chǎn)生很大的困擾;而在對象導(dǎo)向中將這兩個東西緊密的包圍在一起,使得對象內(nèi)的數(shù)據(jù)只有透過適當(dāng)?shù)慕涌凇捶椒ā挡拍苡枰孕薷?,這便是信息隱藏〈InformationHiding〉。2.面對對象的分析面對對象分析的主要任務(wù)是根基用戶的需求,建立一個精確的、完整的、一樣的系統(tǒng)模型。運(yùn)用面對對象分析方法能將客戶變更的需求映射到模型中,大大提高系統(tǒng)的擴(kuò)展性和開發(fā)效率。面對對象的分析方法要求在設(shè)計中要映射現(xiàn)實(shí)世界中指定問題域中的對象和實(shí)體,例如:房子,樓盤,開發(fā)商,業(yè)主等。這就須要設(shè)計要盡可能地接近現(xiàn)實(shí)世界,即以最自然的方式表述實(shí)體。所以面對對象技術(shù)的優(yōu)點(diǎn)即為能夠構(gòu)建和現(xiàn)實(shí)世界相對應(yīng)的問題模型,并保持他們的結(jié)構(gòu)、關(guān)系和行為為模式。面對對象的概念是在近10年才進(jìn)入中國的,而它的思想至今也沒有真正意義上得到普及。簡潔的說,面對對象就是面對世界,世界上的任何事物都是對象,因此面對對象是很自然的思想,是符合我們的思維習(xí)慣的。面對對象的語言包括了Smalltalk、C++、Java,C#??需求是不穩(wěn)定的,那么需求之中是不是沒有穩(wěn)定的東西呢?有的,就是對象。世界都是由對象組成的,而對象都是許久的,例如動物、植物已經(jīng)有相當(dāng)長的時間。雖然對象也在變更,動物,植物也在不斷的進(jìn)化。但對象在一個相當(dāng)長的時期內(nèi)都存在,動植物的存在時間確定比任何一家企業(yè)許久。面對對象的開發(fā)方法的精髓就是從企業(yè)的不穩(wěn)定需求中分析出企業(yè)的穩(wěn)定對象,以企業(yè)對象為基礎(chǔ)來組織需求、構(gòu)架系統(tǒng)。這樣得出的系統(tǒng)就會比傳統(tǒng)的系統(tǒng)要穩(wěn)定得多,因為企業(yè)的模式一旦變更,只須要將穩(wěn)定的企業(yè)對象重新組織就行了。這種開發(fā)的方法就被稱為面對對象的分析和設(shè)計,而分析出的企業(yè)對象就被稱為BusinessObject。3.面對對象系統(tǒng)的分析方法面對對象分析的關(guān)鍵,是識別出問題域內(nèi)的對象,并分析它們之間的關(guān)系,最終建立起問題域簡潔、精確、可理解的正確模型。面對對象分析建模須要建立的是軟件系統(tǒng)的用戶領(lǐng)域模型,須要著重了解的是該軟件系統(tǒng)的需求概念和術(shù)語,其分析內(nèi)容是現(xiàn)實(shí)世界中的實(shí)體對象和各對象之間的關(guān)系,并不涉及編程概念。3.1用況圖(需求模型)UML建模語言中,用況圖被用來描述用戶和系統(tǒng)之間的交互關(guān)系,說明系統(tǒng)所具有的業(yè)務(wù)實(shí)力和業(yè)務(wù)流程,能夠便利開發(fā)者理解用戶領(lǐng)域的專有術(shù)術(shù)語和業(yè)務(wù)內(nèi)容。參入者(Actor):系統(tǒng)之外和系統(tǒng)有關(guān)的類,涉及和系統(tǒng)交互的人,機(jī)器或其他系統(tǒng),用于反映系統(tǒng)跟四周環(huán)境的關(guān)系。關(guān)系分為通信關(guān)系、運(yùn)用關(guān)系和擴(kuò)展關(guān)系。通信關(guān)系(CommunicatesRelationship):描述參入者和用例之間的關(guān)系,其中單個參入者可以和多個用例聯(lián)系,反之,一個用例也可和多個參入者聯(lián)系。清晰的描述了“誰運(yùn)用了哪個用例”。用況圖況例之間的關(guān)系。擴(kuò)展關(guān)系(ExtendsRelationship):當(dāng)一個基本用例由須要附加一個用例來擴(kuò)展或延長其原有功能時,附加的擴(kuò)展用例和原有用例之間的關(guān)系就體現(xiàn)為擴(kuò)展關(guān)系。擴(kuò)展用例可以繼承原有基本用例的一些功能,同時它又可以具有一些新的特有功能。運(yùn)用關(guān)系(UsesRelationship):當(dāng)在一個基本用例中運(yùn)用到了另一個用例時,則這兩個用例之間就構(gòu)成了運(yùn)用關(guān)系。一般說來,假如多個用例中有一些共同的功能,則可以把這些共同的功能提取出來單獨(dú)構(gòu)成為一個實(shí)例,而其他用例則可以通過“運(yùn)用關(guān)系”共同運(yùn)用這些用例。3.2類圖(建立基本模型)類圖的獲得是一個不斷細(xì)化的過程,一般我們先從分析類起先。分析類是概念層面上的類,是進(jìn)行類設(shè)計的基礎(chǔ),獲得分析類是系統(tǒng)分析中一項很重要的工作。獲得分析類的是一個須要大量技巧的工作,我們主要依據(jù)用例描述來確定分析類。屬性和操作(1)屬性:屬性用來描述類的特征,表示須要處理的數(shù)據(jù)。(2)操作:對數(shù)據(jù)的具體處理方法的描述則放在操作部分,操作說明白該類能做些什么工作,完成什么任務(wù)。操作通常稱為函數(shù),它是類的一個組成部分,只能作用于該類的對象上。確定關(guān)系3.3建立幫助模型依次圖:是一種交互圖,描述對象之間的動態(tài)合作關(guān)系以及合作過程,常用來描述一個用例的行為。通信圖:通信圖是一種強(qiáng)調(diào)發(fā)送和接受消息的對象結(jié)構(gòu)組織的圖,用以展示圍繞對象以及他們之間的連接器而組織的交互。活動圖:描述操作實(shí)現(xiàn)中完成的工作以及用例實(shí)例或?qū)ο笾械幕顒樱顒訄D是狀態(tài)圖的一個變種。狀態(tài)圖:描述某個對象,子系統(tǒng),系統(tǒng)的生命周期。包圖:描述對模型元素分組以及分組之間的依靠的圖,其中要用到的包是對模型元素進(jìn)行分組的機(jī)制。四、面對對象系統(tǒng)的設(shè)計設(shè)計建模須要把分析階段的結(jié)果擴(kuò)展成技術(shù)解決方案。須要建立的是軟件系統(tǒng)的技術(shù)構(gòu)造模型。從OOA到OOD不是轉(zhuǎn)換;而是調(diào)整和增補(bǔ)。增補(bǔ)人機(jī)交互部分、構(gòu)建及部屬部分、限制驅(qū)動部分、數(shù)據(jù)管理部分。4.1問題域部分的設(shè)計問題域部分的設(shè)計要對OOA結(jié)果按實(shí)現(xiàn)條件進(jìn)行補(bǔ)充和調(diào)整。即要接著運(yùn)用OOA的方法,包括概念、表示法及一部分策略。不但要依據(jù)實(shí)現(xiàn)條件進(jìn)行OOD設(shè)計,而且由于需求變更或新發(fā)覺了錯誤,也要對OOA的結(jié)果進(jìn)行修改。4.2人機(jī)交互部分的設(shè)計把人機(jī)交互部分作為系統(tǒng)中一個獨(dú)立的組成部分,進(jìn)行分析和設(shè)計,有利于隔離界面支持系統(tǒng)的變更對問題域部分的影響。4.3限制驅(qū)動部分的設(shè)計為了描述問題域固有的并發(fā)行為,表達(dá)實(shí)現(xiàn)所需的設(shè)計決策,須要在OOD部分對限制驅(qū)動部分進(jìn)行建模。限制流驅(qū)動部分,用于定義和表示并發(fā)系統(tǒng)中的每個限制流。用主動對象表示每個限制流(進(jìn)程、線程)全部的主動類構(gòu)成限制流驅(qū)動部分。4.4數(shù)據(jù)管理部分的設(shè)計數(shù)據(jù)管理部分是負(fù)責(zé)在特定的數(shù)據(jù)管理系統(tǒng)中存儲和檢索對象的組成部分。其目的是,存儲問題域的許久對象、封裝這些對象的查找和存儲機(jī)制,以及為了隔離數(shù)據(jù)管理方案的影響。在傳統(tǒng)的結(jié)構(gòu)化設(shè)計方法中,很簡潔將實(shí)體關(guān)系圖映射到關(guān)系數(shù)據(jù)庫中。而在面對對象設(shè)計中,我們可以將UML類圖看作是數(shù)據(jù)庫的概念模型,但在UML類圖中除了類之間的關(guān)聯(lián)關(guān)系外,還有繼承關(guān)系。4.5構(gòu)件及部署部分的設(shè)計當(dāng)前的一種主流的做法是在面對對象的系統(tǒng)設(shè)計階段的后期,考慮如何對系統(tǒng)的構(gòu)件進(jìn)行描述、構(gòu)造和組織,以及構(gòu)件如何在節(jié)點(diǎn)上進(jìn)行分布。五、面對對象分析和設(shè)計的發(fā)展趨勢5.1面對對象分析和設(shè)計的方法將被越來越多的人接受迄今為止,“面對對象”本身還沒有一個統(tǒng)一的讓全部人都能接受的概念。然而,面對對象中的一些最基本的概念已經(jīng)和正在被人們所接受,比如類、對象、繼承、封裝等;一些最有效的表示方法也正在被人們所共同接受,比如圖形表示、基本輸入要求和輸出結(jié)果等。并且這種趨勢在越是較晚出現(xiàn)的
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度豪華辦公室租賃及商務(wù)接待服務(wù)合同
- 電子產(chǎn)品運(yùn)輸保險合同模板
- 工程管理與規(guī)范操作指導(dǎo)手冊
- 投資融資協(xié)議書
- 工副業(yè)承包經(jīng)營合同
- 農(nóng)產(chǎn)品國際貿(mào)易與合作指南
- 個人租房合同協(xié)議書
- 原始股權(quán)轉(zhuǎn)讓協(xié)議書
- 承包注塑機(jī)維修合同
- 銷售服務(wù)費(fèi)合同
- 勞動合同薪酬與績效約定書
- 消除醫(yī)療歧視管理制度
- JT-T-1180.2-2018交通運(yùn)輸企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化建設(shè)基本規(guī)范第2部分:道路旅客運(yùn)輸企業(yè)
- 2024交管12123駕照學(xué)法減分必考題庫附答案
- 腦脊液常規(guī)檢查
- 2024年蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 柴油機(jī)油-標(biāo)準(zhǔn)
- 監(jiān)獄安全課件
- 《初三開學(xué)第一課 中考動員會 中考沖刺班會》課件
- 慢性萎縮性胃炎的護(hù)理查房
- 住院醫(yī)師規(guī)范化培訓(xùn)臨床實(shí)踐能力結(jié)業(yè)專科技能考核(全科醫(yī)學(xué)科)婦科檢查及分泌物留取
評論
0/150
提交評論