软件工程概论课后习题答案

软件工程概论课后习题答案

第一题:

答案:软件危机是指在软件开发过程中所遇到的一系列问题和挑战。具体表现为软件项目超过预算、延迟交付、功能缺陷等现象。造成软

件危机的原因包括需求不明确、项目管理不善、技术问题等。解决软

件危机的方法包括引入软件工程的概念和方法、改善需求管理、加强

项目管理等。

第二题:

答案:软件生命周期是指软件从被提出需求到废弃的整个过程。常

见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。瀑布

模型是最经典的软件生命周期模型,按照顺序划分为需求分析、系统

设计、编码、测试、运维等阶段。迭代模型是将开发过程划分为多个

迭代周期,并在每个迭代周期中完成需求分析、设计、编码、测试等

工作。螺旋模型则是将开发过程划分为多个风险评估和迭代的阶段,

将风险管理纳入软件开发的全过程。

第三题:

答案:软件过程是一组相互关联的活动,用于开发和维护软件系统。常见的软件过程模型包括瀑布模型、迭代模型、敏捷开发等。瀑布模

型是将软件开发过程划分为需求分析、系统设计、编码、测试、运维

等阶段,按照顺序逐个进行。迭代模型则是将软件开发过程划分为多

个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等活

动。敏捷开发则是一种以人和交互为核心的开发方法,强调迭代开发

和灵活响应变化。

第四题:

答案:软件质量是指软件产品满足用户需求和期望的程度。常见的

软件质量特性包括正确性、健壮性、可靠性、可维护性、可移植性等。正确性是指软件是否满足用户需求和规格说明。健壮性是指软件在异

常情况下的容错能力。可靠性是指软件在一定条件下的稳定性和可信度。可维护性是指软件是否容易进行修改和维护。可移植性是指软件

在不同环境下的可移植性和兼容性。

第五题:

答案:软件测试是通过对软件进行测试活动,检测和预防软件中的

缺陷和错误。常见的软件测试方法包括黑盒测试、白盒测试、灰盒测

试等。黑盒测试是基于需求规格说明进行测试,主要检查软件的功能

是否满足需求。白盒测试是基于软件内部结构进行测试,主要检查软

件的代码是否符合规范和逻辑正确。灰盒测试则是结合黑盒测试和白

盒测试的特点,既关注软件的功能是否满足需求,又关注软件的内部

结构。

第六题:

答案:需求工程是确定和分析用户对软件系统的需求,并将其转化

为可验证的规格说明的过程。常见的需求工程活动包括需求获取、需

求分析、需求建模、需求验证等。需求获取是通过与用户沟通和收集

需求文档等方式获取用户需求。需求分析是对用户需求进行分析和分类,提炼出关键需求。需求建模是将用户需求转化为形式化的规格说明,常用的方法包括用例建模、数据流图、状态图等。需求验证是通过对规格说明进行检查和验证,确保其准确性和完整性。

第七题:

答案:软件项目管理是指对软件项目开展计划、组织、指导和控制的过程。常见的软件项目管理活动包括项目启动、需求管理、进度管理、质量管理等。项目启动是确定项目目标和项目计划的过程,包括制定项目章程、确定项目团队等。需求管理是对项目需求进行识别、分析和管理的过程,确保项目需求的准确性和完整性。进度管理是对项目进度进行安排和监控的过程,确保项目按时交付。质量管理是对项目质量进行规划、保证和控制的过程,确保项目产品的质量符合要求。

第八题:

答案:软件配置管理是指对软件产品、开发过程和项目环境的控制和管理。常见的软件配置管理活动包括版本控制、变更管理、构建管理等。版本控制是对软件产品的不同版本进行管理和控制,确保不同版本之间的可追踪性和一致性。变更管理是对软件产品和开发过程中的变更进行管理和控制,确保变更的合理性和影响分析。构建管理是对软件产品的构建过程进行管理和控制,确保构建过程的可重复性和可靠性。

总结:

