軟件開發(fā)的技術范文

時間:2023-05-04 13:10:02

導語:如何才能寫好一篇軟件開發(fā)的技術,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

軟件開發(fā)的技術

篇1

1.軟件工程技術在系統(tǒng)軟件開發(fā)時的特點

開發(fā)一個軟件用到的技術很多,不同的系統(tǒng)軟件對軟件工程技術的要求也不一樣,在開發(fā)系統(tǒng)的時候,要考慮到當時人們的需求是什么,所以說系統(tǒng)開發(fā)是很復雜的。系統(tǒng)軟件的各個模塊的耦合度要很高才行,一個模塊發(fā)生變化時,會帶來很多的后果。系統(tǒng)開發(fā)的過程應該是一個規(guī)范、科學和系統(tǒng)的漫長過程。

2.軟件工程技術在系統(tǒng)軟件開發(fā)時要注意的事項

以前在進行軟件開發(fā)之前,要進行一個很重要的工作,那就是系統(tǒng)建模,然后再根據(jù)先前的系統(tǒng)需求做出分析,還要對當時的社會需求進行徹底的調(diào)查。經(jīng)過調(diào)查發(fā)現(xiàn),市面上的軟件有很多已經(jīng)不能滿足應用程序的更新?lián)Q代,這主要是由于系統(tǒng)開發(fā)的時間太長以及程序的復雜度太高導致的。所以,軟件工程技術在系統(tǒng)軟件開發(fā)時要注意下面這兩點。

2.1遵循科學性

要開發(fā)一個好的軟件,就要注重科學性,在開發(fā)軟件前要進行市場調(diào)查,做好需求分析。還要拿市場上已經(jīng)有的同類或相關軟件進行比較和借鑒,這樣我們就可以選擇相適用的軟件工程技術來使用。軟件工程技術在軟件系統(tǒng)開發(fā)中發(fā)揮的作用越大,系統(tǒng)開發(fā)就會越輕松,軟件開發(fā)的工期就會越短。

2.2注重實用性

在開發(fā)軟件的時候,一定要注重軟件的實用性,根據(jù)系統(tǒng)開發(fā)的實際情況,選擇更好的軟件工程技術。軟件工程技術是系統(tǒng)開發(fā)過程中的一個很重要的輔助,這個輔助也決定了系統(tǒng)是否可以順利地運行。

3.軟件工程技術在系統(tǒng)軟件開發(fā)中的具體應用

系統(tǒng)軟件的開發(fā)既需要注意它的科學性,也需要注意它的實用性,但是現(xiàn)代的系統(tǒng)軟件中只注意這些是不夠的,我們還要掌握一些方法。第一是優(yōu)化構建軟件的開發(fā)模型,軟件開發(fā)模型的構建也是十分重要的,在這個模型下,可以使系統(tǒng)軟件的開發(fā)更加的高效,思路更加的清晰,如果出現(xiàn)問題,可以進行有效的解決,不耽誤系統(tǒng)的下一步開發(fā)。第二個方法的是,要積極開發(fā)軟件程序應用,不但要知道軟件的性能,還要知道軟件的發(fā)展?jié)撡|(zhì),另外也要了解用戶想要什么,方便后續(xù)的優(yōu)化甚至減少優(yōu)化。第三個方法是對軟件工程的項目進行管理,這需要一些步驟:(1)項目準備,為項目做出一個合理的可行性分析。(2)啟動項目,知道項目的可行性,準備工作已經(jīng)做好了,就可以對軟件工程的計劃方案進行制定。(3)對項目組織進行計劃。統(tǒng)計一下各個方面需要的人力,還有技術要求。(4)對項目進行跟蹤評估,這個很重要。我們通過一個案例來更好地理解軟件工程技術在系統(tǒng)軟件開發(fā)中如何更好地應用。比如說,要建一個圖書管理系統(tǒng),可以使用Java語言,結合JSP技術,再結合前端的HTML5對系統(tǒng)表面進行美工,采用MVC框架,使用企業(yè)數(shù)據(jù)庫。JSP的穩(wěn)定性很強,很多大型的游戲設計師都是用這個技術,Java語言是一種腳本語言,可以適用于很多版本的電腦,HTML5可以實現(xiàn)三段適應,手機、電腦和平板可以同時登陸,而且頁面都是一樣的,沒有變化。這些軟件工程技術都是很實用的,價格也很實惠,開發(fā)起來也比較方便,由于該技術的耦合度要很高,維護起來也很方便。前期開發(fā)的思路也是很清晰的,采用的技術也很明白,下一步就是軟件工程導論和UML建模,還有需求分析交給技術人員,讓他們進行研究開發(fā)。如此便節(jié)省了不少的工期,減少了后期維護的次數(shù)和費用。一個好的軟件工程技術所需要的系統(tǒng)維護的實際經(jīng)費,要比前期系統(tǒng)的預算費用要少很多。

篇2

【關鍵詞】嵌入式軟件 數(shù)字電路 微控制器 HTML5

1 引言

隨著移動通信、光纖通信、單片機、智能終端等技術的快速發(fā)展和進步,嵌入式軟件在多領域得到了廣泛普及和使用。嵌入式軟件具有以應用為核心、軟硬件可裁剪、輕量級并發(fā)線程、低成本微功耗等特點,集成了新時期的微控制器、PLC、Java、.NET等多種技術,已經(jīng)在整個軟件產(chǎn)業(yè)中占據(jù)了非常重要的地位,被稱為新型信息產(chǎn)業(yè)研發(fā)的重點。

2 嵌入式軟件應用發(fā)展現(xiàn)狀

經(jīng)過多年的發(fā)展和應用,嵌入式軟件主要分為三個層次,分別是嵌入式操作系統(tǒng)軟件、嵌入式支撐軟件、嵌入式應用軟件。這些軟件應用現(xiàn)狀如下:

2.1 嵌入式操作系統(tǒng)軟件

嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,其主要負責嵌入式硬件資源分配、協(xié)調(diào)調(diào)度、并發(fā)控制等功能,經(jīng)過多年的發(fā)展,嵌入式操作系統(tǒng)已經(jīng)誕生了VxWorks、OS-9、Windows CE、pSOS、Palm OS、QNX、Linux、LynxOS等多種軟件,這些軟件為工業(yè)控制、國防軍工、電力通信、政企單位提供了強大的信息化支撐。

2.2 嵌入式支撐軟件

嵌入式支撐軟件主要用來支持軟件開發(fā),這些工具包括嵌入式數(shù)據(jù)庫、QT開發(fā)工具、J2ME開發(fā)平臺等。嵌入式數(shù)據(jù)庫是人們?yōu)榱诉m應現(xiàn)代移動計算、智能終端而提出的一種微型數(shù)據(jù)庫,可以支持某種具體的應用,運行于各類型的嵌入式設備中,目前,嵌入式數(shù)據(jù)庫系統(tǒng)經(jīng)過多年的研發(fā),已經(jīng)誕生了SQLite數(shù)據(jù)庫、Sybase數(shù)據(jù)庫、Oracle數(shù)據(jù)庫等,為嵌入式軟件開發(fā)提供了更加有效的支持力。

2.3 嵌入式應用軟件

嵌入式應用軟件是指針對某一固定領域或平臺開發(fā)的計算機軟件,這些嵌入式軟件屬于輕量級、多線程、并發(fā)性應用程序,能夠達到用戶的預期計算和服務目標。由于嵌入式應用軟件在處理時間和精度上存在較多的要求,因此嵌入式應用軟件與普通軟件存在較大的差別,不僅要求具有較高的準確性、安全性和穩(wěn)定性,還要盡可能地滿足通訊處理、文字處理、多媒體處理、智能機交互、Email收發(fā)等功能。隨著平板電腦、智能手機的普及,嵌入式軟件又在視頻監(jiān)控、智能家居等領域得到應用,開發(fā)了更多的專業(yè)性較強的智能家居設備。

3 嵌入式軟件開發(fā)關鍵技術

嵌入式軟件與軟硬件資源關系非常密切,因此軟件開發(fā)涉及的關鍵技術非常多,既包括數(shù)字電路、微控制器、傳感器等硬件技術,同時也包括移動定位、canvas繪圖功能、HTML5等軟件技術。

3.1 數(shù)字電路技術

數(shù)字電路在嵌入式軟件開發(fā)中具有重要的作用,嵌入式件包括多個組件,分別是CPU、存儲器、輸入輸出接口等,這些部件的連接都依賴數(shù)字電路。數(shù)據(jù)電路經(jīng)過多年的應用和改進,已經(jīng)進入到超大規(guī)模集成電路時代。利用數(shù)字集成電路可以實現(xiàn)總線通信和傳輸,傳輸智能終端控制器發(fā)出的各類型命令信號。

3.2 微控制器

嵌入式軟件部署于智能終端,這些硬件終端具有體積小、重量輕、移動便攜等優(yōu)勢,因此其研發(fā)和制造過程中需要使用微控制器。微控制器是一種大規(guī)模的集成電路,能夠輸入輸出多種指令,并且具有較強的可推廣性,實現(xiàn)了智能終端的并發(fā)控制運行。目前,微控制器經(jīng)過多年的研究,已經(jīng)誕生了很多種類型,比如華為海思系列、高通系列等,這些處理器的時鐘處理頻率更快更高,因此可以更好地承載各類型的應用軟件。

3.3 HTML5技術

