軟件工程流程是軟件開發(fā)系統(tǒng)中起主導(dǎo)作用的形式化流程,對于將輸入轉(zhuǎn)化為輸出的彼此相關(guān)的資源活動起到指導(dǎo)和規(guī)范軟件的作用,其中輸入為用戶要求、輸出為軟件產(chǎn)品,包括相關(guān)資源開發(fā)人員、軟硬件工具和時間等,圖1給出的框圖模型描述了軟件流程在軟件開發(fā)、系統(tǒng)研發(fā)中所扮演的重要角色。

圖1軟件開發(fā)、系統(tǒng)研發(fā)的流程
一般來說,軟件工程流程的具體內(nèi)容包括:
軟件工具和軟件開發(fā)的方法的選用,所選工具和方法的使用順序和要求交付的文檔資料,為了使用變化所需要的管理和質(zhì)量保證,以及軟件開發(fā)各個階段的里程碑。顯然,采用什么樣的生產(chǎn)流程決定了軟件產(chǎn)品具有什么樣的流程質(zhì)量,因為軟件工程流程的知識本身及其應(yīng)用效果都將凝聚在軟件產(chǎn)品中,成為其組成要素。銳智互動軟件公司也給出了軟件工程流程的一個參考模型,該模型關(guān)注的是軟件工程流程的本質(zhì),它包括兩方面的內(nèi)容: -是利用工具,二是固化軟件開發(fā)的最佳實踐。模型 把最佳實踐定義為“一組經(jīng)過組織整理并形成文檔的準(zhǔn)則、方法和流程,能夠提高軟件開發(fā)的質(zhì)量和與效率”,并且例舉了一些最佳實踐具體內(nèi)容,
其中包括:
1、采用迭代開發(fā)(UscIterativeDevelopment) ;
2、管理需求(ManageRequirements) ;
3、使用基于組件的架構(gòu)(UseComponentArchitectures) ;
4、可視化建模(ModeIVisually) ;
5、持續(xù)驗證質(zhì)量(ContinuouslyVerifyQuality) ;
6、控制變更(ControlChange);
軟件工程流程模型如圖2所示。

圖2軟件開發(fā)、系統(tǒng)研發(fā)的流程模型
在以上模型中,最佳實踐指導(dǎo)工具的使用,工具用來支持最佳實踐,兩者之間相輔相成。注意軟件工具一般是通用的,而不同的軟件開發(fā)企業(yè)則有不同的最佳實踐,后者取決于企業(yè)的成長歷史及其員工所積累的經(jīng)驗。