在软件工程概论课后习题中,我们回答了关于软件危机、软件生命周期模型、软件过程、软件质量、软件测试、需求工程、软件项目管理和软件配置管理的问题。这些问题涉及了软件开发过程中的各个方面,包括问题来源、解决方法和管理技术。通过回答这些问题,我们对软件工程的基本概念和方法有了更深入的理解,为今后的学习和实践打下了基础。

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案 一、选择题 1. 答案:B 解析:选择题解析 2. 答案:A 解析:选择题解析 二、判断题 1. 答案:对 解析:判断题解析 2. 答案:错 解析:判断题解析 三、填空题 1. 答案:软件工程 解析:填空题解析 2. 答案:开发、维护 解析:填空题解析

四、简答题 1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户 需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约 束条件。 解析:简答题解析 2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审 两个方面。软件测试是通过运行和验证软件系统的过程,以确定其是 否满足预期的需求和标准。代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。 解析:简答题解析 五、计算题 1. 答案:20 解析:计算题解析 2. 答案:1000 解析:计算题解析 六、案例分析题 1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控 制的过程。它包括项目范围管理、时间管理、成本管理、质量管理、 风险管理等方面。在一个项目中,软件项目经理负责整体的项目管理 工作,包括资源的分配、进度的控制、风险的管理等。

解析:案例分析题解析 2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。它强调 快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来 逐步完善软件系统。敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发 的效率和质量。 解析:案例分析题解析 总结: 本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案 和解析。其中包括选择题、判断题、填空题、简答题、计算题和案例 分析题等多个题型。通过解答这些习题,读者可以进一步加深对软件 工程的理解和掌握。希望本文对读者有所帮助,谢谢阅读。

软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年

软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年 1.需求不明确或可能发生变化的大型复杂软件系统适合使用瀑布模型来开发。 参考答案: 错误 2.V模型是对瀑布模型的修正,强调测试验证;V模型中的各个开发阶段之间 强调最大重叠。 参考答案: 错误 3.在需求工程中,主要产生三类重要的文档:项目前景和范围文档、用户需求 文档、需求规格说明书。其中,用例文档可以用来代替用户需求文档,起到记录、交流领域信息和用户期望的作用。 参考答案: 正确 4.软件结构设计是()。 参考答案: 从数据流图导出初始结构图 5.模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低 耦合的软件产品。 参考答案: 正确

6.在软件生存周期各个阶段,工作量最大的是需求分析阶段。 参考答案: 错误 7.快速原型模型的缺点之一就是缺少项目标准,不断修改原型可能导致原型质 量低下;容易退化为边做边改。 参考答案: 正确 8.与设计测试用例无关的文档是()。 参考答案: 项目开发计划 9.软件的几种维护中,以()占比最高。 参考答案: 完善性维护 10.软件测试用例主要由输入数据和()两部分组成。 参考答案: 预期输出结果 11.软件开发全过程的测试工作都可以实现自动化。 参考答案: 错误

12.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见 的,这个变量的存储类型应该被说明为()。 参考答案: 内部变量 13.不属于白盒测试的技术是()。 参考答案: 边界值分析 14.项目的前景和范围文档、用户需求文档都被视为属于(),重点都是用户 的现实世界。 参考答案: 用户文档 15.系统需求规格说明书、软件需求规格说明书、硬件需求规格说明书、接口需 求规格说明书和人机交互文档一起被用于系统开发,都被认为是()。 参考答案: 开发文档 16.原型方法的最大有点就是能够及早地发现并解决系统开发中的不确定性,从 而降低软件项目失败的风险。 参考答案: 正确

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版首先,感谢您对软件工程导论课后习题答案的需求。以下是软件工程导论第六版课后习题的完整答案。 第一章:软件工程概述 1.1 问题 1. 什么是软件工程? 答:软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的学科。 1.2 问题 1. 什么是软件? 答:软件是一系列按照特定顺序组织的计算机数据和指令。 第二章:软件过程模型 2.1 问题 1. 软件过程模型有哪些类型? 答:常见的软件过程模型包括瀑布模型、迭代模型、螺旋模型和敏捷开发模型等。 2.2 问题 1. 瀑布模型的特点是什么?

