軟件工程面向?qū)ο蠓椒╛第1頁(yè)
軟件工程面向?qū)ο蠓椒╛第2頁(yè)
軟件工程面向?qū)ο蠓椒╛第3頁(yè)
軟件工程面向?qū)ο蠓椒╛第4頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件工程 面向?qū)ο蠓椒ㄖ饕獌?nèi)容面向?qū)ο蠓椒ǜ攀鲕浖EcUML語(yǔ)言面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)面向?qū)ο髮?shí)現(xiàn)面向過(guò)程方法應(yīng)用實(shí)例學(xué)生成績(jī)管理面向過(guò)程方法有哪些局限性?以算法為核心,數(shù)據(jù)和代碼分離,反映了計(jì)算機(jī)的觀(guān)點(diǎn),數(shù)據(jù)和操作不易保持一致性。軟件系統(tǒng)的結(jié)構(gòu)緊密依賴(lài)于系統(tǒng)所要完成的功能,功能需求的變化易引起軟件結(jié)構(gòu)的修改。所使用的標(biāo)準(zhǔn)函數(shù)缺乏“柔性”,不能適應(yīng)不同應(yīng)用場(chǎng)合的不同需要。不易組織人員開(kāi)發(fā)大型軟件,開(kāi)發(fā)出來(lái)的軟件也很難維護(hù)。面向?qū)ο蠓椒ǜ攀觯?)面向?qū)ο蠓椒ò凑杖祟?lèi)的自然思維方式,以概念為核心,面對(duì)客觀(guān)世界建立軟件系統(tǒng)模型。對(duì)象、類(lèi)、繼承、封裝、消息等基本符合人類(lèi)的自然思維方式。有利于對(duì)業(yè)務(wù)

2、領(lǐng)域和系統(tǒng)需求的理解。有利于人員交流。面向?qū)ο蠓椒▽?duì)需求變化有較好的適應(yīng)性面向?qū)ο蟮姆庋b機(jī)制使開(kāi)發(fā)人員可以把最穩(wěn)定的部分(即對(duì)象)作為構(gòu)筑系統(tǒng)的基本單位,而把容易發(fā)生變化的部分(即屬性與操作)封裝在對(duì)象之內(nèi)。對(duì)象之間通過(guò)接口聯(lián)系,使得需求變化的影響盡可能地限制在對(duì)象內(nèi)部。面向?qū)ο蠓椒ǜ攀觯?)面向?qū)ο蠓椒ㄖС周浖?fù)用對(duì)象具有封裝性和信息隱蔽等特性,使其容易實(shí)現(xiàn)軟件復(fù)用。對(duì)象類(lèi)可以派生出新類(lèi),類(lèi)可以產(chǎn)生實(shí)例對(duì)象,從而實(shí)現(xiàn)了對(duì)象類(lèi)數(shù)據(jù)結(jié)構(gòu)和操作代碼的軟構(gòu)件復(fù)用。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境一般預(yù)定義了系統(tǒng)動(dòng)態(tài)連接庫(kù),提供了大量公用程序代碼,避免重復(fù)編寫(xiě),提高了開(kāi)發(fā)效率和質(zhì)量。面向?qū)ο蟮能浖到y(tǒng)可

3、維護(hù)性好系統(tǒng)由對(duì)象構(gòu)成,對(duì)象是一個(gè)包含屬性和操作兩方面的獨(dú)立單元,對(duì)象之間通過(guò)消息聯(lián)系。系統(tǒng)出錯(cuò)時(shí)容易定位和修改,不至于牽一發(fā)而動(dòng)全身。面向?qū)ο蠓椒ǖ陌l(fā)展歷史(1)初始階段60年代末挪威奧斯陸大學(xué)和挪威計(jì)算中心共同研制的Simula語(yǔ)言是面向?qū)ο蟀l(fā)展歷史上的第一個(gè)里程碑,后來(lái)的一些著名面向?qū)ο缶幊陶Z(yǔ)言(如Smalltalk, C+, Eiffel)都受到Simula的啟發(fā)。80年代,Xerox研究中心推出了Smalltalk語(yǔ)言和環(huán)境,它具備了面向?qū)ο笳Z(yǔ)言的繼承和封裝的主要特征,使面向?qū)ο蟪绦蛟O(shè)計(jì)方法趨于完善,掀起了面向?qū)ο笱芯康母叱?。面向?qū)ο蠓椒ǖ陌l(fā)展歷史(2)發(fā)展階段從80年代中期到90年

