殷仁昆教授讲解软件工程基础:概念、建模与危机

需积分: 32 3 下载量 194 浏览量 更新于2024-07-27 收藏 196KB PPT 举报
"清华大学郑人杰_殷仁昆教授_《软件工程讲义》-01" 本文档摘自清华大学计算机系郑人杰和殷仁昆教授的《软件工程讲义》,主要介绍了软件工程的基本概念、建模技术以及软件工程的发展历程和目标。以下是详细内容: 1. 软件工程概念 软件工程是为了解决“软件危机”而提出的,它涉及到软件的整个生命周期,包括需求分析、设计、实现、测试、维护等多个阶段。软件危机主要表现为软件开发成本过高、周期超期、质量难以保证等问题。1968年,Bauer首次提出了软件工程的概念,强调使用工程化的方法来经济地开发可靠的软件。 2. 软件工程发展 软件工程经历了从程序设计阶段到程序系统阶段,再到软件工程阶段的演变。在软件工程阶段,强调系统化、规范化和可度量的方法应用于软件开发中。 3. 建模技术 建模是软件工程中的关键部分,包括结构化分析建模(如数据流图、实体关系图等)、结构化设计建模(数据流图转化为系统结构图)、结构化程序设计(如程序流程图、N-S图、PAD图)、测试用例设计(逻辑覆盖、循环测试等)、可靠性分析、OMT建模(对象模型、动态模型)以及UML建模(用例图、类图、顺序图、活动图)等。 4. 软件工程框架 软件工程框架包括软件工程的目标、过程和原则。目标关注软件的可用性、正确性和经济性;基本过程涵盖需求获取、分析设计、实现、测试、维护等;支持过程涉及软件开发的管理、工程支持和组织过程;原则包括选择合适的开发模型、采用恰当的设计方法、提供高质量的工程支持以及重视软件工程管理。 5. 软件的组成和分类 软件由程序、数据和文档三部分组成,根据功能可分为应用软件、系统软件和支撑软件。软件与硬件、数据库、人和过程共同构成计算机系统。 6. 软件危机的根源 软件危机的根本原因在于开发人员无法完全满足用户需求,这既有人为因素(如沟通不畅),也有技术问题(如设计和实现的不足)。 总结起来,该讲义全面介绍了软件工程的基础知识,涵盖了从软件定义、危机现象、工程化解决方案到具体建模技术的多个层面,旨在为学习者提供一个系统性的软件工程理论基础。