答:瀑布模型是一种线性顺序模型,以阶段划分为基础,每个阶段的任务在进入下一个阶段前必须完成。 第三章:需求分析与规格说明 3.1 问题 1. 软件需求描述包括哪些方面的内容? 答:软件需求描述需要包括功能性需求、非功能性需求、用户需求和系统需求等。 3.2 问题 1. 什么是需求跟踪? 答:需求跟踪是指在软件开发过程中,通过建立需求和软件项目中其他相关工件之间的关联,确保需求的准确实现和变更的有效管理。 第四章:软件设计 4.1 问题 1. 软件设计的目标是什么? 答:软件设计的目标是通过确定软件的整体结构和组成部分,确保软件满足需求并具有良好的可维护性和可重用性。 第五章:软件测试与维护 5.1 问题

1. 什么是软件测试? 答:软件测试是一种评估和改进软件质量的过程,目的是发现错误并提高软件的可靠性和可用性。 5.2 问题 1. 什么是软件维护? 答:软件维护是指在软件交付后的整个生命周期中对软件进行修改和改进,以满足用户需求和修复错误。 第六章:软件配置管理 6.1 问题 1. 软件配置管理的目标是什么? 答:软件配置管理的目标是确保软件在开发和维护过程中的可控性和可追踪性,以及保持软件配置的稳定性和一致性。 6.2 问题 1. 软件版本控制是什么? 答:软件版本控制是指对软件的不同版本进行管理,包括版本的创建、检出、合并和更新等操作。 至此,我们完成了软件工程导论第六版课后习题的完整答案。 总结:本文中,我们回答了软件工程导论第六版课后习题的各个章节的问题。这些问题涵盖了软件工程的概述、软件过程模型、需求分

软件工程 课后习题答案

软件工程课后习题答案 软件工程课后习题答案 软件工程是一门关于设计、开发和维护软件系统的学科。在学习软件工程的过程中,课后习题是非常重要的一部分。通过解答习题,我们可以巩固所学的知识,加深对软件工程的理解。下面是一些常见的软件工程习题及其答案,供大家参考。 习题一:什么是软件生命周期?它包括哪些阶段? 答案:软件生命周期是指软件从开始开发到最终废弃的整个过程。它包括以下几个阶段: 1. 需求分析阶段:确定软件系统的需求,包括功能需求、性能需求、安全需求等。 2. 设计阶段:根据需求分析的结果,设计软件系统的结构和功能。 3. 编码阶段:根据设计阶段的结果,编写代码实现软件系统的功能。 4. 测试阶段:对编写的代码进行测试,确保软件系统的正确性和稳定性。 5. 部署阶段:将测试通过的软件系统部署到生产环境中,供用户使用。 6. 维护阶段:对已经部署的软件系统进行修复漏洞、更新功能等维护工作。习题二:什么是软件需求?软件需求可以分为哪几类? 答案:软件需求是指对软件系统功能和性能的描述。软件需求可以分为以下几类: 1. 功能需求:描述软件系统应该具备的功能,比如用户登录、数据查询等。 2. 性能需求:描述软件系统在运行过程中的性能要求,比如响应时间、并发处理能力等。

3. 安全需求:描述软件系统对数据和系统的安全保护要求,比如用户权限控制、数据加密等。 4. 可靠性需求:描述软件系统的可靠性要求,比如系统的可用性、容错性等。 习题三:什么是软件设计模式?列举几个常见的软件设计模式。 答案:软件设计模式是指在软件设计过程中经常出现的一些问题的解决方案。 常见的软件设计模式包括: 1. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。 2. 工厂模式:将对象的创建和使用分离,通过工厂类来创建对象。 3. 观察者模式:定义了一种一对多的依赖关系,当一个对象状态发生改变时, 所有依赖它的对象都会收到通知并自动更新。 4. 适配器模式:将一个类的接口转换成客户希望的另一个接口,使得原本由于 接口不兼容而不能在一起工作的类可以一起工作。 习题四:什么是软件测试?软件测试的目的是什么? 答案:软件测试是指对软件系统进行验证和验证的过程。软件测试的目的是发 现软件系统中的错误和缺陷,确保软件系统的质量和可靠性。 习题五:什么是敏捷开发?敏捷开发的核心原则是什么? 答案:敏捷开发是一种迭代和增量的软件开发方法。敏捷开发的核心原则是: 1. 个体和交互胜过过程和工具:强调团队成员之间的沟通和合作。 2. 可工作的软件胜过详尽的文档:强调软件的实际运行效果。 3. 客户合作胜过合同谈判:强调与客户的密切合作和沟通。 4. 响应变化胜过遵循计划:强调对需求变化的快速响应能力。 通过解答以上习题,我们可以更好地理解软件工程的概念和方法。同时,也能