HTML5技術提供了一種更加適用于嵌入式軟件開發(fā)的標簽和樣式顯示模式。HTML5技術提供了三種非常重要的在線存儲和處理機制,分別是Indexed DB機制、Application Cache機制和WebStorage機制。Indexed DB是HTML5獨特的數(shù)據(jù)存儲機制,其可以使用本地數(shù)據(jù)庫存儲大容量的數(shù)據(jù),這些數(shù)據(jù)多采用關系結構模式。Application Cache是一種網(wǎng)頁緩存機制,其可以通過定義一個稱謂manifest的文件,在瀏覽器中下載緩存的網(wǎng)頁文件,并且可以將數(shù)據(jù)以文件為單位存儲到本地數(shù)據(jù)庫。Web Storage離線存儲機制可以看做是加強型的Cookie,其不會受到數(shù)據(jù)大小的影響,并且具有較好的彈性及架構,可以將數(shù)據(jù)寫入到移動設備的ROM中,在關閉瀏覽器之后,還可以再打開,恢復相關的數(shù)據(jù),以便能夠?qū)崿F(xiàn)高效率的數(shù)據(jù)讀寫。

3.4 移動定位功能

隨著GPS、北斗導航等衛(wèi)星定位技術的應用,移動定位功能已經(jīng)在各類型的嵌入式軟件上得到廣泛普及,比如高德地圖、百度地圖等,并且這些嵌入式電子地圖開發(fā)了許多應用軟件。

3.5 canvas繪圖功能

嵌入式軟件開發(fā)過程中,需要利用虛擬現(xiàn)實、圖像處理技術實時繪制圖像,以便將實體目標模型快速化渲染出來,并提供給用戶瀏覽。因此,嵌入式軟件運行過程中嵌入了canvas繪圖功能,利用先進的繪圖管理功能能夠支持3D繪圖功能,并且有效支持圖像的旋轉(zhuǎn)、移動、縮放等圖片操作,降低互聯(lián)網(wǎng)的傳輸帶寬占用率,提升了圖片的顯示精確度。

4 結束語

嵌入式軟件可以與智能終端、傳感器、數(shù)據(jù)庫相結合,利用嵌入式軟件加工處理視頻圖像、文字信息、音頻信息等數(shù)據(jù)內(nèi)容,為工業(yè)制造、智能交通、視頻監(jiān)控等政企單位信息化服務提供支撐,實現(xiàn)了強大的數(shù)據(jù)共享和多應用服務功能。

參考文獻

[1]麥先根,田丹,霍峰.基于Eclipse平臺的嵌入式軟件集成開發(fā)環(huán)境目標機通信管理[J].航空計算技術,2014(03):105-108.

[2]魏寧,劉喬佳.計算機軟件開發(fā)過程及嵌入式軟件的應用[J].電子技術與軟件工程,2015(06):57-57.

[3]袁慧.嵌入式軟件系統(tǒng)開發(fā)技術及測試技術探討[J].計算機光盤軟件與應用,2014(12):78-78.

篇3

【關鍵詞】系統(tǒng)軟件開發(fā);包裝技術;技術應用

1系統(tǒng)軟件模擬軟件開發(fā)

1.1模擬軟件系統(tǒng)結構

模擬軟件的系統(tǒng)結構中,會對網(wǎng)絡框架進行簡化,這樣在運行期間能夠提升系統(tǒng)的功能質(zhì)量。在軟件開發(fā)前,會首先對結構進行設計,軟件是功能實現(xiàn)的有效途徑,需要配合硬件結構來進行,共同實現(xiàn)軟件的開發(fā)技術,結構設計后會對軟件的運行狀態(tài)進行檢驗,發(fā)現(xiàn)運行期間使用效果不足的現(xiàn)象,會及時采取技術手段來解決調(diào)控,確保將最優(yōu)化合理的設計系統(tǒng)投入到使用中。軟件功能嵌入模塊在鑲嵌期間,會針對常見的質(zhì)量隱患問題進行預防控制。軟件設計開發(fā)要有明確的功能目標,模擬軟件能夠節(jié)省控制系統(tǒng)內(nèi)的大部分存儲空間,并且設計初期也更方便進行結構的優(yōu)化。MODEM是模擬系統(tǒng)設計中常用的模式,軟件投入使用后會在接入網(wǎng)絡的狀態(tài)下自動更新,確保使用者所操作的界面是最新的,這樣軟件開發(fā)后也能通過自動升級來避免發(fā)生使用期間的病毒隱患問題,軟件檢測功能也是在開發(fā)階段設計的,對軟件整體運行安全性起到了決定性作用,軟件設計完成后,會根據(jù)具體的功能需求來對硬件部分進行焊接處理,達到更加理想化的使用形式,在焊接完成后要重點針對各個軟件集成模塊的連接質(zhì)量進行檢驗,如果了解連接不充分,會影響到信號傳輸?shù)倪B續(xù)性,投入使用后也很難在短時間內(nèi)達到控制管理需求。

1.2軟件系統(tǒng)功能

軟件系統(tǒng)的功能包括對數(shù)據(jù)的存儲、分享、分析以及更新,任何軟件功能的實現(xiàn)都離不開數(shù)據(jù)庫的支持,由此可見數(shù)據(jù)庫的重要性。軟件的記憶功能與內(nèi)部存儲能力相關,當發(fā)現(xiàn)存儲能力不足導致的數(shù)據(jù)丟失時,需要對軟件內(nèi)的空間進行清理,軟件開發(fā)過程中除必須具備的功能之外,還需要開發(fā)一部分拓展功能,這樣用戶在操作控制系統(tǒng)時才能夠自定義,達到理想的使用效果,根據(jù)自身使用需求下載或者刪除一部分數(shù)據(jù),直到在功能上能夠滿足使用需求。MODEM屬于一種調(diào)制解調(diào)器,在使用期間會配合開發(fā)SCADA軟件共同完成數(shù)據(jù)的分析任務,并將所分析得到的數(shù)據(jù)投入到接下來的使用中,隨著軟件的開發(fā),所產(chǎn)生的數(shù)據(jù)會自動投入到使用中,隨著平臺的運行來更新。開發(fā)前景也更加廣闊,最后是對使用期間常見問題的解決探討,從理論層面逐漸向系統(tǒng)程序匯編方面來進行,觀察發(fā)現(xiàn)基層問題后,定期采取解決措施,幫助實現(xiàn)理想化的使用效果。

2模擬軟件系統(tǒng)開發(fā)的包裝技術應用

模擬軟件開發(fā)屬于一種比較穩(wěn)定的技術方法,同時也能在基層中形成網(wǎng)絡安全控制體系,投入使用后即使遇到不合理的現(xiàn)象,系統(tǒng)的自動調(diào)節(jié)功能也能將簡單的問題通過參數(shù)恢復來解決,最終投入使用后也更加理想化。軟件包裝技術應用后,系統(tǒng)開發(fā)所產(chǎn)生的參數(shù)保管形式更安全,投入使用后參數(shù)也能對應到相應的平臺模塊中,并在基層中形成穩(wěn)定的運行使用標準。系統(tǒng)軟件的開發(fā)目的各不相同,但可以確定的是需要對軟件進行自動化控制,基于技術方法來進行,發(fā)現(xiàn)所進行的管理計劃中存在不理想狀態(tài),也能夠快速的解決。軟件開發(fā)設計后,進入到第二階段,對軟件的檢測,同樣需要借助計算機設備來完成,對所測試的軟件進行可行性研究,一旦發(fā)現(xiàn)基層中存在嚴重的質(zhì)量隱患問題,更要及時的解決,只有檢驗參數(shù)結果完成正確的軟件才可以繼續(xù)投入到使用中。最后階段是將軟件接入到使用設備中,觀察使用的情況,發(fā)現(xiàn)不合理狀態(tài)更好及時的采取調(diào)節(jié)控制方法,運行使用的環(huán)境對功能影響也是比較嚴重的,因此在試運行前需要對軟件將要使用的環(huán)境進行檢驗,確保安全不存在破壞性的病毒,才能夠繼續(xù)投入到使用中,實現(xiàn)高效的使用效果。使用期間如果軟件的內(nèi)部功能存在不合理的現(xiàn)象,也能向操作人員發(fā)出更新申請,使用者接收到消息后,再進行相關指定的操作,形成最終穩(wěn)定的使用模式,同時也能避免在基層出現(xiàn)質(zhì)量嚴重下降的情況。

結語

本文以綜合自動化變電站調(diào)試經(jīng)驗為基礎,對綜合自動化變電站調(diào)試模擬軟件系統(tǒng)的開發(fā)與應用做了詳細論述。模擬軟件系統(tǒng)的成功應用對解決調(diào)試與試驗過程的調(diào)試瓶頸意義重大,同時信息量模板化的應用對規(guī)范調(diào)試工作流程起著關鍵性的作用,電力系統(tǒng)計算機模擬軟件的開發(fā)與應用具有劃時代的意義,其對提高電力系統(tǒng)供電可靠性、保障社會經(jīng)濟可持續(xù)發(fā)展意義重大。

參考文獻

[1]曾明星,周清平,蔡國民,王曉波,顏一鳴,黃云,楊燕萍.軟件開發(fā)類課程翻轉(zhuǎn)課堂教學模式研究[J].實驗室研究與探索,2014(02).

篇4

