軟件工程詳解

一般來說,一個完整的軟件項目的出爐需要有項目經理(Project Manager)、系統架構師(System Architect)、系統分析員(System Analyst)、分析程序員(A/P Analyst Programmer)和初級程序員(Junior Programmer)的參與。我們先從軟件工程的角度來看看他們各自是如何分工的。

  按照軟件工程學劃分,一個完整的軟件項目的前期工作可以劃分爲軟件定義時期和軟件開發時期。軟件定義時期通常劃分成三個階段,即問題定義、可行性研究和需求分析。開發時期通常由下述四個階段組成:總體設計、詳細設計、編碼和單元測試、綜合測試。

  具體來說,各個階段的任務如下。

  問題定義:在這個階段,需要提出關於問題性質、工程目標和規模的書面報告。項目經理通過對系統的實際用戶和使用部門負責人的訪問調查,扼要地寫出對問題的理解,並和用戶進行良好溝通,進行修改,最後得出一份雙方都滿意的文檔。

  可行性研究:這一階段需要系統架構師進行一次大大壓縮和簡化了的系統分析和設計過程,就是在較抽象的高層次上進行分析和設計的過程,導出系統的高層邏輯模型,並且在此基礎上更準確、更具體地確定工程規模和目標。然後更準確地估計系統的成本和效益。對系統進行仔細的成本、效益分析是這個階段的主要任務之一。

  需求分析:用戶瞭解他們所面對的問題,知道必須做什麼,但通常不能完整準確地表達出他們的要求,更不知道怎樣利用計算機解決他們的問題;軟件開發人員知道怎樣用軟件實現人們的要求,但是對特定的具體要求並不完全清楚。因此,在需求分析階段,系統架構師必須和用戶密切配合,充分交流信息,以得出經過用戶確認的系統邏輯模型,在經過用戶確認之後才能進入下一個階段。

  總體設計:系統分析員首先考慮出幾種可能的方案,並估計出每種方案的成本和效益,並在充分權衡各種方案利弊的基礎上,推薦一個較好的系統方案,並且制定實現所推薦系統的詳細計劃。如果用戶接受系統分析員推薦的系統,則可以着手完成下一項主要工作,也就是設計軟件結構,確定程序由哪些模塊組成以及模塊間的關係。

  詳細設計:在這個階段,分析設計員設計出程序詳細的規格說明。它們應該包含必要的細節,初級程序員可以根據它們寫出實際的程序代碼。

  編碼和測試單元:這個階段的關鍵任務是寫出正確的容易理解、容易維護的程序模塊。初級程序員應該根據目標系統的性質和實際環境,選取一種適當的高級程序設計語言,把詳細設計的結果翻譯成用選定的語言書寫的程序,並且仔細測試編寫出的每一個模塊。 

  集成測試:這個階段的關鍵任務是通過各種類型的測試使軟件達到預定的要求,並確保各子模塊之間不相互衝突及影響。這一步的工作由專門的測試員根據項目測試計劃來完成。


  從哪裏開始


  成爲初級程序員往往是步入軟件行業的開始。一個初級程序員應該具備的基本素質包括良好的編碼能力、認識和運用數據庫的能力和較強的英語閱讀和寫作能力,並要對軟件工程和項目過程有一定了解。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章