王千文 趙明芳
摘要:計算機軟件在現(xiàn)代科學(xué)技術(shù)中有著十分重要地位和作用,早已是當今信息社會對高科技的競爭因素。目前,軟件早已經(jīng)運用到了人們?nèi)粘I畹姆椒矫婷?,通過對軟件的運用,有效的提高了人們的工作效率和生活的質(zhì)量,推動了經(jīng)濟的迅速發(fā)展。對于軟件工程來說,其系統(tǒng)性比較強,比較實用,用起來也比較的有效且其質(zhì)量也比較高。據(jù)此,分析了面向?qū)ο蠓椒ǖ奶攸c、機制,以及它的應(yīng)用發(fā)展對整個計算機科學(xué)和工業(yè)所產(chǎn)生的影響和作用。
關(guān)鍵詞:
軟件工程;面向?qū)ο螅环椒?;問題
中圖分類號:
TB
文獻標識碼:A
文章編號:16723198(2015)11019102
1軟件工程概述
1.1軟件工程的定義
軟件工程是一門用來進行分析和研究選擇使用工程化的方式對軟件進行建立并進行維護的學(xué)科。它比較實用,用起來也比較有效且其質(zhì)量也比較高。它涉及的領(lǐng)域非常廣,有程序設(shè)計語言、對軟件的開發(fā)以及數(shù)據(jù)庫的構(gòu)建等方面。
所謂軟件生命周期,其實就是軟件從開發(fā)到使用,再到退出歷史舞臺的過程。軟件生命周期劃分成三個階段,即對軟件的定義、開發(fā)和運行維護。一般對軟件過程進行描述都是對生命周期模型加以利用,也就是將生命周期都分成了一些階段,而且每一階段相應(yīng)的執(zhí)行序列都給制定好,所以,此模型又稱為過程模型。
1.2軟件的發(fā)展
伴隨著計算機的普及,人們對軟件的需求量更大,剛開始,軟件是以比較簡單的程序模式呈現(xiàn)在人們的生活中的,這時還不是真正的軟件,只是能完成比較簡單的任務(wù),還沒真正深入到人們的生活,大多數(shù)行業(yè)還是以手工操作為主。計算機的出現(xiàn)和迅速發(fā)展,給人們的生活帶來了翻天覆地的變化,相應(yīng)的也帶動了軟件的發(fā)展。新技術(shù)的出現(xiàn)和發(fā)展都是為了滿足人們的生活需要,就拿計算機來說,它的出現(xiàn)及發(fā)展,給人們的工作和生活帶來了極大的便利,使工作效率得到有效提高,使得時間和經(jīng)濟成本被節(jié)省出來,由此為軟件朝著多樣化、專業(yè)化以及個性化發(fā)展打下了堅實的基礎(chǔ)。主要體現(xiàn)在:
(1)由于軟件不是具體的物品而是邏輯產(chǎn)品,因此,從費用上看,其主要的費用是研制開發(fā)的費用。雖然軟件不會磨損用壞、老化,但是經(jīng)過一段時間后他會因為落伍而退役。
(2)因為軟件實際上是一種邏輯產(chǎn)品,所以要體現(xiàn)出他的功能就得依靠硬件與軟件共同工作的環(huán)境和操作人員的操作。
(3)對于軟件產(chǎn)品來說,其所具有的功能要比別的產(chǎn)品更加的復(fù)雜。
(4)對軟件進行設(shè)計,比別的產(chǎn)品更加的復(fù)雜,因為他需要功能具有多樣性,其實現(xiàn)也具有多樣性。
2面向?qū)ο筌浖こ?/p>
面向?qū)ο筌浖こ叹褪遣扇∶嫦驅(qū)ο蠓椒?,與人類認識規(guī)律相符的某一軟件工程。從上世紀80年代開始,人們開始把面向?qū)ο筮M行分析與設(shè)計的探討重視了起來,讓面向?qū)ο筌浖こ谭椒▽W(xué)得以日益形成。面向?qū)ο蠓椒ň哂幸韵聝?yōu)勢:
(1)從認知學(xué)上講,面向?qū)ο蠓椒ㄅc人們對客觀世界的認識規(guī)律是相符的,長期以來,人們在對一個軟件系統(tǒng)進行研究、設(shè)計、完成的整個程序跟人們對一個系統(tǒng)的充分認識之間有很大的差別。
(2)開發(fā)出來的軟件系統(tǒng)維護起來比較容易,軟件系統(tǒng)所具有的結(jié)構(gòu)比較容易理解、擴展以及更改。針對對象方法開發(fā)的那些軟件系統(tǒng),其構(gòu)成部分一般是對象類,對象所具有的封裝性把抽象以及信息隱蔽所具有的特性給淋漓盡致地表現(xiàn)了出來。
(3)面向?qū)ο蠓椒ㄖ兴睦^承機制對軟件的服用進行了大力的支持。
OO方法的先進機制和能力:
OO方法是以O(shè)O定義當做理論基礎(chǔ)而開發(fā)出來的提出的,它的特點有以下幾種:
(1)抽象性。
抽象是把我們實際生活里比較復(fù)雜的事物給具體化,用比較精煉而且簡單的手段來反應(yīng)出他在計算機的發(fā)展過程里發(fā)揮了巨大的作用,程序設(shè)計語言簡單地說是通過不斷發(fā)展以及發(fā)展的相關(guān)手法而產(chǎn)生的。具體表現(xiàn)為:①抽象表達能力非常強;
②所具有的抽象的數(shù)據(jù)類型,使得對象級上比較高層次的抽象得以達到。
(2)封裝性。
封裝的基本含義有以下幾點:
①明確清晰的范圍以及外部邊界在其軟件的所有構(gòu)成部件的里面都是需要具備的;②讓部件彼此相互聯(lián)系以及作用得以達成,應(yīng)該使每一個部件裝有比較好的接口得以確保;③因為部件里面的設(shè)計以及實現(xiàn)是不知道的,因此,軟件的質(zhì)量以及可靠性就顯得至關(guān)重要,但是OO方法里面的類是封裝良好的模塊,以對象當成封裝的組成單位的特性恰是供應(yīng)了此種完好的封裝機制。
(3)繼承性。
繼承性是OO方法的獨特之處。繼承性顯示并引申了OO方法的共享機制。此外,相異的類或者對象中間橫向共享機制大部分是通過多重繼承性得以達成的。目前軟件向開放體系結(jié)構(gòu)發(fā)展,對系統(tǒng)進行開發(fā)的時候其接口必須采取公用的,讓信息之間的交換以及共同享用從而達成。OO方法的繼承性恰好是從概述到詳盡、普通到特別、抽象到具體,充分采用現(xiàn)有的系統(tǒng)或建好的類實施引申或者是更改,來建立屬于本身的新系統(tǒng),讓軟件系統(tǒng)所具有的開放性得以實現(xiàn),讓工作量得以簡化,使軟件所具有的重用能力得以提高。
(4)多態(tài)性。
多態(tài)性其實就是選擇一個相關(guān)的操作名稱把那些數(shù)據(jù)類型不一樣的多種多樣的操作都得以實現(xiàn),多態(tài)性得以實現(xiàn)的方法有:運算負重載和函數(shù)名重載等因為多態(tài)性所具有的特點,使得軟件的靈活性以及重用性得到了有效的強化。
3面向?qū)ο蠓椒ǖ暮诵膯栴}
面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化方法一樣,其核心問題也是模型問題。
OOA模型:
OOA關(guān)心的是構(gòu)建現(xiàn)實世界的模型問題。如何解決現(xiàn)實世界的建模問題呢?根據(jù)系統(tǒng)科學(xué)的思想,首先需要對復(fù)雜的系統(tǒng)進行分解,最常用的分解方法就是分層。采用P.Coad和E.Yourdon的分層方法將OOA模型劃分為5個層次,即:主題層、對象層、結(jié)構(gòu)層、屬性層和服務(wù)層。OOA的主要任務(wù)就是要在問題域上構(gòu)建具有這5個層次內(nèi)容的OOA模型。
(1)主題層。
主題提供OOA模型中各圖的大體情況,分析員跟客戶就可以在這個平臺上進行交流,這樣利于人們對復(fù)雜系統(tǒng)的模型構(gòu)成進行很好的理解。
(2)對象層。
對象屬于屬性和專用服務(wù)相結(jié)合的封裝體之一,就是抽象地對此領(lǐng)域的人、事、物等比較具體客觀的事物做詳細的描述。類把對象給構(gòu)建了出來,類所描述的是一個或者是多個的事物,所有描述的事物都能用相同的屬性及服務(wù)進行描述。
(3)結(jié)構(gòu)層。
在OO方法里,組裝結(jié)構(gòu)與分類結(jié)構(gòu)是比較重要的2種結(jié)構(gòu),兩種結(jié)構(gòu)分別對“整體與部分”組織和“一般與特殊”組織進行描述。組裝結(jié)構(gòu)一般對人類思維大都選擇的第2個基本法則來遵循,就是把整體對象跟整體對象的組成部分給有效的區(qū)別開來。分類結(jié)構(gòu)(即一般與特殊)遵循了人類思維普遍采用的第3個法則,在OO方法中,是類、成員和它們之間的區(qū)別。
(4)屬性層。
屬性就是對于一個對象的抽象刻畫描述類里面的任何對象都含有它應(yīng)有的屬性值,屬性值簡單的說就是信息數(shù)據(jù),但這些信息數(shù)據(jù)是有狀態(tài)的。
(5)服務(wù)層。
服務(wù)層其實是接到一條信息后對信息進行相應(yīng)的處理的層,服務(wù)其實是把現(xiàn)實事物進行抽象的模型化。
參考文獻
[1]董劍利,牛蘭慶.面向?qū)ο蟮姆椒捌渚鑋J].甘肅教育學(xué)院學(xué)報(自然科學(xué)版),1999,(02).
[2]趙艷秋.面向?qū)ο蟮姆椒捌湎冗M機制[J].陰山學(xué)刊,2001,(05).