Android系統(tǒng)中的應用程序是直接面向用戶的,為用戶帶來直接的感受,所以它其中的技術性問題也是非常重要的。我們知道,在Android應用系統(tǒng)中,它有一種模塊在技術中是比較常用的,俗稱“記一筆”的“圖表”,它有一種好處就是,它會用一種很直觀的方式將系統(tǒng)的數(shù)據(jù)展現(xiàn)給用戶,在Android系統(tǒng)中并沒有相應的圖表控件,但是為了使用戶享受到更完美的體驗,我們就要采取自定義控件的方式達到這種完美體驗的效果。

1.1自定義控件開發(fā)技術

Android平臺下的軟件開發(fā)技術,是一項很復雜的過程。這種自定義控件開發(fā)技術是為了展示Android圖表的過程,下面我們就來具體介紹一下自定義控件開發(fā)技術。不管是運用繼承View也好,還是用ViewGroup也好,還是用layout也好,都需要按照自定義控件的粒度情況才能作出決定,所以自定義控件的粒度情況起著決定性的作用。另外,需要注意的是在定義視圖的過程中往往是通過onMeasure、onLayout、onDraw等控件得以實現(xiàn)的。控件實現(xiàn)的過程也是相當復雜的,Measure()遞歸過程在控件實現(xiàn)過程中是比較常用的,對于它的技術實現(xiàn)過程我們需要知道,是measure()onMeasiire()child.measure(),它所實施的過程是逐漸調(diào)用的過程。在遞歸調(diào)用中,并不是隨意調(diào)用的,必須要按照規(guī)定并且每個步驟都不能有差錯,才能進行調(diào)用。對于Layout的整個調(diào)用過程,是需要根據(jù)每個子視圖的大小與布局參數(shù)來對數(shù)據(jù)進行調(diào)用,并且要嚴格按照樹結構中的各個節(jié)點來進行,將視圖放到合適的位置上即可,這個調(diào)用過程也是需要一步步進行的,它的過程是:layout()onLayout()child,layout()然后再結合Draw()過程,將Layer圖層的畫布保存起來,這樣就可以完全實現(xiàn)數(shù)據(jù)的調(diào)用,這個過程是:draw()dispatchDraw()child.drawdispatchDraw(),再通過調(diào)用技術,就完全實現(xiàn)了對Android圖表的調(diào)用過程,看起來這個過程確實有點復雜,但它是給用戶展現(xiàn)完美效果的最好體現(xiàn)。

1.2Android中的數(shù)據(jù)存儲技術

Android中的數(shù)據(jù)存儲技術相對來說就比較簡單一點,比較常用的就是數(shù)據(jù)處理與調(diào)用的過程,我們也是具體來介紹一下。在Android系統(tǒng)中它的數(shù)據(jù)存儲技術有很多種,主要有SharedPreference、內(nèi)部數(shù)據(jù)存儲(也就是我們所知道的手機內(nèi)存)、外部數(shù)據(jù)存儲(相當于內(nèi)存卡)、SQLite數(shù)據(jù)的存儲、網(wǎng)絡存儲等等。這些存儲方式對用戶來講比較熟悉的就是內(nèi)部數(shù)據(jù)存儲與外部數(shù)據(jù)存儲,而在Android平臺軟件開發(fā)的過程中,運用比較多的存儲方式就是SQLite數(shù)據(jù)庫,這種存儲方式?jīng)]有那么繁瑣,創(chuàng)建起來比較簡單快捷,使用時也很方便,它相對于其他存儲方式比較容易實現(xiàn)數(shù)據(jù)庫的獨享,當然,它并不是專有獨享的,如果在對數(shù)據(jù)庫開發(fā)過程中,其他應用數(shù)據(jù)庫也想控制與訪問的話,完全是可以的,直接把它封裝到一個ContentProvider中就可以了。

2應用系統(tǒng)的技術

在Android平臺上,在應用技術上有一個比較關鍵的軟件,俗稱“足跡”,這種軟件它是手機智能化的一個關鍵環(huán)節(jié),手機智能對我們大家來講都不陌生,它實際上就是每個用戶的第二個大腦。它可以完全自動的記錄用戶出行所走過的位置,這樣給用戶就帶來很大的方便,隨時隨地就可以分享記錄自己走過足跡的數(shù)據(jù),這是Android系統(tǒng)軟件技術的一個優(yōu)勢。當然,在Android系統(tǒng)中,有很多是足跡要實現(xiàn)的技術,主要有“搜搜”“拍拍”“足跡管理”“我的資料”還有“設置”,這些都是足跡將要實現(xiàn)的。

2.1多線程技術

在Android平臺軟件開發(fā)的關鍵技術中,多線程技術是比較常用的關鍵技術之一。有一種技術是異步任務AsyncTask多線程技術,這種技術在開發(fā)過程中很關鍵,它封裝了工作線程與UI線程的交互細節(jié),能夠提高Android系統(tǒng)處理數(shù)據(jù)的效益,給Android軟件開發(fā)提供了很多便利的技術。在多線程技術開發(fā)過程中,它為Android系統(tǒng)提供了線程管理與主線程交互的細節(jié),這樣就避免了還要對數(shù)據(jù)進行特殊處理的環(huán)節(jié)。

2.2地圖開發(fā)技術

地圖開發(fā)技術也是一項關鍵的技術,在Android平臺中,系統(tǒng)對于地圖開發(fā)技術主要是基于GoogleMap的應用來進行開發(fā)的,用戶在對Android中的地圖進行應用的時候,就可以大大提高系統(tǒng)的開發(fā)效率。在對其進行開發(fā)的時候,一定要運用熟練的專業(yè)技術人員來進行操作,必須要嚴格運用正確的數(shù)據(jù)調(diào)用格式,如果在操作過程中出現(xiàn)錯誤,就會影響地圖的正常使用。

2.3“搜搜”功能技術分析

篇5

關鍵詞:計算機軟件;開發(fā)技術;現(xiàn)狀;應用

引言

目前互聯(lián)網(wǎng)全球化的發(fā)展帶動我國的計算機也進入到了信息數(shù)字化高速發(fā)展階段,發(fā)展的核心還是關于數(shù)字媒體和軟件的應用技術的開發(fā),現(xiàn)在我們生活中及工作中都要用到計算機進行輔生活或者辦公,同時能滿足客戶各式各樣的需求,給我們生活提供了極大的便利,計算機軟件的發(fā)展已經(jīng)基本上覆蓋生活工作的各個角落,并且還能保持高速發(fā)展的態(tài)勢繼續(xù)向前,未來會在更多的領域進行拓展。

1計算機開發(fā)技術的內(nèi)涵

對于我們所了解的計算機技術來說,就包括兩部分:硬件和軟件。這兩部分構成了計算機的系統(tǒng)體系,二者相輔相成,借助相關的軟件部分來幫助人們,說到軟件部分,又要分為兩部分,一個是系統(tǒng)軟件,另一個是外部研發(fā)的系統(tǒng)軟件,這兩個雖然都是系統(tǒng)軟件,但他們的功能卻不一樣。簡單來說,系統(tǒng)軟件讓計算機更好的運行起來。外部系統(tǒng)軟件主要在生活和日常工作中的體現(xiàn),所以說系統(tǒng)軟件是整個計算機運行起來的基礎,外部系統(tǒng)軟件是屬于擴展出來的。計算機系統(tǒng)和軟件之間有著緊密的聯(lián)系,相互促進、相互作用,共同為人們提供便捷。計算機軟件的開發(fā)主要是為了解決人們生活和工作中的問題,從而提高工作效率,并改善人們的生活質(zhì)量。如今,全世界對于計算機軟件的開發(fā)重視程度越來越大,同時也不斷出臺了諸支持計算機軟件開發(fā)技術的政策,并加大了投資力度,提供豐富的資源促進計算機軟件開發(fā)的發(fā)展。現(xiàn)如今計算機技術在國際水平的發(fā)展大趨勢是改變原有的開發(fā)重點,更加注重對于計算機基礎技術的開發(fā),隨即大部分國家也開始改變軟件研發(fā)重點。

2常見的開發(fā)方法

2.1結構化系統(tǒng)開發(fā)法

作為最普遍、最成熟的計算機軟件開發(fā)方法,結構化系統(tǒng)開發(fā)法需要將軟件開發(fā)科學、合理劃分為不同周期,并基于周期劃分制訂軟件開發(fā)計劃,軟件需求的分析、軟件問題的定義和規(guī)劃、軟件和測試程序編碼的設計均可由此獲得有力支持,軟件開發(fā)運行、計算機正常運行也能由此得到較好保障。結構化系統(tǒng)開發(fā)法多用于大型復雜應用軟件,電子商務應用程序軟件的開發(fā)便多采用該設計方法。具體的電子商務應用程序軟件開發(fā)中,應用結構化系統(tǒng)開發(fā)法需結合企業(yè)實際需求,判斷軟件開發(fā)在技術、經(jīng)濟層面的可行性,軟件開發(fā)后期的軟件定期維護、更新同樣不容忽視。結構化系統(tǒng)開發(fā)法具備布局全面、整體的特點,明確階段劃分、任務、目標以及可較好控制開發(fā)耗時也屬于這一開發(fā)方法的優(yōu)勢,但其存在需要糾正的巨大工作量、無法同時開展不同開發(fā)階段等問題,這些需要引起人們的重視。

2.2原型化開發(fā)法

