《软件工程》是一门核心的IT课程,涵盖了软件开发的全过程。以下是对复习题中涉及的知识点的详细解析: 1. UML(统一建模语言)图:UML是用来描述软件系统的行为和结构的一种标准化图形表示,它不是一种编程语言,而是一种建模工具。用例图(Use Case Diagram)描述了系统与用户之间的交互行为,是描述系统行为的主要UML图之一。 2. 概要设计:在这个阶段,主要进行软件结构设计,将软件分解为若干个模块,定义模块间的关系,如接口和职责。数据结构设计和算法设计则属于详细设计阶段。 3. 行为型设计模式:观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。组合模式和工厂方法模式属于结构型模式。 4. UML的性质:UML是一种通用的、中立于任何特定开发方法的系统建模语言,用于可视化、构造和文档化软件系统。 5. 程序流程图与模块划分:过程内聚(Procedural Cohesion)的模块基于操作序列来划分,根据程序流程图划分的模块通常就是这种类型的。 6. McCabe环形复杂度:该复杂度是通过程序中的循环结构来衡量代码复杂性的指标,如果比较个数为m,则其环形复杂度为m+1。 7. 软件配置项:ISO9000-3标准中,软件开发合同属于软件配置项,它是软件开发过程中必须管理和控制的文档。 8. 软件测试的目的:测试是为了发现软件中的错误,而不是证明软件无错。尽可能找出所有错误是测试的主要目标,但不能保证找到所有错误。 9. 软件重构:关注的是改善代码的结构和设计,而不改变其外部行为。它不涉及模块细节或性能优化,而是专注于软件体系结构。 10. 软件项目开发计划:通常包括项目的目标、范围、进度、资源、成本、风险分析以及质量管理等要素。 11. UML类图中的关系:聚合关系(Aggregation)表示整体与部分的关系,如一个班级由多个学生组成。 12. CMM(能力成熟度模型):用于评估软件过程的能力,帮助组织改进其软件开发过程。 13. 软件维护类型:适应性维护是指由于环境变化(如硬件或软件平台更新)而对软件进行的修改。 14. 功能需求来源:对于项目软件,功能需求信息主要由软件用户提出,他们是需求的源头。 15. IDEF0图:这是一种业务流程建模工具,它描述了系统做什么和系统功能的分配,但不涉及具体的实现方式,即系统如何做。 16. 原型模型:它是一种迭代的、快速的开发过程模型,先创建一个简单的可运行的模型,然后根据用户反馈逐步完善。 17. 系统流程图:通常用来描述系统的逻辑流程,是理解系统工作原理的图形表示,它不涉及实际的硬件和软件实现。 18. 需求规格说明书:不应包含实现细节、设计决策或编码规范,它应该集中于描述用户的需求和系统的预期行为。 这些知识点涵盖了软件工程的多个方面,包括软件生命周期的不同阶段、设计模式、软件质量保证、软件维护、需求分析和建模等,是理解和掌握软件工程理论基础的关键点。
剩余10页未读,继续阅读
- 粉丝: 3814
- 资源: 59万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数据库基本内容讲解和操作
- Centos8.x通过RPM包升级OpenSSH9.9.(openssl-3.4.0) 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- FortFirewall-3.14.7-windows10-x86-64 防火墙
- javaweb基本操作
- Centos7.x升级openssl-1.1.1w rpm安装包 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- yolo的基本操作用法
- Ubuntu20/22/24通过deb包升级OpenSSH9.9方法 不支持16、18版本,升级有风险,前务必做好快照,以免升级后出现异常影响业务
- java swing(Gui窗体)宿舍管理系统 (有附件)
- 数据集格式转换以及标注框可视化脚本
- 火狐国际开发版安装文件