計算機軟件技術基礎教學論文
計算機軟件技術基礎教學論文
隨著社會經(jīng)濟的迅猛發(fā)展,數(shù)字技術、多媒體信息技術、計算機軟件技術等先進技術不斷優(yōu)化和完善,有效提高了人們的社會生活質量。下面是學習啦小編為大家整理的計算機軟件技術基礎教學論文,供大家參考。
計算機軟件技術基礎教學論文篇一
《 實時軟件開發(fā)方法思考 》
摘要:當今是個信息自動化的時代,軟件已應用于人們生活的環(huán)境的各個方面。把面向對象的實現(xiàn)方法引入到實時軟件系統(tǒng)的開發(fā)過程中具有重大的作用,可以達到反復使用,開發(fā)周期時間短、軟件質量增強、開發(fā)有保障以及開發(fā)成本低等效能目的。這樣就確保了實時軟件的良性開發(fā)并使這種開發(fā)系統(tǒng)化和工程化,更使人們無論在生產(chǎn)方面還是學習方面都會有很大的便利并提升了生產(chǎn)生活的質量
關鍵詞:面向對象;實時軟件;開發(fā)方法;軟件工程
實時系統(tǒng)是計算機系統(tǒng)中特殊的系統(tǒng),輸出值和系統(tǒng)的消耗的時間決定了這個系統(tǒng)的結果是否精確,即用戶希望以極短的時間獲取最佳最有效的運算結果。在以前實時系統(tǒng)主要服務于國家軍事安全方面,今天隨著這一系統(tǒng)的研發(fā),它廣泛應用我們社會生活的各個方面和各個環(huán)節(jié),其應用范圍從洗衣機、烤箱到自動化的生產(chǎn)線、醫(yī)學輔助機械、交通運輸控制、天氣預報預測、航天動力工程等等。在軟件開發(fā)中實時系統(tǒng)中的軟件部分逐漸成為一個不可缺少的獨立部分,貫穿于軟件開發(fā)的始終。
1.闡釋實時軟件的內(nèi)涵
實時軟件是實時系統(tǒng)中的軟件。當外部世界發(fā)生變化時,相應地實時系統(tǒng)就會對這種變化做出動作進行回應,并在規(guī)定的時間內(nèi)、依靠嚴格的控制、最大化地獲取數(shù)據(jù)來實現(xiàn)這一功能。特別要指出的是,這些控制是有嚴格規(guī)范的,這便對實時系統(tǒng)的應用進行了限制,只應用于它相對應的方面。另外,實時系統(tǒng)具有高標準的要求,主要可以體現(xiàn)在以下方面:其一、時間方面,必須在規(guī)定的時間內(nèi)處理完突發(fā)事物,如果超過時間就會造成不可彌補的損失;其二、正確性方面,在規(guī)定的時間內(nèi)對突發(fā)事物做出合理的邏輯判斷和處理,這就確保了結果的正確性。同時,存在著對實時系統(tǒng)的實時性有一個普遍的誤區(qū),他們狹隘地臆斷實時就是速度要快。以第一時間對外部情況做出反應是實時系統(tǒng)的一個優(yōu)點,快速反應是實時性的一個要求,但是兩者有著本質的區(qū)別,不可混淆概念。有時快速反應并不意味著實現(xiàn)了實時性。所謂的實時性是指要求圓滿處理完外部相應的事物和要求必須在規(guī)定的時間內(nèi)。除了具有一般軟件系統(tǒng)的特點外,實時系統(tǒng)軟件還具有:首先,時間限制,即實時性。要求在規(guī)定的時間內(nèi)對于外部的發(fā)生的事物系統(tǒng)要做出反應并處理好;其次,穩(wěn)定性。如果系統(tǒng)重啟和故障恢復系統(tǒng)會很快復原且數(shù)據(jù)不受損;再次,多任務、并行性、分布性。實時系統(tǒng)可以同時同步對于外部世界或者分布較廣的多個問題和任務,進行有效的處理并有效地保證處理的結果具有可靠性。而這種處理的有效性和可靠性是由系統(tǒng)的實時性決定的;最后,對于操作系統(tǒng)的底層具有開發(fā)性,實時操作系統(tǒng)就是實時軟件應用中所使用的操作系統(tǒng),要求在優(yōu)先調(diào)配機制和內(nèi)存鎖定機制控制下,實現(xiàn)多任務同時同步處理。特別要注意的是,對于系統(tǒng)中的語言開發(fā)原則也要堅持實時性原則,選擇實時性語言,以求對多個任務進行并行處理。
2.探討實時軟件開發(fā)方法
與普通的實時軟件相比,復雜性是兩者的共性,實時系統(tǒng)的軟件還具有自己的特殊性要求,那就是時間控制的因素,這就是實時軟件的結構和開發(fā)方法的優(yōu)勢。
2.1實時分析技術
以面臨解決的事實問題或既定的目標為依托,全面解析實時系統(tǒng)的軟件和硬件部分,而后對硬件和軟件進行拆解,以求對設計實時軟件奠定根基,這就是實時系統(tǒng)在分析階段中所要完成的任務。建模和仿真技術是實時系統(tǒng)進行分析才應用的技術。對實時系統(tǒng)元素進行建模時要求分析人員必須利用好數(shù)學輔助工具,另外,把握時間長短和對資源大小進行估量是分析人員在這一過程中特別要注意的問題。根據(jù)在對數(shù)據(jù)流進行分析的基礎上,分析人員要建模實時系統(tǒng)的硬件和軟件元素,控制以概率的形式進行,這就是數(shù)學分析方法應該注意的。同時,對系統(tǒng)時間和資源大小如何進行評估,就要求分析人員以網(wǎng)絡分析、序列論、圖形論和數(shù)據(jù)模型等方式來推導出來。RMS理論為基礎,能夠分析并行的多任務的分析技術,是為了輔助RMAM的分析方法而設立的理論。判斷在實時系統(tǒng)中在調(diào)度方面利用RMS處理并行任務是否能夠滿足他們的實時性的依據(jù),那就是看有沒有采用采用RMA分析技術。分析系統(tǒng)的性能需要使用仿真和建模工具,利用這兩種工具軟件工程師還能夠構建一個模型,通過這樣的形式,可以有效地理解系統(tǒng)的運作。為建立一個實時系統(tǒng)的概念模型需要通過系統(tǒng)的狀態(tài)圖、活動圖和模塊圖,這就是系統(tǒng)的建模方法。然后在在建立的模型的基礎上,分析和仿真系統(tǒng)的行為和執(zhí)行情況,并測試系統(tǒng)是否具有一致性和完整性,最后,匯總在真實系統(tǒng)中的各種數(shù)據(jù)和特性。
2.2實時設計和實現(xiàn)技術
在給定的時間控制情況下如何完成系統(tǒng)的目標是實時設計階段中主要面對的任務。處理實時軟件中的優(yōu)先權的選擇、多任務和并行、同步和異步、時間約束等問題是設計實時軟件所必須考慮的因素。通常都是通過擴展一些非實時設計方法是實時軟件的設計方法所采用的手段,而基于過程的模塊化的設計方法是傳統(tǒng)的實時軟件的設計方法才采用的手段。不僅可以采用自頂向下和結構化的程序設計,而且可以采用圖形化的語言描述設計,還有一些運用有限狀態(tài)機、Petir網(wǎng)、消息傳遞系統(tǒng)或一某種專門語言等是使用面向數(shù)據(jù)的設計方面向對象的實時軟件開發(fā)方法所研究的基礎性方法。
2.3傳統(tǒng)實時軟件開發(fā)方法應該注意的問題
由于實時軟件的應用于各個領域,這樣就使實時軟件面臨的問題越來越多,最終使實時軟件很復雜了。在過程的設計方法上而建立的傳統(tǒng)實時軟件已不能夠適應變化的新情況了。它主要存在以下問題:首先,分別對過程和數(shù)據(jù)進行處理,這樣就使真實世界的實際情況失去了本來面目,更加劇了分析和設計實際世界的難度;其次,沒有統(tǒng)一性的劃分原則對采用層次化的功能模塊劃分系統(tǒng),最為嚴重的是,某個別的開發(fā)人員的主觀看法完全左右了對組織軟件單元,系統(tǒng)的劃分,這樣就失去了客觀性加劇了實時軟件開發(fā)的困難;最后,由于人為的局限性使得對調(diào)度的分析和描述過程也相當?shù)膹碗s。
3.結語
隨著電子信息技術的發(fā)展,我們研究實時軟件開發(fā)時,要具有勇于突破和敢于創(chuàng)新的斗志,在對現(xiàn)實情況進行分析和研究的基礎上,要不斷對實時軟件進行改進,以達到它更好地服務于社會的目的。
參考文獻:
[1]肖亞利.面向對象的實時軟件開發(fā)方法研究[D].四川大學,2003.
[2]沈芳平.鍋爐熱效率計算方法研究與軟件開發(fā)[D].東南大學,2004.
計算機軟件技術基礎教學論文篇二
《 軟件開發(fā)敏捷管理方法研究 》
摘要:21世紀是計算機崛起和發(fā)展迅速的時代,面對著用戶多樣化、個性化的需求,軟件開發(fā)必須積極適應這一變化,從項目、技術等多方面靈活應對,以提高軟件的適應性,降低開發(fā)成本。傳統(tǒng)的軟件開發(fā)理論已經(jīng)失去了作用,而敏捷管理方法為這一問題更好地解決提供了有益的指導,它能夠有效地提高軟件的質量,更好地提升用戶的滿意度。
關鍵詞:敏捷管理;軟件開發(fā);應用
隨著信息技術的發(fā)展,用戶對軟件的需求也逐漸提高,這就對軟件開發(fā)者提出了更高的要求。由于傳統(tǒng)軟件開發(fā)理論的不足,軟件開發(fā)一般耗時較長,用戶從中的收益較小,而敏捷管理方法以實踐為基礎,為軟件開發(fā)提供了新的思路,充分提高了軟件的適應性,有效地滿足了用戶的需求。
一、敏捷管理方法概述
軟件開發(fā)的難度隨著用戶的需求在逐步提高,市場競爭的激烈化也刺激著軟件開發(fā)者必須使用新的軟件工程管理理論。目前,敏捷管理方法包括極限編程、自適應軟件開發(fā)等,這些方法都以用戶的需求為中心,減少了所需要的文檔,提高了軟件的靈活性。敏捷軟件開發(fā)主要有一下幾條原則:要盡早、持續(xù)地交付有價值的軟件供用戶使用;即使到了開發(fā)后期也能夠滿足客戶的需求,為客戶的利益著想;經(jīng)常性的交付可工作的軟件;在軟件開發(fā)期間,開發(fā)人員要和業(yè)務人員積極溝通;為軟件開發(fā)者提供他們所需要的環(huán)境,給予充足的支持;在開發(fā)團隊內(nèi)部,要面對面的交流,以提高信息傳遞效率;軟件開發(fā)必須保證可持續(xù)的、恒定的開發(fā)速度;積極關注技能的創(chuàng)新;從最簡的工作開設等。這些原則涵蓋了敏捷管理的核心思想,顛覆了傳統(tǒng)的重載軟件的過程,顯示了以人為本、以技術為支持、注重實效的思想,國內(nèi)外的實踐也證明了敏捷管理方法在軟件開發(fā)中的重要作用。與傳統(tǒng)的管理方法比較,敏捷管理主要有以下幾個優(yōu)點:
?、佥^強的靈活性。敏捷管理方法較為靈活,以現(xiàn)有的事物為基本管理職責,由市場驅動競爭力的儲備,能夠有效地滿足用戶需求的變化。
②錯誤率低。敏捷管理方法將設計工作與編碼工作融合到了一起,能夠及時發(fā)現(xiàn)錯誤。
?、垌椖匡L險較低。敏捷管理方法提高了有價值、可運行軟件的發(fā)布速度,使用戶能夠盡早地使用軟件。
?、苣軌蛱岣呷藛T的能動性。敏捷管理為員工提供了充足的資源,對客戶的個性需求有較強的應對能力。⑤降低了成本。敏捷管理方法降低了文檔的維護成本,面對面的信息交流也較低了交流成本,同時輕快開發(fā)過程也降低了時間成本。
二、敏捷管理方法在軟件開發(fā)中的應用
1、團隊管理
軟件開發(fā)不是由個人單槍匹馬就能夠完成的,它需要團隊的合作,因此,“以人為本”是團隊管理的基本原則。團隊管理需要以項目為中心,為開發(fā)人員提供必要的環(huán)境和技術支持,同時還要給予積極的鼓勵。一方面,要“恩威并濟”。團隊管理需要融入一定的紀律,保證軟件開發(fā)的標準性,同時也要容忍一定的個體變化。在傳統(tǒng)的管理方法中,嚴格的紀律保證了很多行業(yè)的高生產(chǎn)力,但在軟件開發(fā)中,如果項目負責人單從自身的角度出發(fā)制定嚴格的標準,而忽視了員工的獨特思想,則很可能造成很多不利的影響。另一方面,促進團隊合作。敏捷軟件開發(fā)需要促進人與和人之間、小組和小組之間的合作,不再以命令的形式調(diào)節(jié)他們之間的關系,而是以互信為基礎。第三,提高開發(fā)人員的榮譽感。團隊管理的困難之一在于提供適應性強的獎勵機制,如果單純以獎金的形式進行獎勵,長時間也會影響團隊的動力,因此,需要以更好的形式激勵團隊。為員工提供一定的榮譽感,能夠讓員工真實感受到自己勞動成果的價值,能夠更加有效地激發(fā)員工的主動性、積極性和創(chuàng)造性。第四,提高信息的反饋效率。敏捷管理方法較為靈活,但評估起來較為困難。國內(nèi)外的實踐表明,在管理過程中實施積極的、經(jīng)常性的反饋,并認真分析評估反饋結果能夠及時地、清楚地了解團隊的精神狀態(tài)和項目進展情況,從而為項目負責人優(yōu)化管理方法提供了科學的參考。反饋方法較多,如檢測用戶故事的完成數(shù)、驗收測試通過率等,另外也包括每周的評估等。啟動團隊是軟件項目開發(fā)的重要步驟,每一個團隊的啟動都需要一定的時間和過程,是工作關系的構建,只有做好啟動團隊工作才能夠有效地促進項目開發(fā)目標的實現(xiàn),確定團隊和員工的工作目標。一般的,從組建團隊開始,調(diào)查員工的基本情況,如工作能力、人際關系等,然后分配責任,最后在啟動項目前,召開團隊會議,制定團隊目標、做動員等。
2、開發(fā)管理
在敏捷軟件管理中,多以迭代開發(fā)為主,但對管理人員的缺乏可操作性的指導,同時也缺少開發(fā)方法的闡述,缺少了單元測試、驗收測試。由于項目團隊的規(guī)模、人員構成、項目目標等方面的不同,軟件開發(fā)項目沒有統(tǒng)一的開發(fā)策略,只有結合具體情況制定開發(fā)策略才能夠滿足實際的需要。敏捷管理方法指導下的開發(fā)策略需要注意以下幾個問題:第一,努力實現(xiàn)軟件的可運行。從階段性設計看,可運行的軟件代表了團隊的開發(fā)成果,為團隊帶來了成就感和信心;從用戶的角度出發(fā),只有給用戶展示了可運行的軟件才能夠讓他們真實地看到自己的需求是否得到了滿足。第二,制定周密的開發(fā)計劃。傳統(tǒng)的軟件開發(fā)在項目進度方面的掌握程度較低,系統(tǒng)正式完成的時間不確定,因此,敏捷開發(fā)要求將開發(fā)進度可衡量化,將每一個任務制定一定的點數(shù),將所有任務的點數(shù)相加就是本次開發(fā)所需要的工作量,用所完成的任務點數(shù)比上總任務點數(shù)就是開發(fā)進度百分比。第三,盡量減少文檔的數(shù)量。在開發(fā)時要根據(jù)實際需要增減文檔的制定,降低項目的風險。第四,加強交流。敏捷開發(fā)要求開發(fā)成員之間要加強交流,保證數(shù)據(jù)采集、團隊合作、軟件設計的效率。第五,積極考慮客戶的需要。敏捷開發(fā)要積極滿足用戶的需要,讓用戶直接參與軟件開發(fā)的過程中,讓客戶親臨現(xiàn)場,與其探討軟件開發(fā)中的各種問題,提高軟件的實用性。
3、需求管理
需求管理以掌握用戶對軟件的需求為目的,是項目啟動的第一步,是一支指揮棒,以靈活的變動將“用戶故事”和“現(xiàn)場客戶”結合起來,表達了用戶真正的、迫切的需求。“用戶故事”是一種較為簡單的搜集客戶需求的新方式,獨立表達了用戶的需求,用戶可以隨時刪除也可以隨時加入,是一種概述性的描述;“現(xiàn)場客戶”是指讓用戶代表親臨開發(fā)現(xiàn)場給予指導。用戶故事與現(xiàn)場客戶兩種方法的結合,讓客戶對團隊開發(fā)軟件的細節(jié)有更加深入地了解,同時也能夠給予必要的指導,節(jié)省了交流時間,提高了開發(fā)的效率。
4、發(fā)布規(guī)劃
在對用戶故事進行輕重排列后,從業(yè)務和技術方面逐一制定實現(xiàn)計劃。在業(yè)務方面要積極考慮業(yè)務價值加大的用戶故事;在技術方面,技術小組從技術難度及風險的角度出發(fā),劃分功能區(qū),要將所存在的問題說明給客戶,讓客戶做出選擇。
5、迭代規(guī)劃
敏捷開發(fā)要求盡可能為客戶提供可工作的軟件,因此,要盡量縮短迭代的周期,一般為1~4周。迭代的優(yōu)先級由技術組確定,但其價值又客戶決定。在第一次迭代中,小組要建立基本的開發(fā)設施,另外,要避免技術迭代,減少耗時。對團隊開發(fā)來說,在歷經(jīng)幾個月甚至幾年的時間才有所突破,每一次的迭代都是一次成就,是一種較好地員工激勵形式。
6、任務分配
在客戶將用戶故事提出后,開發(fā)團隊商討如何分界為幾個任務,然后分配給開發(fā)人員。第一步,客戶提出用戶故事??蛻魧⒂脩艄适滦几嬷o開發(fā)團隊,團隊成員可以提出問題,以充分理解客戶故事。第二,討論任務。開發(fā)團隊在討論過后將用戶故事分成多個任務,做好接受任務的準備。第三,選定任務。團隊成員選定合適的任務,做好估算工作。
7、軟件設計管理
在敏捷設計中,迭代開發(fā)的過程要力求減少文檔,另外,敏捷管理要努力實現(xiàn)全局視圖和軟件源代碼一起演化,從當前的系統(tǒng)需求出發(fā)構建所需的基礎結構,保持結構的簡潔、干凈,病富有表現(xiàn)力,同時還要提高其靈活性。在分配給開發(fā)人員任務之后,要測試代碼,提高源代碼的質量,讓開發(fā)人員有更加充足的信心,同時,測試也能夠迫使程序員從不同的角度觀察所要編寫的程序。軟件開發(fā)都是由結對的程序員使用同一臺電腦實現(xiàn)的,由一位出入代碼,另一外觀察代碼及其需要改進的地方,兩者可以交換角色,最后所生成的代碼成果由兩人共享。結對關系每天至少要改變一次,以減少兩者的壓力,提高編碼質量,同時也能夠促進他們編碼技術的提高。
8、跟蹤
跟蹤能夠讓程序員、客戶及管理者明確工作進度、質量等問題,同時也能夠發(fā)現(xiàn)潛在的問題等。一方面,要跟蹤資源,即計劃和實際的對比、團隊成員的人數(shù)、客戶參與次數(shù)、測試人員數(shù)量、參與開發(fā)的計算機數(shù)量等,這些是軟件開發(fā)的必要條件。另一方面,跟蹤范圍,即跟蹤故事的變化情況。第三,跟蹤質量,即測試表所顯示的通過測試數(shù)及未通過測試數(shù)。第四,跟蹤團隊成員,即觀察開發(fā)成員的問題、開發(fā)成員之間人際關系問題,看其是否全身心地投入等。
9、測試驗收管理
當一個迭代完成后,用戶會與團隊商議下一步的需求。測試驗收過程中,越早的發(fā)現(xiàn)問題,就能夠縮短程序投入運行所需的時間,期間,客戶需要提供驗收測試,所提供的測試越多,項目進展速度就越快,價值也就越高??蛻艨梢酝ㄟ^制定的形式采集所需要的素材,通過自動的腳本根據(jù)客戶的需求運轉。一旦某項測試通過需求,則決不允許該測試再次失敗,隨著測試的不斷累積會形成一個測試集合,它能夠測試系統(tǒng)的運行,一旦測試失敗,系統(tǒng)的創(chuàng)建也就失敗。因此,要保證需求的實現(xiàn),避免其遭到破壞。
三、結語
敏捷管理方法滲透于整個軟件開發(fā)過程中,是一個長期的信息構建原則,而不是某一個獨立的事件它,適應了復雜軟件開發(fā)的要求,同時也適應了軟件技術發(fā)展的需要。隨著客戶對軟件要求的不斷提高,敏捷開發(fā)適應了復雜的環(huán)境,并且盡可能地保持軟件開發(fā)的簡單化和系統(tǒng)化,適合團隊型的開發(fā)項目,它能夠及時反饋信息,有效提高客戶的滿意度,也能夠保證系統(tǒng)的質量。
參考文獻:
[1]沈成莉.敏捷項目管理在軟件開發(fā)中的實踐應用[D].復旦大學2009
[2]唐俐威.軟件開發(fā)的敏捷管理方法應用研究[D].哈爾濱工業(yè)大學2006
[3]向佐龍.敏捷管理方法在軟件開發(fā)中的應用研究[D].武漢理工大學2007
計算機軟件技術基礎教學論文篇三
《 軟件開發(fā)中測試驅動開發(fā)的運用 》
摘要:在極限編程中極具特色的一個原則就是測試驅動開發(fā),作為一種新的思潮正在被越來越多的人所接受,它在軟件開發(fā)過程中所表現(xiàn)出來的積極作用是不言而喻的。測試驅動開發(fā)的方法能夠在保證功能測試的前提下,也能夠成為設計的一部分。整個開發(fā)過程的驅動力就是以測試驅動開發(fā)為基礎,能夠在很大程度上提高代碼質量,改善開發(fā)設計過程,從而在根本上提高了產(chǎn)品的質量。
關鍵詞:測試驅動開發(fā);軟件開發(fā);積極作用
隨著時代的發(fā)展,計算機軟件的發(fā)展變得尤為迅速,與之對應的問題是用戶對軟件的質量要求也越來越高。為了能夠及時交付給用戶一個滿意的軟件,軟件開發(fā)人員往往需要投入到高效的軟件開發(fā)過程。然而現(xiàn)實情況則是傳統(tǒng)的軟件工程方法已經(jīng)變得不再適用于當今的軟件開發(fā),而最近剛剛興起的一些軟件開發(fā)過程的技術正好值得我們借鑒和學習。其中就包括我們今天要討論的測試驅動開發(fā),它作為一個最基礎的技術能夠提供給我們一些相對高效的軟件過程開發(fā)方法。
1測試驅動開發(fā)的相關環(huán)節(jié)
1.1原理和過程測試
驅動開發(fā)的原理就是應該在明確要開發(fā)某個功能后,進行構思并決定如何設計測試代碼的過程,從而根據(jù)用戶的需求編寫出功能代碼滿足這些測試用例。接下來可以循環(huán)的進行添加其他功能,最后能夠完成全部功能的開發(fā)。其中的基本過程包括:明確當前需要完成的功能;需要在保證速度的前提下編寫測試用例;編寫對應的功能代碼;保證測試能夠通過的方法就是重構代碼。我們通常在運用了測試框架的前提下,進行組織所有的測試用例,從而保證了整個測試過程的高效和便捷。
1.2原則要求
為了保證能分清需要檢測的各類代碼,不同代碼的的測試之間應該相互隔離,為了避免去考慮許多的無關細節(jié)而增加復雜度,所以我們在相關代碼的測試中一般只考慮該代碼的測試,而不去考慮它的現(xiàn)實細節(jié)。在實際情況中,經(jīng)常出現(xiàn)的功能點需要我們?nèi)y試,在任意階段中如果我們想要添加功能需求問題時,我們能夠把相關功能點添加到測試列表的操作方法從而避免不必要的麻煩,從而不斷地完成對應的測試實例、重構和功能代碼。這是為了避免疏漏,同時也是為了避免干擾當前正在進行的工作。在完成某個功能、某個類別的時候,首先我們需要編寫測試代碼,考慮具體該如何測試和使用,接下來再進行設計和編碼。在這個過程中,我們需要正確編寫對應功能代碼判斷用的語句,隨后編寫對應的輔助語句。
1.3測試技術
如果我們采用傳統(tǒng)的檢測方式,這無疑會在我們的軟件開發(fā)中造成開發(fā)速度緩慢等缺點,而我們需要認清的一點就是測試驅動開發(fā)中的測試并不是作為一種負擔,而是一種為了幫助我們減輕繁重工作量的有效方法。在針對如何選擇一個合適的時間來停止編寫測試用例的問題上,我們應該根據(jù)往常的工作經(jīng)驗來進行,例如說針對一些功能復雜并且具有核心功能的代碼來說應該編寫更細致、全面的測試用例。靜態(tài)的標準也不適用于測試驅動開發(fā)的測試范圍,在實際情況下是能夠隨著時間的改變而改變。
2軟件開發(fā)為何要應用測試驅動開發(fā)
2.1提高代碼質量
測試驅動開發(fā)區(qū)別于之前的先編碼后測試的開發(fā)方式,它的操作過程恰恰相反,它推動整個開發(fā)的進行是通過測試來實現(xiàn)的。在某些時候,軟件工程開發(fā)工程中的需求是極難描述清楚的,當然我們這里說的需求當然不只是指用戶的需求,代碼的使用需求才是我們需要考慮的需求范圍。如果我們在軟件開發(fā)后期還要對某個類或者函數(shù)的接口進行拓展或者修改,顯然這對任何一個開發(fā)人員來說都是不能夠接受的。至于為什么會發(fā)生這樣的事情,從本意上來說就是因為沒有精確地對這部分代碼作出描述。而當我們需要添加某項新功能時,也不應該著急寫程序代碼,這時候就體現(xiàn)出了先寫好測試用例的重要性。
2.2改善設計方式
測試驅動開發(fā)的優(yōu)勢則體現(xiàn)在實現(xiàn)軟件設計的過程中,傳統(tǒng)的軟件工程所體現(xiàn)出來的設計思想跟測試驅動開發(fā)的思想是不能夠比較的,傳統(tǒng)設計方法中的死板的原則在測試驅動開發(fā)面前是不值得一提的,在某些程度還弱化了了全面細致的設計。在測試驅動開發(fā)過程中我們應該對現(xiàn)有的需求做出簡單的設計,而不是對需求做出詳盡的解釋??瓷先ズ孟駥υO計進行了簡化,也削弱了開發(fā)的依據(jù),實際上卻是進一步明確了軟件開發(fā)的時候應該更注重眼前的問題,只有這樣才能使做出的軟件更符合客戶的需求。因為設計是一個相持以往的過程,需求文檔的體現(xiàn)也在測試用例中表現(xiàn)得非常充分。
2.3革新傳統(tǒng)的軟件開發(fā)
以人為本的思想是測試驅動開發(fā)的方法。人類活動都秉持著高度的目的性,建立一個心里的標準并竭盡全力去達成這個標準會具有重要的心理作用。例如在我們平時的測試過程中,有著不同目的的測試軟件開發(fā)將會帶來不一樣的操作結果。比如說將證明程序中沒有我們需要查找的錯誤作為我們的最終目的,那大腦中的潛意識里就會指導著我們朝這個思路去做,所以在編寫測試的過程中,我們就潛意識地選擇了一些不會使整個軟件程序出錯的實驗數(shù)據(jù);相反,如果我們逆向思維去選擇那些容易發(fā)現(xiàn)程序錯誤的測試數(shù)據(jù)去證明程序中的漏洞,那結果一定就會不同了。對比之下,我們在以尋找錯誤為最終目的的前提下做出的程序檢測質量遠遠高過以不找錯誤為最終目的的思維方式。測試驅動開發(fā)改變了以往的破壞性思想,測試在先,編碼在后的方法則是從人性的角度出發(fā)。
3結語
總而言之,測試驅動開發(fā)的開發(fā)方法就是“測試在前,編碼在后”。人性特點作為測試驅動開發(fā)側重考慮的因素,在一定程度上極大的提高了軟件的質量和開發(fā)速度。這是一種完全的軟件開發(fā)革新,也從根本上改變了傳統(tǒng)的開發(fā)軟件思想。推廣測試驅動開發(fā)思想使得越來越多的軟件企業(yè)開始注意到這種獨具一格的軟件測試方法,間接或者是直接采用了這種方法。測試驅動開發(fā)正在軟件開發(fā)領域發(fā)光發(fā)熱,我們也相信在不久的將來就能解決用戶對軟件質量不滿的問題。
參考文獻
[1]嚴國武.淺談驗收測試驅動開發(fā)[J].電子世界,2014(08).
[2]林勇.淺談測試驅動開發(fā)[J].中國金融電腦,2012(04).
[3]唐金鵬,李玲琳.測試驅動開發(fā)應用研究[J].企業(yè)技術開發(fā),2012(05).
[4]李瑛,彭軍.測試驅動開發(fā)在系統(tǒng)中的設計實現(xiàn)及效能分析[J].計算機與數(shù)字工程,2012(01).
有關計算機軟件技術基礎教學論文推薦: