软件工程试题-a

单项选择题

1.与计算机科学的理论研究不同,软件工程是一门( )学科。
A.理论性 B.原理性 C.工程性 D.心理性

C

2.软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及( )
A.软件的总结 B.需求分析评审
C.阶段性报告 D.以上答案都不正确

B

3.为了提高模块的独立性,模块内部最好是( )。
A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚

C
  1. 软件测试中,白盒法是通过分析程序的( )来设计测试用例的。
    A.应用范围 B.内部逻辑 C.功能 D.输入数据
B

5.下面的逻辑测试覆盖中,测试覆盖最弱的是( )
A.条件覆盖 B.条件组合覆盖
C.语句覆盖 D.条件及判定覆盖

C

6.需求分析是由分析员了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出( )。
A.模块说明书 B.软件规格说明书 C.项目开发计划
D.合同文件

B

7.一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是( ) .
A.设计稳定 B.变换分析 C.事务分析 D.模块独立性

A

8.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )
A.硬件环境 B.软件开发的环境
C.软件开发工具和软件开发的环境 D. 开发人员的素质

C

9.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是( )
A.逻辑判断 B.层次分解 C.操作条目 D.组合条件

D

10.如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,( )测试是由一个用户在开发者的场所来进行的测试的目的是寻找错误的原因并改正之。
A.α B.β C.γ D.σ

A

11.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( )
A.结构化方法 B.原型化方法 C.面向对象的方法 D.控制流方法

B

12.与设计测试数据无关的文档是( )。
A.需求说明书 B.设计说明书 C.源程序 D.项目开发设计

D

13.白箱测试方法重视( )的度量。
A.测试覆盖率 B.测试数据多少 C.测试费用 D.测试周期

A

14.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( )
A.模块间的联系程度 B.模块的功能强度
C.信息隐蔽程度 D.接口的复杂程度

B

15.月收入<=800元者免税,现用输入数800元和801元测试程序,则采用的是( )方法。
A.边界值分析 B.条件覆盖 C.错误推测 D.等价类

A

16.软件生命周期的最后的一个阶段是( )
A.书写软件文档 B.软件维护 C.稳定性测试 D.书写详细用户说明

B

17.制定软件计划的目的在于尽早对预开发的软件进行合理估价,软件计划的任务是( )
A.组织与管理 B.分析与估算
C.设计与测试 D.规划与调度

D

18.软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指( )
A.模块间的关系 B.模块的操作细节
C.软件层次结构 D.软件开发过程

B

19.在E-R 模型中,包含以下基本成分( )。
A.数据、对象、实体 B.控制、联系、对象
C.实体、联系、属性 D.实体、属性、操作

C

20.软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是( )。
A.黑盒测试 B.正确性测试 C.动态测试 D.静态测试

D

21.李先生在KingWinlliams公司的项目组中担任程序管理的角色,该项目组所负责的项目的所有功能已经开发完毕,现处项目稳定阶段,但是小组中的发布管理成员发现产品具有很多缺陷,希望推迟发布,李先生需要对其作出相应的分析,以确定是否需要推迟发布,以下哪些分析是合理的( )
A.分析缓冲时间的利用 B.分析缺陷收敛趋势
C.分析主要风险计划 D.分析资金调配状况

B

22.详细设计的基本任务是确定每个模块的( )设计
A.功能 B.调用关系
C.输入输出数据 D.算法

D

23.在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( )
A.经济可行性 B.技术可行性 C.操作可行性 D.法律可行性

B

24.李先生在公司的项目组中担任程序经理角色,该项目组负责的项目已经处于稳定阶段,在过去的一个星期内,产品中新缺陷产生的数量远远少于缺陷被解决的数量,针对该情况,李先生需要向项目投资方汇报当前的项目状态,以下哪些说法是正确的( )
A.该产品已经可以部署 B.零缺陷反弹里程碑已经达到
C.当前的版本可以作为候选版本发布 D.缺陷收敛里程碑已经达到

D

25.以下哪些不属于开发阶段的活动( )
A.内部发布 B.构造用户体验交付物
C.测试解决方案 D.确定解决方案范围

D

26.设函数C(X)定义问题X 的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。对于两个问题P1 和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是( )
A.模块化的根据 B.逐步求精的根据
C.抽象的根据 D.信息隐藏和局部化的根据

A
  1. 下面几种白箱测试技术,哪种是最强的覆盖准则( )
    A.语句覆盖 B.条件覆盖
    C.判定覆盖 D.条件组合覆盖
D

28.CMM把企业控制软件过程的能力分为五级,分别是( ).
A.初始级、可重复级、可定义级、可管理级和可优化级
B.初始级、可配置级、可定义级、可管理级和可优化级
C.初始级、可配置级、可定义级、可监控级和可优化级
D.初始级、可重复级、可定义级、可监控级和可优化级

A

29.在组建核心团队时,关于就绪工作的注意点,以下哪些描述是错误的( )
A.将技能差距视为风险,因为技能的差距会导致后续工作的延误和质量
B.要着重部门或企业级别的技能就绪管理,而不是每个团队成员的就绪管理
C.对团队的知识和能力水平进行管理,保证整体的知识和能力水平与项目相适应
D.对就绪进行有预见性的主动管理,并对就绪前后的情况进行比较

B

30.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )
A. 数据库设计 B. 数据通信
C. 数据定义 D. 数据维护

C

二、判断题

  1. 测试最终是为了证明程序无错误。( )
×
  1. 在进行同等测试后,若发现A部分由错误并改正了十个问题错误,B部分发现并改正了五个错误,则重新再进行测试A、B两部分时,A部分发现错误的可能性比B部分中的要大。( )
  1. 对一个模块进行测试的根本依据是测试用例。( )
