软件工程讲义:殷仁昆教授讲解需求采集与软件开发

需积分: 32 2 下载量 117 浏览量 更新于2024-08-14 收藏 196KB PPT 举报
"这篇资源是清华大学计算机系郑人杰和殷仁昆教授关于软件工程的讲义,重点讲解了需求的采集与细化、快速设计建造原型等方法,并涉及软件工程的基本概念、历史背景、软件危机及其解决方案。内容涵盖软件工程的多个方面,包括软件定义、分类、发展历史、软件危机的表现以及IEEE对软件工程的定义。此外,还提到了软件工程框架,强调了软件工程的目标、过程和支持过程,并概述了不同阶段的关键技术,如结构化分析与设计、OMT和UML建模、测试用例设计、可靠性分析等。" 在这份讲义中,软件工程被定义为一种解决软件危机的系统化方法,旨在以经济、规范化和可度量的方式开发、运行、维护和修复软件。软件危机的出现是因为开发的软件无法满足用户需求,导致成本超支、周期延误和质量问题。1968年Bauer的定义首次提出了“软件工程”这一概念,而IEEE的定义进一步明确了其系统化、规范化的特性。 讲义内容深入到软件开发的不同阶段,包括需求分析、设计、实现、测试和维护。结构化分析和设计技术如数据流图、实体关系图、状态迁移图等用于理解和表达系统需求;结构化设计建模则将数据流图转化为系统结构图,以便于实现。在程序设计中,N-S图、PAD图等工具用于表示程序流程,程序环路复杂性的计算则有助于理解代码的复杂程度。测试用例设计如逻辑覆盖、循环测试等确保软件质量,而可靠性分析则帮助预测和减少潜在错误。 此外,OMT(Object Modeling Technique)和UML(统一建模语言)是面向对象的建模方法,它们分别通过对象模型、动态模型(如状态图、事件追踪图)以及用例图、类图、顺序图、活动图等,提供了更现代、更全面的软件设计表示。 软件工程的框架强调了三个主要方面:软件工程的目标(如可用性、正确性和经济性)、软件工程过程(涵盖需求、分析、设计、实现、测试和维护等阶段)以及支持过程,包括选用合适的开发模型、设计方法和工程管理。 这份讲义提供了全面的软件工程基础,涵盖了从需求收集到原型构建的全过程,对于理解和实践软件工程具有重要的指导价值。