計算機軟件基礎(chǔ)范文

時間:2023-05-06 18:23:25

導(dǎo)語:如何才能寫好一篇計算機軟件基礎(chǔ),這就需要搜集整理更多的資料和文獻,歡迎閱讀由公文云整理的十篇范文,供你借鑒。

計算機軟件基礎(chǔ)

篇1

關(guān)鍵詞:關(guān)鍵詞:計算機軟件;數(shù)據(jù)結(jié)構(gòu);算法

中圖分類號:TP311     文獻標(biāo)識碼:A     文章編號:

    1.計算機軟件基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)之算法概述

    1.1算法的兩要素

    算法有兩部分:其中一部分是對信息的操作處理,一共有四種常見的處理方式:分別為邏輯符號“與”、“或”、“非”;數(shù)學(xué)計算;信息的對比:大,小,相等和不等;信息的傳遞:傳入,傳出,定值等;另一部分是對信息的處理方式的操作結(jié)構(gòu),它引導(dǎo)各指令的有序進行,一般,采用流程圖法來對其進行描述。

    1.2算法的特征

    算法是有限指令的整體,這些指令明確了處理問題的步驟。針對相應(yīng)問題,該整體能夠?qū)θ魏味ㄖ蛋凑疹A(yù)先設(shè)定的指令逐步進行運算處理,并且通過一定數(shù)量的運算后傳送出計算機最后得出的結(jié)果,從整體看,其必須包含有限數(shù)量的指令,并且每條指令必須意思明確,不能有多層意思;其次,這些指令必須是計算機能力以內(nèi)的,若超出其能力范圍,該指令就不能夠執(zhí)行,對后面也會有影響;它自身對被處理對象沒有要求,被處理對象的數(shù)量不會對這些指令產(chǎn)生影響,但是 ,一定要有一個或多個傳遞末端,否則,這個算法就什么意義業(yè)也有了[1]。

    1.3算法的表示

    從某種程度來講,大部分人可以采用各種文字和符號來編譯算法,目前,現(xiàn)行的主要有這幾種:一般性文字,C語言、程序圖、N-S圖、PAD圖等。其中一般性文字和C語言是具體詳細的描述算法的,而其他的則是描述算法大致內(nèi)容的作圖形式,它可以直觀的表達出設(shè)計者的思路想法,更便于理解學(xué)習(xí),

    1.4常用算法

    1.4.1枚舉法

枚舉法的主要內(nèi)容是通過信息的的某些特點來估計運行結(jié)果的大概區(qū)域,接著通過一些手段來逐一檢驗該區(qū)域中的每一個結(jié)果,一直驗證到所有的符合才停止,并且,如果在這些被驗證過的對象中有能夠滿足該算法的所有要求的,那么這個對象就是計算機最終會傳遞的結(jié)果,如果在驗證過程中沒有一個達到要求的,那么就表明該算法無解。

    通過其運行原理,可以發(fā)現(xiàn)其特點有:工作原理簡答明了,容易接受。但是有一個顯著缺點就是運行速度慢,工作量大。它一般只適用于一些無法用其他方法解決的問題。在實際中,大部分人會采用它解決“某個問題是否有解”、“組合情況 ”等相似問題,設(shè)計者在設(shè)計算法時用循環(huán)來構(gòu)造枚舉法的整體。例如本國偉大的數(shù)學(xué)家張丘建在《算經(jīng)》中的“千幣千鴨問題”就可以用枚舉法來解決。

    其次,筆者還總結(jié)了采用枚舉法時可以遵循的大致步驟:

    第一步:通過問題,預(yù)估問題大致范圍;

    第二步:選出枚舉法的具體形式——一般枚舉法的具體形式有順序列舉,逐一列 舉,按類型列舉等方法;

    第三步:逐個代入并驗證;

    第四步:確定所要的答案,得出結(jié)果,或者該算法無解;

    1.4.2迭代法

    該方法所求結(jié)果不是精確的,是一種粗略求法,生活中很多方面,多要采用這種方法來處理問題,它有一個特征就是:將一個很麻煩的問題等價轉(zhuǎn)變成為比較簡單的迭代算式,并且重復(fù)循環(huán)這一步驟,最終由繁化簡,得出問題的答案,這種算法一般只適用于非數(shù)值類的問題。

    1.4.3遞推和遞歸法

    這兩種方法在算法指令的編寫中占據(jù)了主導(dǎo)地位,而且都運用了一些特殊的公式的性質(zhì)逐項推導(dǎo)出來的,例如,運算出級數(shù)的結(jié)果,條件是,一般給出該式的規(guī)律,從而求出該數(shù)列的通項。

    其中,遞推法也就是通過特殊的公式,從簡單的入手,把前面的出的結(jié)果逐個的帶入到后項中進行求解,該法的重要之處是特殊公式(滿足一定的規(guī)律),例如:計算出某個數(shù)的階乘,從表面就可以看出該特殊公式是G(m)=m G(m

    -1),但是,有時候有些問題的特殊是不好得到[2]。

    2.計算機軟件基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)之算法的設(shè)計要求

    語言,是一門藝術(shù)。不論是交流,溝通,還是成為記憶的另一種形式,都在生活中起到了主導(dǎo)作用。一句話可以創(chuàng)造奇跡,同時也可以毀滅奇跡。算法,就像語言一樣,它是人類和計算機溝通的語言,通過它,人們可以和計算機交流,讓它按照預(yù)先設(shè)計的指令執(zhí)行任務(wù),但是,所給出的指令有一定的要求——就像人們之間交流的行為準(zhǔn)則一樣。

    2.1正確性

    設(shè)計者必須按照算法的規(guī)則來編譯指令,這樣才能正確的和計算交流,讓它正確的執(zhí)行任務(wù),所以,其正確性中的最重要的一點就是不能出現(xiàn)語法錯誤(這就好比所學(xué)習(xí)的英語和其他國家的語言一樣),這樣,先不談?wù)摻Y(jié)果的正確性,至少計算機可以得出滿足規(guī)定的的答案。

    2.2可讀性

算法的可讀特性,它的意思是算法的總體思路易于理解,試想,一個混亂的算法,頭腦在聰明的人也不能一下子就明白算法的原理,更何況是讓電腦得出所要的答案呢。

    2.3穩(wěn)定性

   算法的穩(wěn)定性,就好比機械設(shè)備一樣,如果它的工作狀態(tài)不夠穩(wěn)定,那么它就很容易產(chǎn)生出奇怪難懂的問題,算法也是如此,如果它自身不夠穩(wěn)定,那么計算機在運行時,就會很容易產(chǎn)生處錯誤,最頻繁的錯誤就是出現(xiàn)亂碼,雖然不是次次都會這樣,但是給人的總體效果就像是算法存在問題,因此,穩(wěn)定性對于算法來講,也相當(dāng)重要,好的算法都有這一特點。

   2.4高效低耗性能

    眾所周知,計算機的內(nèi)部器件的好壞決定了其自身的性能的好壞,算法也是如此,好的算法都能以最低的消耗,以最短的時間得出答案,這些都是有計算機內(nèi)部工作原理決定的:最主要的因素就是運算速度和存儲大小的聯(lián)系。這些,就是算法主要的一些特點,也是計算機數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)[3]。

    3.計算機軟件基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)之算法的復(fù)雜度分析

    算法的復(fù)雜度決定了該算法在執(zhí)行過程中并最終得出結(jié)果所消耗的總時間,設(shè)計者一般也是由算法的復(fù)雜度來判斷某一類算法的辦事效率的,因為消耗時間直接和算法所需要的內(nèi)存大小直接掛鉤。而評判者的主要判斷依據(jù)就是運行時長和內(nèi)存消耗。

    3.1運行時長

     一般,設(shè)計者不是根據(jù)所計算的算法運行的總時間來衡量時長的大小的,原因是算法運行的載體仍舊是計算機,而計算機的運行速度有和蠻多因素相關(guān),比如:環(huán)境溫度,計算機的外部設(shè)備 和內(nèi)部設(shè)備等。所以,一樣的算法在不同的運行載體上所產(chǎn)生的效果也不是完全一樣的。同時,這一數(shù)據(jù)的大小并不是用來衡量某一算法效率的,而是用來判定算法在時間上的損耗,進而作為評判算法的好壞的標(biāo)準(zhǔn)之一,而且所占的比重是比較大的。

    3.2內(nèi)存消耗

    內(nèi)存消耗指的是計算機在運行某一算法時暫時需要用到空間大小的尺度,它也和上文中提到的z函數(shù)有關(guān)。它的主要內(nèi)容有傳入傳出信息所占的內(nèi)存以及算法運行過程中暫時性占用的內(nèi)存大小。其中,傳入傳出信息所占的內(nèi)存和需要解決的問題相關(guān),并由它來決定其大小,一般不會隨著算法的變化而變化;而運行過程中暫時性占用的內(nèi)存大小恰恰由算法來決定,不同的算法所需要的內(nèi)存也會不一樣,因此,一般較好的算法方式,所需要的內(nèi)存大小都比較少,這也是為什么內(nèi)存消耗會成為判定一算法好與壞的又一重要標(biāo)準(zhǔn)之一[4]。

    4.結(jié)語 

    總而言之,計算機軟件基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)之算法 是學(xué)習(xí)者了解數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ),它所包含的內(nèi)容,可以幫助學(xué)習(xí)者了解計算機內(nèi)部的運行情況,便于學(xué)習(xí)者更好地掌握計算機起到了一定的作用,同時,設(shè)計者可以學(xué)以自用,解決一些在數(shù)學(xué),生活中遇到的不易解決的麻煩。

參考文獻:

[1]楊飛宇.計算機應(yīng)用基礎(chǔ)項目教程[J].社會科學(xué),2009(2).

[2]肖明輝. 淺談計算機基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)[J].新課程,2010(12).

篇2

(荊楚理工學(xué)院,湖北 荊門 448002)

摘要:隨著現(xiàn)代社會經(jīng)濟的快速發(fā)展,以及計算機網(wǎng)絡(luò)信息技術(shù)的推廣普及.在現(xiàn)代社會計算機軟件應(yīng)用范圍極大擴展,幾乎囊括了社會經(jīng)濟的所有領(lǐng)域,這種情況下計算機軟件的開發(fā)工作也逐漸成為一個涉及廣泛的龐大產(chǎn)業(yè).在計算機軟件的設(shè)計過程中因為計算機軟件個體的特殊性原因,設(shè)計工作的效率比較難提高、設(shè)計成本也比較難以控制.當(dāng)前解決這一問題的主要方式是計算機軟件開發(fā)的基礎(chǔ)架構(gòu)理念水平提升.因此本文將從基礎(chǔ)架構(gòu)原理的角度出發(fā),結(jié)合現(xiàn)代計算機軟件開發(fā)的實際情況,對計算機軟件開發(fā)的基礎(chǔ)架構(gòu)原理進行簡要分析.

關(guān)鍵詞 :計算機;軟件開發(fā);基礎(chǔ)架構(gòu)原理

中圖分類號:TP31文獻標(biāo)識碼:A文章編號:1673-260X(2015)05-0025-02

在社會經(jīng)濟發(fā)展的強力推動下,現(xiàn)代計算機軟件技術(shù)已經(jīng)滲透到社會生活的各個領(lǐng)域,對社會經(jīng)濟活動具有舉足輕重的影響.由于計算機軟件技術(shù)產(chǎn)生的較晚,我國與其他國家的計算機軟件設(shè)計水平差距不大,始終保持著國際均勢.當(dāng)前要想進一步提高計算機軟件的設(shè)計水平,已經(jīng)不能單純依靠設(shè)計技術(shù)的進步,而應(yīng)該從在算機軟件設(shè)計的框架原理上進行創(chuàng)新,只有優(yōu)秀的基礎(chǔ)架構(gòu)才能保證計算機軟件設(shè)計的高效.

1 計算機軟件設(shè)計概述

1.1 計算機軟件設(shè)計的概念

