- 软件:是客观世界问题空间与解空间的具体表达;它追求表达能力强、更符合人类思维模式,具有构建性和易演化性的计算模型。
- 工程:是综合运用科学理论和技术方法改造客观世界及其物质特性的一门学科和技艺。工程强调以最短时间、少而精的人力物力做出高效、可靠且有用的东西。
- 软件工程:研究或应用工程化方法来设计、创造、构建和维护有效、实用和高质量软件的一门学科。
- 软件工程的经典定义:应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
- 软件工程主要研究内容:软件开发过程,软件开发方法、软件工程管理与支持、软件质量保障、软件工程度量、计算机辅助软件工程环境及工具等内容。
- IEEE软件工程定义:软件工程是将系统化的、学科的、可量化的方法应用于软件的开发、运行和维护,即针对软件的工程应用;对于上述应用方法的研究。
软件工程的框架
- 目标
生产具有正确性、可用性以及成本合适的软件产品。 - 过程
生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。 - 原则
围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
软件工程的要素
- 方法
软件开发“如何做”的工程方法、原理与技术。 - 工具
软件工程方法的自动化或半自动化的支撑。 - 过程
软件工程方法与工具在软件开发与运行各阶段的运用。
软件工程的特性
-
不可视性与主观性。
-
软件规模与复杂性
-
易变性与不确定性。
-
精确性与模糊性。
-
Mechanical Engineering is like looking for a cat in a lighted room.
-
Chemical Engineering is like looking for a black cat in a dark room.
-
Software Engineering is like looking for a black cat in a dark room in which there is not a cat.
-
System Engineering is like looking for a black cat in a dark room in which there is not a cat and some one yells,"I got it".
网友评论