原型化開發(fā)法廣泛應用于我國計算機軟件開發(fā)領域。該軟件開發(fā)需結合用戶需求創(chuàng)建軟件模型,通過不斷修改模型、查找并處理漏洞,不斷完善軟件,配合開展軟件使用過程的定期維護和及時處理,便能夠保證計算機軟件的開發(fā)質(zhì)量。原型化開發(fā)法適合小型應用軟件開發(fā)。在明確用戶需求的前提下,原型化開發(fā)法不僅能夠降低軟件開發(fā)成本,而且能夠有效降低用戶投資風險,但無法滿足大型軟件開發(fā)的需求。

2.3自動化系統(tǒng)開發(fā)法

作為建立在原型化開發(fā)法基礎上的計算機軟件開發(fā)方法,自動化系統(tǒng)開發(fā)法需結合軟件反饋分析用戶需求,并結合需求明確編輯程序,實現(xiàn)開發(fā)軟件的自動編輯。在明確開發(fā)目標、內(nèi)容的支持下,自動化系統(tǒng)開發(fā)法的應用可結合設計要求,自動完成軟件系統(tǒng)、編碼設計,由此可大幅度提高計算機軟件的開發(fā)效率,縮短開發(fā)周期。

3計算機軟件開發(fā)技術的應用要點

3.1分層技術應用要點

分層技術屬于計算機軟件開發(fā)技術的重要組成,其本質(zhì)是闡述計算機軟件內(nèi)部結構層次關系。分層技術可保證計算機軟件的功能齊全并提高其智能化程度,計算機軟件的條理化與層次化、能耗降低、效率提升也能夠由此實現(xiàn)。以雙層技術應用為例,分層技術應用需結合計算機軟件的信息處理和邏輯處理的需求,重點實現(xiàn)計算機軟件客戶端服務器點的優(yōu)化整合。一般來說,計算機軟件開發(fā)中的雙層技術主要以軟件的客戶端和服務器為基礎,負責分析與處理計算機軟件涉及的邏輯關系。這一過程中,客戶端負責接收消息,完成處理的信息需要傳遞至服務器,服務器在完成計算與信息總結后,將信息傳遞至客戶端供人們使用。

3.2B/S體系結構開發(fā)要點

B/S體系結構屬于現(xiàn)階段計算機軟件開發(fā)的常用結構,基于該結構的計算機軟件開發(fā)可采用多層Web應用動態(tài)模式、分布式多層結構,同時關注軟件的安全性和穩(wěn)定性。以其中的多層Web應用動態(tài)模式為例,該模式具備安全、系統(tǒng)維護升級簡單、數(shù)據(jù)庫服務器負載較低、封裝源代碼和不斷提高軟件性能等優(yōu)勢。多層Web應用動態(tài)模式主要涉及瀏覽器、C/S應用、應用服務器、數(shù)據(jù)庫服務器、WEBSERVER和INTERNET/INTRANET。為保證計算機軟件的B/S體系結構開發(fā)實現(xiàn)動態(tài)平衡,設計過程必須對應用服務器進行冗余配置,同時開展負荷計算,將系統(tǒng)負載分散到多個應用服務器。B/S體系結構具備的開發(fā)成本和維護成本較低,可實現(xiàn)跨平臺操作,減少網(wǎng)絡開銷、消除數(shù)據(jù)庫瓶頸、減少數(shù)據(jù)庫開發(fā)等能夠由此實現(xiàn)。

3.3嵌入式軟件開發(fā)要點

隨著各類電子設備的快速發(fā)展,作為計算機軟件的重要組成,嵌入式軟件的應用日漸廣泛化,嵌入式軟件開發(fā)逐漸成為業(yè)界關注的焦點,其具體開發(fā)流程可概括為:需求分析設計實現(xiàn)測試運行。為了保證嵌入式軟件的開發(fā)效率,本文建議采用基于組件的嵌入式軟件開發(fā)方法,該方法的應用流程為:應用系統(tǒng)/應用系統(tǒng)/應用系統(tǒng)抽取領域共性組件庫新應用系統(tǒng)/新應用系統(tǒng)/新應用系統(tǒng)。在組件構成的組件倉庫的支持下,嵌入式軟件開發(fā)效率、質(zhì)量均可得到較好保障。以某智能氣象站的嵌入式軟件開發(fā)為例,Qt跨平臺C++開發(fā)環(huán)境、moc元對象編譯器、“信號與槽”新消息機制均能夠較好服務于嵌入式軟件開發(fā)為保證嵌入式軟件開發(fā)質(zhì)量,開發(fā)過程需重點關注單元間通信方式、類的繼承關系。其中,單元間通信方式需設計四種信號和槽,分別對應數(shù)據(jù)信息、指令信息、通用信息和狀態(tài)信息,并通過2路輸入和輸出的抽象處理單元實現(xiàn)指令和數(shù)據(jù)的分離;類的繼承關系需重點關注CUnitBase類的定義、Qt自帶的線程類QThread,這些同樣會對嵌入式軟件開發(fā)質(zhì)量造成較為深遠的影響。

篇6

【關鍵詞】計算機軟件開發(fā) 開發(fā)技術

隨著信息時代的到來,生活中越來越離不開計算機。計算機本身分為應用軟件和系統(tǒng)軟件,計算機本身具有邏輯功能,軟件給計算機工作進重新行安排,使人們可以提高勞動效率,減短勞動時間。計算機高速發(fā)展開始與生活密切結合,也促進了計算機軟件的開發(fā)技術的發(fā)展。

一、計算機軟件概述

計算機需要硬件和軟件兩部分共同配合才能確保正常工作。對于軟件部分來說,可以分為系統(tǒng)軟件和應用軟件,系統(tǒng)軟件即系統(tǒng)本身的軟件,主要的功能是對計算機進行管理、監(jiān)督和維護等,例如自檢程序和操作系統(tǒng)。而應用軟件則是需要軟件開發(fā)人員對相應的領域進行研究,一般來說都有其獨特功能,例如音樂播放器、聊天交友軟件等。在網(wǎng)絡越來越普及的今天,計算機軟件已經(jīng)滲透生活的各個領域,提高了生活生產(chǎn)的效率,也促使軟件產(chǎn)業(yè)不斷創(chuàng)新發(fā)展,富裕了一批軟件開發(fā)者。對于軟件開發(fā)者來說,軟件開發(fā)完成后的保護工作同樣很重要,如果沒有進行保護,很容易被復制、修改、影響使用并且危害其利益。

二、計算機軟件開發(fā)方式

1 軟件原型法。在軟件開發(fā)中,許多軟件在開發(fā)的前期以各種需求為基礎,通過后期的開發(fā)過程將功能慢慢實現(xiàn),逐步確定設計軟件的方案,一步步完成對軟件的開發(fā),這種方法我們稱為軟件原型法。這種開發(fā)方法主要適用于需求不明確的開發(fā)過程,軟件開發(fā)者對于自身的需求并不明確,所以需要在開發(fā)過程中不斷分析和修改。在開發(fā)中通過用戶參與來實現(xiàn)軟件的后期修改,不進提供了用戶的參與度,實現(xiàn)了用戶對于軟件的決策權,讓用戶有提出意見和建議的權力,其實也完成保證了軟件的實用性。在這種開發(fā)模式中,模型的建立和速度對軟件最終的成形有著重要影響,最常用的方法有拋棄式、遞增式和演化式等。

2 軟件生命周期法。軟件生命周期法主要是強調(diào)系統(tǒng)的整體性和全局性,它是通過時間來設定軟件開發(fā)和維護的階段,每個階段都有獨立的目標和任務,分工明確,發(fā)現(xiàn)問題可以及時得到解決,大大保證了軟件的質(zhì)量,是計算機軟件開發(fā)者常用的一種軟件。根據(jù)時間設定的不同,整個開發(fā)過程中可以分為軟件計劃、需求分析、軟件設二級、程序編碼、軟件測試、運行維護等幾個階段,每個階段都環(huán)環(huán)相扣,如果一個環(huán)節(jié)出了問題就會影響下一個環(huán)節(jié),這就要求開發(fā)者在開發(fā)軟件時認真仔細,精確地找出問題解決問題。簡化了系統(tǒng)開發(fā)的復雜性,提高了軟件的可操作性。

三、計算機軟件開發(fā)應用分析

l 計算機軟件開發(fā)應用。軟件開發(fā)技術的飛速發(fā)展,計算機的應用更為普遍,這讓全球迅速結成了一張網(wǎng),把兩個不同的整體聯(lián)系在了一起,實現(xiàn)了全球網(wǎng)絡資源的共享,給不同用戶之間的社交帶來了便捷,他們又是兩個沒有約束的個體。而計算機軟件開發(fā)技術的應用,通過各個軟件平臺,使用戶在相同時間內(nèi)提高了工作效率。軟件是保證計算機正常使用的核心,而軟件開發(fā)技術的提高則是保證用戶能體驗到更加人性化的軟件,提高各項軟件在計算機內(nèi)的使用。

