最近在学习“软件工程与实践(第四版新形态),整理了课后习题的答案,希望对您有帮助。文后可以获取详细文档。
一、填空题
(1)程序及其相关文档
(2)系统软件、支撑软件、应用软件
(3)软件开发和维护
(4)实现软件的优质高产
(5)软件开发过程与方法学、需求工程、设计与建模、测试与质量保障、项目管理、配置管理、实践与工具、维护与演化。
二、选择题
(1)B
(2)D
(3)A
(4)C
(5)B
三、简答题
1、什么是软件?软件和程序的区别是什么?
答:软件包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能够正确地处理信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。软件包括程序,程序只是软件的一部分。
2、什么是软件危机?软件危机的主要表现是什么?怎么消除软件危机?
答:软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关:另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
3、什么是软件工程?什么是软件过程?软件过程和软件工程方法学有何关系?
答:软件工程指导计算机软件开发和维护的工程学科。软件过程是指在软件开发过程中,按照一定的方法论和规范,将软件从需求分析到设计、编码、测试、部署和维护的全过程。它是软件工程中的核心概念之一,是组织和管理软件开发活动的框架和指南。软件过程强调软件开发活动的组织和管理,而软件工程方法学提供具体方法和技术,共同支持软件开发的实际实施。
4、软件工程学的主要内容是什么?
答:软件工程学的主要内容包括软件开发过程与方法学、需求工程、设计与建模、测试与质量保障、项目管理、配置管理、实践与工具、维护与演化。
5、软件工程学的基本原理是什么?
答:软件工程学的基本原理包括系统化方法、适应性、过程导向、质量导向、团队协作和持续改进。
6、什么是软件生存周期?软件生存周期为什么划分阶段?划分阶段的原则是什么?
答:软件生命周期是软件工程的一个重要的概念。把整个软件生命周期划分为若干个较小的阶段,每个阶段都有相对独立的任务和完成任务的步骤和方法,然后逐步完成各个阶段的任务,这有利于软件开发过程的组织和管理,从而降低了整个软件开发过程的困难程度,从而使规模庞大、结构复杂和管理复杂的软件开发变得容易控制和管理。软件生命周期划分阶段的原则包括可管理性、里程碑定义、风险管理、资源分配、阶段交付和迭代开发。
7、什么是软件开发方法?软件开发方法有哪些主要方法?
答:软件开发方法是一套系统化的方法论,包括瀑布模型、原型模型、增量模型、螺旋模型、敏捷开发、V模型和DevOps,用于指导和规范软件开发过程。
8、比较各种软件开发模型(模式)的特点?
答:瀑布模型是线性模型,是整体开发模型,文档驱动的模型,每一阶段必须完成指定的文档,需求明确的中、小型软件开发,不适宜需求模糊或多变的应用软件开发;螺旋模型是典型迭代模型,是风险驱动模型,可用于面向对象开发,适宜风险较大的大型软件开发。