.CH0 概论本章重点:软件工程的定义 什么是软件退化 软件与程序的区别软件工程的组成 客户和用户的定义常见的软件神话,他们错在何处? 软件工程的目标有哪些?软件工程的目标中最重要的是哪个?软件过程是一种层次化的技术,其层次结构是什么样的? 软件是想改就能改的吗?软件开发时是不是越早开始写代码越好1. 为什么需要软件工程:个人、企业和政府在日常活动、 管理和战略战术决策时越来越依赖于软件,因此必须确保软件的质量;鉴于软件开发成本巨大, 因此必须确保开发出来的软件能够满足目标用户的真实要求;随着软件越来越复杂,其开发和实际也越来越复杂,必须确保开发活动的有序、有效;随着软件用户数量和寿命的增加,对其适应性、 可扩展性的要求也在增加。 必须确保软件具备良好的可维护性。2. 软件工程定义最经典的定义: 软件工程是对合理工程原则的建立和使用,其目的是为了经济地获得可靠的、可以在实际机器上高效运行的软件。IEEE给出的定义:将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护。即将工程化方法应用于软件。