2 計算機軟件開發(fā)技術應用。計算機軟件開發(fā)的重要意義在于滿足人們在日常生活中,工作學習的需要。通過研究人們需要什么,從實際的角度出發(fā),用先進的網(wǎng)絡開發(fā)技術來開發(fā)出科技含量高,價值高便捷又實用的軟件。在開發(fā)軟件時,開發(fā)人員應結合實際情況,從軟件應用應該標準化,要從安全性、可靠性、穩(wěn)定性著手,從而來保證用戶使用達到最好的效果。然后計算機本身的系統(tǒng)版本和各個殺毒軟件的安全等設置的限制,使用戶在其操作中顯得更加復雜化,不僅不能提高工作效率,反而還事半功倍,這也對軟件的推廣產(chǎn)生了一定的阻礙作用。相對于兼容操作系統(tǒng)的軟件來說,因為沒有系統(tǒng)的影響,運行時速度流暢,簡潔方便,使用的同時計算機還能對使用數(shù)據(jù)進行備份還原,這樣才能給用戶帶來更好的體驗。所有計算機使用軟件時間的越長,軟件與系統(tǒng)的兼容性就會變得越差,這時開發(fā)人員就必須找出問題的關鍵,提出好的方案來解決問題,提供滿足客戶需求的軟件。計算機軟件開發(fā)技術的應用,還是會受到各方面的限制,為了能夠開發(fā)出高質(zhì)量的軟件,為用戶帶來更好的體驗,這就需要開發(fā)人員通過對用戶需求的調(diào)查和研究。

篇7

 

0 引言

 

畢業(yè)設計是本科教學中非常重要的一個教學環(huán)節(jié),是對學生所學知識的檢驗和總結,是培養(yǎng)學生獨立分析和解決問題能力的重要手段,也是學生進入工作崗位前的最后一次實戰(zhàn)演習;并且,它是本科教學水平評估指標體系的重要指標之一,是考核學校本科教學水平和質(zhì)量的重要內(nèi)容。

 

軟件開發(fā)是計算機專業(yè)畢業(yè)設計中一個重要組成部分。學生開發(fā)的軟件質(zhì)量直接反映出畢業(yè)設計質(zhì)量,而指導教師的指導和監(jiān)控對學生開發(fā)軟件的質(zhì)量高低有很大影響。本文首先介紹了軟件類畢業(yè)設計的特點、遇到的問題及其原因分析,然后將敏捷軟件開發(fā)技術應用于指導和監(jiān)控軟件類畢業(yè)設計,最后通過具體的實踐對其進行總結。

 

1 目前狀況及問題

 

1.1 軟件開發(fā)類畢業(yè)設計的特點

 

本科計算機專業(yè)畢業(yè)設計中,軟件開發(fā)占很大比重。而軟件開發(fā)類畢業(yè)設計與其他專業(yè)的畢業(yè)設計以及商業(yè)化軟件開發(fā)又有很大不同,主要體現(xiàn)在:

 

(1)設計的最終目的是要生成可運行的、實現(xiàn)一定功能的、錯誤率較低的實際軟件產(chǎn)品,而不僅僅是提交一份文檔報告。

 

(2)設計小組成員分工合作,要將各人的成果整合,形成完整的軟件;小組每個成員不是完全孤立的,每個人的工作都與其他人息息相關。

 

(3)項目小組一般只包括一個人或幾個人,人數(shù)較少,遠少于一般商業(yè)化軟件開發(fā)項目小組的人數(shù)。

 

(4)小組成員沒有足夠的團隊意識,沒有足夠的軟件工程經(jīng)驗,一般沒有作為一個團隊的成員共同開發(fā)過軟件產(chǎn)品。

 

(5)項目開發(fā)過程不完全,編碼的結束即意味著項目的結束。項目不要求有完整的工程化的分析和設計文檔。

 

(6)有些軟件開發(fā)沒有與商業(yè)項目掛鉤,也就沒有真實客戶的需求對其進行功能和性能上的監(jiān)控。

 

1.2 遇到的問題及原因分析

 

根據(jù)上面的特點可以看出,普通畢業(yè)設計的指導方式或是工程化的控制手段,并不能適應軟件開發(fā)類畢業(yè)設計,最終會導致畢業(yè)設計質(zhì)量低下,學生得不到真正鍛煉。比較突出的問題主要表現(xiàn)在以下幾個方面:

 

(1)項目組成員各人任務不明確,能力參差不齊,并且有時沒有充分地交流設計思想,最后導致軟件各個功能模塊無法有效整合。

 

(2)項目需求因為各種原因不斷改變,軟件不斷修改,最終完成的軟件產(chǎn)品達不到設計要求。

 

(3)編碼開始后,軟件的錯誤和缺陷不斷涌現(xiàn)、不斷累積,最終無法控制。

 

這些問題的產(chǎn)生,固然與設計選題、學生能力、實驗環(huán)境以及教師的指導力度分不開,最重要的還是與教師的指導和監(jiān)控方式有關。應當采用恰當?shù)闹笇Ш捅O(jiān)控方式,最大化地促進學生能力的提高,最有效地根據(jù)各個學生的特點,推動學生逐步達到畢業(yè)設計軟件質(zhì)量和功能的要求。

 

2 敏捷軟件開發(fā)技術的應用

 

采用適當?shù)闹笇Ш捅O(jiān)控方式,實際就是要求教師對學生軟件開發(fā)應用適當?shù)能浖^程模型,也就是軟件開發(fā)的工程化控制手段。

 

2.1 敏捷軟件開發(fā)簡介

 

傳統(tǒng)的軟件工程方法中的架構設計與程序開發(fā)在時間上是先后分離的,這種分離常常導致一些脫離實際的設計和脫離設計構想的編程,導致最終軟件開發(fā)的不理想甚至是失敗。鑒于以上問題,敏捷軟件開發(fā)技術應運而生。

 

敏捷軟件開發(fā)以交付而不是以構造為核心,它強調(diào)的是交付對客戶有價值的軟件,而不是用戶需求中所描述的軟件。簡言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。敏捷軟件開發(fā)方法提倡采用先進的技術和高水平的小型團隊,并輔以人性化的管理,充分發(fā)揮軟件開發(fā)者的才華,建立暢通的交流機制,使軟件開發(fā)團隊水平和軟件質(zhì)量共同提高。

 

敏捷式開發(fā)采用適應性方法,而傳統(tǒng)的軟件工程學采用的是預測性方法。敏捷式開發(fā)是以人為主的,而傳統(tǒng)的工程學是以過程為主的。二者的主要區(qū)別存在于它們對軟件開發(fā)過程的描述中,也就是說,敏捷開發(fā)實現(xiàn)當前最需要的功能,然后根據(jù)變化來修正和改進;而傳統(tǒng)軟件工程學一開始就將軟件的各種架構預測好,然后采用固定的過程來實現(xiàn)這種架構。軟件開發(fā)中的變化是不可避免的(通常傳統(tǒng)軟件開發(fā)的失敗主要原因就是不能很好適應這種不可預知的變化),因此就要找到一種新的方法能夠更有效地適應變化,這其實也就是敏捷式開發(fā)方法所要達到的效果。

 

可以看出,上述的敏捷軟件開發(fā)的許多特點正是與軟件開發(fā)類畢業(yè)設計的許多特點不謀而合,例如,小型的開發(fā)小組,適應性(適應不可預測變化)的開發(fā)機制,短期的交付(畢業(yè)設計一般都在半年甚至更短時間內(nèi)完成軟件的交付),充分發(fā)揮小組成員的特點,建立暢通的交流機制等等。因此,將敏捷開發(fā)思想引入畢業(yè)設計中的軟件開發(fā),不失為解決后者諸多問題的很好嘗試。

 

2.2 敏捷軟件開發(fā)應用 敏捷軟件開發(fā)技術包含若干的價值觀、原則和實踐方法。將其用于畢業(yè)設計的指導和監(jiān)控,主要應包含如下原則的應用:

 

2.2.1 增量式開發(fā)

 

傳統(tǒng)軟件類畢業(yè)設計采用傳統(tǒng)軟件工程學指導方法,先進行需求分析,然后根據(jù)需求進行功能模塊劃分,接著開始編程。如果最初階段不能很好地完成分析和設計任務,后面的軟件開發(fā)將出現(xiàn)嚴重問題。

 

而在敏捷軟件中,采用的是增量式開發(fā),對于難度較大的軟件設計,不是一步吃透功能,而是逐步添加功能,在改進的過程中促進學生能力的提高。在筆者指導的一項畢業(yè)設計中,要求學生用Java編制網(wǎng)絡實時通訊軟件。采用增量式開發(fā)方法,先要求學生實現(xiàn)基本功能,即發(fā)送字符串到另外一臺計算機,使用 Windows的超級終端作為接收機進行測試;接下來要求學生實現(xiàn)程序互相發(fā)送和接收字符信息;然后,實現(xiàn)聊天室的多人聊天的線程控制;進一步可以實現(xiàn)數(shù)據(jù)庫存儲登錄用戶信息,并進行驗證;最后,實現(xiàn)其他功能,例如網(wǎng)絡硬盤,文件傳輸?shù)鹊取T陂_發(fā)過程中,增量式設計能夠讓學生逐步進入高層次的內(nèi)容,而不是一開始就進行高難度的開發(fā)。并且,通過逐步修改代碼,可以提高學生閱讀代碼和優(yōu)化代碼的能力,學生的編程水平得到很好的提高。

 

2.2.2 可持續(xù)的開發(fā)速度

 

敏捷開發(fā)技術不要求團隊一開始就盡全力完成任務,而是盡量保持一種穩(wěn)定的、可持續(xù)的開發(fā)速度;團隊的成員必須始終保持旺盛的精力和警覺的思想。

 

在很多畢業(yè)設計中,一開始學生就以極高的熱情和全力以赴的狀態(tài)去工作,然而隨著進度的延緩,錯誤不斷增多,以及越來越復雜的需求變化,學生的熱情迅速減退,最終影響設計成果。因此,指導老師必須充分調(diào)動學生的積極性,又不能讓學生的精力過早地消耗,要保持一個穩(wěn)定的進度。

 

2.2.3 簡單

 

