什么是软件工程?在回答这个问题之前,我们来先看一下什么是工程?
百度百科上“工程”的定义如下:“工程是指以某组设想的目标为依据,应用有关的科学知识和技术手段,通过有组织的一群人将某个(或某些)现有实体(自然的或人造的)转化为具有预期使用价值的人造产品过程。”
那么软件工程就是软件产品的有组织的研发过程。
我们来看看几大权威机构对“软件工程”的定义。
ISO9000 中软件工程过程的定义:软件工程过程是输入转化为输出的一组彼此相关的资源和活动。
IEEE中对软件工程的定义:软件工程是将系统化、规则以及可控的体系方法,应用于软件设计、开发、操作和维护;也就是说,将工程的理念在软件研发过程中贯彻。
科普中国中对软件工程的定义:软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
下面谈谈我的理解:软件工程是一个组织通过工程化的方法来生产软件的过程,这些过程包括软件研发过程中的各阶段指导书、实践、工具、方法论以及团队的协作等等,并且是可重复可推广和可持续改进优化的。最好是可度量的。
你认为呢?