在計算機產(chǎn)生的早期,受計算機性能和應(yīng)用范圍的限制,并沒有計算機軟件這一概念.但是在晶體管和大規(guī)模集成電路應(yīng)用以后,計算機的性能有了極大的提升.同時其適用的領(lǐng)域也有了極大的拓展,在這種情況下為了更加科學(xué)、合理的應(yīng)用計算機的能力,就需要計算機軟件的介入.由此產(chǎn)生了計算機的操作系統(tǒng),也就是計算機最早的系統(tǒng)軟件.由于計算機軟件的存在能夠極大的提升計算機的應(yīng)用性能,所以計算機在不同領(lǐng)域應(yīng)用設(shè)計人員就會根據(jù)這一領(lǐng)域的特點設(shè)計了不同的計算機軟件系統(tǒng).如在機械制造領(lǐng)域就有CAD和CAM等軟件,在設(shè)計領(lǐng)域有PhotoShop等軟件,隨著計算機應(yīng)用范圍的擴展和應(yīng)用數(shù)量的增加,在一些特殊領(lǐng)域需要應(yīng)用到之前沒有的軟件,就需要計算機軟件的設(shè)計主體進行計算機軟件的開發(fā)工作.

在具體的計算機軟件開發(fā)工作中軟件開發(fā)共分為兩種,一種軟件開發(fā)形式是開發(fā)主體先進行開發(fā),在開發(fā)完成以后在尋找市場.一種軟件開發(fā)針對目前市場上的應(yīng)用需求,進行針對性的應(yīng)用軟件開發(fā).

1.2 計算機軟件開發(fā)的特點

計算機軟件開發(fā)活動在持續(xù)了多年以后,已經(jīng)逐漸形成了獨立的學(xué)科體系,當(dāng)前國內(nèi)很多高校等開設(shè)了計算機軟件設(shè)計這一課程.計算機軟件在具體的開發(fā)實踐中表現(xiàn)出了兩個主要特點:持續(xù)性和針對性.計算機軟件開發(fā)活動持續(xù)了很多年,市面上的計算機軟件數(shù)量極多,但是因為經(jīng)濟發(fā)展和技術(shù)進步,還是不斷有新的計算機軟件需求產(chǎn)生,不斷有新的計算機軟件開發(fā)出來.同時因為計算機軟件本身是在特定邏輯關(guān)系上形成的描述語句,所以根本不會有完美的軟件產(chǎn)生,每一個計算機軟件在誕生以后都需要不斷的修補和完善,所以計算機軟件開發(fā)最大的特點就是持續(xù)性.

受現(xiàn)代社會經(jīng)濟發(fā)展形勢的影響,當(dāng)前社會經(jīng)濟發(fā)展體系逐漸完善,新生的經(jīng)濟形式更多的向微觀經(jīng)濟領(lǐng)域發(fā)展,企業(yè)主體對計算機軟件的需求愈發(fā)個性化.同時隨著計算機軟件設(shè)計企業(yè)數(shù)量的增多,計算機軟件設(shè)計主體為了迎合用戶的需求,更多的推出了針對性的計算機軟件設(shè)計理念,針對性成為新時期計算機軟件設(shè)計的新特征.

1.3 計算機軟件開發(fā)的發(fā)展

計算機誕生后不久,在晶體管和大規(guī)模集成電路基礎(chǔ)上形成的操作系統(tǒng)逐漸成型.而計算機之所以能夠執(zhí)行特定的任務(wù)是因為CPU將線路的通與不通和二進制數(shù)聯(lián)系在一起,這樣操作人員就可以借助二進制數(shù)對計算機命令.但是因為二進制數(shù)本身并不符合人們本身的使用習(xí)慣而且較為復(fù)雜,所以設(shè)計人員在二進制數(shù)的基礎(chǔ)上開發(fā)了計算機編程的高級語言.從某種程度上來說計算機軟件開發(fā)受到高級語言的影響極大,在現(xiàn)代社會借助高級編程語言VF和VB即使是非專業(yè)軟件開發(fā)人員也能夠完成簡單的計算機軟件開發(fā)任務(wù).細數(shù)計算機軟件開發(fā)的發(fā)展過程就會發(fā)現(xiàn),計算機軟件的開發(fā)活動正向著簡單化的方向發(fā)展.同時隨著社會經(jīng)濟的發(fā)展和社會化大生產(chǎn)模式的普及,社會分工越來越細,能夠在不同領(lǐng)域通用的計算機軟件越來越少,計算機軟件開發(fā)工作對開發(fā)人員的綜合素質(zhì)要求提升[1].

2 計算機軟件開發(fā)中基礎(chǔ)架構(gòu)原理分析

2.1 基礎(chǔ)架構(gòu)的需求分析

在計算機軟件的開發(fā)活動中,軟件本身的需求分析是最為重要的一個環(huán)節(jié),如前文所述現(xiàn)代社會經(jīng)濟主體對計算機軟件系統(tǒng)的需求表現(xiàn)出高度的個性化,企業(yè)經(jīng)營項目的不同、運營方式的不同、管理方式的不同都會導(dǎo)致用戶對計算機軟件設(shè)計的不同需求.所以計算機軟件設(shè)計的需求分析是軟件開發(fā)的第一步也是最重要的一步.如果不能透徹的理解用戶的計算機軟件需求,就可能會導(dǎo)致計算機軟件設(shè)計的偏差,甚至是失敗.

當(dāng)前我國的計算機軟件開發(fā)主體在運營過程中對需求分析環(huán)節(jié)的重視程度還存在不足.具體表現(xiàn)為我國的計算機軟件設(shè)計企業(yè)在運營模式上采取經(jīng)營主體與設(shè)計主體分開的經(jīng)營方式,與客戶就軟件設(shè)計需求進行溝通的往往是計算機設(shè)計企業(yè)的經(jīng)營人員,而從事計算機軟件具體開發(fā)的人員往往是設(shè)計人員.用戶的需求經(jīng)過經(jīng)營人員的轉(zhuǎn)述后往往會導(dǎo)致設(shè)計人員對用戶需求的誤解[2].

2.2 基礎(chǔ)架構(gòu)的編寫

在具體的需求分析工作完成以后,就需要設(shè)計主體根據(jù)用戶的設(shè)計需求進行軟件的編寫工作,當(dāng)前在軟件編寫工作中應(yīng)用最多的編程語言是C語言,這種編程語言的主要特點是結(jié)構(gòu)性突出、基礎(chǔ)架構(gòu)優(yōu)秀,能夠為后繼的編寫工作提供更多的便利.在軟件的實際編寫過程中為了提高軟件的編寫速度,設(shè)計主體往往會采用多個工作面同時工作的方式進行編寫.具體而言就是根據(jù)計算機軟件的結(jié)構(gòu)特性將軟件分為幾個關(guān)鍵模塊,每個模塊形成一個工作面由一個編程人員進行編寫,在編寫工作完成之后再設(shè)置一個主函數(shù)連接各個模塊,從軟件應(yīng)用的整體來看,使用者需要應(yīng)用軟件的某個功能主函數(shù)就能夠調(diào)用某個模塊滿足用戶的需求[3].在保證計算機軟件開發(fā)質(zhì)量的基礎(chǔ)上,最大限度的提升了計算機軟件編程的效率.

2.3 基礎(chǔ)架構(gòu)的測試與維護

從計算機軟件設(shè)計主體的角度來看,設(shè)計完成的計算機軟件是不能直接應(yīng)用的,因為工程設(shè)計軟件與目標(biāo)設(shè)計相比還存在著較大的差距,盲目的應(yīng)用會危害到計算機軟件的安全,也會對應(yīng)用企業(yè)主體造成損失.設(shè)計完成的計算機軟件只有在完成測試工作之后才能投入實用.在計算機軟件測試領(lǐng)域傳統(tǒng)的測試方法是數(shù)值輸入測試法,以預(yù)先計算好結(jié)果的數(shù)據(jù)輸入到軟件系統(tǒng)中,如果輸出的結(jié)果是正確的那么就可以斷定計算機軟件沒有問題.但是這種測試方法本身存在著較大的局限性,因為輸出結(jié)果的正確性是不能保證計算機軟件系統(tǒng)內(nèi)部數(shù)據(jù)處理過程的正確性的.也就是說計算機軟件顯示正確結(jié)果可能是一個偶然性事件,并不能夠完全證明軟件本身的合理性.所以在這一疑問的推動下設(shè)計人員開發(fā)了專門針對計算機軟件特點設(shè)置的測試軟件,應(yīng)用測試軟件能夠保證對計算機軟件系統(tǒng)結(jié)果和過程的全方位檢測[4].

3 計算機軟件開發(fā)中的基礎(chǔ)架構(gòu)選擇

3.1 基礎(chǔ)架構(gòu)的重要性

計算機的軟件設(shè)計是利用特定的邏輯關(guān)系對軟件內(nèi)容的定義,具體的軟件設(shè)計工作就是對軟件內(nèi)容的定義,而特定的邏輯關(guān)系就是計算機軟件開發(fā)的基礎(chǔ)架構(gòu).計算機軟件設(shè)計的基礎(chǔ)架構(gòu)不僅能夠決定計算機軟件的運行方式和流程,而且還會對軟件的未來維護和擴展產(chǎn)生影響,例如計算機軟件的基礎(chǔ)架構(gòu)如果是封閉式的就不具備基本的擴展能力.

當(dāng)前計算機軟件設(shè)計領(lǐng)域應(yīng)用最廣泛的基礎(chǔ)架構(gòu)就是表示層、邏輯層和數(shù)據(jù)層三層結(jié)構(gòu)組成的B/S基礎(chǔ)架構(gòu),在這一基礎(chǔ)架構(gòu)中軟件的表示層、邏輯層和數(shù)據(jù)層,分別對應(yīng)軟件系統(tǒng)的人機交互界面、邏輯關(guān)系和計算機語言區(qū).在軟件的設(shè)計活動中,設(shè)計主體可以以此為節(jié)點將整個軟件拆分為幾個部分,進行分別設(shè)計.同時在軟件系統(tǒng)擴展和維護中,也可以對任意一個層次的內(nèi)容進行修改而不用擔(dān)心修改會對系統(tǒng)的其他部分造成影響,由此可見一個優(yōu)秀的計算機軟件設(shè)計基礎(chǔ)架構(gòu)能夠極大的提升計算機軟件的設(shè)計效率和應(yīng)用效率[5].

所以在具體的軟件設(shè)計活動中,設(shè)計主體應(yīng)該根據(jù)用戶主體的實際需求和軟件的功能實際,選擇有針對性的、高效的計算機軟件基礎(chǔ)架構(gòu),以提升計算機軟件的設(shè)計質(zhì)量和效率.

3.2 基礎(chǔ)架構(gòu)的選擇

現(xiàn)代計算機軟件設(shè)計已經(jīng)成為一個系統(tǒng)性的工程,軟件設(shè)計的其他環(huán)節(jié)已經(jīng)形成了一定的模式,所以計算機軟件設(shè)計活動中最為重要的就是基礎(chǔ)架構(gòu)的設(shè)計.只有選擇一個優(yōu)秀的基礎(chǔ)架構(gòu)才能保證計算機軟件后繼的程序編寫、維護和拓展的高效和便利,因此在實際的計算機軟件開發(fā)活動中,必須根據(jù)軟件的目標(biāo)功能,對現(xiàn)有的基礎(chǔ)框架進行分析和甄選,最后選擇一個最為適合的基礎(chǔ)架構(gòu).當(dāng)前計算機軟件設(shè)計的主要編程語言C語言已經(jīng)應(yīng)用較長時間,積淀了大量的優(yōu)秀計算機軟件架構(gòu),基本不需要基礎(chǔ)架構(gòu)的重新開發(fā),設(shè)計主體只要根據(jù)軟件的目標(biāo)功能和結(jié)構(gòu)選擇一個合適的架構(gòu)就可以[6].

4 結(jié)論

計算機軟件開發(fā)隨著計算機軟件應(yīng)用范圍的擴大而備受關(guān)注,計算機軟件開發(fā)的過程中基礎(chǔ)架構(gòu)原理是影響軟件開發(fā)效果的直接因素,因此對計算機軟件開發(fā)的基礎(chǔ)架構(gòu)原理的研究具有鮮明的現(xiàn)實意義.本文從計算機軟件設(shè)計概述、計算機軟件開發(fā)中基礎(chǔ)架構(gòu)原理分析、計算機軟件開發(fā)中的基礎(chǔ)架構(gòu)選擇三個方面對這一問題進行了簡要分析,認為在計算機軟件開發(fā)活動中基礎(chǔ)架構(gòu)的影響是基礎(chǔ)性的,計算機軟件開發(fā)的基礎(chǔ)架構(gòu)選擇應(yīng)該秉承符合實際、功能優(yōu)先的原則來進行.

參考文獻:

〔1〕向健極.計算機軟件開發(fā)的基礎(chǔ)架構(gòu)原理分析[J].武漢冶金管理干部學(xué)院學(xué)報,2014(02):70-72.

〔2〕潘斌.計算機軟件開發(fā)的基礎(chǔ)架構(gòu)原理分析[J].電子制作,2014(19):223-224.

〔3〕杜彥斌.面向服務(wù)軟件體系架構(gòu)原理與范例研究[D].首都經(jīng)濟貿(mào)易大學(xué),2005.

〔4〕王運嘉.計算機軟件整體保護模式之探討[D].中國政法大學(xué),2014.

篇3

一、系統(tǒng)計劃:它包括系統(tǒng)定義及分析、可行性研究和實施計劃報告的編寫。1、系統(tǒng)定義是制定軟件計劃的第一步,它應(yīng)決定所開發(fā)軟件的總目標(biāo),其任務(wù)包括首先是確定所開發(fā)軟件的總體要求和適用范圍,描述所開發(fā)軟件與外界接口的關(guān)系;其次是確定所需硬件和軟件的支持,對開發(fā)的進度和成本作初步估計;第三是分析系統(tǒng)的可行性是否確定所開發(fā)軟件與原軟件的兼容性或其它關(guān)系;最后是確定所開發(fā)軟件的性能與其內(nèi)部復(fù)雜性之間的折中關(guān)系。2、可行性研究它包括技術(shù)可行性、經(jīng)濟可行性及社會可行性方面。技術(shù)可行性是研究應(yīng)弄清現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,對參加開發(fā)工作的人員應(yīng)有哪些技術(shù)方面的要求。硬件配置能否滿足開發(fā)的需要,估計的進度是否恰當(dāng)以及對用戶的技術(shù)方面的要求是否合理等等;經(jīng)濟可行性研究的目的是希望以最小的開發(fā)成本取得最佳的經(jīng)濟效益的軟件產(chǎn)品;社會可行性研究則是指所開發(fā)的軟件項目是否涉及到版權(quán)糾紛等法律問題,這樣的軟件產(chǎn)品投入運行后,對生產(chǎn)、管理或經(jīng)營體制帶來有什么社會影響。3、實施計劃報告的編寫是開發(fā)進度、人員投入計劃、人員的組織及其資源的利用作個計劃報告提綱。

二、系統(tǒng)需求分析:需求分析的任務(wù)在于完全地弄清用戶對軟件系統(tǒng)的確切需求,它具有三大特點:準(zhǔn)確性和一致性;清晰性和沒有二義性;直觀、易讀和易于修改。比如,你首先要知道做這個項目是為了解決什么問題;測試案例中應(yīng)該輸入什么數(shù)據(jù)等等,為了清楚地知道這些需求,你經(jīng)常要和客戶、項目經(jīng)理交流等。需求分析的步驟:1、通過對現(xiàn)實環(huán)境的調(diào)查研究,獲得當(dāng)前系統(tǒng)的具體模型;2、去掉具體模型中的非本質(zhì)因素,抽象于當(dāng)前系統(tǒng)的邏輯模型;3、分析當(dāng)前系統(tǒng)與目標(biāo)的差別,建立目標(biāo)系統(tǒng)的邏輯模型;4、對目標(biāo)系統(tǒng)進行完善和補充,并寫出完整的需求說明;5、對需求說明進行復(fù)審,直到確認文檔齊全,并且符合用戶的全部需求為止。

三、系統(tǒng)設(shè)計:主要分成兩步即概要設(shè)計(總體設(shè)計或結(jié)構(gòu)設(shè)計)和詳細設(shè)計。概要設(shè)計階段應(yīng)著重解決實現(xiàn)需求的程序模塊設(shè)計問題,如何把被開發(fā)軟件系統(tǒng)劃分成若干模塊,并決定模塊的接口,模塊間的相互關(guān)系以及模塊之間傳遞的信息。詳細設(shè)計則是要決定每個模塊內(nèi)部的具體算法。經(jīng)概要設(shè)計和詳細設(shè)計完成后,需要進行必要的階段評審,其目的在于使設(shè)計發(fā)生問題能夠及時發(fā)現(xiàn)并得到及時的解決。實際上軟件設(shè)計的主要任務(wù)是就是將軟件分解成模塊,該模塊是指能實現(xiàn)某個功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元。

四、系統(tǒng)編碼:系統(tǒng)編碼即編程序是軟件開發(fā)的最終目標(biāo),是產(chǎn)生能在計算機執(zhí)行的程序,其目的是使用選定的程序設(shè)計語言,把模塊的過程性描述翻譯為用該語言書定的源程序。實質(zhì)上,軟件=程序+文檔。編碼的目的是產(chǎn)生程序,其余階段是產(chǎn)生文檔。軟件編碼是指把軟件設(shè)計轉(zhuǎn)換成計算機可接受的程序,寫成以某一程序設(shè)計語言表示的“源程序清單”。能充分了解軟件開發(fā)語言、工具特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。

五、系統(tǒng)測試:包括測試的方法與技術(shù)和測試步驟。測試在軟件生命期中占重要地位,不僅是因為測試階段占的時間、花費的人力和成本占軟件開發(fā)的比重很大,而且它直接影響著軟件的質(zhì)量。程序中許多細微的地方要求絕對正確無誤,不能半點馬虎。軟件開發(fā)工作在測試以前已經(jīng)歷了制定計劃、需求分析、設(shè)計和編碼等許多階段,每一個人的思維不可能絕對周密,而不可能不出現(xiàn)差錯,更不用說,在大中型軟件開發(fā)項目中,系統(tǒng)內(nèi)各部分之間、各種數(shù)據(jù)之間、各種人員之間存在著復(fù)雜的關(guān)系,因而目前可采用的開發(fā)方法都不能完全避免發(fā)生差錯。1、測試的方法與技術(shù)主要是機器測試與人工測試和白盒測試與黑盒測試。機器測試是在設(shè)定的測試數(shù)據(jù)上執(zhí)行被測程序的過程,又稱為動態(tài)測試。人工測試并不是可有可無的,為了節(jié)約計算機機時采取的權(quán)宜措施。它是機器測試的準(zhǔn)備,也是程序測試中不可缺少的環(huán)節(jié)。而白盒法和黑盒法主要依據(jù)是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯誤。其中接口錯誤包括內(nèi)部、外部借口、資源管理、集成化以及系統(tǒng)錯誤。2、測試步驟。分單元測試(模塊測試)、綜合測試、確認測試和系統(tǒng)測試四部分組成。它是整個計算機系統(tǒng)(包括軟件與硬件)的測試,可與系統(tǒng)的安裝和驗收結(jié)合進行。測試的目的是讓你知道,什么時候算是完成了,這樣可以及時知道你是否真的完成。

測試是軟件開發(fā)時期最繁重的任務(wù),也是保證軟件可靠性最主要的手段,測試的目的是發(fā)現(xiàn)程序的錯誤,而不是證明程序沒有錯誤,軟件的測試通常分散在3個階段進行。編碼階段完成單元測試,包括靜態(tài)分析與動態(tài)測試。

篇4

關(guān)鍵詞:嵌入式;計算機軟件;測試;關(guān)鍵技術(shù)

前言

隨著我國的工業(yè)不斷地進步,科學(xué)技術(shù)的不斷發(fā)展,嵌入式計算機技術(shù)也得到了很大程度的提升。我們身邊普通的計算機并不是嵌入式計算機,嵌入式計算機指的是專門針對某一個項目或者是某一個行業(yè)進行開發(fā)的專業(yè)計算機。嵌入式計算機不僅僅能夠?qū)崿F(xiàn)對需求開發(fā)的功能,有效地提升工作的效率。嵌入式軟件是嵌入式計算機中安裝的軟件,一般情況下,嵌入式軟件都需要根據(jù)不同的工作需要,完成相應(yīng)的功能,這就要求嵌入式軟件要具備一定的穩(wěn)定性,對嵌入式計算機軟件進行測試,能夠很好地保證嵌入式軟件的正常工作。

1什么是嵌入式計算機

嵌入式計算機指的是針對某一種技術(shù),或者是某一種網(wǎng)絡(luò)、某一種功能等專門開發(fā)的計算機系統(tǒng),利用計算機技術(shù),加入嵌入式系統(tǒng),能夠?qū)崿F(xiàn)對計算機硬件和軟件功能的增多,能夠更加適合實際運用的需要。嵌入式計算機針對某一種功能的需要進行開發(fā),對開發(fā)的成本、功能的可靠性以及計算機的大小等因素,都有十分嚴格的要求。通過對計算機處理器、硬件、系統(tǒng)、應(yīng)用等進行嵌入式技術(shù)的操作,能夠更加有效地保證計算機技術(shù)的實現(xiàn)。嵌入式計算機大多被應(yīng)用在工業(yè)生產(chǎn)中,能夠提升工作效率,保證工作的質(zhì)量[1]。

2什么是嵌入式計算機軟件

嵌入式計算機軟件指的是在嵌入式計算機中使用的軟件,能夠進行獨立功能的操作,嵌入式計算機軟件包括嵌入式微處理器、傳感器、控制器、定時器、儲存器等等。在嵌入式計算機中使用的電子芯片或是電子器件,將嵌入式計算機軟件安裝到嵌入式計算機中,能夠有效地實現(xiàn)常規(guī)計算機不具備的功能,比如:實時監(jiān)控功能、對設(shè)備的管理功能、數(shù)據(jù)處理功能、進行移動計算等等,真正地實現(xiàn)了現(xiàn)代化自動化的電子處理,是實現(xiàn)現(xiàn)階段自動化與智能化的社會生產(chǎn)力的重要途徑,嵌入式計算機軟件就是自動化的核心部分[2]。我們可以將嵌入式計算機軟件分為:簡單嵌入式系統(tǒng)和復(fù)雜嵌入式系統(tǒng)兩種。簡單的嵌入式系統(tǒng)只能夠完成一項功能,比較典型的簡單嵌入式系統(tǒng)就是單片機。單片機通過ROM技術(shù)就能夠?qū)崿F(xiàn)對系統(tǒng)的使用,能夠達到對程序控制的目的。復(fù)雜嵌入式系統(tǒng)的功能與普通的計算機系統(tǒng)功能并沒有什么過大的區(qū)別,只不過在復(fù)雜的嵌入式系統(tǒng)中,安裝了一些微型的嵌入式操作系統(tǒng),以及嵌入式應(yīng)用軟件在計算機中,能夠使計算機的功能得到相應(yīng)的完善,這就是嵌入式計算機軟件的作用[3]。

3什么是嵌入式計算機軟件的測試

嵌入式計算機軟件相比普通的計算機軟件來說,更具有專業(yè)性,嵌入式計算機軟件只能夠在某一個制定的平臺或者系統(tǒng)中運行。但是嵌入式計算機軟件的開發(fā)環(huán)境與運行的環(huán)境還存在很大的差異,不能夠使用同一網(wǎng)絡(luò)環(huán)境。嵌入式計算機軟件需要使用交叉開發(fā)的形式,在進行開發(fā)的計算機中,安裝并運行開發(fā)工具,開始對軟件進行編譯,再將編譯完成的軟件通過下載的方式,將軟件發(fā)送到目標(biāo)計算機中,當(dāng)開發(fā)計算機與目標(biāo)計算機都有了嵌入式軟件,就能夠建立通訊連接,并且能夠?qū)浖逻_命令、下載數(shù)據(jù)等等。兩臺計算機的操作系統(tǒng)不同,計算機的處理器也有著一定的差異,這樣的方式會增加嵌入式軟件開發(fā)過程的步驟,增加了開發(fā)步驟的復(fù)雜性[4]。我們將對嵌入式軟件進行開發(fā)的計算機稱為宿主機,對軟件進行接收并運行的稱為目標(biāo)機。宿主機對使用開發(fā)工具,利用宿主機的操作系統(tǒng)對計算機軟件進行開發(fā),通過通信連接將計算機軟件發(fā)送到目標(biāo)集中,盡管這一系列的操作看似很簡單,但是卻需要強大的系統(tǒng)和硬件的支持。在這種形式下進行運行的嵌入式計算機軟件開發(fā)的活動,一般情況下,宿主機都是我們平時工作生活中使用的通用計算機,也可以是開發(fā)微機或者是軟件工作站等等。目標(biāo)機與宿主機不同,目標(biāo)機能夠承載宿主機開發(fā)的嵌入式計算機軟件的運行,將嵌入式計算機軟件安裝在目標(biāo)機中,就能夠?qū)崿F(xiàn)嵌入式軟件的功能[5]。

