官术网_书友最值得收藏!

2.2.4 面向?qū)ο蠓椒ǖ幕静襟E

使用面向?qū)ο蠓椒ㄟM行系統(tǒng)開發(fā)時,應(yīng)按照以下幾個步驟進行。

① 分析確定在問題空間和程序空間出現(xiàn)的全部對象及其屬性。

② 確定應(yīng)施加于每個對象的操作,即對象固有的處理能力。

③ 分析對象間的聯(lián)系,確定對象間傳遞的消息。

④ 設(shè)計對象的消息模式,消息模式和處理能力共同構(gòu)成對象的外部特性。

⑤ 分析各個對象的外部特性,將具有相同外部特性的對象歸為一類,從而確定所需要的類。

⑥ 確定類間的繼承關(guān)系,將各對象的公共性質(zhì)放在較上層的類中描述,通過繼承來共享對公共性質(zhì)的描述。

⑦ 設(shè)計每個類關(guān)于對象外部特性的描述。

⑧ 設(shè)計每個類的內(nèi)部實現(xiàn)方式(數(shù)據(jù)結(jié)構(gòu)和方法)。

⑨ 創(chuàng)建所需的對象(類的實例),實現(xiàn)對象間應(yīng)有的聯(lián)系(發(fā)消息)。

一般來講,采用面向?qū)ο蠓椒ㄩ_發(fā)系統(tǒng)主要分為4個階段,即面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計、面向?qū)ο缶幊毯兔嫦驅(qū)ο鬁y試。

1.面向?qū)ο蠓治?/p>

面向?qū)ο蠓治鍪侵冈谝粋€系統(tǒng)的開發(fā)過程中進行了系統(tǒng)業(yè)務(wù)調(diào)查以后,按照面向?qū)ο蟮乃枷雭矸治鰡栴}。面向?qū)ο蠓治雠c結(jié)構(gòu)化分析有較大的區(qū)別。面向?qū)ο蠓治鏊鶑娬{(diào)的是在系統(tǒng)調(diào)查資料的基礎(chǔ)上,針對面向?qū)ο蠓椒ㄋ枰乃夭倪M行的歸類分析和整理,而不是對管理業(yè)務(wù)現(xiàn)狀和方法的分析。

(1)面向?qū)ο蠓治錾婕暗南嚓P(guān)概念

用面向?qū)ο蠓治鰧λ{(diào)查的結(jié)果進行分析處理時,一般涉及以下幾個概念。

① 抽象,是指從眾多的事務(wù)中抽取出共同的、本質(zhì)性的特征作為一個整體,形成共同特質(zhì)的集合形式。抽象是科學地研究和處理復雜問題的重要方法。抽象機制被用在數(shù)據(jù)分析方面,被稱為數(shù)據(jù)抽象。數(shù)據(jù)抽象是面向?qū)ο蠓治龅暮诵模瑪?shù)據(jù)抽象把一組數(shù)據(jù)對象以及作用其上的操作組成一個程序?qū)嶓w,使得外部只知道它是如何做和如何表示的。在應(yīng)用數(shù)據(jù)抽象原理時,系統(tǒng)分析人員必須確定對象的屬性以及處理這些屬性的方法,并借助方法獲得屬性。在面向?qū)ο蠓治鲋校瑢傩院头椒ū徽J為是不可分割的整體。抽象機制有時也被用在對過程的分解方面,被稱為過程抽象。恰當?shù)倪^程抽象可以對復雜過程的分解和確定以及描述對象發(fā)揮積極的作用。

② 封裝,是將通過抽象所得到的數(shù)據(jù)和操作進行結(jié)合,使其形成一個有機的整體,對內(nèi)執(zhí)行操作,對外隱藏細節(jié)和數(shù)據(jù)。

③ 繼承,是指能直接獲得已有的性質(zhì)和特征而不必重復定義它們。面向?qū)ο蠓治隹梢砸淮涡缘刂付▽ο蟮墓矊傩院头椒ǎ缓笤偬鼗蛿U展這些屬性及方法為特殊情況,這樣可大大地減少在系統(tǒng)實現(xiàn)過程中的重復勞動。在共有屬性的基礎(chǔ)之上,繼承者也可以定義自己獨有的特性。

