當前位置:學問君>學習教育>畢業論文>

談談軟件工程理論及其在軟件開發中的應用研究

學問君 人氣:1.22W

數據庫系統是應用較爲廣泛的多用戶共享資源,具有通用、獨立、冗餘少、安全、完整的特性,因此,在進行數據庫系統設計時應採用軟件工程的方法。測試是保證軟件質量的重要手段,其主要方式是在設計測試用例的基礎上檢驗軟件的各個組成部分,一般採用黑盒法和白盒法。

談談軟件工程理論及其在軟件開發中的應用研究

【摘要】本文綜合利用計算機科學與技術理論討論了軟件工程的概念、軟件工程項目的基本目標、軟件工程項目的實施,並探討了數據庫系統軟件開發與設計思想,爲從事軟件開發的專業人員提供了一定的借鑑。

【關鍵詞】軟件工程;程序設計;數據庫;開發

1 軟件工程的再理解

m認爲軟件工程就是運用現代科學技術知識來設計並構造計算機程序及爲開發、執行和維護這些程序所必須的相關檔案資料。這裏對“設計”一詞應有廣義的理解,它包括軟件的需求分析和對軟件進行修改時所進行的再設計活動。

IEEE說:“軟件工程是開發、執行、維護和修復軟件的系統方法”,其中,“軟件”是計算機程序、方法、規則、相關的文檔資料以及在計算機上執行時所必需的數據。

Fairley給出的軟件工程的定義爲:軟件工程學爲在成本限額以內按時完成開發和修改軟件產品所需的系統生產和維護的技術與管理的科學。

由此可見,軟件工程包括3個基本要素:方法、工具和過程。

首先,軟件工程方法爲軟件開發提供了“如何做”的技術。它包括多方面的任務,如項目計劃與估算、軟件系統需求分析、數據結構、系統總體結構的設計、算法的設計、編碼、測試以及維護等。軟件工程常採用某種特殊的語言或圖形的表達方法以及一套質量保證的標準。

其次,軟件工具爲軟件工程方法提供了自動的或半自動的軟件支撐環境。有人把諸多工具集成起來,使得一種工具產生的資訊可以爲其他的工具所使用,這樣建立起一種稱之爲計算機輔助軟件工程(CASE)的`軟件開發支撐系統。CASE將各種軟件工具、開發機器和存放開發過程資訊的工程數據庫組合起來形成一個軟件工程環境。

另外,軟件工程的過程則是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發的目的。過程定義了方法使用的順序,要求交付的文檔資料,爲保證質量和協調變更所需要的管理及軟件開發各個階段完成的里程碑。

2 軟件工程項目的目標

組織實施軟件工程項目,從技術上和管理上採取了多項措施以後,最終希望得到項目的成功。所謂成功指的是達到以下幾個主要目標:較低的開發成本,達到要求的軟件功能,取得較好的軟件性能,開發的軟件易於移植,需要較低的維護費用,能按時完成開發工作,及時交付使用等。

在實際開發中,要使上述目標都達到理想的程度往往非常困難,而且上述目標很可能相互衝突。如追求降低開發成本,很可能同時也降低了軟件的可靠性;若過於追求軟件的性能,則可能造成軟件對硬件有較大的依賴性,從而直接影響軟件的可移植性等。

3 軟件工程項目的實施

3.1 制定軟件計劃

在軟件項目開發之前,針對不同的工作目標制定不同類型的工作計劃,對項目實施計劃進行可行性研究。主要包括下述任務:

第一,經濟可行性。分析能否做到以最小投入成本得到最佳經濟收益,做出立即投入、推遲開發或不值得開發的選擇。如果可行,做出開發進度安排。

第二,技術可行性。分析使用現有的技術能否實現系統,能否解決系統技術難點,系統對技術人員有什麼要求,硬件能否配套等其它技術冒險的各種因素。

第三,社會(法律)可行性。分析開發系統是否符合當前社會生產經營體制及法律法規的要求。

3.2 需求分析和定義

對開發軟件提出的需求進行分析並給出詳細的定義。軟件開發人員和用戶共同討論決定哪些需求是可以滿足的,並對其加以確切的描述,然後編寫出軟件需求說明書或系統功能說明書及初步的系統用戶手冊,提交管理機構評審。

3.3 軟件設計

設計是軟件工程的核心,就是把需求變換成爲軟件的具體方案,軟件設計一般分爲總體設計和詳細設計兩個階段,總體設計是根據需求所得到的數據流、數據結構,使用結構設計技術,匯出軟件模組結構;詳細設計是使用表格、圖形或自然語言等詳細設計工具,按照模組設計準則進行軟件各個模組的具體過程的描述,如模組的分解與合併、低耦合性、高內聚性的特點,以及模組的作用、控制範圍、複雜性和接口,按步驟進行設計。

3.4 程序編寫(軟件編碼)把用戶的要求變爲計算機能夠接受的形式,爲每個模組編寫程序,即寫成以某一種特定程序設計語言表示的源程序清單。自然,寫出的程序應當是結構良好、清晰易讀又與設計一致。

3.5 軟件測試

測試是保證軟件質量的重要手段,其主要方式是在設計測試用例的基礎上檢驗軟件的各個組成部分,一般採用黑盒法和白盒法。所謂黑盒法是根據程序的物理特性,測試每一個功能是否達到預期的要求,白盒法則是根據程序的邏輯結構,進行目標測試。無論黑盒法還是白盒法都要設計測試用例,按照單元測試、組裝測試、確認測試、系統測試、人工測試的步驟,對模組功能、接口、數據結構組成進行測試。最後按規定的各項需求,逐漸進行有效性測試,決定已開發的軟件是否合格,能否交付用戶使用。

3.6 軟件執行/維護

已交付的軟件投入正式使用便進入執行階段。這一階段可能持續若干甚至幾十年。軟件在執行過程中需要不斷診斷、進行修改,包括改正性維護、適應性維護、完善性維護和預防性維護。維護的重要性在逐年提高。這一階段是軟件工程的最後一個階段,也是最重要階段,應給予足夠的重視。

4 數據庫系統軟件的開發與設計探討

數據庫系統是應用較爲廣泛的多用戶共享資源,具有通用、獨立、冗餘少、安全、完整的特性,因此,在進行數據庫系統設計時應採用軟件工程的方法。主要是對數據管理、庫結構設計與建立、系統設計、語言的選擇與設計、實用程序的編寫、功能模組的設計等方面應用軟件工程的理論和方法。在進行這些設計的需求階段,應確定對軟件的設計方法、所使用的描述工具、目標實現、推廣使用等方面進行論證,然後根據用戶和系統要求,進行包括上述功能的軟件設計、輸入輸出設計、用戶設計和模組功能、接口設計,然後編寫用於數據庫實現的編譯、連接、測試等語言程序,使所設計的數據庫系統具有易開發、易推廣、易理解的高質量、高效率的軟件。

因此,應用軟件工程的理論和方法,可以設計較複雜的系統軟件,使設計工程化、系統化,提高軟件研製質量和水準。

【參考文獻】

[1]鄭人傑。軟件工程[M].北京:清華大學出版社,1999.

[2]張海藩。軟件工程導論[M].北京:清華大學出版社,1996.

[3]劉潤彬。軟件工程簡明教程[M].大連:大連理工大學出版社,1995.