軟件開發流程

軟件開發流程即軟件設計思路和方法的通常過程,包括對軟件先進行需求分析,設計軟件的功能和實現的算法和方法、軟件的整體結構設計和模塊設計、編碼和調試、程序聯調和測試以及編寫、提交程序等一系列操做以知足客戶的需求而且解決客戶的問題,若是有更高需求,還須要對軟件進行維護、升級處理,報廢處理。程序員

需求分析
1.相關係統分析員向用戶初步瞭解需求,而後用相關的工具軟件列出要開發的系統的大功能模塊,每一個大功能模塊有哪些小功能模塊,對於有些需求比較明確相關的界面時,在這一步裏面能夠初步定義好少許的界面。
2.系統分析員深刻了解和分析需求,根據本身的經驗和需求用WORD或相關的工具再作出一份文檔系統的功能需求文檔。此次的文檔會清楚列出系統大體的大功能模塊,大功能模塊有哪些小功能模塊,而且還列出相關的界面和界面功能。
3.系統分析員向用戶再次確認需求。
概要設計
首先,開發者須要對軟件系統進行概要設計,即系統設計。概要設計須要對軟件系統的設計進行考慮,包括系統的基本處理流程、系統的組織結構、模塊劃分、功能分配、接口設計、運行設計、數據結構設計和出錯處理設計等,爲軟件的詳細設計提供基礎。
詳細設計
在概要設計的基礎上,開發者須要進行軟件系統的詳細設計。在詳細設計中,描述實現具體模塊所涉及到的主要算法、數據結構、類的層次結構及調用關係,須要說明軟件系統各個層次中的每個程序(每一個模塊或子程序)的設計考慮,以便進行編碼和測試。應當保證軟件的需求徹底分配給整個軟件。詳細設計應當足夠詳細,可以根據詳細設計報告進行編碼。
編碼
在軟件編碼階段,開發者根據《軟件系統詳細設計報告》中對數據結構、算法分析和模塊實現等方面的設計要求,開始具體的編寫程序工做,分別實現各模塊的功能,從而實現對目標系統的功能、性能、接口、界面等方面的要求。在規範化的研發流程中,編碼工做在整個項目流程裏最多不會超過1/2,一般在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編碼效率就會極大提升,編碼時不一樣模塊之間的進度協調和協做是最須要當心的,也許一個小模塊的問題就可能影響了總體進度,讓不少程序員所以被迫停下工做等待,這種問題在不少研發過程當中都出現過。編碼時的相互溝通和應急的解決手段都是至關重要的,對於程序員而言,bug永遠存在,你必須永遠面對這個問題!
測試
測試編寫好的系統。交給用戶使用,用戶使用後一個一個的確認每一個功能。軟件測試有不少種:按照測試執行方,能夠分爲內部測試和外部測試;按照測試範圍,能夠分爲模塊測試和總體聯調;按照測試條件,能夠分爲正常操做狀況測試和異常狀況測試;按照測試的輸入範圍,能夠分爲全覆蓋測試和抽樣測試。以上都很好理解,再也不解釋。總之,測試一樣是項目研發中一個至關重要的步驟,對於一個大型軟件,3個月到1年的外部測試都是正常的,由於永遠都會有不可預料的問題存在。完成測試後,完成驗收並完成最後的一些幫助文檔,總體項目纔算告一段落,固然往後少不了升級,修補等等工做,只要不是想經過一錘子買賣騙錢,就要不停的跟蹤軟件的運營情況並持續修補升級,直到這個軟件被完全淘汰爲止。
軟件交付
在軟件測試證實軟件達到要求後,軟件開發者應向用戶提交開發的目標安裝程序、數據庫的數據字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等雙方合同約定的產物。
《用戶安裝手冊》應詳細介紹安裝軟件對運行環境的要求、安裝軟件的定義和內容、在客戶端、服務器端及中間件的具體安裝步驟、安裝後的系統配置。
《用戶使用指南》應包括軟件各項功能的使用流程、操做步驟、相應業務介紹、特殊提示和注意事項等方面的內容,在須要時還應舉例說明。
驗收
用戶驗收。
維護
根據用戶需求的變化或環境的變化,對應用程序進行所有或部分的修改。
軟件維護編輯
一、軟
title
title
件數據庫管理
二、用戶跟蹤培訓
三、故障分析解決
軟件升級編輯
需求調整分析
軟件功能拓展
優化系統
報廢處理編輯
軟件不能適應業務發展
新軟件項目立項
企業數據信息備份
舉例解析編輯
1 例如某家公司想找人訂作一套人事管理軟件,從某種渠道上得知某家軟件開發公司提供這種服務,因此進行聯繫。
2 軟件開發公司會派專門的軟件工程師到他們那裏去了解咱們要設計一個什麼的東西給用戶用,而後回來作個方案給他們,其中方案的內容包括:開發出來的軟件大概的界面是怎樣?方便什麼人使用?什麼人可使用什麼功能?方便到什麼程度?大概的硬件要求是怎樣等?
3 用戶看了方案後,肯定他們就是要作一套這樣的軟件,開發方就開始開發這套軟件。
4 開發方把開發出來的軟件交給用戶使用,其中在使用的過程當中哪裏使用不方便或哪裏達不到要求,開發方會第一時間修改這些功能,直到用戶要求的全部功能都能很完美的解決掉。
5 用戶若是由於公司發展壯大的須要,須要將軟件升級開發方會作功能拓展。
學習內容編輯
首先讓咱們來看一下軟件工程師考試(高級)要求:
(1)理解軟件工程管理的概念和任務;
(2)理解軟件生存期過程;
(3)理解軟件工程標準;
(4)掌握需求分析、測試、維護基本技術;
(5)掌握軟件度量、軟件配置管理方法;
(6)理解軟件複用概念;
(7)理解軟件質量保證的手段;
(8)理解軟件項目對人員的需求;
(9)理解軟件知識產權的基本知識。
經過本級水平考試的合格人員具備從事軟件系統分析與工程系統分析員、工程管理員的實際工做能力和業務水平。算法

相關文章
相關標籤/搜索