軟件工程流程是軟件開發系統中起主導作用(yòng)的(de)形式化(huà)流程,對(duì)于将輸入轉化(huà)爲輸出的(de)彼此相關的(de)資源活動起到指導和(hé)規範軟件的(de)作用(yòng),其中輸入爲用(yòng)戶要求、輸出爲軟件産品,包括相關資源開發人(rén)員(yuán)、軟硬件工具和(hé)時(shí)間等,圖1給出的(de)框圖模型描述了(le)軟件流程在軟件開發、系統研發中所扮演的(de)重要角色。
圖1軟件開發、系統研發的(de)流程
一般來(lái)說,軟件工程流程的(de)具體内容包括:
軟件工具和(hé)軟件開發的(de)方法的(de)選用(yòng),所選工具和(hé)方法的(de)使用(yòng)順序和(hé)要求交付的(de)文檔資料,爲了(le)使用(yòng)變化(huà)所需要的(de)管理(lǐ)和(hé)質量保證,以及軟件開發各個(gè)階段的(de)裏程碑。顯然,采用(yòng)什(shén)麽樣的(de)生産流程決定了(le)軟件産品具有什(shén)麽樣的(de)流程質量,因爲軟件工程流程的(de)知識本身及其應用(yòng)效果都将凝聚在軟件産品中,成爲其組成要素。安菲科技軟件公司也(yě)給出了(le)軟件工程流程的(de)一個(gè)參考模型,該模型關注的(de)是軟件工程流程的(de)本質,它包括兩方面的(de)内容: -是利用(yòng)工具,二是固化(huà)軟件開發的(de)最佳實踐。模型 把最佳實踐定義爲“一組經過組織整理(lǐ)并形成文檔的(de)準則、方法和(hé)流程,能夠提高(gāo)軟件開發的(de)質量和(hé)與效率”,并且例舉了(le)一些最佳實踐具體内容,
其中包括:
1、采用(yòng)叠代開發(UscIterativeDevelopment) ;
2、管理(lǐ)需求(ManageRequirements) ;
3、使用(yòng)基于組件的(de)架構(UseComponentArchitectures) ;
4、可(kě)視化(huà)建模(ModeIVisually) ;
5、持續驗證質量(ContinuouslyVerifyQuality) ;
6、控制變更(ControlChange);
軟件工程流程模型如圖2所示。
圖2軟件開發、系統研發的(de)流程模型
在以上模型中,最佳實踐指導工具的(de)使用(yòng),工具用(yòng)來(lái)支持最佳實踐,兩者之間相輔相成。注意軟件工具一般是通(tōng)用(yòng)的(de),而不同的(de)軟件開發企業則有不同的(de)最佳實踐,後者取決于企業的(de)成長(cháng)曆史及其員(yuán)工所積累的(de)經驗。