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