④ 相關(guān),是指把某一時刻或相同環(huán)境下發(fā)生的事物聯(lián)系在一起。

⑤ 消息通信,是指在對象之間互相傳遞消息的通信方式。

⑥ 組織方法,是指一種將系統(tǒng)中的各種對象、屬性、方法、關(guān)系等按照某種邏輯或規(guī)則進行組織和管理的方法。它涉及如何有效地將復雜的系統(tǒng)分解為更小、更易于管理的部分,以及如何將這些部分組合成一個完整、協(xié)調(diào)的整體。組織方法的目標是確保系統(tǒng)的結(jié)構(gòu)清晰、易于理解、易于維護和擴展。

⑦ 比例,是一種運用整體與部分原則,輔助處理復雜問題的方法。

⑧ 行為范疇,是針對分析對象而言的,主要包括基于直接原因的行為、時變性行為、功能查詢性行為。

(2)面向?qū)ο蠓治龅幕静襟E

在進行面向?qū)ο蠓治鰰r,可遵循如下5個基本步驟。

第1步,確定對象和類。這里所說的對象是對數(shù)據(jù)及其處理方式的抽象,它反映了系統(tǒng)保存和處理現(xiàn)實世界中某些事物的信息的能力。類是多個對象的共同屬性和方法集合的描述,包括如何在一個類中建立一個新對象的描述。

第2步,確定結(jié)構(gòu)。結(jié)構(gòu)是指問題域的復雜性和連接關(guān)系。類成員結(jié)構(gòu)反映了泛化—特化關(guān)系,整體—部分結(jié)構(gòu)反映了整體和局部之間的關(guān)系。

第3步,確定主題。主題是指事物的總體概貌和總體分析模型。

第4步,確定屬性。屬性就是數(shù)據(jù)元素,用來描述對象或分類結(jié)構(gòu)的實例,可在圖(圖指在面向?qū)ο蠓治龅牟襟E中,用于表示和分析系統(tǒng)中的對象、類、結(jié)構(gòu)和方法的多種圖表)中給出,并在對象的存儲中指定。

第5步,確定方法。方法是在收到消息后必須采取的一些處理方法。方法要在圖中定義,并在對象的存儲中指定。對于每個對象和結(jié)構(gòu)來說,那些用來增加、修改、刪除和選擇的方法本身都是隱含的(即雖然它們要在對象的存儲中定義,但并不在圖上給出),而有些方法則是顯式的。

2.面向?qū)ο笤O(shè)計

面向?qū)ο笤O(shè)計是面向?qū)ο蠓椒ㄖ械囊粋€中間過渡環(huán)節(jié)。其主要作用是對面向?qū)ο蠓治龅慕Y(jié)果做進一步的規(guī)范化整理,以便能夠被面向?qū)ο缶幊讨苯咏邮堋T诿嫦驅(qū)ο笤O(shè)計的過程中,主要開展如下兩項工作。

(1)整理和求精

對于面向?qū)ο蠓治鏊橄蟪鰜淼膶ο蠛皖愐约皡R集的分析文檔,面向?qū)ο笤O(shè)計需要有一個根據(jù)設(shè)計要求整理和求精的過程,使之更能符合面向?qū)ο缶幊痰男枰_@個整理和求精過程主要包括兩個方面:一是要根據(jù)面向?qū)ο蟮母拍钅P驼矸治鏊_定的對象結(jié)構(gòu)、屬性、方法等內(nèi)容,改正錯誤的內(nèi)容,刪去不必要和重復的內(nèi)容等;二是進行分類整理,以便下一步開展數(shù)據(jù)庫設(shè)計和程序處理模塊設(shè)計。整理的方法主要是進行歸類,對類和對象、屬性、方法和結(jié)構(gòu)、主題進行歸類。

