高级软件工程 第2章 软件过程
- 格式:ppt
- 大小:987.00 KB
- 文档页数:60


《软件工程》各章课后习题答案
软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论
1. 软件工程的定义:
答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:
答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:
答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。每个模型都有其独特的特点和适用场景。
4. 软件过程模型:
答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则: 答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理
1. 软件项目管理的定义:
答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:
答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:
答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:
答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明
1. 软件需求的定义:
答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。 2. 软件需求分析的方法:
答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:
软件工程方法学和软件过程
1 / 4软件工程方法学和软件过程软件工程方法学和软件过程软件工程方法学和软件过程是软件工程领域中两个关键概念。它们是为了提高软件开发效率和质量而产生的一系列组织和管理活动的集合。本文将介绍软件工程方法学和软件过程的概念及其关系,并讨论它们在软件开发中的重要性。软件工程方法学软件工程方法学是指一系列用于开发和维护软件系统的原则、方法和工具。它以系统化、可重复的方式来组织、管理和控制软件项目。软件工程方法学提供了一套明确定义的步骤和规范,以帮助开发团队有效地规划、设计、实施和测试软件系统。软件工程方法学的核心概念包括需求分析、系统设计、编码、测试和维护等环节。它倡导使用结构化方法和模块化设计来组织软件系统的开发过程。软件工程方法学还强调软件质量管理和版本控制,以确保软件系统的稳定性和可靠性。在软件工程方法学中,常见的方法论包括瀑布模型、迭代模型、敏捷开发等。每种方法论都有其特定的适用场景和优势。瀑布模型适用于需求较为稳定、项目规模较大的场景;迭代模型适用于需求软件工程方法学和软件过程
2 / 4较为灵活、需要快速迭代开发的场景;敏捷开发适用于需求频繁变更、强调灵活性和协作的场景。软件过程软件过程是一系列定义了软件开发活动和任务的步骤。它涵盖了从软件项目的启动到软件交付和维护的全过程。软件过程描述了如何组织和管理软件开发团队,以及如何记录和跟踪软件开发过程中的信息。软件过程通常分为几个阶段,包括需求分析、系统设计、编码、测试和部署等。每个阶段都有具体的任务和目标。通过明确每个阶段的工作内容和交付物,软件过程能够帮助开发团队更好地协作,提高开发效率和质量。在软件过程中,常见的模型包括瀑布模型、螺旋模型、增量模型等。瀑布模型是一种线性顺序的软件开发过程,每个阶段有明确的输入和输出。螺旋模型是一种迭代的软件开发过程,通过逐步增加功能和风险分析来推进软件开发。增量模型是一种逐步构建功能的软件开发过程,每个增量都有自己的计划和交付时间。软件工程方法学和软件过程的关系软件工程方法学和软件过程是紧密相关的概念。软件工程方法学提供了一套指导软件开发的原则和方法,而软件过程则是实施这软件工程方法学和软件过程
名词解释一个三分 五个十五分
第一章 绪论
1. 软件 2. 文档 3. 软件工程 4. 软件工程过程 5. 软件生存周期 6. 软件生存周期模型
第二章 软件可行性研究与
项目开发计划
1. 投资回收 2. 纯收人
第三章 软件需求分析
1. 需求分析 2. 数据流 3. 数据字典 4. 加工
5. 数据流图 第四章 软件概要设计
1. 模块 2. 模块化 3. 抽象
4. 信息隐蔽 5. 模块独立性 6. 耦合性 7. 无直接耦合 8. 数据耦合 9. 标记耦合 10. 控制耦合 11. 公共耦合 12. 内容耦合 13. 内聚性 14. 偶然内聚
15. 逻辑内聚 16. 时间内聚 17. 通信内聚 18. 顺序内聚 19. 功能内聚
第五章 软件详细设计
1. PAD
2. 过程设计语言(PDL)
第六章 软件编码
1. 程序设计风格 2. 程序可移植性
第七章 软件测试
1. 语句覆盖 2. 判定覆盖
3. 条件覆盖 4. 判定/条件覆盖 5. 条件组合覆盖 6. 路径覆盖 7. 环路复杂性 8. 黑盒测试 9. 白盒测试 10. 驱动模块 11. 桩模块 12. 单元测试 13. 集成测试
14. 确认测试 15. 调试
第八章 软件维护
1. 维护 2. 校正性维护
3. 适应性维护 4. 完善性维护 5. 预防性维护 6. 软件可维护性
第九章 软件开发的增量模型
1. 原型
第十章 面向对象的方法
1. 对象 2. 类
3. 消息 4. 方法 5. 继承性 6. 单重继承 7. 多重继承 8. 多态性 9. 抽象 10. 信息隐藏 11. 链 12. 关联
第十一章 软件质量与质量保证
1. 软件可靠性 2. 效率 3. 可维护性 4. 可移植性 5. 可互操作性 6. 适应性
7. 可重用性 8. 软件设计质量 9. 软件程序质量 10. 冗余
第十二章 软件工程管理
第二章:软件过程
目标:
软件工程和软件过程模型的概念;
了解3个一般的软件过程模型及何时使用它们;
了解软件需求工程,软件开发,测试和进化中所涉及的基本过程活动;
理解为什么软件过程要有效地组织以应对软件需求和设计上的变更;
了解Rational统一过程是如何集成好的软件过程实践来产生一个可适应的软件过程。
所有的软件过程都必须具有4种对软件工程来说是基本的活动。它们是:
1.软件描述:必须定义软件的功能以及软件操作上的约束。
2.软件设计和实现:必须生产符合描述的软件。
3.软件有效性验证:软件必须得到有效性验证,即确保软件是客户所想要的。
4.软件进化:软件必须进化以满足不断变化的客户需要。
2.1软件过程模型
一 软件过程模型一般有
1.瀑布模型:该模型将基本的过程活动,描述,开发,有效性验证和进化,看成是一些界限分明的独立的过程阶段,例如,需求描述阶段,软件设计阶段,实现阶段,测试阶段,等等。
2.增量式开发:该方法使得描述活动,开发活动和有效性验证活动交织在一起。系统的开发是建立一系列的版本(增量),每个版本添加部分功能到先前的版本中。
3.面向复用的软件工程:该方法使得描述活动,开发活动和有效性验证活动交织在一起。系统开发过程着重于集成这些组件到新系统中,而非从头开发。
2.1.1瀑布模型
一 瀑布模型中的主要阶段直接映射基本的开发活动:
1.需求分析和定义
2.系统和软件设计
3.实现和单元测试
4.集成和系统测试
5.运行和维护
二 适合采用瀑布模型的时候
瀑布模型是与其他工程过程模型相一致的,在它的每个阶段都要生成文档。这使得过程是可见的,项目经理能够根据项目计划监控项目的过程。它的主要问题在于它将项目生硬地分解成这些清晰的阶段。关于需求的责任和义务一定要在过程的早期阶段清晰界定,而这又意味它对用户需求变更的响应较困难。
所以只有在对需求了解的好,而且在系统开发过程中不太可能发生重大改变的时候,适合采用瀑布模型。