- 相關推薦
面向?qū)ο笳n程設計報告
導語:基于面向?qū)ο蠹夹g(shù)的基本思想和開發(fā)過程,介紹了面向?qū)ο蠹夹g(shù)的實現(xiàn)方法。結(jié)合具體實例對面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)設計和詳細設計中的應用進行了詳細的探討,利用面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)分析和設計方法,使用UML工具建立了具體的對象模型,給出了一種比較通用的數(shù)據(jù)庫系統(tǒng)開發(fā)模式。使用該模式設計的系統(tǒng)重用性好,且易于維護,從而有效提高了數(shù)據(jù)庫系統(tǒng)的開發(fā)質(zhì)量。下面是小編整理的相關內(nèi)容,希望對你有幫助。
隨著計算機科學的發(fā)展、應用領域的不斷擴大,對計算機技術(shù)本身的要求越來越高,F(xiàn)在越來越多的軟件開發(fā)過程采用了面向?qū)ο蟮拈_發(fā)技術(shù),面向?qū)ο蟮难芯勘榧坝嬎銠C軟硬件的各個領域,如面向?qū)ο蟮某绦蛟O計語言、面向?qū)ο蟮某绦蛟O計方法、面向?qū)ο蟮脑O計、面向?qū)ο蟮姆治、面向(qū)ο蟮牟僮飨到y(tǒng)、面向?qū)ο蟮腄BMS、面向?qū)ο蟮拈_發(fā)工具、面向?qū)ο蟮拈_發(fā)環(huán)境等。目前不僅在研究領域已取得了豐碩的成果,而且有些軟件產(chǎn)品已經(jīng)投放市場。面向?qū)ο蠹夹g(shù)是一種新的設計技術(shù),與傳統(tǒng)的面向過程技術(shù)相比,它試圖依據(jù)人們對問題的看法來解釋軟件的架構(gòu),并力求將問題域中的問題映像到分析模型中,再轉(zhuǎn)換成對應的程序代碼。面向?qū)ο蠹夹g(shù)倡導一種新的認知和表示世界的思想,計算機專業(yè)人士利用它提出了面向?qū)ο蟮挠嬎銠C程序設計語言、面向?qū)ο蟮能浖O計方法、面向?qū)ο蟮臄?shù)據(jù)庫等,使面向?qū)ο蠹夹g(shù)在今天的應用設計中得到了最廣泛的運用。
一、面向?qū)ο蟮挠嘘P基本概念
面向?qū)ο蠹夹g(shù)為軟件開發(fā)提供了一種新的方法學,引入了許多新的概念,這些概念是理解和使用面向?qū)ο蠹夹g(shù)的基礎和關鍵。
。ㄒ唬⿲ο(Object)、方法(Method)及消息(Message)
客觀世界的問題都是由客觀世界中的實體及其相互之間的關系構(gòu)成的。我們將客觀世界中的實體抽象為問題空間中的對象。由于我們需要解決的問題不同,我們面向的對象也就不同,因此對象是不固定的。一本書可以是一個對象,一家圖書館也可以是一個對象。從動態(tài)的觀點看,對象及其操作就是對象的行為,一個對象的通常定義是:對象是對一組信息及其上面的操作的描述。
私有數(shù)據(jù)結(jié)構(gòu)和處理,這些處理又稱為操作(Operation)或方法(Method),包括控制和過程。其中私有數(shù)據(jù)表示了對象的狀態(tài),該狀態(tài)只能由私有操作來改變,每當需要改變對象的狀態(tài)時,只能由其它對象向該對象發(fā)送消息。
消息是用來請求對象執(zhí)行某一操作或回答某些信息的要求,消息統(tǒng)一了數(shù)據(jù)流和控制流,程序的執(zhí)行是靠在對象間傳遞消息來完成的。表示消息的形式是消息模式。對同一消息模式的不同消息,同一對象所作的解釋和處理都相同,但是會由于對象狀態(tài)的不同而導致操作結(jié)果不同。一個消息模式定義對象的一種處理能力,所有消息模式及相應于消息模式的處理能力,定義了對象的外部特征。
(二)類(Class)、實例(Instance)、繼承性(Inheritance)
在客觀世界中,有許多具有相同特征的事物,如:小轎車、大客車、卡車等,可以歸類為機動車。從對象觀點看,具有共同的屬性、共同的操作性質(zhì)的對象的集合就是類,而單個對象則是對應類的一個實例。例如:書是一個類,而某一本具體的書如《面向?qū)ο蟮姆治觥穭t是該類的一個實例,任何一個對象都是某一個類的實例,并繼承該類定義的私有數(shù)據(jù)和操作。這就是繼承性,一個類實質(zhì)上定義的是一種對象類型。
類構(gòu)成層次結(jié)構(gòu),相對上層的是超類,相對下層是子類,子類在繼承超類的私有數(shù)據(jù)結(jié)構(gòu)及操作的同時可以擁有自有的私有數(shù)據(jù)結(jié)構(gòu)及操作。如果一個子類只有一個超類,則稱為單繼承性,這時該類共享多個超類的屬性及操作。
類和繼承性是現(xiàn)代軟件工程中的重要概念,軟件的可重用性、程序成分的可重用性是通過繼承類中的屬性和操作而實現(xiàn)的。許多工業(yè)觀察有相信可重用軟件不是通過建立傳統(tǒng)的過程序(子程序庫),而是通過建立“類庫”實現(xiàn)的。
。ㄈ┓庋b性(Encapsulation)
對象的封裝性是面向?qū)ο蠹夹g(shù)的一個重要特征。對象本身的定義即提供了封裝性。對象的封裝性是一種信息隱蔽技術(shù),對象的使用者只能看到對象封裝界面上的信息,對象的內(nèi)部對使用者是隱蔽的,其目的在于將對象的使用者和設計者分開。對象的封裝性體現(xiàn)在以下幾個方面:
對象具有清楚的邊界:對象的內(nèi)部軟件(數(shù)據(jù)結(jié)構(gòu)及操作)的范圍,限定在這個邊界之內(nèi);對象具有統(tǒng)一的外部接口;對象的接口(消息模式)描述該對象與其他對象間的相互作用;對象的內(nèi)部實現(xiàn)是不公開的;對象的實現(xiàn)給出了對象提供的功能細節(jié),外部對象是不能訪問這個功能細節(jié)的。
信息隱蔽是軟件開發(fā)過程中強調(diào)的一個重要概念,對象的封裝性很好地體現(xiàn)了這一概念。這就便利得用面向?qū)ο蠹夹g(shù)所開發(fā)設計的軟件的可維護性大為改善,這也是軟件技術(shù)追求的目標之一。
二、面向?qū)ο蠹夹g(shù)的基本思想
面向?qū)ο蟮姆椒ㄊ且环N分析方法、設計方法和思維方法。計算機系統(tǒng)通常是在指定的對象上執(zhí)行特定的行為操作,要獲得符合用戶需求的靈活而且可重用的系統(tǒng),最好的辦法就是把軟件結(jié)構(gòu)建立在對象之上,而不是行為之上,使計算機求解問題更加類似于人類的活動。因此,概括面向?qū)ο蠓椒ǖ幕舅枷霝椋簭目陀^存在的對象出發(fā)來構(gòu)造軟件系統(tǒng),并在系
統(tǒng)構(gòu)造中盡可能運用人類的自然思維方式。面向?qū)ο蠹夹g(shù)是從問題域中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),用對象作為這些事物的抽象表示,并成為系統(tǒng)的基本構(gòu)成單位。每個對象都有其屬性和服務,對象的屬性和服務融為一體,對外屏蔽其內(nèi)部細節(jié),稱作封裝,把具有相同屬性和相同服務的對象歸為一類,類是這些對象的抽象描述,每個對象是該類的一個實例,通過在不同程度上運用抽象原則,得到較一般的類和較特殊的類,特殊類繼承一般類的屬性和服務,復雜的對象用簡單的對象構(gòu)成,稱作聚合。對象之間的消息通信表達對象之間的動態(tài)聯(lián)系,對象之間的關聯(lián)表達對象之間的靜態(tài)關系。
隨著科學技術(shù)不斷進步和經(jīng)濟不斷發(fā)展,面向?qū)ο蠹夹g(shù)在當今軟件開發(fā)中的運用越來越廣泛,面向?qū)ο蠹夹g(shù)中使用UML語言對于數(shù)據(jù)庫系統(tǒng)的設計具有非常重要的作用。運用UML語言能詳細描述數(shù)據(jù)庫系統(tǒng)的外部功能結(jié)構(gòu)、內(nèi)部靜態(tài)結(jié)構(gòu)、動態(tài)結(jié)構(gòu)以及程序代碼的物理結(jié)構(gòu),采用面向?qū)ο蟮某墒旒夹g(shù)提高了數(shù)據(jù)庫系統(tǒng)設計的效率和質(zhì)量,提高了數(shù)據(jù)庫系統(tǒng)軟件開發(fā)的可重用性和可維護性。
【面向?qū)ο笳n程設計報告】相關文章:
課程設計報告07-23
課程設計報告09-11
net軟件工程師,CS,BS,會面向?qū)ο缶幊蹋龑蛹軜?gòu)薪資多少?07-14
關于系統(tǒng)的課程設計報告08-05
課程設計報告(15篇)03-28
課程設計報告15篇03-25
數(shù)字電路課程設計報告11-17
課程設計的總結(jié)報告通用12-17
課程設計總結(jié)報告范文07-03
c++課程設計實踐報告07-02