簡述基於軟件體系結構的軟件開發過程

軟件體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件、數據構件和連接構件。

  • 處理構件負責對數據進行加工;
  • 數據構件是被加工的信息;
  • 連接構件把體系結構的不同部分組組合連接起來。

這一定義注重區分處理構件、數據構件和連接構件,這一方法在其他的定義和方法中基本上得到保持。

軟件開發是根據用戶要求建造出軟件系統或者系統中的軟件部分的過程。軟件開發是一項包括需求捕捉,需求分析,設計,實現和測試的系統工程。

軟件開發過程一般分爲以下6個階段

一、計劃

對所要解決的問題進行總體定義,包括瞭解用戶的要求及現實環境,從技術、經濟和社會因素等3個方面研究並論證本軟件項目的可行性,編寫可行性研究報告,探討解決問題的方案,並對可供使用的資源(如計算機硬件、系統軟件、人力等)成本,可取得的效益和開發進度作出估計。制訂完成開發任務的實施計劃。

二、需求分析

軟件需求分析就是回答做什麼的問題。它是一個對用戶的需求進行去粗取精、去僞存真、正確理解,然後把它用軟件工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規格說明書文檔並最終得到用戶的認可。需求分析的主要方法有結構化分析方法、數據流程圖和數據字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟件系統的體系結構,並將整個系統分解成若干個子系統或模塊,
定義子系統或模塊間的接口關係,對各子系統進行具體設計定義,編寫軟件概要設計和詳細設計說明書,數據庫或數據結構設計說明書,組裝測試計劃。分析階段用到數據流圖數據字典等工具

三、設計

軟件設計可以分爲概要設計和詳細設計兩個階段。
詳細設計是從DFD圖導出初始的模塊結構圖,然後經過改進初始的模塊結構圖得到最終模塊結構圖。在系統分析階段,我們採用結構化分析方法得到了由數據流圖、數據字典和加工說明等組成的系統的邏輯模型。現在,可根據一些規則從數據流圖導出系統
初始的模塊結構圖。管理信息系統的數據流圖通常也可分爲兩種典型的結構,即變換型結構和事務型結構。變換型結構的數據流圖呈一種線性狀態,它所描述的工作可表示爲輸入、主處理及輸出。事務型結構的數據流圖則呈束狀,即一束數據流平行流人或
流出,可能同時有幾個事務要求處理。這兩種典型的結構分別可通過“變換分析”和“事務分析”技術,導出“變換型”和“事務型”初始的模塊結構圖。這兩種方法的思想是首先設計頂層模塊,然後自頂向下,逐步細化,最後得到一個滿足數據流圖所表示的用戶要求的系統的模塊結構圖,即系統的物理模型。

四、編碼

軟件編碼是指把軟件設計轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的”源程序清單”。充分了解軟件開發語言、工具的特性和編程風格,有助於開發工具的選擇以及保證軟件產品的開發質量。當前軟件開發中除在專用場合,已經很少使用二十世紀80年代的高級語言了,取而代之的是面向對象的開發語言。而且面對象的開發語言和開發環境大都合爲一體,大大提高了開發的速度。

五、測試

軟件測試的目的是以較小的代價發現儘可能多的錯誤。要實現這個目標的關鍵在於設計一套出色的測試用例(測試數據和預期的輸出結果組成了測試用例)。如何才能設計出一套出色的測試用例,關鍵在於理解測試方法。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據的是程序內部的的邏輯結構來發現軟件的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。用例設計的關鍵是以較少的用例覆蓋儘可能多的內部程序邏輯結果。白盒法和黑盒法依據的是軟件的功能或軟件行爲描述,發現軟件的接口、功能和結構錯誤。其中接口錯誤包括內部/外部接口、資源管理、集成化以及系統錯誤。

六、維護

維護是旨在已完成對軟件的研製(分析、設計、編碼和測試)工作並交付使用以後,對軟件產品所進行的一些軟件工程的活動。即根據軟件運行的情況,對軟件進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟件問題報告、軟件修改報告。 一箇中等規模的軟件,如果研製階段需要一年至二年的時間,在它投入使用以後,其運行或工作時間可能持續五年至十年。那麼它的維護階段也是運行的這五年至十年期間。在這段時間,人們幾乎需要着手解決研製階段所遇到的各種問題,同時還要解決某些維護工作本身特有的問題。做好軟件維護工作,不僅能排除障礙,使軟件能正常工作,而且還可以使它擴展功能,提高性能,爲用戶帶來明顯的經濟效益。然而遺憾的是,對軟件維護工作的重視往往遠不如對軟件研製工作的重視。而事實上,和軟件研製工作相比,軟件維護的工作量和成本都要大得多。

文獻:
[1]軟件開發沉思錄——ThoughtWorks文集 作者:美國Thought-Works公司出版:人民郵電出版社 出版日期:2009年09月

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章