李響
(中國科學(xué)技術(shù)大學(xué)軟件學(xué)院 江蘇省蘇州市 215000)
軟件工程是隸屬于計算機技術(shù)下一門重要學(xué)科,計算機軟件工程一般用于對軟件的開發(fā),所開發(fā)的軟件應(yīng)用的學(xué)科不同,所以軟件就會有不同的用處。計算機軟件工程的主要目的是在保證預(yù)算的范圍內(nèi)研發(fā)出使用率高、性能優(yōu)的軟件,通過這一目標(biāo),計算機軟件工程對于實現(xiàn)產(chǎn)品的質(zhì)量有了更高的積極性,大大提高了軟件開發(fā)的效率。計算機軟件包括系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件是最基本的軟件,其是為了維護系統(tǒng)的正常運行所產(chǎn)生的,就目前而言,計算機上操作系統(tǒng)與眾多殺毒軟件都屬于計算機系統(tǒng)軟件。而應(yīng)用軟件則是為了方便人們的生活與工作而研發(fā)的,例如各類聽歌軟件,聊天工具等都屬于應(yīng)用軟件。但是無論是哪一種軟件,它們的主要作用都是為了計算機能夠更加高效的運行,使得計算機用戶在生活與工作中的操作能變得更加便捷。
1.2.1 靈活性
眾所周知,每一個計算機軟件都具有獨立性和靈活性,所以在計算機軟件工程設(shè)計期間,就要能夠讓設(shè)計人員在實際研發(fā)過程中根據(jù)用戶需求的不同來對其中的任意過程進行修改,然后便可以滿足每個不同用戶的實際需求。
1.2.2 協(xié)作性
在軟件工程中的軟件系統(tǒng)之間都具有一定的關(guān)聯(lián)性,所以無論是在動態(tài)環(huán)境中還是靜態(tài)環(huán)境下,都能夠互相之間進行緊密項鏈,然后協(xié)調(diào)工作,保證各個系統(tǒng)之間的互通性和互聯(lián)性,這樣以來不但可以提升計算機軟件工程自身的開放性水平,更可以有效的拓展計算機軟件系統(tǒng)的應(yīng)用范圍。
1.2.3 反應(yīng)性
在這個飛速發(fā)展的社會背景下,計算機軟件自身就要有能夠與時代之間所契合的特點,因此計算機軟件工程就必須具有良好的反應(yīng)能力、感知水平,只有這樣計算機軟件的開發(fā)與發(fā)展才能夠被更好的推動,更好的滿足社會各個領(lǐng)域的需求。
1.2.4 多元性
由于計算機與互聯(lián)網(wǎng)都具有多變性,并且一直處于發(fā)展期間,一直在不斷完善自身,所以要想在這種瞬息萬變的環(huán)境中進行發(fā)展,那么計算機軟件工程在設(shè)計、開發(fā)及其發(fā)展就要遵循多元化發(fā)展,進而才能對不同的用戶不同的需求進行不一樣的滿足。
隨著網(wǎng)絡(luò)信息的普遍增加,人們對于軟件工程數(shù)據(jù)的挖掘技術(shù)要求變得更高,其一要求這項技術(shù)可以在互聯(lián)網(wǎng)當(dāng)中獲取更加有價值的數(shù)據(jù),然后對這些有價值的數(shù)據(jù)進行處理,來達到一系列的目的。在20世紀(jì)下半葉的時期,那時數(shù)據(jù)挖掘技術(shù)只是在多個學(xué)科的發(fā)展基礎(chǔ)上建立起來的,而隨著數(shù)據(jù)積累的不斷膨脹,致使很多的日?;静僮骱茈y滿足要求,與此同時計算機技術(shù)領(lǐng)域的人工智能取得了質(zhì)的發(fā)展,進入利用機器學(xué)習(xí)的階段。所以,人們便通過這兩項技術(shù),想出來讓這兩項技術(shù)相結(jié)合的辦法,通過計算機的數(shù)據(jù)庫管理系統(tǒng)來進行存儲互聯(lián)網(wǎng)下的數(shù)據(jù)信息,然后用計算機機器剖析數(shù)據(jù)信息,然后通過這兩者的結(jié)合,便產(chǎn)生了一種新型學(xué)科,即數(shù)據(jù)庫中的知識發(fā)現(xiàn)(KDD),所謂軟件工程中的數(shù)據(jù)挖掘技術(shù)就是知識發(fā)現(xiàn)的核心部分之一,軟件工程數(shù)據(jù)挖掘就是指在眾多的數(shù)據(jù)集合中快速摘取出最有用的信息的過程。在進入二十一世紀(jì)之后,數(shù)據(jù)挖掘技術(shù)已經(jīng)成為了一門較為成熟的學(xué)科,并且隨著互聯(lián)網(wǎng)信息技術(shù)的快速發(fā)展也日益的成熟起來。如今,數(shù)據(jù)挖掘已經(jīng)成為對人類產(chǎn)生重大影響的技術(shù)之一。
所謂軟件重用技術(shù)是指利用可重用的軟件成分來開發(fā)軟件技術(shù),當(dāng)今主要有三種軟件重用技術(shù)。
2.2.1 軟件組合技術(shù)
軟件組合技術(shù)是通過按照一定的規(guī)則把可重用的軟件成分組合到一起,從而構(gòu)成新的軟件成份。該技術(shù)的特點是可重用的軟件成份在組合過程可以保持不變,并且該技術(shù)在教學(xué)與工程方面的應(yīng)用已經(jīng)較為廣泛。
2.2.2 軟件生成技術(shù)
軟件生成技術(shù)指的是可以根據(jù)形式化的軟件功能描述與一定的生成機理通過已有的可重用的軟件成份生成新的功能相似的軟件成份或軟件系統(tǒng)。但是使用這個技術(shù)需要可重用軟件庫與知識庫的支持,利用知識庫來存儲軟件生成機理與規(guī)則。
2.2.3 OO 技術(shù)
OO 技術(shù)在90年代是最具研究代表性的課題之一。OO 技術(shù)通過對應(yīng)用領(lǐng)域的問題空間對象進行直接建模,用更自然的方式去模擬人類認識世界,并將問題空間映射到空間。這種技術(shù)是基于問題對象的由底向上的開發(fā)方式,其強調(diào)的是從問題的內(nèi)部結(jié)構(gòu)去模擬客觀世界,從而使得軟件更加易于使用、理解、維護與重用。
OO 技術(shù)的設(shè)計開發(fā)使得開發(fā)人員逐漸的擺脫了數(shù)據(jù)格式與具體過程的束縛,從而便可以全身心的投入到研究所里要處理的對象之中。除此之外,OO 的設(shè)計方法在組合可重用軟件成份的時候有很大的靈活性,并且可以以已有的對象為基礎(chǔ)衍生出新的對象,由此實現(xiàn)的可重用性不僅是自然的,更是準(zhǔn)確的。OO 技術(shù)為軟件重用技術(shù)的發(fā)展起到了不可忽視的作用。
通過圖規(guī)劃技術(shù)在軟件工程中的應(yīng)用,使得軟件工程自動化程度有了很大的提升,為我國人工智能技術(shù)得創(chuàng)新起到了推動作用。一般情況而言,如果想要充分的調(diào)用規(guī)劃器,第一步就是要對規(guī)劃器的初始狀態(tài),目標(biāo)以及領(lǐng)域動作用相應(yīng)的語言形式表現(xiàn)出來,對于求解并不會因為受到初始狀態(tài)以及初始目標(biāo)的改變所影響。然而在軟件工程中,如果可以合理的應(yīng)用規(guī)劃器將會使軟件工程在實現(xiàn)自動化的基礎(chǔ)上得到進一步的提升,并且會使得軟件本身的重要性得以發(fā)揮。
結(jié)構(gòu)化設(shè)計的應(yīng)用目的在于在應(yīng)用人工智能規(guī)劃技術(shù)的基礎(chǔ)上可以將功能框架進行分析與導(dǎo)出,但在此過程中需要滿足系統(tǒng)軟件的相關(guān)需求,而后再根據(jù)實例描繪出算法自動設(shè)計軟件的系統(tǒng)架構(gòu)。對于需求結(jié)構(gòu)的分析主要是通過SDGP 的處理方式得以進行,通過這種形式的處理將設(shè)計結(jié)構(gòu)進行處理進而得到最終的輸出軟件設(shè)計結(jié)構(gòu)。對于我國而言,使用這種方法對智能規(guī)劃應(yīng)用的軟件工程起到較大的促進作用,并且能夠切合實際的解決抽象層次的問題,從而使其具備較強的優(yōu)越性。
數(shù)據(jù)挖掘?qū)τ谠趯嶋H生活中的應(yīng)用來說,具有很多的特點。例如數(shù)據(jù)的復(fù)雜性、數(shù)據(jù)結(jié)果的特殊性與數(shù)據(jù)結(jié)果的多元性。相對比各種技術(shù)來說,軟件工程的數(shù)據(jù)挖掘技術(shù)更加復(fù)雜,但是該特點主要是表現(xiàn)在軟件工程的數(shù)據(jù)中,不但像各項技術(shù)一樣含有軟件報告和軟件的版本信息,還會需要到很多的注釋和代碼數(shù)據(jù),并且數(shù)據(jù)挖掘技術(shù)所挖掘到的數(shù)據(jù)信息都是具備特殊性的。往往在大量的軟件工程的數(shù)據(jù)中通過處理、表達、提取、分析、處理、輸出等等的操作以此來挖掘相關(guān)重要的信息。對于軟件工程的數(shù)據(jù)挖掘技術(shù)來說,對于相關(guān)技術(shù)人員的專業(yè)水平也是有著非常嚴(yán)格的要求,所獲得的結(jié)果也是非常的復(fù)雜,需要技術(shù)人員后續(xù)的處理才可以。
數(shù)據(jù)挖掘是當(dāng)今軟件工程中的一項新技術(shù)。并且含有多項規(guī)則,以此規(guī)范數(shù)據(jù)挖掘的使用。根據(jù)規(guī)則中處理的變量的類別,可以將規(guī)則分為布爾型和數(shù)值型。布爾型就是處理的值都是離散的、種類化的,充分的表達出變量之間的關(guān)系。而數(shù)值型關(guān)聯(lián)性規(guī)則則是將多維關(guān)聯(lián)規(guī)則融合到了一起,對所有的數(shù)值型字段進行處理,進行動態(tài)的分割或者對最初始的數(shù)據(jù)進行處理。根據(jù)數(shù)據(jù)的抽象層次,又可以分為單層規(guī)則和多層規(guī)則。單層的關(guān)聯(lián)規(guī)則是要讓所有的變量都不考慮現(xiàn)實的數(shù)據(jù)是具有多個不同的層次的。而多層次的關(guān)聯(lián)規(guī)則是指要對所處理的顯示的數(shù)據(jù)的層次進行詳細的考慮。而根據(jù)規(guī)則中要涉及到的數(shù)據(jù)的維數(shù),關(guān)聯(lián)規(guī)則可以分為單維關(guān)聯(lián)規(guī)則和多維關(guān)聯(lián)規(guī)則。所謂單維規(guī)則就是僅僅涉及到數(shù)據(jù)的一個維,處理單個屬性中的一些關(guān)系。而多維關(guān)聯(lián)規(guī)則是要設(shè)計多個維,處理各個屬性之間的某些關(guān)系。各個規(guī)則相互依存,共同作用。
在可重用的軟件中,其不僅包含可重用的軟件成分,而且對于整個的軟件系統(tǒng)都具備可重用性,也就是說在某些環(huán)境與功能需求發(fā)生改變時,其可以通過一些部分性的修改,在保持整體穩(wěn)定性的前提下,去適應(yīng)新的需求與環(huán)境。對于可重用的軟件成份其必須要具備以下屬性:首先是要具備完善的功能,并且要已經(jīng)被確認了的良好模塊化。其次是結(jié)構(gòu)要清晰,要具備良好的可讀性與可理解性。然后是界面的標(biāo)準(zhǔn)要統(tǒng)一,即要具有標(biāo)準(zhǔn)的數(shù)據(jù)模式,為的是便于統(tǒng)一性的組織與管理。
重用指的是同一事物可以不用修改或者稍微改動一點就可以多次的重復(fù)性使用。也就是說,軟件的重用可以大致分為三個層次:方法與標(biāo)準(zhǔn)的重用、軟件成分的重用以及知識的重用。以重用的軟件開發(fā)方法為基礎(chǔ)在改進軟件的生產(chǎn)力方面有著獨特的效果。但是在實踐之中,由于制約因素有很多,系統(tǒng)地開發(fā)可重用軟件便成為了制約因素之一。軟件成份在開發(fā)時所采用的方法會與當(dāng)前和未來的可重用性之間有密切聯(lián)系,也就是說軟件的開發(fā)方法越系統(tǒng)化,其軟件資源的可重用性潛力便越大。
隨著計算機軟件工程的不斷進步,人們的生活水平也在不斷的提高,手機則成為了人們?nèi)粘1夭豢缮俚囊粋€設(shè)備,計算機軟件工程技術(shù)與現(xiàn)代電子設(shè)備的相結(jié)合,出現(xiàn)了很多受人們歡迎的應(yīng)用軟件,例如微信、QQ 等,使得人們通訊變得更加的方便,并且還可以在這些軟件上分享自己生活瑣事,人們的生活由此變得更加豐富起來,在飛速發(fā)展的當(dāng)今,人們可以僅憑一個手機實現(xiàn)人與人之間的溝通交流,所以現(xiàn)如今很多營銷方式也進行了大幅度的改革,人們在網(wǎng)上就可以看到很多商家的產(chǎn)品信息,相比過去,人們足不出戶就可以購買到所需的物品。并且由于3D 技術(shù)的產(chǎn)生,人們在觀看電影時則有了更加的觀影效果,充分感受到了由軟件工程技術(shù)帶來的樂趣。
由于社會生活的快速發(fā)展,對現(xiàn)階段的教育水平則提出了更高的要求,于是像過去那樣一直處于淺顯層面的教育方式顯然已經(jīng)不適用了,就目前而言,教育要與科技技術(shù)相結(jié)合,只有這樣產(chǎn)生的教學(xué)模式才能更適應(yīng)社會,才能得到更多高校的認可。通過計算機軟件工程技術(shù)的不斷完善,在教育行業(yè)有了一定的應(yīng)用,并且小有成效,例如學(xué)校中使用到的多媒體教學(xué),其中就用到了計算機軟件工程技術(shù),通過多媒體教學(xué),教師相比過去在備課方面有所輕松,學(xué)生通過這樣的方式學(xué)習(xí),也有了更高的效率,學(xué)習(xí)積極性也容易被帶動起來。
首先,組件的概念是由Bjame Sreoustrup 所提出來的,組件是一個群組,其是在設(shè)計與實現(xiàn)階段由一些類組成的。每個組件都有其自己的功能,并且有一個和其他組件相連接的接口,當(dāng)一個軟件的功能需要實現(xiàn)時要所有的組件連接到一起才可以,也就是說組件是問題的解決方案與獨立的類之間的接口。組件可以在邏輯上將一個任務(wù)劃分成多個部分,由此便于不同的軟件開發(fā)組完成其功能。
一般情況下,將類劃分成多個部件的方法如下:
(1)將現(xiàn)有的硬件與其他軟件接口的類劃分成一個組件。
(2)將數(shù)據(jù)存取類劃分為一個組件。
(3)將用戶的界面劃分為一個組件。通過劃分這些組件大大地提高了軟件的重用性。
總而言之,隨著我國科學(xué)技術(shù)的不斷提高,計算機軟件工程技術(shù)的不斷發(fā)展,人們的日常生活及工作對于計算機的需要也在提升,以致于在生產(chǎn)生活中的各個領(lǐng)域中都可以看到計算機軟件工程技術(shù)的影子。計算機軟件工程是我國現(xiàn)代化發(fā)展的重要推動力,其關(guān)乎著我國整體的經(jīng)濟建設(shè)。隨著信息化時代的到來,不僅要求軟件工程要不斷提高現(xiàn)代化技術(shù),更需要多方面的共同努力,才能促進軟件工程的健康發(fā)展,將計算機軟件工程中融入現(xiàn)代化技術(shù),對我國的經(jīng)濟建設(shè)意義重大。