摘 要:程序軟件開發(fā)是現代社會信息產業(yè)中的一個重要分支。匯編語言是開發(fā)程序軟件的必要工具。在眾多軟件開發(fā)工具中,Java無疑是其中非常重要的一個。文章圍繞使用Java開發(fā)軟件程序有關問題進行探討,介紹了Java的數據結構、算法類型等基本情況,闡述了使用Java進行軟件開發(fā)的基本方法,分析了軟件開發(fā)生命周期的影響因素,對軟件開發(fā)測試和安全防范也進行一定程度的論述。
關鍵詞:Java;數據結構;算法;程序設計;測試
引言
Java是當前主流編程語言,在繼承C++語言優(yōu)點的基礎上,發(fā)展改良,不但在很大程度上降低了復雜程序的編寫難度,在獨立性、安全性、面向對象等方面也有著十分突出的表現,受到軟件開發(fā)設計人員的熱烈歡迎,成為當前IT行業(yè)編程的重要工具。
1 Java基本情況概述
1.1 數據結構
Java環(huán)境編程工具軟件(JDK)為軟件開發(fā)人員提供了良好的編程條件,使用Java編程所需的各類數據結構都能夠經由JDK中提供的類予以實現。其中,線性表是JDK中應用最為廣泛的數據結構,相較于其它數據結構,線性表更加簡單也更為基礎。線性表中的數據元素一一相對,方便理解和操作。鏈表是另一種Java環(huán)境下常用數據結構,它依賴物理存儲單元進行數據存儲,從而構成的一種數據結構,其物理上的存儲單元往往是不連續(xù)的,也沒有一定順序,鏈表中的數據元素按照鏈表指針鏈接次序予以實現,由于不考慮順序上的影響,鏈表進行刪除和插入操作較為簡單。掌握鏈表的使用對于軟件開發(fā)人員更好的進行Java描述很有幫助。除了上述兩種數據結構外,哈希表也是JDK中的常用數據類型,它又稱為散列表,依靠關鍵碼值(Key value)實現對數據元素的實現。
1.2 算法類型
程序在工作時,涉及到大量數據的運算,針對數據的特性采用有效的針對性的方法進行分析。這個過程在實際編程過程中以算法的形式體現。下面就對JDK中的常用算法逐一進行說明。
1.2.1 貪婪算法。在眾多算法中,貪婪算法的原理最為容易理解,就是堅持最簡單原則,各個過程優(yōu)先選擇難度、復雜性最低的,針對當前而言最為有利的。這種算法能夠較為容易地解決當前的問題,但由于缺乏長期的考慮,反而使得最終目標較難實現。舉個簡單的例子,某人從甲地走到乙地,每個岔路口都選最好走的路,如果這個路線恰好是甲乙兩地之間的最短路程,那么這個方法無疑是正確的,但如果并非如此,那么這種總選擇最好走的路的方法很可能讓本來簡單的行程變得復雜,花費巨大,甚至最終也沒能走到目的地。
1.2.2 分治算法。這個算法的基本原理是將整個問題依據內部邏輯聯系細化為多個小型問題,從而降低解決問題的難度,通過逐個解決小問題,最終實現解決整個大問題的目標。使用這種算法的前提規(guī)則是各個小問題的類型需要與大問題相一致。
1.2.3 回溯算法。該算法在多種可能的解決方案中隨機選擇某個方案進行解題。當此選擇的方法行不通時再選擇另外一種方法,如此反復嘗試,最終達到解決問題的目的?;厮菟惴ǖ娜毕輹r當可供選擇的路線方案較多時,工作量過大,步驟過于繁瑣,效率不夠高。
上述算法是在使用Java編輯程序時經常會使用到的算法,實際編程過程中還要根據具體情況選擇最合適的一種。選擇的標準主要是使用該種算法解決問題,其步驟是否簡單、路線是否清晰,是否具備時間和空間上的效率性等。
2 程序設計方法
2.1 過程式程序設計
這種設計方式是采用層次化的設計方法,將目標產品的結構拆解成若干個層次,每個子層次都對應若干個子程序,并為同級的子系統(tǒng)和上一層次結構提供服務。從下向上逐次解決問題。這種一環(huán)套一環(huán)的運行模式導致過程式程序相關聯的過程間存在很大的依賴性,一個過程出現問題,其影響會迅速蔓延到其它部分,給后期軟件檢測造成很大困難。投入使用后維護難度也大,不確定風險較多。
2.2 函數式程序設計
該設計方法也是將目標產品分成多個子程序。但和過程式程序不同的是,函數式程序各個子程序間獨立性較強,各自分層工作,彼此間基本沒有相互影響。這種不同子程序間較弱的聯系和依賴性對于軟件日常維護和檢測十分有利,因而在進行大型程序設計時,多有采用函數式程序設計的。
2.3 面對對象程序設計
該設計方法是把產品軟件看作成一個個彼此相聯系但又互相保密的對象,每個對象都包含數據及數據操作方法。面對對象程序一旦發(fā)生內部錯誤,可以及時發(fā)現問題所在位置,從而提高了設計和維護的效率。
3 軟件開發(fā)生命周期
軟件開發(fā)生命周期通常由用戶需求、分析、設計、實現、集成、維護幾個因素決定。(1)用戶需求。滿足用戶需求是軟件開發(fā)的根本原則和基礎任務。軟件設計人員必須全面充分的理解、掌握客戶的具體需求,明確客戶對目標軟件的具體期望。(2)分析。這個環(huán)節(jié)是讓客戶對目標產品有一個較為清晰的認識。需求的情況下應現開發(fā)出系統(tǒng)原型,以提高向客戶介紹的效率,幫助客戶確認開發(fā)人員的計劃與用戶需求是否一致。(3)設計。這個階段是軟件開發(fā)的重要環(huán)節(jié)。主要是對各個用到的類的變量和辦法進行確認。要正常運行Java程序,計算機上必須存儲有所有用到的類的執(zhí)行代碼和制定的對象。當對象出現時,Java會自動跟蹤并判斷對象因的引用情況。(4)實現。經過深入的分析和周到的設計后,開發(fā)人員依照取得的結論撰寫程序代碼,構建完善的軟件體系。(5)集成。將各個軟件結構單元放到一起,構成最終的軟件產品。(6)維護。隨著軟件使用時間的延長,軟件的缺陷或者與實際應用環(huán)節(jié)的不適性越來越突出,維護人員就此進行針對性的修正,從而提高軟件適用性和工作效率。Java在運行過程中材確定對象的特點決定了軟件運行效率的缺陷,必須采用相應的優(yōu)化措施。
4 測試
軟件編寫完成后必須經過測試才能交付。測試是對軟件全面情況的檢查,是保障軟件健康水平的重要措施。軟件測試通常分為測試數據設計和編碼階段測試兩個部分。其中,前者分為隨機測試、黑箱測試和白箱測試三種,厚澤則根據測試的時間段分為單元測試、集成測試與驗收測試。
5 Java的安全性分析
信息安全一直是IT企業(yè)關注的重中之重。這個理念在軟件開發(fā)設計時就得到很好的貫徹。Java作為面向對象的程序設計語言,在信息安全管理方面敏感性更強。目前Java通過封裝和隱藏機制提高了軟件安全性水平。但和當前嚴峻的信息安全形勢相比還有很長一段路要走。要滿足安全工作實際需求,Java需要從以下幾個方面著手優(yōu)化:一是改造Java中的主要語言成分。按照更高層次的安全標準修正package語句、類聲明語句、變量成員聲明及方法聲明語句等內容。Java以沙箱模式作為最基本的安全防護模式。通過限制訪問用戶的權限來保障信息安全。該機制包括三個單元,即字節(jié)碼檢測器、類裝載器和安全管理器。它通過對不同的代碼采用不同的權限策略,對于本地信息代碼,信任度最高,因此賦予完全訪問沙箱的權限,對于外界來的遠程代碼,則依據可信程度賦予部分沙箱信息訪問權限。在病毒防范方面,Java以認證器作為查驗文件句法正確與否的工具。但在實際工作中,Java本身的重要來源就是網絡,這就給信息安全留下了很大隱患。經常會有一些惡意程序對Java用戶進行攻擊。在這種情況下,Java虛擬機通常使用安全管理器和Java類文件認證器作為保護本地用戶不受非法攻擊的工具。
6 結束語
隨著信息水平的不斷提高,程序開發(fā)設計業(yè)務需求越來越大,Java作為當前直面對象的重要匯編語言,發(fā)揮的作用和發(fā)展的空間十分巨大。深入研究、發(fā)掘Java技術潛能,提升業(yè)務能力,對于軟件設計工作者來說還是很有必要的。
參考文獻
[1]張雪萍,鮑丹,王家耀.Java多線程測試策略及測試方法探討[J].計算機應用研究,2006,11.
[2]艾麗蓉,趙慶蘭,劉西洋,等.面向Java語言的進化測試中分支依賴圖的構建[J].計算機科學,2006,7.