4對嵌入式軟件測試關(guān)鍵技術(shù)進行研究

4.1對宿主機進行測試的技術(shù)研究

宿主機指的是對嵌入式軟件進行開發(fā)的計算機,對宿主機進行測試的方式有兩種,即靜態(tài)測試與動態(tài)測試兩種,這兩種方式使用的是代碼邏輯的方式對宿主機進行測試。4.1.1靜態(tài)測試技術(shù)很多計算機軟件開發(fā)的專家,在對計算機軟件進行檢測的時候,通常使用的都是人工檢查的方式,由設(shè)計人員組成一個小組,小組的成員之間互相交流對軟件開發(fā)使用了哪些程序、使用的是什么算法進行的計算,并交代設(shè)計數(shù)據(jù)與軟件的模塊之間有什么樣的關(guān)系等。這樣的方式雖然能夠在一定程度上找出軟件中是否存在相關(guān)的問題。但是,由于現(xiàn)階段嵌入式計算機軟件的結(jié)構(gòu)越來越復(fù)雜,設(shè)計的步驟越來越繁瑣,軟件設(shè)計的規(guī)模也在逐漸擴大,這就要求在一款軟件的設(shè)計過程中,可能會有很多的軟件設(shè)計師、工程師等一起參與到軟件的開發(fā)工作當(dāng)中,每個工作人員的分工也大有不同,再使用從前的方式對軟件進行檢查,就會加重檢查工作的負擔(dān)[6]。這就要求我們,要根據(jù)現(xiàn)階段的計算機軟件開發(fā)的實際情況,找出最合適現(xiàn)階段軟件開發(fā)的檢測技術(shù),對原始的計算機軟件的檢測工作進行優(yōu)化升級,能夠使計算機軟件的檢查工作更加簡便。在檢查的過程中,加入適當(dāng)?shù)臋z測技術(shù),先對整個嵌入式計算機軟件的開發(fā)軟件系統(tǒng)框圖進行整理,并且對其設(shè)置自動連接的相關(guān)量,軟件的源代碼編程能夠通過自動化技術(shù)進行查找。這樣的方式能夠使軟件審查工作的工作效率有很大的提升,能夠使驗證工作的結(jié)果更加準(zhǔn)確有效。我們可以通過靜態(tài)測試的方式,得到軟件中相關(guān)信息[7]。(1)軟件的源代碼程序繪制過程的邏輯圖,以及對軟件進行控制的工作流程。(2)軟件系統(tǒng)完整的邏輯框圖,系統(tǒng)內(nèi)部關(guān)系調(diào)節(jié)的網(wǎng)絡(luò)圖。(3)軟件程序運行的路徑分析圖。(4)軟件生成的不同部分的顯示圖。(5)軟件不同部分顯示圖的位置信息,操作的頻率等信息。這些信息都能夠在靜態(tài)測試中得到實現(xiàn),首先要使用靜態(tài)測試的系統(tǒng)對軟件的操作邏輯和控制系統(tǒng)進行分析,能夠有效地將軟件分析的更加精確,在進行軟件測試的過程中,能夠使測試的結(jié)果更加準(zhǔn)確,并且能夠?qū)y試結(jié)果更加精準(zhǔn)的表現(xiàn)出來,檢測出軟件系統(tǒng)中是否存在相關(guān)的問題,并以此對軟件的系統(tǒng)進行改善。4.1.2動態(tài)測試技術(shù)對宿主機的動態(tài)測試主要指的是對軟件的代碼進行測試,能夠有效地檢測出代碼的執(zhí)行能力,并且分析軟件代碼的覆蓋率,能夠有效地檢測出軟件的功能。能夠有效地了解到軟件的性能,還能夠通過分析更加了解軟件中代碼的執(zhí)行情況,這樣的檢測方式能夠促進對軟件系統(tǒng)的改進,推進了軟件系統(tǒng)的發(fā)展,可以根據(jù)檢測的結(jié)果,對軟件的功能進行優(yōu)化和完善[8]。動態(tài)測試技術(shù)還能夠?qū)浖O(shè)置的完成程度進行測試,能夠?qū)ζ渲幸呀?jīng)開發(fā)完畢的數(shù)據(jù)進行檢測,檢查其中是否存在缺少的數(shù)據(jù),這樣的方式能夠為軟件的開發(fā)工作提供重要的依據(jù)。動態(tài)測試技術(shù)能夠?qū)④浖械拿總€函數(shù)的情況,以及對內(nèi)存的分配情況等進行檢測,能夠?qū)④浖懈鞣N元素的分配情況進行顯示,并且能夠同時對相對應(yīng)的數(shù)據(jù)、代碼、函數(shù)等進行顯示。

4.2對仿真機進行測試的技術(shù)研究

仿真機作為宿主機與目標(biāo)機之間重要的環(huán)節(jié)之一,通過仿真機的使用,能夠有效地完善計算機軟件測試的功能以及軟件自身的性能,比對宿主機的測試更加直觀、更加真實,并且能夠?qū)浖兄饕募夹g(shù)進行仿真測試,使測試的結(jié)果更具有說服力。其測試的結(jié)果既能夠作用于宿主機,還能夠作用于目標(biāo)機。4.2.1仿真機測試數(shù)據(jù)獲取技術(shù)現(xiàn)階段,針對仿真機的數(shù)據(jù)監(jiān)測,一直都是技術(shù)上很難實現(xiàn)的問題之一,很多對嵌入式軟件的檢測都需要在測試的過程中先提供軟件設(shè)計的源代碼,這樣的方式需要使用的數(shù)據(jù)量比較大,這就要求我們要針對這類數(shù)據(jù)的準(zhǔn)確性進行技術(shù)的提升,才能夠保證檢測數(shù)據(jù)的精準(zhǔn)性。仿真機監(jiān)測技術(shù)能夠從一定程度上保證數(shù)據(jù)信息的完整性,在對數(shù)據(jù)進行完全的緩存后,再使用測試工具進行修改,能夠從很大程度上保證數(shù)據(jù)的正常輸入,在測試結(jié)束之后,還能夠?qū)σ呀?jīng)進行緩存的數(shù)據(jù)進行讀取,并將數(shù)據(jù)整理保存到計算機中。但是,需要注意的是,使用這種方式進行測試,還要保證數(shù)據(jù)緩存的大小不會超過測試的容量,測試才能夠順利的運行[9]。4.2.2仿真機仿真測試技術(shù)對嵌入式計算機軟件進行仿真測試,能夠在測試的過程中,對數(shù)據(jù)進行集中地管理和處理。仿真測試需要一定的技術(shù)支持,能夠?qū)?shù)據(jù)進行仿真模擬,在模擬的過程中,能夠看到技術(shù)的使用過程,再按照每款軟件不同的性質(zhì),分類仿真,使測試的結(jié)果更加真實可靠。還要保證在對數(shù)據(jù)的檢測過程中,傳輸信號是能夠穩(wěn)定運行的,才能夠保證仿真測試的數(shù)據(jù)是實時的。

4.3對目標(biāo)機進行測試的技術(shù)

目標(biāo)機相對于其他部分來說,在測試的過程中,更需要注意目標(biāo)機的綜合能力,還要能夠測試軟件自身的交互能力,并且測試軟件是否安全可靠,目標(biāo)機測試的結(jié)果能夠更加真實地體現(xiàn)計算機軟件的性能[10]。4.3.1故障注入技術(shù)嵌入式計算機軟件在計算機中運行的狀態(tài),可以通過人為的方式進行設(shè)置。但是,這就要求目標(biāo)機的部件能夠具備一定的功能,能夠按照設(shè)置的時間、設(shè)置的運行方式等進行運作。故障注入技術(shù)指的是在目標(biāo)機中,通過對某一部分的測試,能夠更加有效地檢驗?zāi)繕?biāo)機中的性能,比如:魯棒性測試、邊界測試等等。使軟件在運行時的狀態(tài)能夠表現(xiàn)的更加明顯。4.3.2內(nèi)存分析技術(shù)嵌入式計算機的系統(tǒng),一般情況下內(nèi)存都會比較小。使用內(nèi)存分析技術(shù),能夠有效地保證在分析的過程中,找出計算機內(nèi)存存在的問題。在問題的分析過程中,能夠防止內(nèi)存中的某些內(nèi)存會產(chǎn)生分配錯誤的問題,很多的計算機軟件故障都是因為內(nèi)存分配的錯誤造成的。這就要求我們要通過內(nèi)存分析的技術(shù),來對內(nèi)存進行判定。一般情況下,我們都會選擇硬件的方式進行分析,但是硬件分析的方式需要耗費的資金比較多,而且分析工具具有一定的環(huán)境限制,但是軟件分析會對計算機的代碼產(chǎn)生一定的影響,并且會影響內(nèi)存的運行。這就要求我們在進行內(nèi)存分析的過程中,要能夠按照不同的情況對測試的方式進行選擇[11]。4.3.3程序性能分析技術(shù)在嵌入式計算機運行的過程中,還有一個十分重要的因素就是程序的性能。一般情況下,嵌入式計算機對程序的性能都有一定的要求,能夠在已經(jīng)設(shè)置的時間內(nèi),對某一數(shù)據(jù)進行中斷處理或者是生成處理,這就要求我們要在測試的過程中,要能夠根據(jù)實際情況決定先對那一部分的代碼進行優(yōu)化,因為嵌入式計算機的優(yōu)化程序的時間是很寶貴的,要盡可能地避免對一些沒有必要的程序的優(yōu)化工作。使用程序性能分析技術(shù),能夠?qū)⒂嬎銠C內(nèi)的數(shù)據(jù)進行整理,并按照消耗的時間,消耗的類型,消耗的歷時等進行分析。按照這些數(shù)據(jù),能夠?qū)τ嬎銠C中的數(shù)據(jù)進行判斷,決定先對哪一部分的程序進行優(yōu)化,才能夠保證對數(shù)據(jù)檢測的工作效率,保證對程序的優(yōu)化是有效的。使用程序性能分析的工具,不僅僅能夠顯示計算機中每一部分的優(yōu)化需要多少時間,還能夠按照需要優(yōu)化的程度進行排序,引導(dǎo)工作人員對系統(tǒng)程序進行優(yōu)化分析[12]。在對程序進行測試的過程中,可以先對計算機軟件中的代碼進行分析,能夠找出已經(jīng)被使用的代碼,以及計算機接口的工作效率等等??梢栽跍y試的過程中使用插樁的方式進行測試,分析完畢后在可執(zhí)行的代碼當(dāng)中適當(dāng)?shù)厝谌肭度胧杰浖?,并將二者進行綜合測試,得到的結(jié)果就能夠明確地看出,其中的代碼哪些已經(jīng)執(zhí)行,哪些被遺漏,或者是哪些數(shù)據(jù)的信息覆蓋還不夠全面。需要注意的是,使用這類分析工具進行分析,很可能會影響到計算機軟件代碼的運行,導(dǎo)致軟件運行出現(xiàn)故障問題。

5結(jié)束語

嵌入式計算機與我們的生活之間的關(guān)系十分緊密,能夠產(chǎn)生巨大的影響,我們身邊很多部分都使用了嵌入式計算機進行功能的完成和實現(xiàn),比如:飛機的飛行控制器,或者是我們家中很多的家用電器,冰箱、洗衣機等等,都在一定程度上使用了嵌入式軟件技術(shù)。隨著科學(xué)技術(shù)的進步越來越快,嵌入式技術(shù)也越來越繁瑣。這就要求我們要在不斷地使用中對嵌入式技術(shù)進行完善,對嵌入式技術(shù)進行優(yōu)化升級,能夠從一定程度上保證嵌入式技術(shù)的發(fā)展,對軟件進行測試,能夠大大地提升嵌入式計算機軟件的穩(wěn)定性。

參考文獻

[1]苗中華,陸鳴超,胡曉東,等.基于虛擬儀器技術(shù)的采棉機智能監(jiān)控系統(tǒng)開發(fā)與應(yīng)用[J].農(nóng)業(yè)工程學(xué)報,2014,23:35-42.

[2]沈昌祥,張煥國,王懷民,等.可信計算的研究與發(fā)展[J].中國科學(xué):信息科學(xué),2010,2:139-166.