(2)數(shù)據(jù)模型和數(shù)據(jù)庫設(shè)計

數(shù)據(jù)模型的設(shè)計需要確定類和對象屬性的內(nèi)容、消息連接的方式、系統(tǒng)訪問、構(gòu)建數(shù)據(jù)模型的方法等。最后每個對象實例的數(shù)據(jù)都必須落實到面向?qū)ο蟮膸旖Y(jié)構(gòu)模型中。

3.面向?qū)ο缶幊?/p>

面向?qū)ο缶幊淌且环N計算機編程架構(gòu)。面向?qū)ο缶幊痰幕驹瓌t是程序由單個能夠起到子程序作用的單元或?qū)ο蠼M合而成。面向?qū)ο缶幊痰幕舅枷胧前呀M件的實現(xiàn)和接口分開,使組件具有多態(tài)性。面向?qū)ο缶幊叹哂兄赜眯浴㈧`活性和擴展性。為了實現(xiàn)整體運算,每個對象都能夠接收信息、處理數(shù)據(jù)和向其他對象發(fā)送信息。面向?qū)ο缶幊痰年P(guān)鍵是組件,它是數(shù)據(jù)和功能一起在運行著的計算機程序中形成的單元,在面向?qū)ο缶幊讨校M件是構(gòu)成程序的基礎(chǔ)模塊,是結(jié)構(gòu)化編程的基石。

4.面向?qū)ο鬁y試

面向?qū)ο蠓治鰷y試和面向?qū)ο笤O(shè)計測試是面向?qū)ο鬁y試的兩個重要組成部分,它們分別針對軟件開發(fā)的不同階段進行驗證和確認。

① 面向?qū)ο蠓治鰷y試。這個階段的測試主要是對面向?qū)ο蠓治鲭A段產(chǎn)生的結(jié)果進行驗證。它確保分析模型的正確性、完整性和一致性,以及分析結(jié)果能夠滿足用戶的需求和系統(tǒng)的功能要求。面向?qū)ο蠓治鰷y試通常涉及對需求文檔、用例、類和對象模型的審查和驗證。

② 面向?qū)ο笤O(shè)計測試。這個階段的測試是對面向?qū)ο笤O(shè)計階段產(chǎn)生的結(jié)果進行驗證。它確保設(shè)計模型能夠正確地實現(xiàn)分析模型中定義的需求,并且是可行的、可維護的。面向?qū)ο笤O(shè)計測試通常涉及對設(shè)計文檔、類圖、序列圖的審查和驗證。

面向?qū)ο蠓治鰷y試和面向?qū)ο笤O(shè)計測試都是軟件開發(fā)前期的關(guān)鍵性測試,它們在編程和集成之前進行,有助于盡早發(fā)現(xiàn)問題,減少后期的返工成本。這兩個測試為后續(xù)的面向?qū)ο缶幊虦y試提供了基礎(chǔ),確保編程階段的實現(xiàn)是基于正確和穩(wěn)定的分析和設(shè)計結(jié)果。

總結(jié)來說,面向?qū)ο蠓治鰷y試和面向?qū)ο笤O(shè)計測試是面向?qū)ο鬁y試在分析和設(shè)計階段的體現(xiàn),它們是保證軟件質(zhì)量的重要步驟,與面向?qū)ο鬁y試的關(guān)系是部分與整體的關(guān)系。

主站蜘蛛池模板: 磴口县| 绍兴县| 黔西| 右玉县| 昭平县| 广元市| 霍城县| 黄龙县| 黑水县| 图木舒克市| 县级市| 安庆市| 金坛市| 舞钢市| 湘潭县| 宝山区| 新昌县| 睢宁县| 珠海市| 尉犁县| 石柱| 兴安县| 林州市| 巴马| 嘉善县| 锦屏县| 肃宁县| 长顺县| 阳信县| 交城县| 曲阳县| 芒康县| 信丰县| 驻马店市| 澄江县| 阿瓦提县| 张家界市| 平山县| 云安县| 西藏| 江西省|