4、代,面向?qū)ο笳Z(yǔ)言十分熱門(mén),大批比較實(shí)用的面向?qū)ο缶幊陶Z(yǔ)言(Object Oriented Programming Language, OOPL)涌現(xiàn)出來(lái),如C+、Object Pascal、Eiffel、Actor 等,特別是C+語(yǔ)言已成為目前應(yīng)用最廣泛的OOPL。面向?qū)ο缶幊陶Z(yǔ)言的繁榮是面向?qū)ο蠓椒ㄗ呦驅(qū)嵱玫闹匾獦?biāo)志,也是面向?qū)ο蠓椒ㄔ谟?jì)算機(jī)學(xué)術(shù)界、產(chǎn)業(yè)界和教育界日益受到重視的推動(dòng)力。面向?qū)ο蠓椒ǖ陌l(fā)展歷史(3)成熟階段在C+語(yǔ)言十分熱門(mén)的時(shí)候,人們開(kāi)始了對(duì)面向?qū)ο蠓治觯∣bject Oriented Anlysis, OOA)的研究,進(jìn)而延伸到面向?qū)ο笤O(shè)計(jì)(Object Oriented

5、Design, OOD)。特別是90年代以后,許多專(zhuān)家都在嘗試用不同的方法進(jìn)行面向?qū)ο蟮姆治雠c設(shè)計(jì),這些方法各有所長(zhǎng),力圖解決復(fù)雜軟件的開(kāi)發(fā)問(wèn)題。在這段時(shí)期,面向?qū)ο蟮姆治龊驮O(shè)計(jì)技術(shù)逐漸走向?qū)嵱?,最終形成了從分析、設(shè)計(jì)到編程、測(cè)試與維護(hù)一整套的軟件工程體系。面向?qū)ο蠓椒╲s.面向過(guò)程方法(1) 面向過(guò)程方法 面向?qū)ο蠓椒嫦驅(qū)ο蠓椒╲s.面向過(guò)程方法(2)面向?qū)ο蟾拍睿簩?duì)象對(duì)象(Object)系統(tǒng)中用來(lái)描述客觀(guān)事物的一個(gè)實(shí)體,它是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組屬性和對(duì)這組屬性進(jìn)行操作的一組服務(wù)組成。對(duì)象的兩個(gè)基本要素:屬性和服務(wù)屬性是用來(lái)描述對(duì)象靜態(tài)特征的一個(gè)數(shù)據(jù)項(xiàng)服務(wù)是用來(lái)描述對(duì)象動(dòng)態(tài)特征(

6、行為)的一個(gè)操作序列。對(duì)象是屬性和服務(wù)的結(jié)合體,對(duì)象的屬性值只能由這個(gè)對(duì)象的服務(wù)來(lái)讀取和修改。面向?qū)ο蟾拍睿侯?lèi)類(lèi)(Class)具有相同屬性和服務(wù)的一組對(duì)象的集合,它為屬于該類(lèi)的全部對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。類(lèi)代表一個(gè)抽象的概念或事物,對(duì)象是在客觀(guān)世界中實(shí)際存在的類(lèi)的實(shí)例。類(lèi)體現(xiàn)了人們認(rèn)識(shí)事物的基本思維方法分類(lèi)(Classification)面向?qū)ο蟾拍睿侯?lèi)vs.對(duì)象(1)面向?qū)ο蟾拍睿侯?lèi)vs.對(duì)象(2)類(lèi)與對(duì)象的比較同類(lèi)對(duì)象具有相同的屬性和服務(wù),是指它們的定義形式相同,而不是說(shuō)每個(gè)對(duì)象的屬性值都相同。類(lèi)是靜態(tài)的,類(lèi)的存在、語(yǔ)義和關(guān)系在程序執(zhí)行前就已經(jīng)定義好了。

7、對(duì)象是動(dòng)態(tài)的,對(duì)象在程序執(zhí)行時(shí)可以被創(chuàng)建和刪除。在面向?qū)ο蟮南到y(tǒng)分析和設(shè)計(jì)中,并不需要逐個(gè)對(duì)對(duì)象進(jìn)行說(shuō)明,而是著重描述一批對(duì)象共性的類(lèi)。面向?qū)ο蟾拍睿悍庋b封裝(Encapsulation)具有相同屬性和服務(wù)的一組對(duì)象的集合,它為屬于該類(lèi)的全部對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。封裝使對(duì)象形成兩個(gè)部分:接口和實(shí)現(xiàn)對(duì)用戶(hù)來(lái)說(shuō),接口是可見(jiàn)的,實(shí)現(xiàn)是不可見(jiàn)的。封裝可以保護(hù)對(duì)象,避免用戶(hù)誤用,也可以保護(hù)客戶(hù)端,其實(shí)現(xiàn)過(guò)程的改變不會(huì)影響到相應(yīng)客戶(hù)端的改變。與封裝密切相關(guān)的概念是可見(jiàn)性,它是指對(duì)象的屬性和服務(wù)允許對(duì)象外部存取和引用的程度。面向?qū)ο蟾拍睿豪^承繼承(Inheritance

8、)子類(lèi)可以自動(dòng)擁有父類(lèi)的全部屬性和服務(wù)。繼承簡(jiǎn)化了人們對(duì)現(xiàn)實(shí)世界的認(rèn)識(shí)和描述,在定義子類(lèi)時(shí)不必重復(fù)定義那些已在父類(lèi)中定義過(guò)的屬性和服務(wù),只要說(shuō)明它是某個(gè)父類(lèi)的子類(lèi),并定義自己特有的屬性和服務(wù)即可。與父類(lèi)/子類(lèi)等價(jià)的其他術(shù)語(yǔ)一般類(lèi)/特殊類(lèi)、超類(lèi)/子類(lèi)、基類(lèi)/派生類(lèi)繼承可分為單繼承和多繼承單繼承是指子類(lèi)只從一個(gè)父類(lèi)繼承多繼承是指子類(lèi)從多個(gè)父類(lèi)繼承面向?qū)ο蟾拍睿簡(jiǎn)卫^承面向?qū)ο蟾拍睿憾嗬^承面向?qū)ο蟾拍睿憾鄳B(tài)性多態(tài)性(Polymorphism)在一般類(lèi)中定義的屬性或服務(wù)被特殊類(lèi)繼承之后,可以具有不同的數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為。多態(tài)性機(jī)制不但為軟件的結(jié)構(gòu)設(shè)計(jì)提供了靈活性,減少信息冗余,而且提高了軟件的可復(fù)用性和可擴(kuò)展性。面向?qū)ο蟾拍睿合ⅲ?)消息(Message)消息是對(duì)象發(fā)出的服務(wù)請(qǐng)求,一般包含提供服務(wù)的對(duì)象標(biāo)識(shí),服務(wù)標(biāo)識(shí)、輸入信息和應(yīng)答信息等信息。一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)消息請(qǐng)求某項(xiàng)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論