《软件工程》期末复习重点整理
版权申诉
13 浏览量
更新于2024-07-09
收藏 504KB PDF 举报
"《软件工程》期末复习资料收集.pdf"
《软件工程》是一门研究软件开发过程、方法和技术的学科,对于理解和掌握软件开发的整个生命周期至关重要。这份复习资料涵盖了多个关键知识点,以下是详细的解释:
1. 软件发展的三个阶段:
- 第一阶段(1946-1956年):此阶段主要关注单个程序的开发,高级语言尚未普及。
- 第二阶段(1956-1968年):高级编程语言的出现使得软件开发变得更加高效,但仍然存在管理问题。
- 第三阶段(1968年以来):软件工程的概念诞生,引入了系统化和规范化的开发方法。
2. 软件工程的原则:
- 基于需求驱动,强调需求分析的重要性。
- 强调软件开发的可维护性和可扩展性。
- 采用迭代和增量的开发方式。
- 注重文档编写,确保信息传递的准确性。
- 强调团队协作和质量管理。
3. 瀑布模型:
- 特征:线性、顺序的开发流程,每个阶段完成后才能进入下一个阶段。
- 优点:明确的阶段划分,适合需求稳定且变化小的项目。
- 缺点:缺乏灵活性,对需求变更适应性差。
4. 原型模型:
- 处于需求分析阶段,用于快速构建和验证需求。
- 特点:快速、低成本,能直观展示软件功能。
- 适用范围:适用于需求不明确或需要用户反馈的项目。
5. 需求工程:
- 包括需求获取、分析、规格说明、验证等阶段。
- 需求获取的结果是初步的需求描述,最终结果是需求规格说明书。
6. 软件设计:
- 任务包括架构设计、模块设计、接口设计等。
- 设计原则:模块化、抽象、信息隐藏、低耦合高内聚等。
7. 内聚和耦合:
- 内聚:模块内部元素间的关联程度,最高为功能内聚,最低为偶然内聚。
- 耦合:模块间相互依赖的程度,最高为内容耦合,最低为数据耦合。
8. 结构化分析:
- 过程包括了解业务、建立数据流图、编写数据字典等。
9. 系统建模:
- 通常包括用例建模、对象建模、状态机建模等,从不同角度理解系统。
10. 人机界面:
- 包括图形用户界面、命令行界面等多种风格。
- 黄金原则:用户界面应直观、一致、灵活、高效。
11. 程序设计语言:
- 包括语法(语言规则)、语义(执行规则)和语用(上下文意义)。
12. 测试策略:
- 单元测试、集成测试、系统测试、验收测试等,对应不同开发阶段。
13. 逻辑覆盖:
- 最强覆盖是路径覆盖,最弱覆盖是语句覆盖。
14. 软件维护:
- 分为结构化维护(有计划的改进)和非结构化维护(应对意外问题)。
15. 软件度量:
- 包括软件复杂性、代码质量、缺陷率等。
16. 软件质量要素:
- 功能性、可靠性、效率、易用性、可维护性、可移植性等。
17. 程序设计小组的组织形式:
- 可以是金字塔式、矩阵式、敏捷团队等。
18. 软件质量管理:
- 关注过程质量、产品质量、团队能力等,以确保高质量软件。
这些知识点涵盖了软件工程的主要方面,包括软件开发的历史、方法、设计原则、测试策略以及质量管理,对于准备期末考试或深入理解软件工程实践都非常有帮助。
2021-11-02 上传
2021-06-25 上传
2021-10-01 上传
2021-10-01 上传
2021-11-02 上传
2022-11-29 上传
hyj15659071652
- 粉丝: 0
- 资源: 7万+
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