软件工程复习关键点:生命周期模型与需求分析

需积分: 9 5 下载量 9 浏览量 更新于2024-07-18 收藏 39.84MB DOCX 举报
"软件工程考点复习,包括软件工程的基本概念、软件生命周期模型、可行性研究、需求分析和总体设计的关键知识点。" 在软件工程领域,软件危机是指在开发过程中遇到的质量、成本和进度问题,这些问题导致软件项目的失败或不满足用户需求。为了解决软件危机,人们提出了软件工程这一学科,其定义是为了有效地开发和维护软件,采用系统化、规范化的工程方法。软件工程的本质特性包括:规范性、科学性、工程性和团队合作性。 巴黎伯母的100条原理被压缩成7条基本原理,这些原理是软件工程实践的基础,需要深入理解和掌握。软件工程方法学主要包括方法、工具和过程三个要素,传统方法学如结构化方法,与面向对象方法学各有特点,后者强调对象的封装、继承和多态。 软件生命周期包括需求分析、设计、编码、测试和维护等8个过程,分为初始、细化、构建和运行四个阶段。常见的生命周期模型有瀑布模型(强调顺序执行)、快速原型模型(允许快速构建和修改)、增量模型(分阶段交付)、螺旋模型(结合瀑布和迭代)和喷泉模型(非线性发展)。 可行性研究是决定项目是否值得进行的关键步骤,涉及技术、经济、操作和其他方面的评估。数据流图(DFD)是常用的需求分析工具,由数据流、数据处理和数据存储组成。数据字典作为DFD的补充,提供对数据流图中元素的详细描述,包括数据项、数据流、数据存储和加工的定义。 需求分析中,需求规格说明书(SRS)是核心文档,需全面考虑功能性需求(如ER图、DFD和状态转化图)和非功能性需求(如性能、安全性和可靠性)。范式是数据库设计中的重要概念,通常目标是达到第三范式,以确保数据的一致性和无冗余。 总体设计阶段,概要设计关注模块化和模块独立性,其中耦合度衡量模块间的关系紧密程度,内聚度衡量模块内部元素的相关性。低耦合高内聚是理想目标。启发式设计规则如模块的抽象、逐步求精和信息隐藏有助于实现这一目标。HIPO图和结构图用于描绘系统的高层结构,数据流的变化是设计中的关键考虑因素。 在复习这些知识点时,要注意理论与实践相结合,理解并能应用各种模型和方法,同时,适当的形式化可以提高文档的精确性,但过度形式化可能会增加复杂性。熟悉并掌握这些内容,将对软件工程的考试大有裨益。