软件工程概论课后习题答案

软件工程概论郑人杰等版 第1章软件与软件工程的概念 1.1 举出你所知道的应用软件的例子。 办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。 1.2 认为“软件就是程序,软件开发就是编程序。”这种观点是否正确?为什么? 认为“软件就是程序,软件开发就是编程序。”这种观点是错误的。 首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。 1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么? 可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。 1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现: (1)对软件开发成本和进度的估计常常很不准确。 (2)用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。

(5)软件通常没有适当的文档资料。 (6)软件成本在计算机系统总成本中所占的比例逐年上升。 (7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用 迅速普及深入的趋势。 产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面: (1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。 (2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。 (3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 (4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。 (5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。 1.5 什么是软件工程? 软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 1.6 简述软件生存期由哪些主要的阶段组成,每一阶段的主要任务是什么? (1)问题定义与可行性研究:问题定义必须回答的关键问题是:“要解决的问题是什么”。 可行性研究要回答的关键问题是:“在成本和时间的限制条件下能否解决问题?是否值得做?”。 (2)需求分析:这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系 统必须做什么”这个问题。

软件工程课后答案完整版

软件工程课后答案完整版 软件工程是一门涉及软件开发与管理的学科,它关注着如何有效地组织、设计、开发和维护软件系统。作为一门实践性强的学科,课后答案对于学习软件工程的学生来说非常重要。本文将以软件工程课后答案为主题,为您提供一份完整版的答案,旨在帮助您更好地理解和掌握软件工程的知识。 一、需求分析与规格说明 1. 问题描述 对于任何一门软件工程课程,需求分析和规格说明都是至关重要的环节。通过合理地分析需求,可以明确软件系统的功能需求、性能需求和用户需求,从而为后续的设计和开发工作奠定基础。在这一部分中,我们将详细讨论问题描述、需求规格说明以及软件需求规格说明的编写步骤和技巧。 2. 答案示例 问题描述:某个公司需要开发一个在线购物系统,能够满足用户浏览商品、下单购买、支付、评价等功能。 需求规格说明:该系统需要具备以下功能需求: - 用户注册登录:用户可以通过注册登录系统,建立个人账号,用于后续购物操作。

- 商品浏览:用户可以浏览系统中的商品,包括商品图片、详细介绍、价格等信息。 - 购物车管理:用户可以将感兴趣的商品加入购物车,并对购物车 进行管理,如增加、删除、修改商品数量等操作。 - 订单管理:用户可以在购物车中选择商品提交订单,并进行支付 操作。 - 支付功能:系统需要集成常用的支付渠道,如支付宝、微信支付等,以便用户支付订单。 - 评价功能:用户在收到商品后可以对商品进行评价,并可以查看 其他用户对商品的评价。 三、软件系统设计与实现 1. 系统架构设计 系统架构设计是软件工程中的核心环节之一,它关注着如何将系统 划分为各个模块,并确定模块之间的接口和依赖关系。在这一部分中,我们将着重讨论系统架构设计的原则、方法以及常用的架构模式。 2. 答案示例 系统架构设计的主要目标是实现系统的可扩展性、灵活性和可维护性。在本次项目中,我们采用了经典的三层架构模式,即用户界面层、业务逻辑层和数据访问层。

软件工程概论的练习题及答案

概述 一、填空题 1、软件由计算机程序、数据和文档组成。 2、软件是一种逻辑产品,它与物质产品有很大的区别。 3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。 4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。 5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产方式是工程化。 6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。 7、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于建造软件系统。 8、软件工程研究的主要内容是方法、过程和工具等三个方面。 9、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同。 10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 11、演化模型是一种非整体开发模型。先开发一个原型软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品。 12、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、开发实施、用户评估。 13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。它使开发过程具有迭代性和无间隙性,适用于面向对象开发方法。 二、单项选择题 1、软件产品的生产主要是C。 A. 制造 B. 复制 C. 开发 D. 研制 2、个体手工劳动是B时代的软件生产方式。 A. 程序系统 B. 程序设计 C. 软件工程 D. 程序编码 3、软件工程是一门C学科。 A. 理论性 B. 原理性 C. 工程性 D. 心理性 4、软件开发费用只占软件生存期全部费用的B。 A. 1/2 B. 1/3 C. 1/4 D. 2/3 5、在软件开发过程中大约要花费C%的工作量进行测试和调试。 A. 20 B. 30 C. 40 D. 50 6、准确地解决“软件系统必须做什么”是B阶段的任务。 A. 可行性研究 B. 需求分析 C. 软件设计 D. 程序编码 7、软件生存期中时间最长的是D阶段。 A. 需求分析 B. 软件设计 C. 软件测试 D. 软件运行/维护 8、在软件生存期的模型中,D适合于大型软件的开发它吸收了软件工程中“演化”的概念。 A .喷泉模型B. 基于知识的模型C. 瀑布模型D. 螺旋模型 9、在软件生存期中,用户的参与主要在A。 A. 软件定义阶段 B. 软件开发阶段 C. 软件维护阶段 D. 整个软件生存期过程中 10、在软件开发过程中的每个阶段都要进行严格的D,以尽早发现在软件开发过程中产生的错误。 A. 检验 B. 验证 C. 度量 D. 评审 11、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的B A. 产品检验 B. 产品控制 C. 产品标准化 D. 开发规范 12、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的D。

软件工程概论课后习题答案

软件工程概论课后习题答案 第一题: 答案:软件危机是指在软件开发过程中所遇到的一系列问题和挑战。具体表现为软件项目超过预算、延迟交付、功能缺陷等现象。造成软 件危机的原因包括需求不明确、项目管理不善、技术问题等。解决软 件危机的方法包括引入软件工程的概念和方法、改善需求管理、加强 项目管理等。 第二题: 答案:软件生命周期是指软件从被提出需求到废弃的整个过程。常 见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。瀑布 模型是最经典的软件生命周期模型,按照顺序划分为需求分析、系统 设计、编码、测试、运维等阶段。迭代模型是将开发过程划分为多个 迭代周期,并在每个迭代周期中完成需求分析、设计、编码、测试等 工作。螺旋模型则是将开发过程划分为多个风险评估和迭代的阶段, 将风险管理纳入软件开发的全过程。 第三题: 答案:软件过程是一组相互关联的活动,用于开发和维护软件系统。常见的软件过程模型包括瀑布模型、迭代模型、敏捷开发等。瀑布模 型是将软件开发过程划分为需求分析、系统设计、编码、测试、运维 等阶段,按照顺序逐个进行。迭代模型则是将软件开发过程划分为多 个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等活

动。敏捷开发则是一种以人和交互为核心的开发方法,强调迭代开发 和灵活响应变化。 第四题: 答案:软件质量是指软件产品满足用户需求和期望的程度。常见的 软件质量特性包括正确性、健壮性、可靠性、可维护性、可移植性等。正确性是指软件是否满足用户需求和规格说明。健壮性是指软件在异 常情况下的容错能力。可靠性是指软件在一定条件下的稳定性和可信度。可维护性是指软件是否容易进行修改和维护。可移植性是指软件 在不同环境下的可移植性和兼容性。 第五题: 答案:软件测试是通过对软件进行测试活动,检测和预防软件中的 缺陷和错误。常见的软件测试方法包括黑盒测试、白盒测试、灰盒测 试等。黑盒测试是基于需求规格说明进行测试,主要检查软件的功能 是否满足需求。白盒测试是基于软件内部结构进行测试,主要检查软 件的代码是否符合规范和逻辑正确。灰盒测试则是结合黑盒测试和白 盒测试的特点,既关注软件的功能是否满足需求,又关注软件的内部 结构。 第六题: 答案:需求工程是确定和分析用户对软件系统的需求,并将其转化 为可验证的规格说明的过程。常见的需求工程活动包括需求获取、需 求分析、需求建模、需求验证等。需求获取是通过与用户沟通和收集

软件工程导论课后习题答案

软件工程导论课后习题答案 软件工程导论课后习题答案 在软件工程导论课中,习题是帮助学生巩固所学知识的重要方式。通过解答习题,学生可以更好地理解软件工程的基本概念和方法。下面是一些常见的软件 工程导论课后习题及其答案,希望能对大家的学习有所帮助。 1. 什么是软件工程? 答案:软件工程是一门研究如何以系统化的、规范化的、可度量的方法开发和 维护软件的学科。它涉及软件开发的各个阶段,包括需求分析、设计、编码、 测试和维护等。 2. 软件生命周期是什么? 答案:软件生命周期指软件从开始开发到最终退役的整个过程。它包括需求分析、设计、编码、测试、发布和维护等阶段。软件生命周期的目标是确保软件 按照既定的质量标准和进度要求完成。 3. 什么是软件需求? 答案:软件需求是对软件系统功能、性能和约束条件的描述。它包括用户需求、系统需求和软件需求规格等。软件需求是软件开发的基础,对于软件项目的成 功至关重要。 4. 什么是软件设计? 答案:软件设计是将软件需求转化为软件结构的过程。它包括软件体系结构设计、模块设计和接口设计等。软件设计要求结构清晰、模块化、可扩展和可维护。 5. 什么是软件测试?

答案:软件测试是通过运行软件系统,发现并修复其中的错误和缺陷的过程。 它包括单元测试、集成测试和系统测试等。软件测试旨在确保软件的质量和可 靠性。 6. 什么是软件维护? 答案:软件维护是在软件交付后对其进行修改和改进的过程。它包括错误修复、性能优化和功能扩展等。软件维护的目标是确保软件持续满足用户的需求。 7. 什么是软件配置管理? 答案:软件配置管理是对软件开发过程中的各种配置项进行管理和控制的过程。它包括配置项的标识、变更控制和版本管理等。软件配置管理能够确保软件开 发过程的可控性和可追溯性。 8. 什么是软件质量保证? 答案:软件质量保证是通过制定和实施质量管理计划,确保软件开发过程和产 品满足质量要求的过程。它包括质量标准的制定、质量度量和质量审查等。软 件质量保证能够提高软件的可靠性和可维护性。 9. 什么是软件过程改进? 答案:软件过程改进是通过分析和改进软件开发过程,提高组织能力和产品质 量的过程。它包括过程评估、过程度量和过程改进计划等。软件过程改进能够 提高软件开发效率和产品质量。 10. 什么是敏捷开发? 答案:敏捷开发是一种以人为核心、迭代和增量的开发方法。它强调团队合作、快速响应变化和持续交付价值。敏捷开发能够提高开发效率和客户满意度。 以上是一些常见的软件工程导论课后习题及其答案。通过解答这些习题,可以

软件工程习题及答案解析

一、选择题: 1. 为了提高测试的效率,应该。 A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 2. 与设计测试数据无关的文档是。 A、需求说明书 B、设计说明书 C、源程序 D、项目开辟设计 3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 4. 概要设计的结果是提供一份。 A、模块说明书 B、框图 C、程序 D、数据结构 5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。 A、模块说明书 B、软件规格说明书 C、项目开辟计划 D、合同文档 6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD (Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或者流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

《软件工程导论》试题及答案

《软件工程导论》试题及答案 软件工程导论试题及答案 一、选择题 1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科? A. 计算机科学 B. 电子工程 C. 数学 D. 管理学 E. 心理学 答案:A、B、C、D 2. 软件工程的目标是什么? A. 提高软件开发效率 B. 提高软件质量 C. 提高软件可靠性 D. 提高软件维护性 E. 提高软件安全性 答案:A、B、C、D、E

3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些? A. 瀑布模型 B. 增量模型 C. 螺旋模型 D. 敏捷模型 E. 喷泉模型 答案:A、B、C、D 4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈? A. 瀑布模型 B. 增量模型 C. 螺旋模型 D. 敏捷模型 答案:D 5. 软件需求分析的主要任务是什么? A. 确定软件的功能和性能需求 B. 定义软件系统的架构

C. 设计软件的用户界面 D. 实施软件测试 答案:A 二、填空题 1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。 答案:质量、可靠性 2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和 ______ 。 答案:实现、维护 3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。 答案:测试、维护 4. “快速原型”开发模型注重 ______ 。 答案:用户参与 5. 敏捷开发模型的核心原则是 ______ 。 答案:迭代开发 三、简答题 1. 请简要说明为什么软件工程是一门多学科交叉的学科?

软件工程导论课后习题解答

软件工程导论课后习题解答 第一章 1-1什么是软件危机? 答:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。1-3什么是软件工程? 答:这是一门指导计算机软件开发和维护的工程学科。 1-4简述结构化范型和面向对象范型的要点,并分析它们的优缺点。答:目前使用得最广泛的软件工程方法学有2种:传统方法学:也称为生命周期方法学或结构化范型。 优点:软件生命周期分为几个阶段。各阶段任务相对独立、简单,便于不同人员分工协作,降低了整个软件开发过程的难度。 缺点:当软件规模庞大时,或者对软件的需求是模糊的或会随着时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 面向对象方法: 优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 1-5. 根据历史数据,可以做出以下假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:m=4080e0.28(y-1960) 内存价格根据以下公式逐年下降:P1=0.3×0.72y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:p2=0.048×0.72y-1974(美元/字) 在上面的公式中,Y代表年份,M代表存储容量(字数),P1和P2代表价格。基于上述假设,可以比较计算机硬件和软件成本的变化趋势。所需计算: (1)在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少? (2)假设在1985年,一个程序员每天可以开发10条指令,而一个程序员的平均工资是每月4000美元。如果一条指令只有一个字长,则需要进行计算,以便用程序填充内 存 的成本。

软件工程课后题答案大全(详细)

一、什么是软件危机?软件危机表现在哪几个方面? 答:由于软件具有上述这些特点,长期以来一直没有发明一种高效的开发方法,从而导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下: 1.“已完成”的软件不满足用户的需求。 2.开发进度不能保障,交付时间一再拖延。 3.软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。 4.软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。 5.软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。 二、试述产生软件危机的主要原因? 答:软件的特点是导致软件危机的客观因素,而软件开发和软件维护过程中使用的不正确方法是主观因素,主要表现为:忽视软件开发前期的调研和分析工作,没有统一的、规范的方法论指导,文档资料不齐全,忽视人员之间的交流,忽视测试工作,轻视软件的维护。 三、什么是软件工程?软件工程的目标是什么? 答:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于

软件开发和管理之中;②对①中所选方法的研究”。 软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下: a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。 b)增强软件过程的可见性和可控性,保证软件的质量。 c)提高所开发软件的可维护性,降低维护费用。 d)提高软件开发生产率,及时交付使用。 e)合理预算开发成本,付出较低的开发费用。 四、软件工程为什么要强调规范化和文档化? 答:软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。2.文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,3.在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。 五、软件工程层次是如何划分的? 答:软件工程的研究内容具有层次化结构,它的最底层是质量保证层,中间是过程层和方法层,最上层是工具层。

软件工程导论(第五版)课后习题答案

《软件工程导论》课后习题答案 第一章软件工程概论 1-1 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.软件危机有那些典型表现? (1) 对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3) 软件产品的质量往往靠不住。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。 (2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。 (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 1-3、 1-5、根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:

软件工程导论课后习题部分答案

第一章 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-3 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了

软件的开发和维护工作;促进了软件重用。 1-6 什么是软件过程?它与软件工程方法学有何关系? z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。适用中小型项目。

软件工程课后习题答案第五版

软件工程课后习题答案第五版 软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意 (2)软件产品的质量往往靠不住 (3)一般软件很难维护。 (4)软件生产效率很低 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要 2 •为什么会产生软件危机? (1)开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2)软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3•怎样克服软件危机? (1)充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。 (2)推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。 (3)根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具 集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

相关文档
最新文档