關(guān)于軟件工程,有代表性的定義包括:
(1) Barry Boehm給出的定義:運用現(xiàn)代科學技術(shù)知識來設計并構(gòu)造計算機程序及為開發(fā)、運行和維護這些程序所必需的相關(guān)文件資料。
(2) IEEE在《軟件工程術(shù)語匯編》中的定義:①將系統(tǒng)化的、嚴格約束的、可量化的方法應用于軟件的開發(fā)、運行和維護,即將工程化應用于軟件;②在①中所述方法的研究。
(3) Fritz Bauer在NATO會議上給出的定義:建立并使用完善的工程化原則,以較經(jīng)濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法。
(4)《計算機科學技術(shù)百科全書》中的定義:軟件工程是應用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。軟件工程借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本.其中,計算機科學、數(shù)學用于構(gòu)建模型與算法,工程科學用于制定規(guī)范、設計范型(Paradigm)、評估成本及確定權(quán)衡,管理科學用于計劃、資源、質(zhì)量、成本等管理.CCSE2004報告強調(diào)軟件工程是“以系統(tǒng)的、科學的、定量的途徑,把工程應用于軟件的開發(fā)、運行和維護;同時,開展對上述過程中各種方法和途徑的研究”,突出了軟件工程領域內(nèi)的“工程學”和“方法學”的研究和應用方向。在2004年5月定稿的、由ACM/IEEE聯(lián)合工作組制定的CCSE2004 SEEK(Software Engineering Education Knowledge)中,將軟件工程知識領域分為以下領域:
- 計算的本質(zhì)(Computing Essentials,CMP);
- 數(shù)學與工程基礎(Mathematical & Engineering Fundamentals, FND);
- 職業(yè)習{I練(Professional Practice,PRF);
- 軟件建模與分析(Software Modeling&Analysis, MAA) ;
- 軟件設計(Software Design, DES);
- 軟件驗證(Software Verification&Validation, VAV);
- 軟件進化(Software Evolution, EVO);
- 軟件過程(Software Process,PRO);
- 軟件質(zhì)量(Software Quality,QUA);
- 軟件管理(Software Management, MGT);
系統(tǒng)與應用專題(System&Application Specialties, SAS)2004年6月23日,IEEE的另一個學科組也公布了軟件工程知識體系SWEBOK(Software Engineering Body of Knowledge)的更新版,包括:
- 軟件需求(Software Requirements, SWR);
- 軟件設計(Software Desi云n,SWD);
- 軟件構(gòu)造(Software Construction, SWC);
- 軟件測試(Software Testing,SWT);
- 軟件維護(Software Maintenance,SWM);
- 軟件配置管理(Software Configuration Management, SCM) ;
- 軟件工程管理(Software Engineering Management,SEM);
- 軟件工程過程(Software Engineering Process,SEP);
- 軟件工程工具和方法( Software Engineering Tools & Methods,STM);
- 軟件質(zhì)量(Software Quality,SWQ);
- 相關(guān)學科知識(Knowledge Areas of Related Disciplines)
由于軟件工程致力于開發(fā)高效的軟件系統(tǒng),因此9要沿著軟件方法與技術(shù)向下擴展到系統(tǒng)的內(nèi)部結(jié)構(gòu),以更有效地開發(fā)利用硬件系統(tǒng)的性能;再考慮到設計開發(fā)的軟件系統(tǒng)是面向用戶的,所以需要向上擴展到一些應用技術(shù)問題并對組織事務的有關(guān)問題有適當?shù)牧私狻?div style="text-align: center; ">