[3]王璞,張臻鑒,王玉璽,等.面向?qū)崟r嵌入式機載軟件的測試技術(shù)研究[J].計算機工程,1998,2:12-15.

[4]王金波,張濤.基于故障注入的嵌入式軟件安全性測試框架及實現(xiàn)[J].計算機應(yīng)用研究,2012,8:2991-2995.

[5]劉克,單志廣,王戟,等“.可信軟件基礎(chǔ)研究”重大研究計劃綜述[J].中國科學(xué)基金,2008,3:145-151.

[6]王守信,方天選,李麗萍,等.山西省“十二五”期間推進兩化融合及發(fā)展軟件服務(wù)業(yè)的戰(zhàn)略研究(續(xù))第二篇發(fā)展軟件服務(wù)業(yè)促進山西經(jīng)濟轉(zhuǎn)型跨越發(fā)展的研究[J].機械管理開發(fā),2011,2:1-20.

[7]凌楊,邵培南,佟雷,等.基于數(shù)字化仿真環(huán)境的嵌入式軟件測試方法[J].計算機工程,2011,S1:49-51.

[8]劉斌,高小鵬,陸民燕,等.嵌入式軟件可靠性仿真測試系統(tǒng)研究[J].北京航空航天大學(xué)學(xué)報,2000,4:490-493.

[9]孫昌愛,靳若明,劉超,等.實時嵌入式軟件的測試技術(shù)[J].小型微型計算機系統(tǒng),2000,9:920-924.

[10]榮國平,劉天宇,謝明娟,等.嵌入式系統(tǒng)開發(fā)中敏捷方法的應(yīng)用研究綜述[J].軟件學(xué)報,2014,2:267-283.

[11]宋錫強,汪萍萍,周韶園.智能電能表軟件測試技術(shù)概述[J].電測與儀表,2014,11:18-22.

篇5

 

1 計算機軟件工程管理的主要內(nèi)容

 

計算機軟件工程管理工作的開展,需要與軟件產(chǎn)品的性質(zhì)與特征等緊密的結(jié)合起來,其內(nèi)容主要包括以下方面:

 

1.1 組織機構(gòu)管理

 

不能僅僅停留在簡單集合開發(fā)人員的層面上,而是應(yīng)注重人員分配和組織結(jié)構(gòu)的完整性,使分工確保明確,做到上傳下達信息,這就是所謂的組織機構(gòu)。但是由于不同工程具有不同的要求,因此,至今并沒有把組織機構(gòu)的統(tǒng)一模式提出過。

 

12 用戶管理

 

用戶使用是軟件開發(fā)的最終目標(biāo)。在軟件開發(fā)過程中,應(yīng)對用戶的需求和操作習(xí)慣等進行全面的充分了解,從而使來自外界的干擾因素盡量的被減少。在軟件的開發(fā)中,積極的正確用戶使用的建議,能夠做到讓用戶把誠懇的意見提出來,這樣軟件的可操作性和實用性才會具有增強的機會。

 

1.3 工作人員管理

 

計算機軟件工程的本文由LWlm.cOm收集整理主體就是工作人員,對資料的查找、和軟件程序的編寫以及處理后續(xù)工作等各種項目的實施負主要責(zé)任,所以需要不同崗位的工作人員齊心協(xié)力,共同配合才能完成這項工作。因此,在分析項目的規(guī)模和性質(zhì)等基礎(chǔ)上,對計算機軟件開發(fā)人員進行合理安排,把各自的分工和責(zé)任予以明確。但是,由于不同工作人員具有不同的素質(zhì)和專業(yè)能力等,這就應(yīng)結(jié)合實際情況,及時的合理調(diào)配與管理。工作人員不僅應(yīng)該具備本專業(yè)知識,而且團隊協(xié)作能力也需要具備,因為計算機軟件項目具有復(fù)雜性,需要與其他人員共同配合才能夠完成。

 

1.4 檔案資料管理

 

在開發(fā)計算機軟件的過程中,需要在檔案資料中記錄各個流程,這樣可為各階段的工作提供方便,也為后期開展復(fù)查工作帶來便利,使軟件開發(fā)的保障性得到提高。因此,需要重視檔案資料的強化程度,把管理效率與質(zhì)量水平提高上來,這是很重要的環(huán)節(jié)。

 

2 目前計算機軟件工程管理中存在的問題

 

2.1 軟件工程需求和實際業(yè)務(wù)存在較大差距

 

在開發(fā)計算機軟件的過程中,軟件工程需求和實際業(yè)務(wù)的差距較大是最主要的問題。此問題形成的根本原因在于在需求項目工程階段,市場調(diào)查項目的實體和數(shù)據(jù)等是重點,但是,這些工作僅僅停留在業(yè)務(wù)表面的層次上,初步獲得的資料也僅具有框架式的作用,而業(yè)務(wù)規(guī)劃工作卻完全被忽略了。而軟件的后續(xù)設(shè)計人員在進行業(yè)務(wù)規(guī)劃時也只能通過想象來完成,這樣就造成了實際情況與最終的產(chǎn)品之間產(chǎn)生直接的較大的差距。

 

2.2 軟件工程管理量較大

 

工作量極大是計算機軟件工程的特點,這是人所共知的事情。在軟件的開發(fā)過程中,影響它的因素很多,其中,開發(fā)人員的投人程度和管理水平等人為因素就是最大的影響因素。把人為因素刨除在外,在業(yè)務(wù)規(guī)則被確定的情況下,就較容易估算出軟件的開發(fā)量與管理量。

 

顯而易見,在計算機軟件工程管理中,存在很多地方需要進行改進,但是以軟件的基本為前提是需要改進的地方最實質(zhì)所在。把有效的業(yè)務(wù)規(guī)劃,數(shù)據(jù)的處理方法,盡快的找出來,是實現(xiàn)多規(guī)則化的前提。

 

3 計算機軟件工程管理的方法與對策

 

3.1 構(gòu)建完善的計算機軟件工程管理體系

 

首先,需要把軟件工程管理的人才體系構(gòu)建起來,人才是工程進展的根本,要充分的認識到人才的積極作用,強化人力資源管理,把工作人員的主觀能動性充分的調(diào)動起來,使工程各項目標(biāo)能夠確保順利落實;其次,加強學(xué)習(xí)與滲透軟件工程的相關(guān)知識,專業(yè)化培訓(xùn)管理人員和工作人員等,對軟件工程知識要做到不斷的更新,掌握最新軟件工程知識,做到理論結(jié)合實踐,推動軟件的開發(fā)水平與利用價值的提升,使工程項目管理效率被提高;再次,加強建設(shè)規(guī)范制度,在實際中全面徹底的落實獎懲措施,從而把工作人員的積極主動性調(diào)動起來,為計算機軟件工程效益目標(biāo)的實現(xiàn)奠定良好的基礎(chǔ)。

 

3.2 提高軟件效率

 

在以往,修改數(shù)據(jù)前,在操作方法上需要前臺程序控制,但最近幾年,隨著數(shù)據(jù)庫與信息技術(shù)的發(fā)展,這種方法已經(jīng)被網(wǎng)絡(luò)計算所逐漸取代。因此說,修改數(shù)據(jù)程序是軟件工作效率提高的前提條件,把它向計算機的其他層次中進行分配,這是提高工作效率是最佳途徑。

 

3.3 軟件開發(fā)平臺要進行統(tǒng)一規(guī)劃

 

對整個計算機軟件發(fā)展造成重要影響的原因就是軟件在運行中不具備統(tǒng)一的平臺。重復(fù)開發(fā)各種平臺構(gòu)成軟件開發(fā)平臺,而隨著時間的推移和網(wǎng)絡(luò)的快速發(fā)展,統(tǒng)一規(guī)則的軟件開發(fā)平臺會很快的構(gòu)建起來。此外,可以聚集各國軟件開發(fā)人員共同開發(fā)計算機軟件。

 

3.4 加強計算機軟件工程的風(fēng)險管理與進度管理

篇6

軟件作為計算機的靈魂,從計算機應(yīng)用誕生之日起就主宰著計算機產(chǎn)業(yè)的發(fā)展。從二進制的指令到最先進的語音及圖像識別系統(tǒng),勾勒出了軟件發(fā)展的趨勢,即面向用戶,方便用戶,贏得用戶。微軟公司的成功有力地說明了這一指導(dǎo)思想在軟件開發(fā)中的重要性。

 

1 軟件工程的概念

 

1.1 “軟件工程”概念提出

 

20世紀(jì)50、60年代開發(fā)大型系統(tǒng)軟件用手工方式進行,其生產(chǎn)效率低、出錯率高。這種狀態(tài)不能滿足日益增長的軟件生產(chǎn)的需要,產(chǎn)生以下四個方面的問題。(1)軟件復(fù)雜性飛速增長;(2)軟件成本高;(3)開發(fā)周期長;(4)維護工作量大。

 

即出現(xiàn)了“軟件危機”現(xiàn)象。為了擺脫軟件生產(chǎn)的這種局面,在1968年北大西洋公約組織的學(xué)術(shù)會議上,第一次提出了“軟件工程”這個概念。

 

1.2 軟件工程學(xué)概念

 

軟件工程學(xué)是研究和探討如何利用當(dāng)代的科學(xué)理論和技術(shù)指導(dǎo)軟件的開發(fā),以達到利用較少的投資獲得高質(zhì)量軟件產(chǎn)品的目的科學(xué)。

 

軟件工程學(xué)既是邊緣學(xué)科,又是一種綜合性學(xué)科。它包括計算機科學(xué)、系統(tǒng)工程學(xué)、管理學(xué)、經(jīng)濟學(xué)、人體工程學(xué)和心理學(xué)等。

 

2 軟件工程的發(fā)展

 

軟件工程的發(fā)展,大體經(jīng)歷了三個時代,即程序設(shè)計時代、軟件時代、軟件工程時代。

 

2.1 軟件開發(fā)的三個階段

 

前面講過用軟件工程的方式生產(chǎn)軟件的過程類似于機械、建筑工程生產(chǎn)產(chǎn)品的過程。如一個建筑工程從開始到結(jié)束,經(jīng)歷設(shè)計、施工和驗收三個階段。軟件產(chǎn)品的生產(chǎn)也要經(jīng)過定義、開發(fā)、維護的軟件開發(fā)三個階段。

 

2.2 軟件工程與其他工程科學(xué)不同之處

 

從上面建筑工程與軟件二種產(chǎn)品開發(fā)階段比較,可以看出:(1)建筑工程流程圖中,設(shè)計藍圖產(chǎn)生之后,往下的每一步?jīng)]有回溯問題。但在軟件開發(fā)工程中,每一步都可能經(jīng)歷不只一次的修改和適應(yīng)的回溯問題。(2)軟件交付使用后,還有一個運行維護問題,如運行后發(fā)現(xiàn)有隱藏錯誤、運行環(huán)境有變化、用戶要求的變更等。

 

3 應(yīng)用軟件開發(fā)方法

 

一個大型的應(yīng)用軟件、如計算機輔助設(shè)計軟件,大型仿真訓(xùn)練軟件等,需要多人共同完成。為保證大型應(yīng)用軟件系統(tǒng)的開發(fā)質(zhì)量,必須嚴格按照軟件工程的思路和原則,采用軟件的開發(fā)方法,使用軟件工程提供的圖示工具,組織軟件人員協(xié)調(diào)一致地完成設(shè)計與開發(fā)任務(wù)。

 

現(xiàn)應(yīng)用的軟件開發(fā)方法主要有三種:軟件生命周期法、原型化方法、自動形式的系統(tǒng)開發(fā)方法。

 

3.1 軟件開發(fā)的生命周期法

 

