軟件開發(fā)流程(Software development process)即軟件設計思路和方法的一般過程,包括設計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結構設計和模塊設計、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。
開發(fā)流程
第一步:需求調(diào)研分析
1相關系統(tǒng)分析員向用戶初步了解需求,然后用word列出要開發(fā)的系統(tǒng)的大功能模塊,每個大功能模塊有哪些小功能模塊,對于有些需求比較明確相關的界面時,在這一步里面可以初步定義好少量的界面。
2 系統(tǒng)分析員深入了解和分析需求,根據(jù)自己的經(jīng)驗和需求用WORD或相關的工具再做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會清楚列出系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還列出相關的界面和界面功能。
3 系統(tǒng)分析員向用戶再次確認需求。
第二步:概要設計
首先,開發(fā)者需要對軟件系統(tǒng)進行概要設計,即系統(tǒng)設計。概要設計需要對軟件系統(tǒng)的設計進行考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結構、模塊劃分、功能分配、接口設計、運行設計、數(shù)據(jù)結構設計和出錯處理設計等,為軟件的詳細設計提供基礎。
第三步:詳細設計
在概要設計的基礎上,開發(fā)者需要進行軟件系統(tǒng)的詳細設計。在詳細設計中,描述實 現(xiàn)具體模塊所涉及到的主要算法、數(shù)據(jù)結構、類的層次結構及調(diào)用關系,需要說明軟件系統(tǒng)各個層次中的每一個程序(每個模塊或子程序)的設計考慮,以便進行編碼和測試。應當保證軟件的需求完全分配給整個軟件。詳細設計應當足夠詳細,能夠根據(jù)詳細設計報告進行編碼。
第四步:編碼
在軟件編碼階段,開發(fā)者根據(jù)《軟件系統(tǒng)詳細設計報告》中對數(shù)據(jù)結構、算法分析和 模塊實現(xiàn)等方面的設計要求,開始具體的編寫程序工作,分別實現(xiàn)各模塊的功能,從而實現(xiàn)對目標系統(tǒng)的功能、性能、接口、界面等方面的要求。在規(guī)范化的研發(fā)流 程中,編碼工作在整個項目流程里最多不會超過1/2,通常在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編碼效率就會極大提高,編碼時不同模塊 之間的進度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個小模塊的問題就可能影響了整體進度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都出現(xiàn) 過。編碼時的相互溝通和應急的解決手段都是相當重要的,對于程序員而言,bug永遠存在,你必須永遠面對這個問題,大名鼎鼎的微軟,可曾有連續(xù)三個月不發(fā) 補丁的時候嗎?從來沒有!
第六步:軟件交付準備
在軟件測試證明軟件達到要求后,軟件開發(fā)者應向用戶提交開發(fā)的目標安裝程序、數(shù)據(jù)庫的數(shù)據(jù)字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等雙方合同約定的產(chǎn)物。
《用戶安裝手冊》應詳細介紹安裝軟件對運行環(huán)境的要求、安裝軟件的定義和內(nèi)容、在客戶端、服務器端及中間件的具體安裝步驟、安裝后的系統(tǒng)配置。
《用戶使用指南》應包括軟件各項功能的使用流程、操作步驟、相應業(yè)務介紹、特殊提示和注意事項等方面的內(nèi)容,在需要時還應舉例說明。
第七步:驗收
用戶驗收。
軟件維護
1、軟件數(shù)據(jù)庫管理
2、用戶跟蹤培訓
3、故障分析解決
軟件升級
需求調(diào)整分析
軟件功能拓展
優(yōu)化系統(tǒng)
報廢處理
軟件不能適應業(yè)務發(fā)展
新軟件項目立項
企業(yè)數(shù)據(jù)信息備份
附注:軟件工程師學習內(nèi)容
首先讓我們來看一下軟件工程師考試(高級)要求:
(1)理解軟件工程管理的概念和任務;
(2)理解軟件生存期過程;
(3)理解軟件工程標準;
(4)掌握需求分析、測試、維護基本技術;
(5)掌握軟件度量、軟件配置管理方法;
(6)理解軟件復用概念;
(7)理解軟件質(zhì)量保證的手段;
(8)理解軟件項目對人員的需求;
(9)理解軟件知識產(chǎn)權的基本知識。
通過本級水平考試的合格人員具有從事軟件系統(tǒng)分析與工程系統(tǒng)分析員、工程管理員的實際工作能力和業(yè)務水平。