第一章、软件工程学概述软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包含下述两个方面的问题:1.如何开发软件,以满足对软件日益增长的需求。2.如何维护数量不断膨胀的已有软件。具体的说,软件危机主要有以下一些典型表现:1.对软件开发成本的进度的估计常常很不准确。2.用户对“已完成的”软件系统不满意的现象经常发生3.软件产品的质量往往靠不住。4.软件常常是不可维护的。5.软件通常没有适当的文档材料。6.软件成本在计算机系统总成本中所占的比例逐年上升。7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。软件生命周期:一个软件从定义、开发、使用和维护,知道最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生命周期。软件配置:程序、文档和数据。软件工程学的一个重要的目标:就是提高软件的可维护性,减少软件维护的代价。软件:是程序、数据及相关文档的集合。程序:是能够完成预定功能和性能的可执行的指令序列。数据:是使程序能够适当地处理信息的数据结构。文档:是开发、使用和维护程序所需要的图文资料。软件工程:指导计算机软件开发和维护的一门工程学科。软件工程具有下属的本质特性:1.软件工程关注于大型程序的构造。2.软件工程的中心课题是控制复杂性。3.软件经常变化。4.开发软件的效率非常重要。5.和谐地合作是开发软件的关键。6.软件必须有效地支持它的用户。7.在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。软件工程的 7 条基本原理:1.用分阶段的生命周期计划严格管理。2.坚持进行阶段评审。3.实行严格的产品控制 4.采用现代程序设计技术。5.结构应能清楚的审查。6.开发小组的人员应该少而精。7.承认不断改进软件工程实践的必要性。软件工程:包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为泛型。软件工程方法学(包括传统方法学、面向对象方法学)包含三个要素:方法、工具和过程。方法:是完成软件开发的各项任务的技术方法,回答“怎样做”的问题。工具:是为运用方法而提供的自动的或半自动的软件工程支撑环境。工程:是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。面向对象方法学:把数据和行为看成是同等重要的,它是一种以数据为主线,把数据...