


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、面向?qū)ο蟮能浖_(kāi)發(fā)方法綜述SA03023030 史鴻聲面向?qū)ο笫墙畮啄陙?lái)迅速形成和發(fā)展起來(lái)的一種新的軟件開(kāi)發(fā)方法和理 論。簡(jiǎn)單的說(shuō),它是一種按照人們對(duì)現(xiàn)實(shí)世界習(xí)慣的認(rèn)識(shí)規(guī)律和思維方式來(lái)研究 和模擬客觀(guān)世界的方法學(xué)。它將現(xiàn)實(shí)世界中的任何事物均視為“對(duì)象” ,把整個(gè) 世界看成是由許多不同種類(lèi)的對(duì)象構(gòu)成, 每一個(gè)對(duì)象都有自己的內(nèi)部狀態(tài)和運(yùn)動(dòng) 規(guī)律,不同對(duì)象之間的相互聯(lián)系和相互作用就構(gòu)成了完整的客觀(guān)世界。 面向?qū)ο?方法學(xué)所引入的對(duì)象,類(lèi),方法,消息,繼承,封裝等一系列重要概念和良好機(jī) 制,為我們表達(dá)和反映客觀(guān)世界,分析,設(shè)計(jì)和實(shí)現(xiàn)復(fù)雜系統(tǒng),提供了先進(jìn)的技 術(shù)方法,并奠定了堅(jiān)實(shí)的理論基礎(chǔ)。 它可使軟
2、件設(shè)計(jì)人員擺脫結(jié)構(gòu)程序設(shè)計(jì)的框 框,從應(yīng)用的角度來(lái)思考問(wèn)題,更好的理解用戶(hù)的需求。實(shí)踐證明,面向?qū)ο蠓?法和技術(shù)可以開(kāi)發(fā)出結(jié)構(gòu)清晰,易于維護(hù)的軟件系統(tǒng)。傳統(tǒng)的軟件開(kāi)發(fā)方法是把軟件開(kāi)發(fā)的過(guò)程劃分為分析, 設(shè)計(jì)編碼,測(cè)試和維 護(hù)等幾個(gè)階段,這種階段劃分多年來(lái)一直被廣泛應(yīng)用, 但它存在有以下一些問(wèn)題:1)偏離實(shí)際,過(guò)于著重紙面的分析和設(shè)計(jì)2)很難在規(guī)范的環(huán)境下學(xué)習(xí)開(kāi)發(fā)3)開(kāi)發(fā)過(guò)程的錯(cuò)誤很難發(fā)現(xiàn)或在最后才能查驗(yàn)4)不能支持“原型”的概念5)過(guò)于強(qiáng)調(diào)用戶(hù)需求的完整和準(zhǔn)確表達(dá)6)不能支持軟件復(fù)用的概念7)開(kāi)發(fā)周期長(zhǎng),在完成編碼之前看不到任何可演示和運(yùn)行的東西面向?qū)ο蠓椒ㄊ挂环N以對(duì)象為中心, 與傳統(tǒng)軟件工程
3、完全不同的方法, 面向 對(duì)象的程序設(shè)計(jì)對(duì)問(wèn)題描述的抽象程度更高, 從而更適合人的思維模式, 它以數(shù) 據(jù)為中心組織系統(tǒng), 把數(shù)據(jù)和操作有機(jī)地結(jié)合起來(lái)。 面向?qū)ο蟮乃枷肱c方法已被 用于許多不同的領(lǐng)域,如程序設(shè)計(jì)語(yǔ)言,軟件開(kāi)發(fā)方法學(xué),形式化規(guī)范描述,操 作系統(tǒng),分布存儲(chǔ)和并發(fā)計(jì)算,人工智能,實(shí)時(shí)系統(tǒng),數(shù)據(jù)庫(kù)甚至硬件設(shè)計(jì)等領(lǐng) 域。從世界軟件產(chǎn)品市場(chǎng)來(lái)看, 有三類(lèi)產(chǎn)品將會(huì)很快取代當(dāng)前的各種產(chǎn)品, 它們 是面向?qū)ο蟮牟僮飨到y(tǒng),面向?qū)ο蟮膽?yīng)用開(kāi)發(fā)工具和面向?qū)ο蟮臄?shù)據(jù)庫(kù)。面向?qū)ο蠓椒ǖ幕咎卣饔校?數(shù)據(jù)抽象 用以定義對(duì)象的屬性和操作對(duì)象的服務(wù)(即數(shù)據(jù)和操作) ,對(duì)對(duì)象中屬 性的訪(fǎng)問(wèn)必須通過(guò)服務(wù)來(lái)進(jìn)行。數(shù)據(jù)抽象
4、的主要方面是標(biāo)志主題和對(duì) 象。主題是提供模型的規(guī)模,對(duì)象是表示客觀(guān)實(shí)體的屬性和服務(wù)。數(shù)抽 象還包括了父類(lèi)和子類(lèi)的概念,類(lèi)結(jié)構(gòu)為繼承特征奠定了基礎(chǔ),有相同 屬性和服務(wù)的對(duì)象為同一類(lèi)。2封裝封裝體現(xiàn)了對(duì)象和使用者之間的關(guān)系, 封裝把對(duì)象的屬性 (數(shù)據(jù)) 和操作 ( 程序 ) 隱蔽在一個(gè)單一的模塊之中。3繼承 繼承使類(lèi)所組成構(gòu)件庫(kù)的效率提高,為復(fù)用奠定了基礎(chǔ)。在類(lèi)結(jié)構(gòu)中, 子類(lèi)可以繼承父類(lèi)的屬性和服務(wù)。4通過(guò)消息進(jìn)行通訊 在面向?qū)ο蟮沫h(huán)境中,對(duì)象之間組成網(wǎng)狀結(jié)構(gòu),同時(shí)由于封裝特性,對(duì) 象間的通信是通過(guò)相互傳遞消息進(jìn)行的,對(duì)象根據(jù)消息來(lái)進(jìn)行操作。面向?qū)ο蠓椒ㄖС忠环N“模板式” (Pattern) 的開(kāi)
5、發(fā)方法。在面向?qū)ο蟓h(huán)境 中存在著豐富的模板 (即對(duì)象和類(lèi) )的構(gòu)件庫(kù),在設(shè)計(jì)系統(tǒng)時(shí), 可針對(duì)實(shí)際問(wèn)題在 庫(kù)中查找模板, 然后把找到的模板拼裝成系統(tǒng)。 若沒(méi)有與問(wèn)題相符合的模板, 則 對(duì)相似的模板進(jìn)行修改或重新的構(gòu)造新模板, 同時(shí)把它添加到庫(kù)中去, 這就是類(lèi) 結(jié)構(gòu)的概念。 它幫助我們描述問(wèn)題空間的層次關(guān)系, 把具有公共屬性和操作的類(lèi) 放在高的層次,所有具有該屬性和操作的新類(lèi)在增加自身的特有屬性和操作后即 成為該結(jié)構(gòu)的子類(lèi),子類(lèi)下面又可以派生子類(lèi)。 。,其集合構(gòu)成構(gòu)件庫(kù)。復(fù)用是面向?qū)ο蠓椒ㄖ凶钣行У奶匦灾?。關(guān)于類(lèi)結(jié)構(gòu)的派生上面已經(jīng)提 到。面向?qū)ο蟮倪@種機(jī)制使得每個(gè)類(lèi)共享其超類(lèi) (Supercla
6、ss) 的數(shù)據(jù)結(jié)構(gòu)和方 法,超類(lèi)是層次結(jié)構(gòu)中在該類(lèi)之上的類(lèi), 通過(guò)類(lèi)的派生和繼承, 構(gòu)件庫(kù)不斷擴(kuò)大。 使得庫(kù)中的所有模板實(shí)現(xiàn)了復(fù)用的特性。面向?qū)ο蟪绦蛟O(shè)計(jì) 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法是一種自底向上的開(kāi)發(fā)方法, 它從內(nèi)部結(jié)構(gòu)上模擬 客觀(guān)世界,屬于“白箱法” ,其開(kāi)發(fā)過(guò)程是從“用什么做”到“要做什么” 。它把 程序看成為:對(duì)象=(算法+數(shù)據(jù)結(jié)構(gòu)) 程序=(對(duì)象+對(duì)象+ )該方法以數(shù)據(jù)為核心, 進(jìn)行系統(tǒng)模塊設(shè)計(jì)的基本出發(fā)點(diǎn)是軟件的兼容性, 易用性、 復(fù)用性和易擴(kuò)充性。它有別于傳統(tǒng)的結(jié)構(gòu)化程序技術(shù)中的“程序 =算法+數(shù)據(jù)結(jié) 構(gòu)”的開(kāi)發(fā)思想,從而解決了傳統(tǒng)技術(shù)中軟件難以復(fù)用的問(wèn)題。面向?qū)ο笙到y(tǒng)的軟件開(kāi)發(fā)傳統(tǒng)
7、的結(jié)構(gòu)化軟件開(kāi)發(fā),通常有“流水型” 、“螺旋型”和、“重復(fù)原型”三種 模式。而面向?qū)ο蠹夹g(shù)可以用于任何開(kāi)發(fā)模式。一般地,面向?qū)ο笙到y(tǒng)的軟件開(kāi)發(fā)由下面四個(gè)階段組成: 1、需求分析階段該階段的主要任務(wù)就是通過(guò)對(duì)問(wèn)題域的研究, 產(chǎn)生一個(gè)外部可觀(guān)察的行為規(guī) 格說(shuō)明書(shū)一個(gè)完整、 一致和可行的需求說(shuō)明。 這一階段的關(guān)鍵是研究、 理解 和文檔化問(wèn)題,它應(yīng)該包括以下的活動(dòng)( 1)識(shí)別類(lèi)和對(duì)象即系統(tǒng)需要處理的現(xiàn)實(shí)世界事物。(2) 識(shí)別結(jié)構(gòu)即現(xiàn)實(shí)世界對(duì)象之間的關(guān)系。(3) 定義屬性即對(duì)象和某些結(jié)構(gòu)中的數(shù)據(jù)單元。( 4)定義服務(wù)即對(duì)象要完成的處理。( 5)識(shí)別主題將所有的類(lèi)按照邏輯分組, 控制用戶(hù)一次觀(guān)看系統(tǒng)內(nèi)容的
8、 多少。通常采用下面介紹的分層技術(shù),把以上的每項(xiàng)活動(dòng)當(dāng)作其中的一層。 ( 1)類(lèi)和對(duì)象層 該一活動(dòng)的最重要的部分是命名類(lèi)和對(duì)象。(2) 結(jié)構(gòu)層 該層描述兩種結(jié)構(gòu)。 第一種結(jié)構(gòu)是對(duì)象的類(lèi)屬結(jié)構(gòu), 第二種結(jié)構(gòu)是對(duì)象的整 體與部分結(jié)構(gòu)(聚合結(jié)構(gòu)) 。(3)屬性層 該層描述對(duì)象的數(shù)據(jù)項(xiàng)的定義。( 4)服務(wù)層該層描述對(duì)象的外部可見(jiàn)行為的定義。 此外,還應(yīng)給出對(duì)象之間的消息連接。 經(jīng)過(guò)屬性層和服務(wù)層后, 其分析結(jié)果可以用類(lèi)似圖 1和圖 2 的文檔形式表示 出來(lái)。(5)主題層 該層描述問(wèn)題域中各類(lèi)的邏輯分組。它可以表示為三種狀態(tài): 折迭僅顯示主題的名稱(chēng)和標(biāo)號(hào)。部分折迭顯示主題的名稱(chēng)、標(biāo)號(hào)和主題中的項(xiàng)目清單。
9、 全部展開(kāi)顯示主題的全部具體內(nèi)容。2 、系統(tǒng)設(shè)計(jì)階段 這一階段從通過(guò)系統(tǒng)分析得到的軟件需求規(guī)格說(shuō)明書(shū)(分析模型)出發(fā),形 成軟件的具體設(shè)計(jì)方案的過(guò)程。 它的主要目的是建立一種對(duì)正在開(kāi)發(fā)系統(tǒng)將怎樣 工作的理解。 它確定具體的數(shù)據(jù)結(jié)構(gòu)和算法, 并且將它們封裝成各種類(lèi), 以便在 下一階段中進(jìn)行編碼工作。 該階段對(duì)于提高軟件質(zhì)量和工作效率來(lái)講是非常關(guān)鍵 的。一個(gè)優(yōu)良的面向系統(tǒng)設(shè)計(jì)的基本要素應(yīng)包括:( 1)類(lèi)和類(lèi)的繼承必須具有高度凝聚性。 即類(lèi)和類(lèi)的繼承應(yīng)該具有單一的用 途。如果一個(gè)類(lèi)具有多個(gè)用途,應(yīng)該將其分解為多個(gè)類(lèi)。(2)類(lèi)與類(lèi)之間的耦合(相互依賴(lài))應(yīng)該很松散。只有一個(gè)例外:因?yàn)轭?lèi)的 繼承必須是緊密
10、聯(lián)系的,所以某個(gè)類(lèi)必須同其祖先類(lèi)緊密耦合。(3)某個(gè)類(lèi)的數(shù)據(jù)實(shí)現(xiàn)細(xì)節(jié)對(duì)于別的類(lèi)來(lái)說(shuō)應(yīng)該是隱藏的。(4)保持較小的類(lèi)和方法的定義。(5)當(dāng)設(shè)計(jì)類(lèi)和類(lèi)族時(shí),應(yīng)該保持其協(xié)議或接口的穩(wěn)定性。3 、演化階段 該階段是在設(shè)計(jì)基礎(chǔ)上的編碼、測(cè)試、集成的迭代漸近過(guò)程。 當(dāng)問(wèn)題域已經(jīng)明確定義;最基本的問(wèn)題關(guān)鍵已經(jīng)把握;最基本的問(wèn)題關(guān)鍵的 解決方法已經(jīng)找到; 它的設(shè)計(jì)可以預(yù)見(jiàn)系統(tǒng)的實(shí)現(xiàn)時(shí), 表示設(shè)計(jì)階段已完成。 并 開(kāi)始進(jìn)入演化階段。在面向?qū)ο蟮脑O(shè)計(jì)中,不是以算法的邏輯結(jié)構(gòu)來(lái)劃分模塊,而是以類(lèi)和對(duì)象 的邏輯結(jié)構(gòu)來(lái)劃分模塊。然后分模塊開(kāi)發(fā)系統(tǒng)。為了保證系統(tǒng)的整體一致性 , 可以先開(kāi)發(fā)系統(tǒng)中的公共部分,再展開(kāi)各個(gè)個(gè)別
11、部分的演化。4 、維護(hù)階段 該階段對(duì)軟件投入運(yùn)行之后出現(xiàn)的問(wèn)題進(jìn)行維護(hù)。 這一階段在面向?qū)ο笙到y(tǒng) 中是不可避免的,但面向?qū)ο蠹夹g(shù)中的某些策略,能減少開(kāi)發(fā)和維護(hù)的復(fù)雜性。 該階段的代價(jià)取決于是否有一個(gè)好的分析與設(shè)計(jì)。總結(jié)面向?qū)ο蟮能浖_(kāi)發(fā)是以對(duì)象為主線(xiàn)來(lái)描述問(wèn)題空間、 形成模型,用對(duì)象間 的消息傳遞來(lái)表示用戶(hù)的功能需求。 由于它在需求分析階段是基于一個(gè)相對(duì)穩(wěn)定 的問(wèn)題空間來(lái)進(jìn)行的, 所以它能完整地, 明確地反映客觀(guān)世界, 使系統(tǒng)結(jié)構(gòu)與問(wèn) 題結(jié)構(gòu)保持一致,使系統(tǒng)的設(shè)計(jì)、編程和維護(hù)顯得十分容易。由于對(duì)象類(lèi)的設(shè)計(jì)與實(shí)現(xiàn)不受具體任務(wù)的限制, 故產(chǎn)生的基本構(gòu)件有較好的 易復(fù)用性; 問(wèn)題域中的任何具體應(yīng)用任務(wù)都可以在這樣的基礎(chǔ)上完成, 因而系統(tǒng) 的擴(kuò)充性相當(dāng)方便。在面向?qū)ο筌浖_(kāi)發(fā)的分析階段中所認(rèn)識(shí)的對(duì)象及其相互關(guān)系能在設(shè)計(jì)設(shè) 段得到保留和豐富, 并且可以直接編程來(lái)實(shí)現(xiàn), 因而, 不再存在傳統(tǒng)軟件開(kāi)發(fā)過(guò) 程中各階段出現(xiàn)斷層的情形。參考文獻(xiàn)1 對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)核心機(jī)密保護(hù)合同模板
- 市場(chǎng)營(yíng)銷(xiāo)合作合同模板:品牌推廣專(zhuān)用
- 數(shù)據(jù)外包服務(wù)合同轉(zhuǎn)讓合同
- 標(biāo)準(zhǔn)勞動(dòng)合同解除樣本
- 加盟連鎖店經(jīng)營(yíng)合同樣本
- 合同約定催款函格式專(zhuān)業(yè)版
- 建筑物拆除的施工安全管理考核試卷
- 機(jī)床制造中的人力資源管理策略考核試卷
- 農(nóng)業(yè)科學(xué)中的農(nóng)村居民收入與消費(fèi)考核試卷
- 安全網(wǎng)絡(luò)數(shù)據(jù)安全審計(jì)流程自動(dòng)化考核試卷
- 2025年黑龍江民族職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)匯編
- 感恩父母課件:父母的愛(ài)如山如水
- 民法典題庫(kù)(附答案)
- 綏芬河市2025年上半年招考事業(yè)單位專(zhuān)業(yè)人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 小學(xué)數(shù)學(xué)新課程標(biāo)準(zhǔn)(教育部2024年制訂)
- 2025年華僑港澳臺(tái)學(xué)生聯(lián)招考試英語(yǔ)試卷試題(含答案詳解)
- 【語(yǔ)文大單元教學(xué)研究國(guó)內(nèi)外文獻(xiàn)綜述6400字】
- 05844 全國(guó) 江蘇 自考國(guó)際商務(wù)英語(yǔ)課后習(xí)題答案 詳解
- 重慶道路交通事故認(rèn)定書(shū)(簡(jiǎn)易程序)樣本
- 2022年獸醫(yī)外科手術(shù)學(xué)作業(yè)題參考答案
- T∕CAMDI 009.1-2020 無(wú)菌醫(yī)療器械初包裝潔凈度 第1部分:微粒污染試驗(yàn)方法 氣體吹脫法
評(píng)論
0/150
提交評(píng)論