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