敏捷軟件開發(fā)方法采用最簡單的方式實現(xiàn)當前最需要的功能。在畢業(yè)設計中,針對某一個功能,采用盡量簡單的方式去實現(xiàn),不需要考慮為了將來的功能而進行“提前的準備”。因為這種“提前的準備”往往會讓學生考慮問題過多,反而忽略了當前最重要的內(nèi)容。

 

然而,簡單并不代表著功能的縮減,當某些功能的實現(xiàn)成為必須的時候,敏捷軟件開發(fā)方法采用在代碼上改進的方式來完成,并且以此為機遇,充分進行反省,讓學生在改進中得到進一步提高。

 

2.2.4 結對編程

 

結對編程是敏捷開發(fā)和極限編程(XP)的重要實踐,它是指兩個程序員結對使用同一臺計算機完成編碼——其中一位控制鍵盤并輸入代碼,另一位觀察輸入的代碼并尋找著代碼中的錯誤和可以改進的地方。這種方式能極大地促進知識在團隊中的傳播,并有效降低代碼的錯誤率。

 

在畢業(yè)設計中,根據(jù)學生的特點,采用結對編程方式,可以讓學生充分交流,互補所短,互用所長,互相學習。例如,在網(wǎng)頁制作類的軟件開發(fā)中,ASP腳本編程人員和界面設計人員結對,能夠充分利用二者的特點,將腳本程序和網(wǎng)頁界面元素有機地結合起來,形成功能完善,界面美觀的動態(tài)網(wǎng)頁。

 

2.2.5 適應改變

 

敏捷開發(fā)的一個重要特點就是它能夠很好地適應改變,并且歡迎改變。這里的改變主要是指功能需求方面的改變。而敏捷開發(fā)對改變的適應,主要是通過增量開發(fā),持續(xù)交付以及不斷地改進與反省來實現(xiàn)的。

 

在畢業(yè)設計中,設計題目一經(jīng)給出,主要方向不能變。然而選擇題目的學生是變化的,個體能力有時候有很大差別,并且在開發(fā)中會碰到很多不能預知的技術問題。采用敏捷開發(fā)中的過程控制手段,可以有效地讓畢業(yè)設計小組更好地應對各種變化,不會因為突發(fā)因素導致軟件開發(fā)的失敗。

 

2.2.6 個體激勵和交流

 

畢業(yè)設計的重要目的是促進學生各方面能力的提高,采用的手段可以有很多。在敏捷設計中,強調(diào)個人能力在團隊中的充分展示。把這種思想應用于畢業(yè)設計指導中,可以采取定期召開小型交流會議的方式,讓每一個組員充分發(fā)揮自己的能力,以“頭腦風暴”的形式對系統(tǒng)當前狀態(tài)和改進方式進行暢所欲言的交談。通過這種形式的交流,能夠充分調(diào)動整個小組成員的積極性,及時發(fā)現(xiàn)系統(tǒng)開發(fā)過程中的各種問題,增強整個小組的凝聚力,有效提高學生的團隊協(xié)作能力。

 

2.2.7 反省

 

好的團隊并不只是埋頭工作,他們會思考如何工作和為什么工作。在畢業(yè)設計指導過程中,指導教師應當在適當?shù)臅r機提醒學生對開發(fā)工作中各項內(nèi)容進行反省,讓學生能夠有機會去辨別可能或已經(jīng)發(fā)生的錯誤。反省不僅僅是簡單的思考過程,反省的后面應該緊跟著行動,學習是反省的行為,要能夠?qū)㈠e誤造成的危害盡早地阻止,并從中學習,以免同樣錯誤的再次發(fā)生。

 

2.2.8 其他原則

 

敏捷軟件開發(fā)技術還包含其他一些原則,在設計中包含了面向?qū)ο笤O計的一些基本原則,例如單一職責原則(SRP)、開放一封閉原則(OCP)等等。要將這些設計原則應用到具體的軟件開發(fā)中,需要學生熟悉面向?qū)ο蟪绦蛟O計的相關概念和技術。

 

將敏捷軟件開發(fā)技術應用到畢業(yè)設計的指導過程中,需要指導教師本身對它有較為深刻的理解,并且勇于進行大膽的嘗試一畢竟敏捷開發(fā)的很多實踐是與傳統(tǒng)軟件工程學方法相悖的。指導教師可以先在某一門程序設計課的課程設計中采用這種思想,然后進行相應的調(diào)整,再將其應用于畢業(yè)設計的指導工作。

 

3 結束語

 

將敏捷軟件開發(fā)技術應用于指導畢業(yè)設計,能夠充分適應軟件類畢業(yè)設計的特點。在實際采用這種方法對我校的兩組畢業(yè)設計小組進行指導的過程中,可以看出,這兩組同學在對語言工具和相關知識不是很熟悉的情況下,采用漸進的方式,逐步實現(xiàn)設計要求的功能,并且不斷對代碼進行改進,軟件完成的質(zhì)量比其他小組明顯要高。畢業(yè)答辯中,小組成員能夠很清晰地闡述其軟件開發(fā)進程以及相關知識的學習過程。并且,小組成員通過畢業(yè)設計加深了交流,團隊協(xié)作能力有了大幅度的提高,小組成員個人的精神面貌也有了較大的改變。

篇8

關鍵詞:分層技術;軟件開發(fā);應用

在21世紀的今天,計算機已經(jīng)滲透到現(xiàn)代生活的各個方面,它不僅能夠方便人們的日常生活和工作,給各個企業(yè)的應用開發(fā)更是帶來了很大的便利。此外,為了能夠與時俱進、順應時代的發(fā)展,應該將分層技術有效地應用到計算機的軟件開發(fā)中。為此,本文就從分層技術的概念和特點、分層技術的應用兩個方面分別進行了敘述,以此證明分層技術對軟件的開展有著至關重要的意義。

一、分層技術簡述

(一)分層技術的含義

所謂的分層技術是指將軟件的開發(fā)分為多個概念層,每個概念層都有各自不同的工作流程,并且各個概念層之間都有著一定的關聯(lián),從而可以形成一個完整的系統(tǒng)體系。

(二)分層技術的特點

分層技術具有多個方面的特點,比如:(1)穩(wěn)定性。分層技術能夠提高軟件的開發(fā)效率,極大程度上縮短復雜軟件的開發(fā)過程和時間,為軟件的運行提供充足的保障。(2)獨立性。在軟件開發(fā)中應用分層技術后,如果一個概念層出現(xiàn)了問題,并不會影響其他的層面,而只會影響這個層面的上下層。

(三)分層技術在軟件開發(fā)中的作用

分層技術在軟件開發(fā)中的作用有三點,第一,能夠有效地提升計算機的性能,減少軟件開發(fā)者的工作時間,提高其工作效率。第二,可以延長軟件的使用壽命,極大程度上提高軟件應用的可靠性。第三,能夠聯(lián)系硬件和底層,在保障軟件性能的同時,使計算機和服務器能夠得到進一步的發(fā)展。而從微觀的角度看,分層技術能夠使得多個層次之間相互依賴。

二、分層技術的應用分析

(一)雙層技術

在雙層技術中,兩個端點分別是客戶端和服務器,客戶端主要用于為客戶提供使用界面,負責處理相關的邏輯關系。而服務器則負責接收從客戶端發(fā)來的信息,并且在數(shù)據(jù)庫中查詢相關信息,再將計算結果反饋到客戶端。從雙層技術的原理中,我們不難看出,這種形式的應用只能處理較少的用戶、服務器,無法滿足更多用戶的需求。為此,就需要向三層技術進行過渡,從而更好地順應時代的發(fā)展,從根本上提高工作效率。

(二)三層技術

三層技術是在雙層技術的基礎之上發(fā)展而來的,它不僅具有兩個端點,同時還增加了應用服務器端,再次提升了整體的工作效率。而應用服務器端的作用則是分擔客戶端的邏輯關系處理,使客戶更加專注用戶的使用界面。所謂的三層技術是指界面層、業(yè)務處理層、數(shù)據(jù)層,這三個端口之間相互配合,共同完成對用戶的需求處理功能。其中界面層主要用于用戶對軟件需求的采集,并且將其采集到的信息發(fā)送給業(yè)務處理層。而業(yè)務處理層則是將接收到的信息進行分析,在分析之后再將其傳送給數(shù)據(jù)層。此時,數(shù)據(jù)層不僅要對其進行相應的處理,還需要將處理后的信息反饋給業(yè)務處理層,再由業(yè)務處理將處理的內(nèi)容傳達到界面層。

(三)四層技術

隨著信息時代的不斷進步和發(fā)展,計算機的應用環(huán)境越來越復雜,需要處理的相關信息、數(shù)據(jù)、邏輯能力也就越來越繁重,而在實際的應用中,比如:企業(yè)管理,客戶對計算機的數(shù)據(jù)處理速度、數(shù)據(jù)處理結果要求極高。而三層技術存在的缺點就會暴露出來,尤其是在面對網(wǎng)頁技術時,三層技術無法實現(xiàn)彼此之間的獨立。正是在這樣的背景下,四層技術應運而生,它在數(shù)據(jù)層和業(yè)務處理層之間增加了封裝層,從而形成了四層技術結構。而網(wǎng)頁技術能夠根據(jù)不同用戶之間的需求選擇適當?shù)奶幚硗緩剑斢脩舻男枨筝^少時,網(wǎng)頁技術就會選擇相應的信息傳送到數(shù)據(jù)層,再由其進行處理。而當數(shù)據(jù)的處理規(guī)模增大時,網(wǎng)頁技術就會通過業(yè)務處理層對數(shù)據(jù)進行處理,以此有效地提高各個環(huán)節(jié)的運行效率。

