一.单选题(共14题,70.0分)
【单选题】下面的( )是正确的。
A、运行正确的软件就是高质量的软件
B、软件产品质量越高越好,最理想的情况是达到“零缺陷”
C、软件质量是由产品的功能、性能、易用性等外在特性决定的
D、软件质量是在开发过程中逐渐构建起来的
答案:D
解析:
软件质量:软件与明确地和隐含地定义的需求相一致的程度。(本题更应该在 第9章 项目管理-质量保证)
A、在评价软件的质量时,可靠性、可维护性、可扩展性和易用性等特点都要纳入评价。不能简单说“运行正确的软件就是高质量的软件”。
B、最理想的情况是“以最低成本满足所有要求”。
【单选题】下面几个描述中属于软件工程方法学三要素中方法这个范畴的是( )。
A、对于需求确定的软件问题,可以按照问题定义、需求分析、设计、实现、测试和部署的步骤进行顺序的软件产品开发
B、对于跨平台的软件产品,可以采用Java语言进行开发
C、为了有效捕获系统的功能性需求,可以采用用例的方法
D、在面向对象的软件设计和开发过程中,可以使用Rational Rose创建和管理可视化模型
答案:C
解析:
A、【三要素:过程】
B、【三要素:工具】
C、【三要素:方法】
D、【三要素:工具】
【单选题】下面的( )决策是在需求分析时做出的。
A、自动售票机系统将为使用者提供在线帮助
B、自动售票机系统已经达到交付的要求
C、自动售票机系统由用户界面子系统、价格计算子系统以及与中心计算机通信的网络子系统组成
D、自动售票机系统的开发时间预计是6个月
答案:A
解析:
A、需求分析阶段
B、综合测试阶段
C、总体设计阶段
D、(其实这项也差不多在需求分析阶段进行,但是A更贴合一些)
【单选题】在软件开发过程中的每个阶段都要进行严格的( ),以尽早发现在软件开发过程中产生的错误。
A、度量
B、检验
C、验证
D、评审
答案:D
解析:传统方法学:在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审;
-
评审/审查:特指了软件过程中每一阶段结束前的审查工作。(详见 2 软件过程)
-
度量:指对软件开发过程和产品进行量化和测量的活动,例如代码行数、缺陷密度、测试覆盖率等。度量可以帮助评估软件质量,但它不是用于尽早发现错误的特定活动。(详见 9.1 软件项目管理-成本与工作量估算)
-
检验:指对软件工作产品进行仔细的检查,以查找错误和问题。例如代码审查。它是评审的一种实现方式。(详见 7 实现)
-
验证:指确认软件产品是否满足特定需求和规范的过程。它通常通过测试来进行。(详见 7.5 实现-确认测试)
【单选题】在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的( )。
A、产品控制
B、开发规范
C、产品标准化
D、产品检验
答案:A
解析:配置成分的一致性 ==>> 产品控制
【单选题】在以下关于软件生命周期的描述中,不正确的是( )。
A、在可行性阶段主要判断客户提出的问题是否存在可行的软件求解方案,如果没有则马上终止该项目。
B、编码后要对产品进行一系列测试,以确定软件达到了预定的要求。
C、需求分析阶段主要解决的问题是将如何实现客户提出的需求。
D、在编码之前要先进行软件设计,这是形成软件质量的地方。
答案:C
解析:
需求分析阶段:确定目标系统必须具备哪些功能;估计完成该项工程所需要的资源和成本,制定工程进度表。
解决“如何实现客户提出的需求”应该是总体设计阶段。
【单选题】随着开发小组人数的( ),因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。
A、降低
B、稳定
C、不稳定
D、增加
答案:D
【单选题】以下关于软件的特点的描述中,错误的是( )。
A、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性
B、硬件磨损后可以用备用零件替换,而软件出故障,则无法用备用零件替换来解决,是因为设计开发过程中存在错误
C、软件存在老化和退化问题,软件老化缘于使用过久,软件退化缘于修改
D、软件的生产与硬件不同,在它的开发中没有明显的制造过程。对软件的质量控制,必须着重在软件开发方面下功夫
答案:C
解析:软件在运行和使用期间,没有机械磨损、老化问题。软件存在退化问题。软件退化缘于修改。
【单选题】软件工程方法是( )。
A、为开发软件提供技术上的解决方法
B、为支持软件开发、维护、管理而研制的计算机程序系统
C、为了获得高质量软件而实施的一系列活动
D、为了理解问题和确定需求而采取的一些技术和方法
答案:A
解析:
为开发软件提供技术上的解决方法 ——软件工程方法(软件工程方法学)
为支持软件开发、维护、管理而研制的计算机程序系统 ——软件工程工具(软件工程方法学)
为了获得高质量软件而实施的一系列活动 ——软件工程过程(软件工程方法学)
为了理解问题和确定需求而采取的一些技术和方法 ——需求提取(需求分析-需求过程)
【单选题】软件会逐渐退化而不会磨损,其原因在于( )。
A、不断的变更使组件接口之间引起错误
B、软件通常暴露在恶劣的环境下
C、软件备件很难订购
D、软件错误在经常使用之后会逐渐增加
答案:A
解析:B、C、D都是硬件的说法。软件存在退化问题。软件退化缘于修改。
【单选题】“软件工程”术语是在( )被首次提出。
A、美国卡内基·梅隆大学的软件工程研究所
B、IEEE的软件工程知识体系指南(SWEBOK)
C、1968年NATO会议
D、Fred Brooks的《没有银弹:软件工程中的根本和次要问题》
答案:C
【单选题】软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及( )的完整集合。
A、图表
B、代码
C、硬件
D、文档
答案:D
解析:软件包括程序、数据及其相关文档。
【单选题】下面的( )说法是正确的。
A、购买大多数计算机系统所需的硬件比软件更昂贵
B、由于软件是产品,因此可以应用其他工程制品所用的技术进行生产
C、大多数软件系统是不容易修改的,除非它们在设计时考虑了变化
D、一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功
答案:C
解析:
A、上世纪50年代时是正确的,但之后一般来说软件更贵。
D、软件的成功并不仅仅取决于与开发者的目标一致,更重要的是与用户的期望和需求一致。
【单选题】软件开发费用只占软件生命周期全部费用的( )。
A、1/3
B、1/4
C、1/2
D、2/3
答案:A
二.判断题(共6题,30.0分)
【判断题】软件在运行和使用期间,由于修改会出现和硬件一样的老化问题。
答案:×
解析:软件不会老化,只会退化。
【判断题】对软件的质量控制,必须着重在软件开发方面下功夫。
答案:√
【判断题】软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
答案:√
【判断题】软件危机的产生主要是因为软件开发人员缺少有效的高级程序设计语言。
答案:×
解析:软件危机的产生主要是因为在程序系统阶段,软件技术的发展不能满足需要。一方面是由于软件本身的逻辑性,和程序的复杂性、规模庞大;另一方面是由于软件开发与维护的方法不正确。
【判断题】文档是与程序开发、维护和使用有关的图文材料,是构成软件不可或缺的一部分。
答案:√
【判断题】软件既可以是一种逻辑实体,也可以是具体的物理实体。
答案:×
解析:软件是一种逻辑实体,不是物理实体。