×
  1. 用黑盒法进行测试时,测试用例根据程序内部逻辑设计的。( )
×
  1. 一组测试用例是判定覆盖,则一定是语句覆盖。( )
  1. 一组测试用例是条件覆盖,则一定是语句覆盖。( )
  1. 如果A、B是两个测试等价类,M是A、B中的一个实例,取M做测试用例,测试效率一定是高的。( )
  1. 在整个测试过程中模式组装测试所需时间比非增式测试时间多。( )
×
  1. 验收测试依据系统说明书。( )
  1. 按结构图的组装测试策略自顶向下与自底向上结合起来比增势组装测试速度快。( )

三、简答题(共40分,每题8分)

  1. 在软件开发的各阶段应编写哪些文档(直接在对应的方格里打钩)?
    答:
    软件工程试题-a_第1张图片

  2. 什么是软件,软件和程序的区别是什么?
    答:软件是指计算机程序及其有关的数据和文档(软件=程序+文档=数据结构+算法+文档),软件是包含程序的有机集合体,程序是软件的必要元素。

  3. 什么是软件危机,软件危机的主要表现是什么,怎样消除软件危机?
    答:软件危机是指计算机软件开发和维护时所遇到的一系列问题。主要表现在以下几个方面:
    (1)软件发展速度跟不上硬件的发展和用户的需求;
    (2)软件成本高,开发进度不能预先估计,用户不满意;
    (3)软件产品质量差,可靠性得不得保证;
    (4)软件产品可维护性差;
    (5)软件没有合适的文档资料。
    消除软件危机有一些几个措施:
    (1)使用好的软件开发技术和方法;
    (2)使用好的软件开发工具,提高软件生产率;
    有良好的组织,严密的管理,各类人员相互配合共同完成任务。

  4. 软件工程学的基本原理是什么?
    答:(1)用分段的生存周期计划严格管理。
    (2)坚持进行阶段评审。
    (3)实施严格的产品控制。
    (4)采用现代程序设计技术。
    (5)结果应能清楚地审查。
    (6)开发小组的成员应该少而精。
    (7)承认不断改进工程实践的必要性。

  5. 传统软件工程把设计过程分成2步:概要设计与详细设计。试述这2个阶段各自主要完成的任务。
    答:概要设计,包括结构设计和接口设计,并编写设计文档。详细设计,其任务是确定各个软件组件的数据结构和操作,产生描述个软件组件的详细设计文档。

四、设计题(共20分,共1小题)

根据下面给出的餐饮点菜系统的基本需求介绍,请自行对其进行需求分析与设计,画出相应的用例图和类图和点菜功能的顺序图。
餐饮点菜系统简介:本系统适应于中、高档咖啡厅、KTV、快餐厅、酒楼等餐饮行业。是一个为方便顾客点菜,更人性化的,贴心的点菜系统。系统不仅增加了菜谱图片,特色菜介绍,使顾客可以自己亲自点菜,更符合用户的操作习惯,方便打印点菜清单,清晰,明了便于顾客查看,方便餐厅管理,同时还为顾客提供了轻松一刻,包含小游戏和小贴士,使顾客在点菜之余可以放松身心,又可以了解一些烹调技巧、餐饮健康小常识。本软件还为顾客提供了特殊的可附加的要求选项,可以输入菜品制作附注:如不放香菜,不吃蒜,对某些配菜过敏或用药忌讳等,体现出本软件的人性化。同时系统能记录每个主客户的点菜爱好和消费记录,如系统可记忆起老顾客的饮食习惯(例如喜欢吃辣、吃醋等)、上一次消费是所坐的位置等等。
系统具备的主要功能有:
(1) 点餐模式:订餐、点菜(包括浏览、搜索菜单)。
(2) 用餐模式:加菜、换菜,呼叫服务员等。
(3) 餐毕模式:客户满意度、结帐等。
【参考答案】

  1. 用例图
    图1是顾客拥有的功能的用例图,是根据需求分析中对顾客拥有的所有功能的描述画出来的。
    软件工程试题-a_第2张图片
    图2是管理员拥有的功能的用例图,是根据需求分析中对管理员的所有功能的描述画出来的。
    软件工程试题-a_第3张图片
  2. 类图
    图3是类图,先根据需求描述中的名词来提取系统对象,再抽象出类,然后根据用例模型和系统的需求来确定类的属性、操作以及类与类之间的关系。
    软件工程试题-a_第4张图片
    (1) 类Admin是管理员类,包含属性有工作证号、登陆密码;操作有添加菜式、删除菜式、编辑菜式、编辑顾客资料、查看消费记录、登陆。
    (2) 类Customer是顾客类,包含属性有其有效证件号、姓名、备注(即饮食习惯等);操作有登陆、浏览菜单、搜索菜单、下订单、加菜、换菜以及呼叫服务员。
    (3) 类Dish是菜式类,包含属性菜式编号、菜名、菜式种类、数量、价格、备注。
    (4) 类Menu是菜单类,包含属性菜单编号、菜式编号、菜式名、数量、价格、顾客有效证件号、制作附注、菜单状态、下订单时间。
    (5) 类CustomerConsumption是消费记录类,包含属性记录编号、菜单编号、消费金额、消费日期、消费桌台位置。
    (6) 类Entertainment是娱乐类(即小游戏及小贴士),包含属性编号、名称、内容。
  3. 顺序图
    图4是下订单功能的顺序图,是根据下订单用例的工作流画出来的,首先确定了要建模的用例是下订单,然后确定它的工作流,再根据工作流中涉及到的对象有:顾客,登陆界面,主界面,菜谱列表界面,订单界面,消息对话框。为这些对象添加消息和条件,就可以创建每一个工作流。
    软件工程试题-a_第5张图片

你可能感兴趣的:(软件工程)