(四)五層技術

在軟件的開發(fā)中,五層技術、四層技術、三層技術這三者之間不盡相同,五層技術既是四層技術的拓展,也是四層技術的總結,而其主要的區(qū)別就在于五層技術包含了客戶專用層,這與資源層息息相關,它可以將系統(tǒng)的組件分成很多種,并且將所分的種類安裝到適合的設備上,在一定程度上迅速提高整體的工作效率。盡管五層技術能夠?qū)M件進行細化,但是其使用的范圍還不夠廣泛,到目前為止,五層技術只能被應用到一些特殊的領域中,不能被所有的軟件開發(fā)項目使用。

三、結束語

綜上所述,伴隨著計算機技術不斷的發(fā)展,給各行各業(yè)都帶來了新的機遇,但與此同時,也給各行各業(yè)帶來了一定的挑戰(zhàn),尤其是在計算機軟件的開發(fā)方面,更是給其帶來了一些困難。為此,本文從雙層技術、三層技術、四層技術、五層技術四個方面對分層技術的應用進行了具體的分析,希望通過本文的研究能夠促進各行各業(yè)進一步的發(fā)展。

參考文獻:

[1]焦麗萍.試論計算機在一系列軟件開發(fā)過程中的分層技術運用[J].數(shù)字技術與應用,2015,12(2):256-259.

篇9

關鍵詞:軟件復用;基于組件的系統(tǒng)工程;基于組件的系統(tǒng)開發(fā)

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2007)03-10656-02

1 引言

隨著人們對軟件需求的不斷增加,軟件的功能、可操作性、智能化程度也迅速發(fā)展,從而使軟件變得更加復雜、更加龐大在,開發(fā)的難度也越來越大,開發(fā)的周期越來越長、參與開發(fā)人數(shù)越來越多。為了解決這種軟件危機,減少重復勞動,降低被開發(fā)軟件出錯的概率,軟件利用技術也就應運而生。

2 軟件復用

軟件復用的思想最早是在1968年NATO的軟件過程會議上提出的,在過去的幾十年里,軟件復用得到了越來越廣泛的應用。軟件復用是指在兩次或多次不同的軟件開發(fā)過程中重復使用相同或相似元素的過程。軟件復用不同于軟件移植和共享。軟件移植是指對軟件進行修改和擴充,使之在保留原有功能、適應原有平臺的基礎上,可以運行于新的軟硬件平臺。而復用則指在多個系統(tǒng)中,尤其是在新系統(tǒng)中使用已有的軟件成分。共享是在一個系統(tǒng)中多次使用一個相同的軟件成分。

2.1 復用的資源

2.1.1 二進制代碼

是指已經(jīng)通過編譯和測試的機器語言,不做任何修改,直接用于復用,是理想的利用方式。常見的形式有動態(tài)鏈接庫和靜態(tài)庫的復用,這種復用也稱為黑盒復用。

2.1.2 源代碼

基于源代碼的復用也稱為白盒復用,它可根據(jù)用戶需求對已有產(chǎn)品進行適應性修改。源代碼的復用將受到開發(fā)語言和開發(fā)工具特性的一些限制。

2.1.3 系統(tǒng)設計的復用

系統(tǒng)設計復用有三種途徑,第一種途徑是從現(xiàn)有系統(tǒng)的設計結果中提取一些可復用的設計組件,并把這些組件應用于新系統(tǒng)的設計;第二種途徑是把一個現(xiàn)有系統(tǒng)的全部設計文檔在新的軟硬件平臺上重新實現(xiàn),也就是把一個設計運用于多個具體的實現(xiàn);第三種途徑是獨立于任何具體的應用,有計劃地開發(fā)一些可復用的設計組件。

2.1.4 分析的復用

系統(tǒng)設計復用有三種途徑,第一種途徑是從現(xiàn)有系統(tǒng)的設計結果中提取一些可復用的設計組件,并把這些組件應用于新系統(tǒng)的設計;第二種途徑是把一個現(xiàn)有系統(tǒng)的全部設計文檔在新的軟硬件平臺上重新實現(xiàn),也就是把一個設計運用于多個具體的實現(xiàn);第三種途徑是獨立于任何具體的應用,有計劃地開發(fā)一些可復用的設計組件。

一般情況下抽象級別越高,它的復用受實現(xiàn)環(huán)境的影響較少,從而使可復用組件被復用的機會更多,且所需的修改越少。

2.2 系統(tǒng)復用部分

以常見的應用系統(tǒng)為例,我們來分析一下典型應用系統(tǒng)的代碼量。

(1)通用組件:在程序設計語言之上提供通用程序設計支持。一般用于界面標準件、數(shù)據(jù)庫的操作等功能。這些組件一般跨領域使用,一般最多占典型應用系統(tǒng)規(guī)模的20%左右。

(2)與具體領域有關的組件:完成軟件產(chǎn)品的應用領域?qū)S玫墓δ堋H鐟妙I域是數(shù)據(jù)處理,這類組件可能包括排序軟件包、文件管理軟件包和雜湊函數(shù)等。這類組件一般在應用領域?qū)S玫模疃嗾嫉湫蛻孟到y(tǒng)規(guī)模的65%。

(3)與具體應用系統(tǒng)有關的代碼:此類代碼是應用系統(tǒng)專用的代碼。一般來說,應用系統(tǒng)專用代碼不能用于其他應用系統(tǒng),一般最多占典型應用系統(tǒng)規(guī)模的15%。

通過上面的分析,我們可以看出軟件復用有著廣闊的發(fā)展前景。

2.3 軟件復用的困難

軟件利用存在多方面的困難,無論是技術問題還是非技術問題,都影響著軟件復用的廣泛運用。下表給出了一些研究人員對軟件復用障礙的歸納。

3 組件和CBSE

組件技術是90年代初出現(xiàn)的一種新技術,它是在結構化設計和面向?qū)ο蠹夹g的基礎上發(fā)展起來的,是面向?qū)ο蠹夹g之后的軟件開發(fā)的標準方法體系,是面向?qū)ο蟮拈_發(fā)技術的延伸。

3.1 組件

