什么是软件工程
来源:上海市欧博官网督畔信息技术有限公司中国|
类型:网站百科|
时间:2014-06-18
软件工程(Software Engineering, SE)是一门研究用工程化方法构建和维护有效的、实用的、高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、
网站建设标准、设计模式等方面,同时它还是一门将理论应用于实践的学科,广泛应用了计算机科学、数学和管理科学等方面的知识。
关于软件工程,有代表性的定义包括:
(1) Barry Boehm给出的定义:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
(2) IEEE在《软件工程术语汇编》中的定义:①将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;②在①中所述方法的研究。
(3) Fritz Bauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
(4)《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本.其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(Paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理.CCSE2004报告强调软件工程是“以系统的、科学的、定量的途径,把工程应用于软件的开发、运行和维护;同时,开展对上述过程中各种方法和途径的研究”,突出了软件工程领域内的“工程学”和“方法学”的研究和应用方向。在2004年5月定稿的、由ACM/IEEE联合工作组制定的CCSE2004 SEEK(Software Engineering Education Knowledge)中,将软件工程知识领域分为以下领域:
- 计算的本质(Computing Essentials,CMP);
- 数学与工程基础(Mathematical & Engineering Fundamentals, FND);
- 职业习{I练(Professional Practice,PRF);
- 软件建模与分析(Software Modeling&Analysis, MAA) ;
- 软件设计(Software Design, DES);
- 软件验证(Software Verification&Validation, VAV);
- 软件进化(Software Evolution, EVO);
- 软件过程(Software Process,PRO);
- 软件质量(Software Quality,QUA);
- 软件管理(Software Management, MGT);
系统与应用专题(System&Application Specialties, SAS)2004年6月23日,IEEE的另一个学科组也公布了软件工程知识体系SWEBOK(Software Engineering Body of Knowledge)的更新版,包括:
- 软件需求(Software Requirements, SWR);
- 软件设计(Software Desi云n,SWD);
- 软件构造(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);
- 软件质量(Software Quality,SWQ);
- 相关学科知识(Knowledge Areas of Related Disciplines)
软件工程学科关注的问题空间如图10-5所示。
由于软件工程致力于开发高效的软件系统,因此9要沿着软件方法与技术向下扩展到系统的内部结构,以更有效地开发利用硬件系统的性能;再考虑到设计开发的软件系统是面向用户的,所以需要向上扩展到一些应用技术问题并对组织事务的有关问题有适当的了解。
来源声明:本文章系上海市欧博官网督畔信息技术有限公司中国编辑原创或采编整理,如需转载请注明来自上海市欧博官网督畔信息技术有限公司中国。以上内容部分(包含图片、文字)来源于网络,如有侵权,请及时与本站联系(021-71886699)。