找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1430|回复: 0

[离线作业] 西电21秋软件工程课程模拟试卷答案

[复制链接]
发表于 2021-8-10 10:19:18 | 显示全部楼层 |阅读模式
考试时间:90分钟

一、填空题(共10个空格,每个空格1分,共10分,填错不得分,也不扣分)
1. 结构化方法总的指导思想是      。它的基本原则是功能的
      与      。它是软件工程中最早出现的开发方法,特别适合
于      的问题。
答案:自顶向下、逐步求精 分解 抽象 数据处理领域
解析:
2. 一个模块的      是指受该模块内一个判定影响的所有模块的集合。一个模块的      是指模块本身及其所有下属模块的集合。
答案:作用范围 控制范围
解析:
3. 在面向对象方法中,信息隐藏通过对象的封装性来实现。类结构分离了      与      ,从而支持了信息隐藏。
答案:接口 实现
解析:
4. 软件测试是为了      而执行程序的过程。
答案:发现错误
解析:
5. 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,所进行的诊断和改正错误的过程,叫做      维护。
答案:改正性
解析:

二、单项选择题(共10小题,每小题2分,共20分,选对得分,选错不扣分)
1. 软件工程的基本目标是       。
A. 消除软件固有的复杂性
B. 开发高质量的软件
C. 努力发挥开发人员的创造性潜能
D. 更好地维护正在使用的软件产品
答案:B
解析:
2. 软件开发的瀑布模型是       。
A. 适用于需求被清晰定义的情况
B. 一种需要快速构造可运行程序的好方法
C. 最适合于大规模团队开发的项目
D. 已不能用于现代环境的过时模型
答案:A
解析:
3. 需求规格说明描述了       。
A. 计算机系统的功能、性能及其约束
B. 每个指定系统的实现
C. 软件体系结构的元素
D. 系统仿真所需要的时间
答案:A
解析:
4.       是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A. 多态性
B. 继承
C. 封装
D. 消息
答案:C
解析:
5.       不属于面向对象分析模型。
A. 用例图
B. 类图
C. 实体关系图
D. 顺序图
答案:C
解析:
6. 关于软件设计,良好的设计不包括       。
A. 系统应该用模块化方法进行开发,模块越多越好
B. 划分模块应该考虑尽量高内聚、低耦合
C. 信息隐藏可以使得软件系统更加易于维护
D. 通过不断降低抽象层次来设计软件
答案:A
解析:
7. 耦合表示一个模块       的程度。
A. 可以被更加细化
B. 仅关注在一件事情上
C. 能够适时地完成其功能
D. 联接其他模块和外部世界
答案:D
解析:
8. 下图是一个软件结构图。若根据以下顺序进行测试, “{A};{B};{C};{A,B,C};{D};{E};{A,B,C,D,E}” 则采用了哪种测试策略       。

A. 自顶向下测试            B. 自底向上测试
C. 三明治测试              D. 一次性测试
答案:A
解析:
9. 为了保证软件的质量,使其具有较好的可维护性,关键在于       。
A. 选择合适的程序设计语言
B. 选择好的程序设计风格
C. 具有好的数据结构
D. 选择好的运行环境
答案:B
解析:
10. 超市升级其系统使得可以接收顾客在购买商品时可以用信用卡支付,这种情况属于       。
A. 正确性维护           B. 适应性维护
C. 改善性维护           D. 预防性维护
答案:B
解析:
三、判断题(共10小题,每小题2分,共20分)
1.软件工程师的精力集中于把计算机作为问题求解的工具,而不是研究硬件设计或者算法的理论证明。
答案:正确
解析:
2.由于软件项目估算不完全可靠,所以项目开始后可以忽略这些估算。
答案:错误
解析:
3.模型是对现实的简化,建模是为了更好地理解所开发的系统。
答案:正确
解析:
4. 根据系统的规模及其复杂程度,顶层数据流图中可以有1个或多个加工。
答案:错误
解析:
5.在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析类实例之间的消息传递将用例的职责分配到分析类中。(A)
答案:正确
解析:
6.设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识。
答案:正确
解析:
7.在程序设计中应尽可能对程序代码进行优化。
答案:错误
解析:
8.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
答案:错误
解析:
9. 软件的维护成本通常比开发成本低。
答案:错误
解析:
10. 软件测试是为了证明软件没有错误,从而才可以交付给用户使用。
答案:错误
解析:

四、简答(共4小题,每小题5分,共20分)
1. 请简要说明软件过程的概念和基本元素。
答案:软件过程是软件工程人员为了获得软件产品在软件工具支持下实施的一系列软件工程活动,它应该明确定义以下元素:
        (1)过程中所执行的活动及其顺序关系
        (2)每一个活动的内容和步骤
        (3)团队人员的工作和职责
评分标准:
2. 请描述快速原型过程模型的各个阶段。
答案:快速原型方法的目的是解决软件需求不明确给开发带来风险的问题,其关键在于尽可能“快速”地建造原型,通过用户对原型的评价最终确定系统的需求。
        快速原型过程模型包括以下阶段:
        (1)原型需求分析:分析和提炼所收集到的客户需求;
        (2)原型开发:基于初步的需求快速建造一个可以运行的软件原型,实现客户或未来的用户与系统的交互;
        (3)原型评价:由用户或客户对该原型进行评价,需要的话再进一步细化待开发软件的需求,并继续调整原型直至需求确定下来为止。
评分标准:
3. 请解释面向对象的术语:关联、泛化、聚合和依赖,并举例说明。
答案:
(1) 关联是一种结构关系,说明一个事物的对象与另一个事物的对象之间的联系。
举例:学生与课程之间的关系就是关联,一个学生可以选修多门课程,一门课程也可以被多个学生选修。
(2) 泛化是一种一般事物(父类)和特殊事物(子类)之间的关系。
举例:学生与研究生之间是泛化关系,研究生是一类特殊的学生。
(3)聚合是一种特殊类型的关联,描述了整体和部分间的结构关系。
举例:学校和系之间存在聚合关系,系是学校的一个组成部分。
(4) 依赖是一种使用关系,描述了一个事物发生变化会影响到另一个使用它的事物。
举例:课程表使用课程,二者之间是依赖关系。
评分标准:
4. 简要叙述需求的类型。
答案:
存在四种需求类型,即
功能需求:根据要求的活动来描述需要的行为,描述系统的功能特征;
质量需求(或非功能性需求):描述一些软件解决方案必须拥有的质量特性,如性能、易使用性等
设计约束:是已经做出的设计决策或对问题解决方案集的限制的设计决策,例如平台或构件接口的选择
过程约束:是对用于构建系统的技术和资源的限制,例如过程标准、人员要求、文档要求等。
评分标准:
五、计算题/建模题(共3小题,每小题10分,共30分)
1. 图1是一个逻辑流,请给出所有的路径。

图1 逻辑流
答案:
路径:
(1)      
(2)      
(3)        
(4)   

评分标准:

2.
假设有一个温度监控系统,用户在MonitorGUI(监控界面)上输入查询指令,然后QueryState包的程序将与温感探头连接,获取当前的状态信息,并存入数据库,再返回给用户界面。根据这一描述,小张绘制了如图2所示的包图。你认为其中存在什么问题,请试着修改?

图2  温度监控系统包图(部分)
答案要点:在包图中应该避免出现这种循环依赖的情况。可以修改为:

图3  修改的温度监控系统包图(部分)
3.
为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,图4是一个用例模型的局部:

图4   物业管理系统用例模型局部
(1)但小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用200字以内说明错误所在,并说明应该如何修改。
(2)在上图中构造型“《include》”表示的是什么意思,它与“《extent》”之间的区别是什么?
答题要点:
(1)主要错误及其修改方法如下
主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的原则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认提交信息”都只是一个操作步骤,因此不适合作为用例。
修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为“新增房源信息”。
(2)在用例模型中,构造型“《include》”是用来表示包含关系。它通常用来表示被包含用例是被多包含用例使用的一个可复用模块,而《extent》且通常用来表示对用例的扩展。


QQ|手机版|小黑屋|网站地图|无忧答案网 ( 冀ICP备18010495号-1 )

GMT+8, 2024-5-3 18:34

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表