你當(dāng)前的位置:首頁(yè)>>液壓與氣動(dòng)>>技術(shù)論文資料  
                       面向?qū)ο蟮囊簤合到y(tǒng)分析研究--1

    摘要:本文介紹了面向?qū)ο蟮姆治龇椒,并給出了一種面向?qū)ο蟮姆治瞿P偷谋磉_(dá)方法。以液壓系統(tǒng)設(shè)計(jì)為工程應(yīng)用背景,探討了面向?qū)ο蟮姆治龇椒ㄔ诠こ滔到y(tǒng)分析中的應(yīng)用。按照類對(duì)象層、結(jié)構(gòu)層、主題層、屬性層和服務(wù)層五個(gè)層次分析了液壓系統(tǒng)的類層次構(gòu)成及其連接與通信。

關(guān)鍵詞對(duì)象,面向?qū)ο蟮姆治,液壓系統(tǒng)。

一、面向?qū)ο蟮姆治龊?jiǎn)介

    在大型軟件開發(fā)項(xiàng)目中,無論是實(shí)時(shí)控制系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、人工智能系統(tǒng),還是具體到自動(dòng)代碼生成,或擴(kuò)展到一個(gè)工廠的計(jì)算機(jī)集成制造系統(tǒng),都存在著一個(gè)共同的需求,就是在系統(tǒng)分析階段建立系統(tǒng)的信息模型。在眾多的系統(tǒng)分析方法中,面向?qū)ο蟮姆治觯?/FONT>OOA)方法更接近于人類的思維方式,正在被越來越多的系統(tǒng)分析人員使用。

    持面向?qū)ο笥^點(diǎn)的人認(rèn)為,計(jì)算機(jī)程序的結(jié)構(gòu)應(yīng)該與所需解決的問題一致,而不是與某種分析方法保持一致。經(jīng)驗(yàn)表明,對(duì)任何軟件系統(tǒng)而言,其中最穩(wěn)定的成份是相應(yīng)問題論域(PROBLEM DOMAIN)的成份。而系統(tǒng)出問題通常也是由于問題論域的某些成份。因此,對(duì)問題論域進(jìn)行充分分析及準(zhǔn)確理解是保證系統(tǒng)穩(wěn)定的重要基礎(chǔ)。

那么對(duì)象到底是什么呢?通俗地講,對(duì)象指的是客觀世界中的實(shí)體, 它能“知道一些事情”(即存儲(chǔ)數(shù)據(jù)),“做一些工作”(即封裝服務(wù)),并“與其它對(duì)象協(xié)同“(通過交換消息),從而完成(模塊化)系統(tǒng)的所有功能。為什么對(duì)對(duì)象感興趣呢?答案是簡(jiǎn)單的棗即可復(fù)用性。盡管從計(jì)算機(jī)產(chǎn)生之初,我們就已經(jīng)在復(fù)用代碼,但面向?qū)ο蠹夹g(shù)允許復(fù)用的不僅僅是代碼,還有其它許多的東西。通過面向?qū)ο蠹夹g(shù),我們可以復(fù)用需求、分析、設(shè)計(jì)、測(cè)試計(jì)劃、用戶界面以及體系結(jié)構(gòu)等。

面向?qū)ο蠓治龇椒ㄊ墙⒃趯?duì)象及其屬性、類屬及其成員、整體及其部分這些基本概念的基礎(chǔ)上。大英百科全書指出:

“人類在認(rèn)識(shí)和理解現(xiàn)實(shí)世界的過程中普遍運(yùn)用著三個(gè)構(gòu)造法則:

  1. 區(qū)分對(duì)象及其屬性。例如,區(qū)分一棵樹和樹的大小或空間位置關(guān)系。
  2. 區(qū)分整體對(duì)象及其組成部分。例如,區(qū)分一棵樹和樹枝。
  3. 不同對(duì)象類的形成及區(qū)分。例如,所有樹的類和所有石頭的類的形成和區(qū)分!

 

OOA就是建立在以上三個(gè)常用法則的基礎(chǔ)上。OOA模型描述了表示某個(gè)特定論域中的對(duì)象,以及各種各樣的結(jié)構(gòu)關(guān)系和通信關(guān)系。OOA模型有兩個(gè)用途。首先,每個(gè)軟件都建立在特定的現(xiàn)實(shí)世界中,OOA模型就是用來形式化該現(xiàn)實(shí)世界的“視圖”。它建立起各種對(duì)象,分別表示軟件系統(tǒng)主要的組織結(jié)構(gòu)以及現(xiàn)實(shí)世界強(qiáng)加給軟件系統(tǒng)的各種規(guī)則和約束條件。其次,給定一組對(duì)象,OOA模型規(guī)定了它們?nèi)绾螀f(xié)同才能完成軟件系統(tǒng)所指定的工作。這種協(xié)同在模型中是以表明對(duì)象之間通信方式的一組消息連接來表示的。