組件的定義多種多樣,例如:組件是經(jīng)過封裝、有定義完備接口的可軟件包[CBSE 1999]。軟件組件是具有接口義務的合成單元,并且明確規(guī)定了所有背景的依賴關系。軟件組件是由第三方進行合成的主體,可以獨立部署[Szyperski和Pfister 1997]。組件是軟件實現(xiàn)的一種內(nèi)聚包[D'Souza和Wills 1998]。從上面的定義可以看出,組件的定義中未給出任何的具體實現(xiàn)技術。組件的性質(zhì):組件具有獨立性,能夠獨立的開發(fā)分發(fā)。具有接口性,所提供的服務被 明確,完備的定義,同時也明確、完備的定義了期望從外部得到服務的接口。具有合成性,能夠與其它組件合成,可定制部分屬性而不用修改組件本身。下圖給出了一種明確定義和其它組件及組件所執(zhí)行交互的組件高層模型。

3.2 常見組件模型

在組件規(guī)范化的過程串,許多公司做了很多的努力并取得了一定的成功。下面介紹一下常見的組件模型。

(1)CORBA:CORBA是由OMG(對象管理集團)開發(fā)的工業(yè)版本,是用來解決以下的問題:系統(tǒng)獨立于操作系統(tǒng),系統(tǒng)基于網(wǎng)絡且功能分布開各機器之間,組件開發(fā)獨立于語言。

(2)COM(組件對象模型):COM是由微軟公司提出并實踐的組件模型。COM是用于“便利系統(tǒng)能夠通過獨立開發(fā)的二進制組件,動態(tài)、有效地合成系統(tǒng)的組件重用”[BOX 1998]。COM組件是二進制層次上的組件復用,是基于接口的編程,模塊間的耦合度低,易于部署和軟件的升級。

(3)EJB組件:EJB是用于開發(fā)安全、可擴展、事務型和多用戶組件的一種分布式組件模型。EJB可以部署在分布式多層體系結構環(huán)境中的服務器端的軟件組件,它允許把應用程序邏輯與系統(tǒng)級服務分開,使系統(tǒng)開發(fā)人員集中精力編寫具體的業(yè)務處理問題,而不必關心系統(tǒng)的編程。每個EJB可由一個或多個Java對象組成,每個EJB是按照相同的規(guī)范開發(fā)的,Bean之間可以相互調(diào)用,實現(xiàn)任務的分解和進行業(yè)務處理,具有非常高的擴展性。

(4) .Net組件

.NET就是借鑒Java,采用XML,并遠遠超出Java的新的體系。.NET允許添加類似關鍵字的描述性聲明來批注編程元素的元數(shù)據(jù),可以實現(xiàn)被封裝的對象類、類樹、功能模塊、軟件框架、軟件構架(或體系結構)、文檔、分析件、設計模式等。

4 CBSD(基于組件的系統(tǒng)開發(fā))開發(fā)過程

CBSD開發(fā)過程是不遵循傳統(tǒng)的分析需求并找出組件的軟件開發(fā)過程,這種過程一般會造成組件失敗。因為這種過程沒有考慮現(xiàn)有的可復用的組件,并且試圖滿足分析師新確定的組件要求。如果存在成熟的組件市場,同開發(fā)過程應該考慮采辦組件,而不是開發(fā)組件。

CBSD完成各種活動的方式嚴重依賴于組件的性質(zhì)和類型。當使用不同的組件構造系統(tǒng)時,可能系統(tǒng)的各種特性完全不同。

下表給出了CBSE與傳統(tǒng)軟件開發(fā)的比較:

下圖給出了基于組件開發(fā)中的活動:

(1)查找:此過程是從文檔定義完備的組件庫中發(fā)掘出具有可能要使用的組件集合;

(2)選擇:從找到的組件集合中進一步選擇合適的組件;

(3)適配:定制所選的特定的組件,以滿足用戶使用組件新條件的需求的過程;

(4)創(chuàng)建:如果組件經(jīng)過適配也不能滿足需求時,產(chǎn)品集成人員必須針對這種特定的應用系統(tǒng)開發(fā)和創(chuàng)建新組件;

(5)合成:合成是聯(lián)編和集成的過程;

(6)替代:替代過程用于產(chǎn)品的維護。系統(tǒng)隨著時間的進化和用戶對新功能的需求,需要改正組件中的錯誤,并增加新的功能。老版本的組件被撤出,換上經(jīng)過修改的版本;

(7)更新組件庫:當新的組件被創(chuàng)建或老組件被修改,為了保持組件庫的正確和大適用范圍,可以將新組件或更新的組件加入組件庫中。在修改組件庫時,要編寫或修改相應的文檔及不同組件版本的管理。

5 結束語

篇10

關鍵詞:Java語言;手機軟件;開發(fā)技術

中圖分類號:TP311.52

21世紀的今天,社會的進步以及人們生活水平的逐漸提高,手機的應運而生給人們的日常通訊帶來了極大的便利,同時當前手機越來越強大的功能更是豐富了人們的生活。現(xiàn)如今,對于如何開發(fā)出實時性強、功能耗低、體積小以及高集成度的手機始終是當前技術領域研究的熱點之一。因此本文對基于Java語言的手機軟件開發(fā)技術進行探討分析有一定的經(jīng)濟價值和現(xiàn)實意義。

1 手機軟件應用程序以及架構

一般而言,手機不僅僅是一種通訊工具,同時在人們的日常生活中也扮演著娛樂功能,手機的特點在移動互聯(lián)上有著集中體現(xiàn)。而手機軟件的開發(fā)不僅僅要做好手機硬件的基礎工作,同時也要做好手機軟件的開發(fā)設計工作。

1.1 手機軟件應用程序

對于當前流行的安卓手機而言,其應用程序的組成部分主要有Activity、Service、Content以及Intent等。對于Activity部分呢而言,主要是將多個使用的數(shù)據(jù)存儲進行提供,并為后臺的運行提供全面的服務。而Intent主要是其手機軟件在運行過程中自動保存的一種機制,進而實現(xiàn)各個活動之間的切換。

1.2 手機軟件的架構

安卓手機軟件的應用程序是其手機整個軟件的核心部分,其管理程序往往涵蓋客戶端、短消息程序、地圖、瀏覽器以及日歷等。應用程序在實際的構造過程中主要借助于Java語言進行的一種編寫,進而實現(xiàn)了應用程序之間的交互性。應用程序的框架,其開發(fā)人員在對主要框架加以借助,并將相關重組組件的使用頻率簡化。程序庫作為安卓手機系統(tǒng)不同組件使用的重要程序,其應用程序框架為手機軟件的開發(fā)提供了必要的服務,Java語言使其程序庫的主要內(nèi)容。運行庫是安卓系統(tǒng)運行的核心部件,對軟件運行的安全性和可靠性加以保證。

2 Java語言的基本特征

Java語言作為當前新技術,在手機軟件開發(fā)中的應用,有著一定的應用價值,不僅僅有著較廣的涉及范圍,同時也有著相對較好的安全性和可靠性。

2.1 面向?qū)ο蟮奶攸c

Java語言中的各個對象之間不僅僅局限于實體,同時也包括了一些虛擬的物象,就傳統(tǒng)的過程式編程語言而言,其過程主要是借助于中心以算法進行的一種驅(qū)動,而Java語言面向?qū)ο蟮木幊蹋饕且云鋵ο鬄橹行模柚谙⒆鳛榈囊环N驅(qū)動。當前面對對象編程語言借助于公式可表示為:Java語言程序=對象+消息,對于封裝、集成和多態(tài)性有著一定的支持。封裝主要是將各個對象的數(shù)據(jù)和方法有機的相統(tǒng)一,Java語言有著相對較強的封裝性。

2.2 有著一定的安全性和可靠性

Java語言起初的設計過程中,在電子類消費產(chǎn)品有著較為廣泛的應用,可靠性相對來說比較的高,同時Java對于指針并不支持,并將內(nèi)存的非法訪問杜絕,其自動單元的收集將內(nèi)存的丟失加以避免,Java語言在對自己的安全機制借助的同時,并將病毒程序的產(chǎn)生加以防止。一旦Java字節(jié)碼逐漸的進入解釋器中,就要及時的檢查字節(jié)碼校驗器,并對內(nèi)存進行分類布局,將應用程序之間的干擾破壞避免,保證Java編程語言的安全性。

3 基于Java語言的手機軟件開發(fā)

本文在對基于Java語言手機軟件開發(fā)技術進行分析的過程中,著重探討分析了基于Java語言手機軟件開發(fā)的方法、開發(fā)過程的要點以及開發(fā)環(huán)境的搭建三個方面,具體體現(xiàn)如下:

3.1 基于Java語言手機軟件開發(fā)的方法

手機軟件的開發(fā),主要是借助于Java語言進行一定的編寫,并將其打包成apk文件,以至于應用程序可以是任一文件。安卓手機應用程序在默認的情況下,linux將會自動運行,一旦應用程序運行過程中需要將代碼執(zhí)行的時候,將會自動的啟動一個程序,一旦代碼不符合相關要求,應用程序?qū)K止運行。同時應用程序在實際的運行過程中往往有著一定的獨立性。

3.2 手機軟件開發(fā)過程的要點分析

手機軟件開發(fā)過程中,更要做好權限的設置,用戶界面的設計以及資源獲取和使用的設置。權限在實際的過程中,是對應用程序的一種保護,在對權限進行命名時,獲取相關聯(lián)的權限,進而實現(xiàn)用戶體驗的過程,并在操作中適當?shù)膶撕灱尤耄瑢ζ錁撕炦M行詳細的說明,文件設置的過程中,更要保證文件對權限有著一定的支持度。用戶界面生成的過程中,主要有對使用代碼直接生成以及XML配置直接生成兩種方法,在對XML利用的同時,更要對UI進行設計,做好線性的布局和相對布局。資源獲取和使用的過程中,借助于Java語言,對其文件的支持格式進行編寫,進而保證應用程序運行的過程中對資源進行解析,并對應用程序的非代碼進行跟蹤應用。

3.3 基于Java語言手機軟件開發(fā)環(huán)境的搭建

基于Java語言手機軟件開發(fā)環(huán)境在實際的搭建過程中,就要對手機應用層軟件進行開發(fā),Java是其最主要的語言,環(huán)境搭建這一過程的實現(xiàn)首先就要對Java環(huán)境進行搭建,其次就要將Eclipse和插件進行安裝,最后就要對Anroid SDK進行安裝。

Java環(huán)境的搭建是對系統(tǒng)正常啟動的極大保障,Java環(huán)境搭建知行合一過程首先就要將JDK進行安裝,最后就要對Java環(huán)境變量進行整體上的設置。Eclipse和插件安裝的過程中,首先就要在官網(wǎng)上對其軟件進行下載,并將所下載的軟件進行安裝,其次將插件進行安裝。Anroid SDK安裝的過程中,就要對函數(shù)庫資源進行某種程度上的打包處理,將打包好的組件進行下載,結合Anroid SDK環(huán)境變量的需求,對其進行設計,最后進行相應的鏈接。

總而言之,基于Java語言手機軟件開發(fā)技術并不受到硬件的限制,其軟件在實際的開發(fā)設計過程中,更要基于Java語言,做好各個應用程序之間的設計工作,保證應用程序運行之間有著一定的獨立性,從根本上保證手機軟件在運行的過程中有著一定的安全性和可靠性。

4 結束語

隨著時代經(jīng)濟的飛速發(fā)展和科技的進步,人們生活水平不斷提高,手機作為人們?nèi)粘I钪兄匾囊环N工具,對人們的生活帶來了極大的便利,近些年來,社會對手機性能以及軟件功能逐漸有著越來越高的要求,同時手機軟件的開發(fā)研究越來越多,而基于Java語言的手機軟件開發(fā)不僅僅保證了手機軟件應用程序在運行的過程中有著一定的獨立性,同時也對手機軟件運行過程中的安全性和可靠性給予了最大程度上的保障,是當前科技進步的重要標志,對于我國國民經(jīng)濟的發(fā)展有著一定的積極推動作用。

參考文獻:

[1]何璇.基于Java語言的安卓手機軟件開發(fā)[J].計算機光盤軟件與應用,2014(08):67-68.

[2]韓路,高賢強.基于Android系統(tǒng)的手機軟件開發(fā)研究[J].電子技術與軟件工程,2014(03):60-61.

[3]許向鋒.基于J2ME的Java手機軟件開發(fā)[J].微型機與應用,2002(01):35-36.

[4]楊治.手機軟件交互設計研究[D].哈爾濱工程大學,2013.