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

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

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

軟件開發(fā)的技術(shù)

篇1

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

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

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

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

2.1遵循科學(xué)性

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

2.2注重實用性

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

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

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

篇2

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

1 引言

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

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

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

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

嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,其主要負(fù)責(zé)嵌入式硬件資源分配、協(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è)控制、國防軍工、電力通信、政企單位提供了強(qiáng)大的信息化支撐。

2.2 嵌入式支撐軟件

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

2.3 嵌入式應(yīng)用軟件

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

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

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

3.1 數(shù)字電路技術(shù)

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

3.2 微控制器

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

3.3 HTML5技術(shù)

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

3.4 移動定位功能

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

3.5 canvas繪圖功能

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

4 結(jié)束語

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

參考文獻(xiàn)

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

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

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

篇3

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

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

1.1模擬軟件系統(tǒng)結(jié)構(gòu)

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

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

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

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

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

結(jié)語

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

參考文獻(xiàn)

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

篇4

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

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

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

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

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

2應(yīng)用系統(tǒng)的技術(shù)

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

2.1多線程技術(shù)

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

2.2地圖開發(fā)技術(shù)

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

2.3“搜搜”功能技術(shù)分析

篇5

關(guān)鍵詞:計算機(jī)軟件;開發(fā)技術(shù);現(xiàn)狀;應(yīng)用

引言

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

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

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

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

2.1結(jié)構(gòu)化系統(tǒng)開發(fā)法

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

2.2原型化開發(fā)法

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

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

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

3計算機(jī)軟件開發(fā)技術(shù)的應(yīng)用要點

3.1分層技術(shù)應(yīng)用要點

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

3.2B/S體系結(jié)構(gòu)開發(fā)要點

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

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

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

篇6

【關(guān)鍵詞】計算機(jī)軟件開發(fā) 開發(fā)技術(shù)

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

一、計算機(jī)軟件概述

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

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

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

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

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

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

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

篇7

 

0 引言

 

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

 

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

 

1 目前狀況及問題

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

1.2 遇到的問題及原因分析

 

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

 

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

 

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

 

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

 

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

 

2 敏捷軟件開發(fā)技術(shù)的應(yīng)用

 

采用適當(dāng)?shù)闹笇?dǎo)和監(jiān)控方式,實際就是要求教師對學(xué)生軟件開發(fā)應(yīng)用適當(dāng)?shù)能浖^程模型,也就是軟件開發(fā)的工程化控制手段。

 

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

 

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

 

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

 

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

 

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

 

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

 

2.2.1 增量式開發(fā)

 

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

 

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

 

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

 

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

 

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

 

2.2.3 簡單

 

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

 

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

 

2.2.4 結(jié)對編程

 

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

 

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

 

2.2.5 適應(yīng)改變

 

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

 

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

 

2.2.6 個體激勵和交流

 

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

 

2.2.7 反省

 

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

 

2.2.8 其他原則

 

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

 

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

 

3 結(jié)束語

 

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

篇8

關(guān)鍵詞:分層技術(shù);軟件開發(fā);應(yīng)用

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

一、分層技術(shù)簡述

(一)分層技術(shù)的含義

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

(二)分層技術(shù)的特點

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

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

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

二、分層技術(shù)的應(yīng)用分析

(一)雙層技術(shù)

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

(二)三層技術(shù)

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

(三)四層技術(shù)

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

(四)五層技術(shù)

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

三、結(jié)束語

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

參考文獻(xiàn):

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

篇9

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

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

1 引言

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

2 軟件復(fù)用

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

2.1 復(fù)用的資源

2.1.1 二進(jìn)制代碼

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

2.1.2 源代碼

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

2.1.3 系統(tǒng)設(shè)計的復(fù)用

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

2.1.4 分析的復(fù)用

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

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

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

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

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

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

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

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

2.3 軟件復(fù)用的困難

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

3 組件和CBSE

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

3.1 組件

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

3.2 常見組件模型

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

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

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

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

(4) .Net組件

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

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

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

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

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

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

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

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

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

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

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

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

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

5 結(jié)束語

篇10

關(guān)鍵詞:Java語言;手機(jī)軟件;開發(fā)技術(shù)

中圖分類號:TP311.52

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

1 手機(jī)軟件應(yīng)用程序以及架構(gòu)

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

1.1 手機(jī)軟件應(yīng)用程序

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

1.2 手機(jī)軟件的架構(gòu)

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

2 Java語言的基本特征

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

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

Java語言中的各個對象之間不僅僅局限于實體,同時也包括了一些虛擬的物象,就傳統(tǒng)的過程式編程語言而言,其過程主要是借助于中心以算法進(jìn)行的一種驅(qū)動,而Java語言面向?qū)ο蟮木幊?,主要是以其對象為中心,借助于消息作為的一種驅(qū)動。當(dāng)前面對對象編程語言借助于公式可表示為:Java語言程序=對象+消息,對于封裝、集成和多態(tài)性有著一定的支持。封裝主要是將各個對象的數(shù)據(jù)和方法有機(jī)的相統(tǒng)一,Java語言有著相對較強(qiáng)的封裝性。

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

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

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

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

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

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

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

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

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

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

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

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

4 結(jié)束語

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

參考文獻(xiàn):

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

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

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

[4]楊治.手機(jī)軟件交互設(shè)計研究[D].哈爾濱工程大學(xué),2013.