本文采用Ed Yourdon建議的分析方法,OOA模型被劃分為五個(gè)層次。這種層次結(jié)構(gòu)允許從不同的角度來看待OOA模型,而且,這種結(jié)構(gòu)也便于有效地處理比較大的OOA模型。OOA模型的五個(gè)層次分別如下:

  • 對(duì)象-類層
  • 屬性層
  • 服務(wù)層
  • 結(jié)構(gòu)層
  • 主題層

其表示法如圖1所示。
                   

1 OOA模型的結(jié)構(gòu)

第一層,對(duì)象-類層表示待開發(fā)系統(tǒng)的基本構(gòu)造塊。對(duì)象都是現(xiàn)實(shí)世界中應(yīng)用論域概念的抽象。這一層是整個(gè)模型的基礎(chǔ)。圖符的外層邊界表示實(shí)例邊界,實(shí)際上它表明對(duì)象是非空的。而圖符的內(nèi)層邊界則表示類邊界。有時(shí)可以定義一些不當(dāng)作程序塊來實(shí)現(xiàn)的對(duì)象,即只有類邊界而沒有實(shí)例邊界。在某些情形下,定義這種對(duì)象是很有用的。我們將它們稱為模板類或抽象類。模板類可以為結(jié)成較高級(jí)的聚合體提供一條方便的途徑。

第二層,屬性層,對(duì)象的屬性和實(shí)例連接共同組成了OOA模型的屬性層。我們把對(duì)象所存儲(chǔ)的數(shù)據(jù)稱為對(duì)象的屬性。類的實(shí)例之間互相約束,它們必須遵從應(yīng)用論域的某些限制條件或事務(wù)規(guī)則。例如,當(dāng)定金取消后,相應(yīng)的訂戶也應(yīng)該被取消,這可能是一項(xiàng)事務(wù)規(guī)則。我們稱這些約束為實(shí)例連接。

第三層,服務(wù)層,對(duì)象的服務(wù)和消息通信組成了OOA模型的服務(wù)層。我們把對(duì)象所做的工作稱為服務(wù)或方法。系統(tǒng)的不同對(duì)象都分別執(zhí)行一定的工作或功能,它們之間通過消息通信,即所謂的協(xié)同,如圖中的箭頭所示。對(duì)象的服務(wù)及對(duì)象實(shí)例之間的消息通信共同組成了OOA模型的服務(wù)層。

第四層,結(jié)構(gòu)層,該層負(fù)責(zé)捕捉特定應(yīng)用論域中的結(jié)構(gòu)關(guān)系。泛化---特化結(jié)構(gòu)獲得類及成員組織,有助于刻畫問題空間的類-成員層次,它通過搜集公共特性并把這種特性擴(kuò)充到特例中來顯示現(xiàn)實(shí)世界事件的通用性及專用性。整體—部分結(jié)構(gòu)表達(dá)了人類的一種基本組織方式,即自然的整體和部分的結(jié)構(gòu)關(guān)系,從而把一些部分的聚合構(gòu)造成整體。例如,一輛汽車由發(fā)動(dòng)機(jī)、傳動(dòng)裝置和剎車裝置組成。

第五層,主題層,相當(dāng)于全局系統(tǒng)的子系統(tǒng)或子模型。由于OOA模型的結(jié)構(gòu)龐大而復(fù)雜,因此眾多的對(duì)象有時(shí)很難處理。于是,可以把對(duì)象歸到各個(gè)主題層中,可以把有關(guān)的對(duì)象用一個(gè)邊框框起來加以實(shí)現(xiàn)。例如,在一個(gè)控制系統(tǒng)中,眾多的對(duì)象可分為“管理”和“控制”兩個(gè)主題,則可以用圖2表示。
              
                                 圖2: 主題層示例

    以上簡(jiǎn)單介紹了面向?qū)ο蟮姆治黾霸诒疚闹械谋硎痉椒,下面將研究面向(qū)ο蟮姆治鲈谝簤合到y(tǒng)設(shè)計(jì)中的應(yīng)用。

                                     第  1  [2]  [3]  頁(yè)

版權(quán)所有  民眾工作室.制作