生命周期方法是從時間角度對軟件的定義、開發(fā)和維護的復(fù)雜問題進行分解,分成若干個階段。每個階段的開始和結(jié)束都有嚴格的標(biāo)準(zhǔn)(前一階段的結(jié)束就是后一階段的開始。標(biāo)準(zhǔn)就是每個階段都應(yīng)該交出高質(zhì)量的文檔。軟件生命周期一般分為六個時期,即六個階段。

 

3.2 原型化方法

 

傳統(tǒng)的生命周期法的理論基礎(chǔ)較為嚴密。一般說來,在軟件開發(fā)過程中,首先要經(jīng)過嚴格的定義或預(yù)先說明,并要求軟件開發(fā)人員和用戶在系統(tǒng)的開發(fā)初期就要對整個的功能和信息需求做出全面、準(zhǔn)確而深刻地認定。

 

通常用戶給出概括性的軟件目標(biāo)而無法描述詳細的輸入、處理或輸出需求。而軟件開發(fā)人員也可能尚未確定處理算法的效果、操作系統(tǒng)的適用性及即將使用的人機界面形態(tài)。在這種情況下,對事務(wù)只有邊干邊認識,原型化方法就是基于這一主導(dǎo)思想。

 

4 軟件工程開發(fā)的目標(biāo)

 

4.1 可修改性

 

容許對系統(tǒng)進行修改而不增加原系統(tǒng)的復(fù)雜性。它支持軟件的調(diào)試與維護,是一個難以達到的目標(biāo)。

 

4.2 有效性

 

軟件系統(tǒng)能最有效地利用計算機的時間資源和空間資源。各種計算機軟件無不將系統(tǒng)的時/空開銷作為衡量軟件質(zhì)量的一項重要技術(shù)指標(biāo)。

 

4.3 可靠性

 

對于實時嵌入式計算機系統(tǒng),可靠性是一個非常重要的目標(biāo)。因為軟件要實時地控制一個物理過程,一旦出現(xiàn)問題可能是災(zāi)難性的,后果將不堪設(shè)想。因此在軟件開發(fā)、編碼和測試過程中,必須將可靠性放在重要地位。

 

4.4 可理解性

 

系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映問題的需求??衫斫庑杂兄诳刂栖浖到y(tǒng)的復(fù)雜性,并支持軟件的維護、移植或重用。

 

4.5 可維護性

 

軟件產(chǎn)品交付用戶使用后,能夠?qū)λM行修改,以便改正潛伏的錯誤,改進性能和其他屬性,使軟件產(chǎn)品適應(yīng)環(huán)境的變化,等等。由于軟件是邏輯產(chǎn)品,只要用戶需要,它可以無限期的使用下去,因此軟件維護是不可避免的。

 

4.6 可重用性

 

可重用的軟部件有的可以不加修改直接使用,有的需要修改后再用??芍赜密洸考?yīng)具有清晰的結(jié)構(gòu)和注解,應(yīng)具有正確的編碼和較低的時/空開銷。

 

4.7 可適應(yīng)性

 

軟件在不同的系統(tǒng)約束條件下,使用戶需求得到滿足的難易程度。適應(yīng)性強的軟件應(yīng)采用廣為流行的程序設(shè)計語言編碼,在廣為流行的操作系統(tǒng)環(huán)境中運行,采用標(biāo)準(zhǔn)的術(shù)語和格式書寫文檔。適應(yīng)性強的軟件較容易推廣使用。

 

4.8 可移植性

 

軟件從一個計算機系統(tǒng)或環(huán)境搬到另一個計算機系統(tǒng)或環(huán)境的難易程度。為了獲得比較高的可移植性,在軟件設(shè)計過程中通常采用通用的程序設(shè)計語言和運行環(huán)境支撐。

 

4.9 可追蹤性

 

根據(jù)軟件需求對軟件設(shè)計、程序進行正向追蹤,或根據(jù)程序、軟件設(shè)計對軟件需求進行逆向追蹤的能力。軟件可追蹤性依賴于軟件開發(fā)各個階段文檔和程序的完整性、一致性和可理解性。

 

4.10 可互操作性

 

多個軟件元素相互通信并協(xié)同完成任務(wù)的能力。為了實現(xiàn)可互操作性,軟件開發(fā)通常要遵循某種標(biāo)準(zhǔn),支持折衷標(biāo)準(zhǔn)的環(huán)境將為軟件元素之間的可互操作提供便利??苫ゲ僮餍栽诜植加嬎悱h(huán)境下尤為重要。

 

結(jié)束語

 

應(yīng)用軟件必須采用開發(fā)者易懂的程序設(shè)計語言的格式進行編寫。最低級的編程語言是目標(biāo)機直接理解的機器代碼;與之相反,高級編程語言是指具有自然結(jié)構(gòu)和數(shù)據(jù)抽象結(jié)構(gòu)的“類英語語言”。高級編程語言的目的是使編程人員擺脫對計算機硬件知識的依賴性,從面向機器編程的方式轉(zhuǎn)向面向高級語言。

篇7

關(guān)鍵詞:計算機軟件,專利發(fā)明,專利審查,專利“三性”

目前發(fā)達國家對計算機軟件專利性的討論已經(jīng)進入第二層面,主要是對軟件專利審查如何制定符合自己國情的科學(xué)標(biāo)準(zhǔn)。遺憾的是我國對計算機軟件專利性的探討還處在第一層面或者說還沒有進入第一層面,至今還沒有看到法學(xué)界掀起討論軟件是否需要專利性問題的熱潮。如果不及時采取措施,信息時代的國際軟件競爭將把中國拋棄。由于我國與歐盟一些國家有相似的法律傳統(tǒng),因此,筆者在考證歐盟計算機軟件專利性發(fā)展進程[2](P60)基礎(chǔ)上,提出在正式軟件專利性立法之前,先行對我國現(xiàn)行《專利審查指南》做出三點修改。

第一、擴大軟件專利審查的范圍,刪除計算機程序不授予專利發(fā)明的規(guī)定。

現(xiàn)有的《專利審查指南》指出:“涉及計算機程序的發(fā)明是指為解決發(fā)明提出的問題,全部或部分以計算機程序處理流程為基礎(chǔ)的解決方案” [3].這僅僅對涉及計算機程序的發(fā)明作出了界定,沒有明確提出軟件的法律定義和軟件發(fā)明的定義,建議對軟件發(fā)明的定義作出明確的界定,以便于劃清授予專利的軟件和非授予專利的軟件之間的界限。歐盟頒布的《計算機執(zhí)行的發(fā)明可專利性的指令》 [4]指出:“計算機執(zhí)行的發(fā)明”是指任何利用計算機、計算機網(wǎng)絡(luò)或者任何其他程序處理設(shè)備創(chuàng)造的發(fā)明,或者具有絕對新穎性等特征,整體或者部分通過計算機程序或者計算機創(chuàng)造的任何發(fā)明“。歐盟的定義沒有排除任何軟件的專利性,只要可以通過軟件處理設(shè)備執(zhí)行,具有專利”三性“的標(biāo)準(zhǔn)就可以授予專利權(quán)。結(jié)合歐盟的規(guī)定,筆者認為,可以對軟件作出這樣的法律界定:軟件是指,為完成某種可以應(yīng)用的功能而由一系列程序包括文檔有機組成的整體。軟件的范圍非常廣泛,包括系統(tǒng)軟件、行業(yè)軟件、工具軟件、文字處理軟件等等。并非所有的軟件都可以授予專利權(quán),只有具有技術(shù)性,可以工業(yè)應(yīng)用的軟件才能授予專利權(quán)。因此,軟件專利發(fā)明是指可以硬件執(zhí)行的由程序組成的有機整體,能工業(yè)應(yīng)用,滿足一定的功能,具有技術(shù)性,新穎性的發(fā)明。

其次,專利授予軟件類型的客體在軟件授予專利權(quán)的前提下也應(yīng)當(dāng)拓展?,F(xiàn)行的《專利審查指南》指出[5],如果發(fā)明專利申請只涉及計算機程序本身或者是僅僅記錄在載體(例如磁帶、磁盤、光盤、磁光盤 、ROM、PROM、VCD、DVD或者其他的計算機可讀介質(zhì))上的計算機程序,就其程序本身而言,不論它以何種形式出現(xiàn),都屬于智力活動的規(guī)則和方法。當(dāng)一件涉及計算機程序的發(fā)明專利申請是為了解決技術(shù)問題,利用了技術(shù)手段,能夠產(chǎn)生技術(shù)效果時,表明該專利申請屬于可給予專利保護的客體。但是這也只是說涉及,而不是單純的軟件申請。只有和硬件或者工程結(jié)合起來的軟件才有可能授予專利權(quán),說到底,軟件不是是否授予專利性的考慮因素,只要申請授予專利的客體滿足“三性”要求,就可以授予專利權(quán),而不論這樣的技術(shù)是否包含了軟件的成分在其中,但是單純的軟件申請不能被授予專利權(quán)。嚴格說來,我國的《專利審查指南》并沒有把軟件作為專利申請的客體。在當(dāng)前各國擴大專利授權(quán)客體的大背景下,很有必要擴充我國的《專利審查指南》的范圍。

歐盟對計算機軟件相關(guān)發(fā)明 [6]的范圍界定為,屬于一個技術(shù)領(lǐng)域內(nèi)與計算機相關(guān)的發(fā)明都不應(yīng)當(dāng)排除到可專利的范圍之外。與計算機相關(guān)的發(fā)明包括計算機硬件和軟件,對于硬件,傳統(tǒng)的專利法已經(jīng)給予了充分的保護,指令主要提供對軟件的專利保護,而不涉及到硬件的問題。他們認為 [7](P7)僅僅邏輯算法的存在不能構(gòu)成區(qū)分專利和非專利主體的一個標(biāo)準(zhǔn),算法也可以構(gòu)成與計算機相關(guān)發(fā)明的基礎(chǔ),也可以構(gòu)成通常的機器(機械的,電子的等等),或者由機器執(zhí)行的程序基礎(chǔ)。唯一不同的是,計算機程序由與計算機直接相關(guān)的設(shè)備來完成,而普通的機器由各個零部件來完成。因此不應(yīng)當(dāng)把計算機軟件和其他機械的發(fā)明區(qū)別對待。

筆者認為,我國可以借鑒歐盟的做法,以改往常傳統(tǒng)保守的觀點,把保護的范圍擴大到單純的軟件申請專利的問題。因為很多具有技術(shù)性和新穎性的軟件在工業(yè)應(yīng)用和商業(yè)經(jīng)營中與具體的工業(yè)工藝結(jié)合起來起到了技術(shù)革新和提高生產(chǎn)力的效果,這符合專利法保護的目的和宗旨,因此對此加以保護不但維護了軟件權(quán)利人的利益,也更好地鼓勵技術(shù)工業(yè)應(yīng)用和推廣,以刺激軟件權(quán)人的投資,推動整個軟件工業(yè)的發(fā)展。

最后,對什么樣的軟件授予專利的問題,應(yīng)當(dāng)根據(jù)軟件發(fā)明申請審查標(biāo)準(zhǔn)來確定。

第二、對傳統(tǒng)的“三性”做適當(dāng)?shù)恼{(diào)整,制定恰當(dāng)?shù)剡m用于軟件專利審查的標(biāo)準(zhǔn)。

在軟件專利申請審查標(biāo)準(zhǔn)問題上,歐盟《計算機執(zhí)行的發(fā)明可專利性的指令》 [8]第三條規(guī)定,成員國應(yīng)當(dāng)確保一項與計算機相關(guān)的發(fā)明屬于一個技術(shù)的領(lǐng)域。第四條指出了授予專利的實質(zhì)條件,其規(guī)定:可專利保護的條件①各成員國應(yīng)明確規(guī)定與計算機相關(guān)的發(fā)明只要具有工業(yè)實用性、新穎性和創(chuàng)造性就應(yīng)當(dāng)授予專利。②各成員國應(yīng)明確規(guī)定具有創(chuàng)造性的條件之一是所申請的軟件發(fā)明必須做出了技術(shù)貢獻。③對技術(shù)貢獻的評價應(yīng)當(dāng)考慮:將專利權(quán)利要求的范圍作為一個整體,其中可以包括技術(shù)的與非技術(shù)的特征,以此來比較與現(xiàn)有技術(shù)之間的差別。 第五條指出權(quán)利要求的類型可以是一種產(chǎn)品,如編程了的計算機、計算機網(wǎng)絡(luò)或其它裝置,或是一種由計算機、計算機網(wǎng)絡(luò)或類似裝置借助軟件執(zhí)行的方法。

筆者認為,歐盟指令第三條是TRIPS協(xié)議27(1)的具體體現(xiàn),根據(jù)此條款的內(nèi)容,專利應(yīng)當(dāng)授予一切技術(shù)領(lǐng)域內(nèi)的發(fā)明,如果申請的產(chǎn)品或者程序(工藝流程)具有新穎性、涉及發(fā)明的過程、可以工業(yè)應(yīng)用。與計算機相關(guān)的發(fā)明雖然屬于一個技術(shù)的領(lǐng)域,但是沒有提及任何物資環(huán)境的純粹邏輯算法不能滿足計算機相關(guān)發(fā)明的界定,也沒有落在技術(shù)領(lǐng)域范圍之內(nèi),當(dāng)然也不能授予專利權(quán)。

