軟體開發流程

軟體開發流程

軟體開發流程即軟體設計思路和方法的一般過程,包括對軟體先進行需求分析,設計軟體的功能和實現的算法和方法、軟體的總體結構設計和模組設計、編碼和調試、程式聯調和測試以及編寫、提交程式等一系列操作以滿足客戶的需求並且解決客戶的問題,如果有更高需求,還需要對軟體進行維護、升級處理,報廢處理。

基本介紹

  • 中文名:軟體開發流程
  • 外文名:Software development process
  • 主體:軟體
  • 步驟:8個
開發流程,需求分析,概要設計,詳細設計,編碼,測試,軟體交付,驗收,維護,軟體維護,軟體升級,報廢處理,舉例解析,學習內容,

開發流程

需求分析

1.相關系統分析員向用戶初步了解需求,然後用相關的工具軟體列出要開發的系統的大功能模組,每個大功能模組有哪些小功能模組,對於有些需求比較明確相關的界面時,在這一步裡面可以初步定義好少量的界面。
2.系統分析員深入了解和分析需求,根據自己的經驗和需求用WORD或相關的工具再做出一份文檔系統的功能需求文檔。這次的文檔會清楚列出系統大致的大功能模組,大功能模組有哪些小功能模組,並且還列出相關的界面和界面功能。
3.系統分析員向用戶再次確認需求。

概要設計

首先,開發者需要對軟體系統進行概要設計,即系統設計。概要設計需要對軟體系統的設計進行考慮,包括系統的基本處理流程、系統的組織結構、模組劃分、功能分配、接口設計、運行設計、數據結構設計和出錯處理設計等,為軟體的詳細設計提供基礎。

詳細設計

概要設計的基礎上,開發者需要進行軟體系統的詳細設計。在詳細設計中,描述實現具體模組所涉及到的主要算法、數據結構、類的層次結構及調用關係,需要說明軟體系統各個層次中的每一個程式(每個模組或子程式)的設計考慮,以便進行編碼和測試。應當保證軟體的需求完全分配給整個軟體。詳細設計應當足夠詳細,能夠根據詳細設計報告進行編碼。

編碼

軟體編碼階段,開發者根據《軟體系統詳細設計報告》中對數據結構、算法分析和模組實現等方面的設計要求,開始具體的編寫程式工作,分別實現各模組的功能,從而實現對目標系統的功能、性能、接口、界面等方面的要求。在規範化的研發流程中,編碼工作在整個項目流程里最多不會超過1/2,通常在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編碼效率就會極大提高,編碼時不同模組之間的進度協調和協作是最需要小心的,也許一個小模組的問題就可能影響了整體進度,讓很多程式設計師因此被迫停下工作等待,這種問題在很多研發過程中都出現過。編碼時的相互溝通和應急的解決手段都是相當重要的,對於程式設計師而言,bug永遠存在,你必須永遠面對這個問題!

測試

測試編寫好的系統。交給用戶使用,用戶使用後一個一個的確認每個功能。軟體測試有很多種:按照測試執行方,可以分為內部測試和外部測試;按照測試範圍,可以分為模組測試和整體聯調;按照測試條件,可以分為正常操作情況測試和異常情況測試;按照測試的輸入範圍,可以分為全覆蓋測試和抽樣測試。以上都很好理解,不再解釋。總之,測試同樣是項目研發中一個相當重要的步驟,對於一個大型軟體,3個月到1年的外部測試都是正常的,因為永遠都會有不可預料的問題存在。完成測試後,完成驗收並完成最後的一些幫助文檔,整體項目才算告一段落,當然日後少不了升級,修補等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟體的運營狀況並持續修補升級,直到這個軟體被徹底淘汰為止。

軟體交付

在軟體測試證明軟體達到要求後,軟體開發者應向用戶提交開發的目標安裝程式、資料庫的數據字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等雙方契約約定的產物。
《用戶安裝手冊》應詳細介紹安裝軟體對運行環境的要求、安裝軟體的定義和內容、在客戶端、伺服器端及中間件的具體安裝步驟、安裝後的系統配置。
《用戶使用指南》應包括軟體各項功能的使用流程、操作步驟、相應業務介紹、特殊提示和注意事項等方面的內容,在需要時還應舉例說明。

驗收

用戶驗收。

維護

根據用戶需求的變化或環境的變化,對應用程式進行全部或部分的修改。

軟體維護

1、軟體資料庫管理
titletitle
2、用戶跟蹤培訓
3、故障分析解決

軟體升級

需求調整分析
軟體功能拓展
最佳化系統

報廢處理

軟體不能適應業務發展
新軟體項目立項
企業數據信息備份

舉例解析

1 例如某家公司想找人訂做一套人事管理軟體,從某種渠道上得知某家軟體開發公司提供這種服務,所以進行聯繫。
2 軟體開發公司會派專門的軟體工程師到他們那裡去了解我們要設計一個什麼的東西給用戶用,然後回來做個方案給他們,其中方案的內容包括:開發出來的軟體大概的界面是怎樣?方便什麼人使用?什麼人可以使用什麼功能?方便到什麼程度?大概的硬體要求是怎樣等?
3 用戶看了方案後,確定他們就是要做一套這樣的軟體,開發方就開始開發這套軟體。
4 開發方把開發出來的軟體交給用戶使用,其中在使用的過程中哪裡使用不方便或哪裡達不到要求,開發方會第一時間修改這些功能,直到用戶要求的所有功能都能很完美的解決掉。
5 用戶如果因為公司發展壯大的需要,需要將軟體升級開發方會做功能拓展。

學習內容

首先讓我們來看一下軟體工程師考試(高級)要求:
(1)理解軟體工程管理的概念和任務;
(2)理解軟體生存期過程;
(3)理解軟體工程標準;
(4)掌握需求分析、測試、維護基本技術;
(5)掌握軟體度量、軟體配置管理方法;
(6)理解軟體復用概念;
(7)理解軟體質量保證的手段;
(8)理解軟體項目對人員的需求;
(9)理解軟體智慧財產權的基本知識。
通過本級水平考試的合格人員具有從事軟體系統分析與工程系統分析員、工程管理員的實際工作能力和業務水平。

相關詞條

熱門詞條

聯絡我們