离线作业答案 发表于 2021-7-12 10:08:51

21秋西电软件工程模拟题一答案

软件工程课程模拟试卷
考试时间:90分钟一、填空题(共10个空格,每个空格1分,共10分,填错不得分,也不扣分)
1. 结构化方法由      、      和      构成,它是一种面向
       的开发方法。
答案:结构化分析 结构化设计 结构化程序设计 数据流
解析:
2. 模块的      是指一个模块直接下属模块数,      是指一个模块的直接上级模块数。
答案:扇出 扇出
解析:
3. 对象的抽象是      ,类的具体化或者说实例化是      。
答案:类 对象
解析:
4. 白盒测试是      测试,黑盒测试是      测试。
答案:结构功能
解析:
二、单项选择题(共10小题,每小题2分,共20分,选对得分,选错不扣分)
1. 以下关于软件危机的叙述中,正确的是       。
A. 软件危机在20世纪70年代末期全面爆发
B. 当前先进的软件工程方法已经解决了软件危机的问题
C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题
D. 软件危机是指在软件产品中存在一系列的质量问题
答案:C
解析:
2.         是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A. 软件过程
B. 软件工具
C. 软件产品
D. 软件工程
答案:A
解析:
3. 螺旋模型       。
A. 在软件产品发布时结束
B. 比增量模型更加混乱
C. 在每一次迭代过程中包含项目风险评价
D. 以上所有选项
答案:C
解析:
4. 在软件开发的各种资源中,       是最重要的资源。
A. 开发工具
B. 方法
C. 硬件环境
D. 人员
答案:D
解析:
5. 类的行为是       。
A. 由一组操作决定
B. 由类的属性决定
C. 对类的每一个对象唯一的
D. 由父类决定
答案:A
解析:
6.       不是分析建模的目的。
A. 定义可验证的软件需求
B. 描述客户需求
C. 开发一个简单的问题解决方案
D. 建立软件设计的基础
答案:C
解析:
7. 内聚表示一个模块       的程度。
A. 可以被更加细化
B. 仅关注在一件事情上
C. 能够适时地完成其功能
D. 联接其他模块和外部世界
答案:B
解析:
8. 下面对提高程序编码效率没有影响的是       。
A. 选择良好的设计方法
B. 选择良好的算法
C. 选择良好的数据结构
D. 变量名的使用
答案:D
解析:
9. 使用独立测试团队的最好理由是       。
A. 软件开发人员不需要做任何测试
B. 测试人员在测试开始之前不参与项目
C. 测试团队将更彻底地测试软件
D. 开发人员与测试人员之间的争论会减少
答案:C
解析:
10. 逆向工程通常用在软件生命周期的       阶段,它是从源代码或目标代码中提取设计信息。
A. 需求分析
B. 软件设计
C. 软件测试
D. 软件维护
答案:D
解析:
三、判断题(共10小题,每小题2分,共20分)
1. 软件是程序、数据和文档的集合。
答案:正确
解析:
2. 软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。
答案:错误
解析:
3. 项目管理在现代软件开发中是不太重要的,因为大多数项目能够及时完成并成功交付。
答案:错误
解析:
4. 将开发团队人数增加一倍可以保证项目完成时间减少一半。
答案:错误
解析:
5. 用例参与者总是人员而不是系统设备。
答案:错误
解析:
6. 面向对象分析的核心在于建立一个描述软件系统的模型。
答案:错误
解析:
7. 良好的分层体系结构有利于系统的扩展与维护。
答案:正确
解析:
8. 在程序设计中使用括号以改善表达式的清晰性。
答案:正确
解析:
9.好的测试用例应能证明软件是正确的。
答案:错误
解析:
10.只有质量差的软件产品才需要维护。
答案:错误
解析:四、简答(共4小题,每小题5分,共20分)
1. 软件工程包括哪些基本要素?请简要说明这些要素及其作用。
答案:
软件工程包括过程、方法和工具三个要素。
(1)软件工程过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证和变更的管理,从而将人员、技术、组织与管理有机地结合在一起,实现在规定的时间和预算内开发高质量软件的目标;
(2)软件工程方法为软件开发提供了?如何做?的技术,通常包括某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等;
(3)软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任务的完成。现有的软件工具覆盖了从需求分析、系统建模、代码生成、程序调试和软件测试等多个方面,形成了集成化的软件工程开发环境CASE。
评分标准:
2. 简要描述瀑布模型及其特点。
答案:
   瀑布模型如下图所示:
/
特点:是第一个软件过程模型;适宜理解非常充分的问题,且需求变化很小或几乎没有变化的情况;客户和开发人员很容易理解该模型;从一个非常高层的角度描述了开发过程中进行的活动,并且提出了要求开发人员经过的事件序列;说明了每一个主要的开发阶段完成的里程碑或可交付制品。
没有提供如何处理在开发过程中可能出现的产品或活动的变化的相关指导;将软件开发视为一个制造过程而不是一个问题求解的过程;没有说明创建最终产品过程中所需要的往返活动的相关信息;往往需要很长时间才能得到最终产品。
主要活动:需求分析、系统设计、程序设计、编码、单元测试和集成测试、系统测试、验收测试、运行和维护。
评分标准:
3. 请解释面向对象的术语:对象、类、属性和操作,并举例说明。
答案:
(1) 对象(Object)
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。
举例:中国就是一个对象。
(2) 类(Class)
类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,包括属性和服务两个主要部分。
举例:学生、人、树木等都是类。
(3) 属性(Attribute)
属性是用来描述对象静态特征的一个数据项。
举例:学生具有姓名、性别、年龄等属性。
(4) 操作(Operation)
操作是类的实例被要求执行的服务,具有名字和参数列表。
举例:学生具有入学注册、选课等操作。
评分标准:
4. 软件测试包括哪些类型的测试?这些测试之间的区别是什么?
答案:软件测试包括单元测试、集成测试、系统测试和验收测试等。
(1)单元测试集中于每一个独立的模块;
(2)集成测试集中于模块的组装;
(3)系统测试确保整个系统与系统的功能需求和非功能需求保持一致;
(4)验收测试是用户根据验收标准(通常来自项目协议),在开发环境或模拟真实环境中执行的可用性、功能和性能测试。
评分标准:
五、计算题/建模题(共3小题,每小题10分,共30分)
1. 图1是一个项目的活动图,请计算
(1)图中所有活动的最早开始时间、最晚开始时间和松弛时间;
(2)活动图的关键路径。

图1 活动图
答案:
(1) 每个活动的松弛时间活动
最早开始时间
最晚开始时间
松弛时间

1
A(B
1
22
21

2
A(C
1
9
8

3
A(D
1
1
0

4
B(E
4
25
21

5
C(F
7
15
8

6
D(F
11
11
0

7
E(G
19
40
21

8
F(G
19
39
20

9
F(H
19
19
0

10
F(I
19
33
14

11
I(H
23
38
15

12
G(J
22
42
20

13
H(J
39
39
0

14
I(J
23
37
14

 (2) 关键路径A(D(F(H(J   (48)
评分标准:2. 图2是一个“涉税服务管理效能管理系统”中类模型的一个局部,请回答以下问题。

图2涉税服务效能管理系统类模型局部
(1) 在描述“税务审批服务申请”时,它主要包含哪几个方面的内容?它有几种不同的类别?
(2) 对于每一条流转记录,可能与几个“税务审批服务申请”相关?与几个处理人相关?
(3) 后来,开发人员又在图1的基础上进行了一些修改,其中有一个局部修改成了如图3的内容。请说明这些新增加的元素分别表示什么含义。

图3修改后的模型局部
答案要点:
(1)受理资料、受理提示、受理告知、纳税人、流转记录。
包括行政许可类申请、涉税服务类申请和行政审批类申请三类。(2) 每条流转记录只和一个“税务审批服务申请”相关,只与一个处理人相关。
(3) has是关联名称,表示这种关联是“拥有”关系。“申请ID”是限定符,表示每一个流转记录只能用一个“申请ID”。
3. 图4是小张绘制的一张关于网上商城用户管理的领域类图,但其中存在一些问题,请指出错误并说明理由。

图4网上商城用户管理领域类图局部
答案要点:
作为领域类图不应该涉及到实现类,因此不应该引入诸如System.Data.Oracleclient和ArrayList之类与程序实现直接相关的类。

页: [1]
查看完整版本: 21秋西电软件工程模拟题一答案