第四條提及的授予專利權(quán)的實質(zhì)審查條件可以理解為:第一項要求成員國有義務(wù)保護作為任何計算機執(zhí)行的相關(guān)發(fā)明,只要所申請的發(fā)明滿足歐洲專利公約52(1)規(guī)定的基本的新穎性、發(fā)明性、工業(yè)應(yīng)用的要求。第二項要求與計算機相關(guān)的發(fā)明,必須做出技術(shù)性貢獻。這個技術(shù)領(lǐng)域內(nèi)的貢獻對于該技術(shù)領(lǐng)域內(nèi)的一般熟練工人必須是非顯而易見的。如果計算機執(zhí)行的相關(guān)發(fā)明對先前技術(shù)的貢獻沒有技術(shù)性特征將被認為缺乏實質(zhì)性進步,即使其對先前技術(shù)的貢獻是非顯而易見的。當(dāng)評價“創(chuàng)造性進步”的時候,關(guān)于技術(shù)狀態(tài)應(yīng)當(dāng)包括的內(nèi)容和熟練工人的知識的問題必須根據(jù)評價創(chuàng)造性的一般標(biāo)準(zhǔn)來確定(這個一般性標(biāo)準(zhǔn)可以在歐洲專利公約中找到)。第三項提供了在決定技術(shù)性貢獻中,發(fā)明必須作為一個整體進行評價,這與歐洲專利局審理的專利申請采取的措施是一致的。按照此規(guī)定,假如發(fā)明的一個部分落在歐洲專利公約52(2)規(guī)定的非專利的客體上,如果存在非顯而易見的技術(shù)貢獻,或許仍然可以授予專利權(quán)。如果缺乏技術(shù)貢獻,比如對技術(shù)的貢獻整體上都是非技術(shù)性的,那么這種貢獻是一種純粹的商業(yè)方法,不是專利權(quán)的客體。

第五條提及的申請形式表明,歐盟指令不僅對與硬件裝置結(jié)合起來的軟件授予專利,而且對單純的軟件也可以授予專利權(quán),只要其符合第四條規(guī)定的審查的實質(zhì)條件。

比照歐盟的規(guī)定,筆者認為,我國建立的軟件專利的審查標(biāo)準(zhǔn)不應(yīng)當(dāng)偏離原來的審查標(biāo)準(zhǔn),應(yīng)當(dāng)保持立法的一致性和連續(xù)性。

現(xiàn)行的《專利審查指南》指出,申請發(fā)明的專利必須具有新穎性,這是授予專利權(quán)的第一必要條件,如果申請的發(fā)明已經(jīng)存在就沒有必要授予專利,其中的新穎性應(yīng)當(dāng)根據(jù)審查指南的界定來判斷。這種新穎性不僅是指對于所有現(xiàn)存的技術(shù)具有新穎性,而且對于所有以其他形式表現(xiàn)的技術(shù)也具有新穎性。對于軟件的專利性尤其應(yīng)當(dāng)注意的是,應(yīng)當(dāng)與以前所有的技術(shù)和申請相比較,如果這樣的技術(shù)已經(jīng)存在就不應(yīng)當(dāng)授予專利,不能因為原來存在的技術(shù),經(jīng)過軟件化和程序化,就可以獲得專利權(quán),這樣不僅浪費了專利資源,而且與專利制度本身的宗旨也是向背的。比如,影像、視聽、動畫、電子圖書等等軟件,不能因為其通過軟件的形式體現(xiàn)出來,就意味著可以授予專利權(quán),因為這些內(nèi)容本來就不是專利法考慮的對象,其仍然屬于著作權(quán)法包括的范疇。

其次,所申請的軟件發(fā)明必須具有發(fā)明創(chuàng)造性,同申請日以前已有的技術(shù)相比,該發(fā)明有突出的實質(zhì)性特點和顯著的進步,而且對所屬技術(shù)領(lǐng)域的熟練技術(shù)人員來說,是非顯而易見的。如果發(fā)明是其所屬技術(shù)領(lǐng)域的技術(shù)人員在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的試驗可以得到的,則該發(fā)明是非顯而易見的,也就不具備突出的實質(zhì)性特點。關(guān)于技術(shù)性的問題,歐盟專利審查員一般根據(jù)三點確定[9](P27):①確定最相近的已有技術(shù)包括以軟件形式表現(xiàn)出來的技術(shù)和其他以傳統(tǒng)的技術(shù)方式表現(xiàn)出來的技術(shù)。②確定要解決的技術(shù)問題。使用客觀的方法確定需要解決的技術(shù)問題。這需要研究最相近的已有技術(shù)以及該發(fā)明與最相近的已有技術(shù)之間在特征方面的區(qū)別(結(jié)構(gòu)的或者功能的)。③從最相近的已有技術(shù)問題出發(fā),考慮權(quán)利要求的發(fā)明對同領(lǐng)域的技術(shù)人員而言是否是顯而易見的。我國可以參照這樣的審查標(biāo)準(zhǔn)確定軟件申請所具有的技術(shù)性,但是必須強調(diào)一點的是,確定現(xiàn)有技術(shù)的范圍應(yīng)當(dāng)包括以所有的形式體現(xiàn)出來的技術(shù),這可以有效的防止通過現(xiàn)有技術(shù)的軟件化,申請軟件專利的可能,杜絕軟件專利資源的浪費。

關(guān)于實用性的問題,是指軟件發(fā)明必須能夠在產(chǎn)業(yè)上制造或者使用,并且能夠產(chǎn)生積極效果。如果申請的是一種產(chǎn)品(包括發(fā)明和實用新型),那么該產(chǎn)品必須在產(chǎn)業(yè)中能夠制造,并且能夠解決技術(shù)問題;如果申請的是一種方法(僅限發(fā)明),那么這種方法必須在產(chǎn)業(yè)中能夠使用,并且能夠解決技術(shù)問題。只有滿足上述條件的產(chǎn)品或者方法的專利申請才可能被授予專利權(quán)。根據(jù)此標(biāo)準(zhǔn),如果所申請的軟件可以工業(yè)應(yīng)用,不應(yīng)當(dāng)排除到專利之外。

對于商業(yè)方法,筆者不主張目前對其專利保護。有三個理由:①商業(yè)方法是專利審查指南明確排除的范圍,組織、生產(chǎn)、商業(yè)實施和經(jīng)濟等管理的方法及制度不能授予專利權(quán),因為其屬于指導(dǎo)人們進行這類活動的規(guī)則和方法,不僅沒有技術(shù)構(gòu)思的成分,而且缺乏發(fā)明的創(chuàng)造性,不能因為其僅僅軟件化就給其專利權(quán)。再說經(jīng)營的規(guī)則和方法本來就是一種有限的資源不能讓少數(shù)的人壟斷,這也便于商業(yè)競爭和商品流通,推動社會的進步。②來自于美國的研究[10]證明商業(yè)方法的專利性是個錯誤的選擇。一是,商業(yè)方法專利的成本比其他的專利成本要高;二是,囚犯困境使得公司的研究開發(fā)成本轉(zhuǎn)移到對私有財產(chǎn)的競爭上,這樣反而不利于消費者和社會福利的增加;三是,把計算機軟件在內(nèi)的商業(yè)方法排除在專利之外的原因在于,商業(yè)方法很抽象,在法律對主題采取全部保護和不保護之間,專利法很難劃定商業(yè)方法專利壟斷的范圍,以恰當(dāng)平衡創(chuàng)新所得與自由競爭的需要之間的關(guān)系。來自于美國的報告表明在某些領(lǐng)域內(nèi)專利抑制了創(chuàng)新,確切的說,尤其是在軟件的領(lǐng)域。③目前歐洲官方也不主張對商業(yè)方法授予專利權(quán),因為EPO沒有發(fā)表任何正式聲明或指南,清晰、準(zhǔn)確地陳述其對于商業(yè)方法專利性的方針政策[11].歐盟內(nèi)部許多的大型軟件公司也反對商業(yè)方法的專利性[12],他們認為,不適當(dāng)?shù)赝貙拰@I(lǐng)域的范圍,容納非技術(shù)貢獻的網(wǎng)絡(luò)商業(yè)方法的行為,將會排除清楚的、對于控制經(jīng)濟有價值的技術(shù)。商業(yè)方法的專利除了對經(jīng)濟造成巨大的破壞性的影響,審查和執(zhí)行他們也有實際困難,況且作為原則性問題這對于信息社會也是不正確的??傊?,在沒有對我國的市場和軟件行業(yè)做出明確的調(diào)查和研究之前,不能盲目地把專利的范圍擴大到商業(yè)方法及其軟件化的商業(yè)方法上來。

綜合軟件專利“三性”的標(biāo)準(zhǔn),筆者認為,可以授予軟件專利的客體包括,可以產(chǎn)業(yè)化應(yīng)用的行業(yè)軟件、可以和硬件設(shè)備結(jié)合起來實現(xiàn)自動化的控制軟件、提高計算機硬件性能的系統(tǒng)軟件、可以控制(或者遠程控制)生產(chǎn)或者物流過程的操作軟件、滿足軟件專利“三性”標(biāo)準(zhǔn)的其他類型軟件。不能授予專利的軟件包括,軟件化的音像(書籍)等電子產(chǎn)品、單純的數(shù)據(jù)庫軟件、各種游戲軟件、各種形式的文本編輯和教育軟件、不滿足軟件專利“三性”標(biāo)準(zhǔn)的其他類型的軟件。

第三、對一些申請專利的程序問題,包括審查的期限,公布的日期,保護的年限等加以修改。

軟件專利保護存在兩點明顯不足:一是,專利審查的期限過長,與軟件的生命周期不相適應(yīng),不能很好地為軟件市場的發(fā)展服務(wù);二是,軟件專利申請的費用和成本過高,耗時耗錢,使得一些軟件商無利可圖,相應(yīng)降低了專利資源的效率。

針對以上兩點不足,結(jié)合軟件行業(yè)的特點,筆者認為,可以對我國專利審查指南做出調(diào)整,對于軟件的申請可以縮短初步審查和公布的期限,同時對于實質(zhì)審查的期限也可以縮短。針對軟件生命周期短的特點,可以考慮對軟件專利的保護期做出規(guī)定,限定為10年或者更短的期限,以便于軟件的更新和節(jié)省專利資源。恰當(dāng)?shù)谋Wo期限應(yīng)當(dāng)建立在對我國軟件行業(yè)的發(fā)展?fàn)顩r詳細研究的基礎(chǔ)之上,還應(yīng)當(dāng)考慮到一些發(fā)達國家對軟件專利采用的保護期限。

[文 獻 注 釋]

[1] 本研究屬于國家知識產(chǎn)權(quán)局重點課題“計算機軟件發(fā)明的專利保護”子課題之一。

[2] 參見李士林,鄭友德。歐盟計算機軟件發(fā)明專利保護的發(fā)展研究[J].科技與法律,2003,(1)。

[3] 參見《專利審查指南》(2001年文本)第二部分第九章引言部分。

[4] “Proposal for a DIRECTIVE OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL on the patentability of computer-implemented inventions”,網(wǎng)址下載europa.eu.int/comm/internal_market/en/intprop/indprop/index.htm

[5] 參見《專利審查指南》法25.1(2)。

[6] 《歐盟由計算機執(zhí)行的發(fā)明專利性指令》的建議第二條,sipo.gov.cn/sipo/ywdt/gyzscqxx/t20030107_10783.htm.

[7] “Proposal for a DIRECTIVE OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL on the patentability of computer-implemented inventions”,COMMISSION OF THE EUROPEAN COMMUNITIES,Brussels,20.02.2002.

[8] 同[4]見指令相關(guān)的條文。

[9] 參見張平。論商業(yè)方法軟件專利保護的創(chuàng)造性標(biāo)準(zhǔn)——美、日、歐三方專利審查之比較[J].知識產(chǎn)權(quán),2003(1)。

[10]“Ladas  Parry Guide to Statutory Protection for Computer Software in the United States”,載于ladas.com/Patents/Computer/Semiconductor.USA.html.

[11] 朱瑾編譯。美日歐在商業(yè)方法專利問題上的分歧[J].載于sipo.gov.cn/sipo/ywdt/gyzscqxx/t20021206_10266.htm.

篇8

購入的軟件與固定資產(chǎn)一同購入與固定資產(chǎn)一同購入的計算機軟件,如果與固定資產(chǎn)不可分,無論是否單獨計價,都應(yīng)作為固定資產(chǎn)而不是無 形資產(chǎn)核算,如生產(chǎn)設(shè)備的自動化控制程序等;如果與固定資產(chǎn)可以分開,且能單獨計價,則應(yīng)確認為無形資產(chǎn),按購入成本入賬。

單獨購入單獨購入的計算機軟件,應(yīng)區(qū)別情況進行會計處理:單獨購入用于生產(chǎn)經(jīng)營或管理的,應(yīng)按購入成本確認為無形資產(chǎn),且無形資產(chǎn)達到預(yù)定用途后所發(fā)生的支出不構(gòu)成無形資產(chǎn)的成本。若采用分期付款方式購買無形資產(chǎn),無形資產(chǎn)的成本為購買價款的現(xiàn)值。

單獨購入用于研究與開發(fā)的,如果研究與開發(fā)活動結(jié)束,該軟件還能另作他用,則應(yīng)按購入成本資本化為無形資產(chǎn);如沒有其他作用,則應(yīng)計入“研發(fā)支出—— 費用化支出”,按無形資產(chǎn)具體準(zhǔn)則處理。

單獨購入用于構(gòu)成產(chǎn)品的組成部分的,應(yīng)視這種軟件是否可以重復(fù)使用來決定,如果可以復(fù)制,應(yīng)將軟件原版的購入成本資本化為無形資產(chǎn),區(qū)分使用壽命有限的無形資產(chǎn)和使用壽命不確定的無形資產(chǎn)。

對于使用壽命確定的無形資產(chǎn),以后各期計入產(chǎn)品成本;對于使用壽命不確定的無形資產(chǎn),則不再攤銷,但至少應(yīng)當(dāng)于每年年終進行減值測試。如果不能復(fù)制,也就是說要為每件產(chǎn)品購入一個軟件,則購入時應(yīng)作“存貨”處理且領(lǐng)用時計入當(dāng)期產(chǎn)品成本。

委托開發(fā)的軟件委托開發(fā)形成的計算機軟件應(yīng)按實際支付的委托費入賬。如果該軟件是用于生產(chǎn)經(jīng)營或管理,應(yīng)資本化為無形資產(chǎn);如果用于研究與開發(fā)且沒有其他用途,則應(yīng)計入“研發(fā)支出”,否則就予以資本化為無形資產(chǎn);如果用于產(chǎn)品的組成部分,由于委托開發(fā)形成的軟件企業(yè)一般可以復(fù)制,因此也應(yīng)資本化為無形資產(chǎn)。

篇9

1實驗概況

本次結(jié)構(gòu)實驗選取某鐵路鋼構(gòu)三跨PC箱形橋,按照剛度相思的原則,將該橋的尺寸和模型尺寸擬定為18.2:1,該橋模型的總長度為29.6米,在墩身的建筑中,使用的是C40的混凝土,墩臺使用的混凝土型號和墩身使用的混凝土型號保持一致,在橋身的建筑中,采用的是C60的混凝土類型,在1號和4號橋墩采用的支座是活動的,2號和3號橋墩采用的剛性連接支座,并對其采用豎向和水平的加載方式。在本次實驗工況研究中,設(shè)置了四種工況,包括水平推力、張拉、配種以及豎向加重。

2對結(jié)構(gòu)實驗的分析

按照結(jié)構(gòu)實驗數(shù)據(jù)處理的一般流程將軟件化為為三個層次,第一個層次就是數(shù)據(jù)庫層,主要用于存儲試驗中用到的各種信息;第二層為數(shù)據(jù)管理層,主要負責(zé)對試驗中各種數(shù)據(jù)的管理;第三層為處理結(jié)果層,該層主要是根據(jù)第二層下達的任務(wù),實現(xiàn)對數(shù)據(jù)的結(jié)果表達。在Matlab軟件中,設(shè)計了一套完整的控制函數(shù),并包括I/O設(shè)備訪問所需要的函數(shù),該函數(shù)可以實現(xiàn)對硬件的有效控制,同時也滿足了硬件之間的通訊功能。

3對實驗結(jié)構(gòu)數(shù)抽象據(jù)庫的分析

根據(jù)實驗?zāi)P偷臋C構(gòu)體系,根據(jù)數(shù)據(jù)庫的原理,可以得出抽象的數(shù)據(jù)庫模型,該數(shù)據(jù)庫的模型可以通過Access2000實現(xiàn)。在該數(shù)據(jù)庫模型中,涉及到的因素很多,例如用于存儲百分表位移計分布信息的位移測點表,存儲加載歷程和工況的工況信息表,除此以外,還包括應(yīng)力信息表、壓力信息表、位移測值表以及應(yīng)變信息表。在數(shù)據(jù)訪問和數(shù)據(jù)管理操作中,不會對其他表進行操作,只需要通過位移測點表、測點信息表以及工況信息表來完成。采用這種數(shù)據(jù)訪問和數(shù)據(jù)管理方法,可以有效的確保原始數(shù)據(jù)不受到破壞,提高原始數(shù)據(jù)的安全性。

4對數(shù)據(jù)管理和數(shù)據(jù)處理的分析

在對數(shù)據(jù)進行相關(guān)操作時,要確保數(shù)據(jù)的安全性。因此,在進行數(shù)據(jù)庫操作的過程中,應(yīng)該將其放在安全性比較高的C/S模型中,并在其前端管理程序中實現(xiàn)。通過控制Matlab軟件編程數(shù)據(jù)管理程序,在ODBC中建立相應(yīng)的數(shù)據(jù)庫接口,從而在Database中實現(xiàn)對數(shù)據(jù)的處理和數(shù)據(jù)訪問功能。在對數(shù)據(jù)庫進行管理的過程中,需要實現(xiàn)多個方面的功能,具體來說,主要包含以下幾個部分:首先,要預(yù)留出UCAM接入口和PC接入口,并實現(xiàn)對數(shù)據(jù)的手動導(dǎo)入和自動導(dǎo)入功能。其次,要按照一定的條件,實現(xiàn)對數(shù)據(jù)的訪問和對數(shù)據(jù)的查詢功能,并做到便捷和高效。再次,要實現(xiàn)數(shù)據(jù)處理任務(wù)定制功能,根據(jù)數(shù)據(jù)查詢的結(jié)果和數(shù)據(jù)的性質(zhì),程度可以對程度做出智能判斷,并建立起數(shù)據(jù)連接機制和數(shù)據(jù)導(dǎo)入機制,最后利用Matlab來實現(xiàn)對數(shù)據(jù)庫的管理功能。根據(jù)以上的論述,利用Matlab編程程序,實現(xiàn)了對數(shù)據(jù)的初步自動化功能和可視化功能。

二總結(jié)

篇10

 

1 簡介

 

近年來,山東省計算機文化基礎(chǔ)考試已成為山東高職院校計算機必考課程。為此便于考試和教學(xué),我們自主開發(fā)了《計算機基礎(chǔ)模擬軟件》。

 

該模擬軟件包括操作題與客觀題兩部分。我們選擇使用VB6開發(fā)考試系統(tǒng)的主要模塊及界面。操作題編程與Office后臺宏語言(Visual Basic)聯(lián)系密切,錄制的宏經(jīng)簡單修改便可形成系統(tǒng)子模塊。在數(shù)據(jù)存儲方面,我們選用VB的文件系統(tǒng)對數(shù)據(jù)文件編程,從而在方便數(shù)據(jù)加密的同時又可減小系統(tǒng)的大小。

 

2 Windows操作題與系統(tǒng)打包技術(shù)

 

Windows操作題部分在整個系統(tǒng)中屬于最簡單的部分,這得益于VB6封裝良好的FileSystemObject對象。通過訪問此對象的方法與屬性,我們可以輕松地實現(xiàn)試題內(nèi)容的生成與相應(yīng)的評分。

 

系統(tǒng)打包方面,我們選用Inno Setup。Inno Setup是一個免費開源的安裝制作軟件,小巧、簡便,支持pascal腳本,能快速制作出標(biāo)準(zhǔn)Windows2000風(fēng)格的安裝界面,足以完成一般軟件安裝任務(wù)。

 

3 基于Office對象模型開發(fā)Office操作題模塊

 

微軟Office產(chǎn)品中引入了Office對象模型并內(nèi)置了VBA編程語言,還內(nèi)置了友好的宏記錄器,因此利用0ffice提供的VBA功能,實現(xiàn)Office操作題的自動評分。Word、Excel、PowerPoint三個模塊的編程思路極其一致,下面僅Word部分評分模擬的實現(xiàn)原理。

 

首先,檢測考生文件夾下word文檔是否存在。如果存在則繼續(xù)執(zhí)行;如果不存在則判為分(存儲到全局變量iWord中),并退出模塊。相關(guān)代碼如下:

 

Public Sub Word01(file1 As String)

 

If bFileExist(file1) = False Then

 

iWord = 0 ‘存儲word部分試題得分

 

Exit Sub

 

End If

 

Dim oWord As New Word.Application

 

Dim s() As String

 

Dim iLower As Integer

 

Dim i As Integer

 

oWord.Documents.Open (file1)

 

oWord.Visible = False

 

With oWord.ActiveDocument.Paragraphs(2).Range.ParagraphFormat '定義段落格式

 

If .LineSpacingRule = wdLineSpace1pt5 Then '定義行距為1.5倍

 

iWord = iWord + 2

 

Else

 

iLower = iLower + 1

 

ReDim Preserve s(iLower)

 

s(iLower) = "正文第一段行距設(shè)置錯誤(-2)" & vbCrLf

 

End If

 

End With

 

Call oWord.ActiveDocument.Close '關(guān)閉WORD文檔

 

oWord.Quit

 

Set oWord = Nothing

 

上述過程執(zhí)行的最后,我們把考生得分及可能的錯誤信息全部保存到全局字符串變量strWordResult,由評分模塊訪問這個變量來顯示W(wǎng)ord部分做題信息。

 

4 客觀題模塊的設(shè)計

 

客觀題內(nèi)容的屏幕呈現(xiàn)實現(xiàn)于系統(tǒng)主窗體frmMain后臺代碼中,通過操作各客觀題文件實現(xiàn),是整個系統(tǒng)開發(fā)的關(guān)鍵之一。

 

(1)動態(tài)顯示客觀題內(nèi)容。如何顯示跨越屏幕邊界的大對象,這是系統(tǒng)要動態(tài)顯示客觀題內(nèi)容必須解決的問題。我們所采用的方案主要了來自MSDN的技巧:引入兩個Picturebox控件(父子關(guān)系),并使用HscrollBar或VscrollBar(本例中使用)控制作為子控件的Picturebox在父Picturebox中的顯示位置,因為作為子控件的Picturebox的某一部分一旦超出了父Picturebox的邊界就成為不可見的。在我們的項目中設(shè)置了三對Picturebox控件,分別用來實現(xiàn)動態(tài)顯示單選題、多選題及判斷題內(nèi)容。

 

(2)加載客觀題內(nèi)容。加載客觀題內(nèi)容是一個極具挑戰(zhàn)性和技巧性的問題。問題的關(guān)鍵在于這里的控件是動態(tài)生成的。一般地,在VB6中動態(tài)生成控件主要有兩種方案:一種是使用VB6以前的控件數(shù)組,另一種是使用VB6始引入的WithEvents變量。但在本系統(tǒng)環(huán)境下需要生成大量的控件,而VB6中是不允許創(chuàng)建WithEvents變量數(shù)組的,因此,我們決定使用控件數(shù)組方案來生成大量的控件以顯示客觀題內(nèi)容,而且這樣更便于統(tǒng)一控制控件的事件。

 

5 小結(jié)

 

總體來看,開發(fā)計算機基礎(chǔ)模擬軟件的主要技術(shù)關(guān)鍵有:Office后臺宏錄制模塊及Office DOM對象模型編程;利用Picturebox控件與VscrollBar控件顯示客觀題與內(nèi)容的動態(tài)定位。

 

目前,該系統(tǒng)已經(jīng)成功應(yīng)用于學(xué)院的計算機基礎(chǔ)教學(xué)及模擬考試。但是,該系統(tǒng)也存在一些不足,例如,系統(tǒng)僅實現(xiàn)了單機版,需手動記錄學(xué)生成績,尚待解決。