王 斌
吉林財經學校,吉林吉林 132000
計算機軟件開發中影響軟件質量的因素研究
王 斌
吉林財經學校,吉林吉林 132000
軟件的質量可以看成是軟件的生命力。一個有嚴重質量問題的軟件不僅在開發中浪費了大量的資源,成品使用中也會給用戶甚至社會造成巨大的損失。本文簡要介紹了軟件開發中影響軟件質量的因素,以及如何消除這些影響因素。
計算機;軟件開發;軟件質量;質量控制
2l世紀信息化能力可以說代表了企業的核心競爭力,計算機技術已經給人類帶來了遠超以往能夠想象的便利。可是同時,電腦技術的不成熟也給企業社會帶來的破壞也讓人們瞠目結舌,它的破壞力也隨著電腦軟件的廣泛應用而越發嚴重。2013年10月,為如家、漢庭等酒店提供網絡服務的浙江慧達驛站網絡有限公司因為系統漏洞,近2000萬條酒店客戶入住信息被泄露并通過網絡傳播下載;2014年5月,小米論壇官方數據庫泄露,涉及800萬使用小米產品的用戶,泄露數據包括大量用戶資料;2014年8月,多家快遞網站因存在漏洞遭黑客入侵,有1400萬條個人信息在網絡上被層層轉賣;2014年12月,鐵道部訂票網站12306被曝13萬條用戶個人數據泄露,包括用戶賬號、明文密碼、身份證、郵箱等敏感信息。類似案例的發生,絕大多數根源于軟件質量問題,往往微小的漏洞帶來巨額的損失。到底是什么原因影響了軟件質量?是否有辦法消除產生軟件質量問題的因素,避免因為軟件質量問題而造成的各種損失?
什么是軟件質量?可以從兩個方面進行考慮:1)從用戶角度,主要是對軟件的功能、安全性、易于學習使用以及軟件帶來的工作效率的提升;2)從軟件制作者角度,主要考慮的是軟件的可修改維護性能(升級性能)、可廣泛移植于不同操作平臺性能和可重復利用性能。影響軟件質量的因素,是多方面的。
1.1 管理方面的因素
隨著國際近幾十年來對軟件質量問題的越來越重視,對軟件從業人員的素質要求也日漸提高,國內、國際的軟件開發企業中,超過50%的軟件開發人員都擁有碩士以上學歷,隨著軟件開發技術的發展、軟件開發人員的素質的提高,仍然在很長一段時間內無法很好的保證軟件質量,軟件產品在完成交付使用后仍然經常發生各種問題。這樣的情況,讓從業者意識到,技術的發展,并沒有對軟件質量的提高提供足夠的保障,軟件質量問題的提升,不能單純依靠從業人員素質的提高。軟件開發管理方面的影響因素也至關重要。管理因素可以概括分為組織機構與職責分工、項目管理和過程管理以及產品管理(配置管理)等,但所有的質量管理因素都離不開一個核心問題——軟件質量標準的建立。標準即尺度,是衡量產片質量、工作質量的決定因素,每一個行業的發展壯大,都不可避免的伴隨著標準的建立,軟件質量標準的建立代表了產業的標準化——可以促進軟件開發行業的發展,可以推動軟件資源的共享,減少資源的浪費,同時,軟件質量標準的建立,也有利于軟件質量檢測,影響著軟件的整個開發、測試、維護和后期使用的全過程。用產品化的思路和方法對軟件開發進行管理是提高軟件質量的必經過程。
1.2 技術方面的影響因素
首先,是人才素質的影響因素,我國的計算機軟件開發技術雖然經過多年的發展,已經形成了一批批專業軟件開發團隊人才,但面對日益廣泛的需求和日益發展的科技需要,高素質高端軟件開發人員的缺失,仍然是限制軟件開發質量的一個重要因素。另一方面,技術手段的應用,包括軟件分析、設計、實現的技術方法。采用不同的技術方法也會明顯影響軟件產品的質量。技術因素分為軟件開發技術以及應用領域技術兩方面。軟件開發技術方面,如軟件的編程語言,常見的開發語言就有數十種之多,不同的軟件領域需要采用不同的開發語言來實現,Fortran語言更多得應用于科學計算,匯編語言和C語言常常被應用于驅動系統設計和嵌入式設計,所謂的四代語言則被用于開發商務流程軟件,Java語言更傾向應用于網絡設計。所以,針對不同的軟件開發項目,選擇相應的實現語言才能更好的保證軟件質量。而軟件開發平臺方面,我們常用的平臺是Unix平臺和Win/Intel平臺,針對不同平臺的軟件項目也需要不同的軟件開發特征和質量控制措施。隨著更多領域的應用,不同的開發工具和標準也在不斷出現,例如傳統企業為了企業信息化改造,而出現的ERP和CRM系統,在一些特定行業和企業也越發收到歡迎。選擇適當的技術開發手段,對軟件質量的控制具有不可忽視的決定性作用。
1.3 輔助開發工具
輔助開發工具也分為很多方面,包括CASE、測試、軟件配置管理工具等。想要有效地提高開發效率,降低失誤幾率,保障質量,必然需要一組合適的開發工具;相反,如果開發過程中沒有采用合理的輔助開發手段,將軟件質量決定于人為因素,所開發出的軟件必然缺乏可管理性(維護和移植性)和可靠性。
2.1 首先,要明確用戶的真實需求
一個軟件的開發,必須有明確的功能需求,也就是目的性要明確。是否能夠明確用戶的真正需求是軟件開能否真正成功的決定性因素。需求過多,會抓不住軟件開發的重點,影響軟件質量和效率;需求不明確,不明白用戶真正需要的是什么或者用戶的需求變化太快,會讓軟件開發無所適從,資源造成極大浪費。造成這種情況的原因,往往由于軟件開發方與軟件用戶的溝通沒有達成一致,或者軟件開發方以自己的標準來判斷軟件開發是否成功。所以,為了避免出現這類質量問題,明確用戶的真實需求是至關重要的。
2.2 各司其責有機組合
軟件開發項目的實際參與人員,可以劃分為軟件開發人員(分析員、程序員和測試員等)、系統運行維護人員、內容編輯人員、市場人員和用戶等五個角色。軟件開發人員需要負責軟件的擴展能力、代碼的可讀能力和后續的可維護能力;系統維護人員負責軟件質量的穩定、可擴展、高并發和高訪問量;而內容編輯人員負責軟件易用性能和易操作性能;市場人員負責面向銷售的統計分析;而作為最后階段的用戶階段,會關心軟件能否提供的安全性和穩定性。項目組編制需要分別針對這些需要制定質量規劃,并嚴格控制。
2.3 實行代碼走查
軟件的質量很大程度上取決于代碼的質量。一般的軟件開發項目,要進行完整的代碼評審是很困難的,所以,要求程序員對軟件進行交叉代碼走查重點功能模塊。這樣的措施能夠起到很大影響:首先能夠促使程序員重視代碼質量;其次程序員在走查過程中可以得到別人的意見,有利于改善代碼質量;另外,組內成員可以通過這一過程交流軟件開發遇到問題的解決的思路及方法,加深理解,有利于進一步協作。代碼走查,可以令項目組成員更加重視軟件的質量問題,有利于大幅度提高軟件質量。
2.4 嚴格軟件測試
嚴格的軟件測試才能有效保證軟件質量。在軟件測試環包括單元測試、功能測試和性能測試、安全性測試以及壓力測試等。測試覆蓋了項目的各個階段,通過測試,有利于提前發現軟件存在的不足。在軟件上線前,進行壓力測試非常必要的。壓力測試,可以通過軟件來模擬多量用戶同時使用軟件的情況,根據模擬結果預測系統正式運行后的情況,有利于改進軟件質量
只有所有軟件開發參與人員嚴格要求自身,提高軟件管理標準,明確軟件功能需求,建立質量管理標準以及選用正確的開發工具及平臺,才能有效提高軟件開發質量。
提高軟件質量是開發人員和用戶的共同需求。而提高軟件質量并不是一個靜態過程,只有軟件開發中參與的每個人都提高了軟件質量管理的重視程度、自覺遵行軟件質量管理要求,才能起到好的效果。
[1]謝春,等.基于嵌入式系統的多進程圖形用戶界面 GUI系統研究[J].工業控制計算機,2003(05):28-29.
[2]余智.數字電視機頂盒及其開發平臺[J].電視技術,1999(09):26-32.
TP3
A
1674-6708(2015)149-0160-02