软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)

第一部分

第 1 章

1.选择题

(1) B (2) D (3) C (4) A

2.判断题

(1) × (2) × (3) √ (4) ×

第 2 章

1.选择题

(1) C (2) C (3) B (4) A (5)D

(6) C (7) B

2. 判断题

(1) × (2) × (3) × (4) ×

第 3 章

1.选择题

(1) D (2) A (3) A (4) B

2.判断题

(1) × (2) √ (3) × (4) √

第 4 章

1.选择题

(1) B (2) D (3) B (4) C

(5) B (6) C (7) B (8) D

2. 判断题

(1) √ (2) × (3) × (4) × (5)×

(6) √ (7) × (8) × (9) √ (10) ×

(11) √

4.应用题

(1)

顶层图:对于图书管理系统,外部用户有读者和管理工作人员。读者分为第一次借书的

读者和多次借书的读者,第一次借书的读者需要在借书文件上建立档案才能借书。工作人员

需要对借书文件、库存数目文件进行修改,也能查阅读者情况、图书借阅情况、库存情况。

系统顶层图如图 C-1 所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第1张图片

图C-1 系统顶层图

2)查询 0 层图:工作人员通过借书文件查询读者情况。通过库存目录文件查询库存情况。

通过查询借书文件和库存目录文件查询图书借阅情况。最后打印统计表。查询 0 层图如图

C-2 所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第2张图片

图C-2 查询0层图

3)借书 0 层图:读者将借书证输入借书台,借书台在系统中查询借书证是否有效,若有效,

通过借书文件查看借书次数。若第一次借书,则在借书文件中建立档案,办理借书,并将借

书信息登入借书文件,检查读者目录;若为多次借书,则从借书文件中检查所借图书是否超

过 10 本,若超过 10 本,拒借,并将信息反馈给读者,否则办理借书,并将借书信息登入借

书文件,检查读者目录。借书 0 层图如图 C-3 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第3张图片

图C-3借书0层图

4)还书 0 层图:工作人员通过借书文件读取读者记录。通过读者记录查询所借日期。如果

借书超期,反馈读者罚款信息并收取罚款,并修改库存目录与借书文件。还书 0 层图如图

C-4 所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第4张图片

图C-4 还书0层图

5)数据字典

A.顶层图数据字典:

首次借书读者 = {读者+借书证}

多次借书读者 = {读者+借书证}

借书证 = {姓名+学号}

读者 = {姓名+学号+班号}

工作人员 = {姓名+工作人员代号}

姓名: 2{汉字}4

学号: 8{数字}8

班号:4{数字}4

工作人员代号: 4{数字}4

读者情况 = {姓名+学号}

图书借阅情况 = {图书名+图书编号+读者+库存数量}

库存情况 = {图书名+图书编号+库存数量}

图书名: {汉字}

图书编号: 6{数字}6

B.借书 0 层图:

借书证 = {姓名+学号}

读者 ={ 姓名+学号+班号}

借书次数: 0..*

读者信息 = {姓名+学号}

借书情况 = {读者+图书名+图书编号+所借日期}

读者目录 = {读者+图书名+图书编号+所借日期} 姓名: 2{汉字}4

学号: 8{数字}8

班号: 4{数字}4

图书名: {汉字}

图书编号: 6{数字}6

所借日期: 8{数字}8

C.还书 0 层图:

工作人员 = {姓名+工作人员代号}

读者记录 = {读者+图书名+图书编号+所借日期}

读者 = {姓名+学号+班号}

罚款信息 = {读者+图书名+图书编号+罚金数额}

库存目录 = {图书名+图书编号+库存数量}

借书文件 = {读者+图书名+图书编号+所借日期}

姓名: 2{汉字}4

学号: 8{数字}8

班号: 4{数字}4

工作人员代号: 4{数字}4

图书名: {汉字}

图书编号: 6{数字}6

所借日期: 8{数字}8

罚金数额: 1{数字}2

D.查询 0 层图:

工作人员 = {姓名+工作人员代号}

库存目录 = {图书名+图书编号+库存数量}

借书文件 = {读者+图书名+图书编号+所借日期}

统计表 = {库存目录+读者记录}

读者记录 = {读者+图书名+图书编号+所借日期}

姓名: 2{汉字}4

学号: 8{数字}8

班号: 4{数字}4

工作人员代号: 4{数字}4

图书名: {汉字}

图书编号: 6{数字}6

所借日期: 8{数字}8

(2) 根据题目描述,活动由插入磁卡开始,输入密码后需对密码进行判断——若密码不正

确,则返回输入密码状态;若三次输入密码都不正确,则进入退出服务状态而结束;若密码

正确,进入服务类型选择状态。在服务类型选择状态中,需要再次判断,若用户选择存款,

则进入存款状态;用户选择取款,则进入取款状态。存款或取款状态结束后,继续进行判断,

若用户选择继续服务,则再次进入服务类型选择状态,否则进入退出服务状态而结束活动。

其状态转换图如图 C-6 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第5张图片

图C-6 状态转换图

(3)根据题目中给出的一对多和多对多的关系,画出此 E-R 图,如图 C-7 所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第6张图片

图C-7 某企业集团工厂的E-R图

第 5 章

1. 选择题

(1) C (2)C (3)C (4)C (5)D

2. 判断题

(1)× (2)√ (3)× (4)× (5)√

(6)× (7)×

4.应用题

(1)“查看书籍”的结构图如图 C-8 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第7张图片

图C-8 “查看书籍”的结构图

(2)二维表格的 Jackson 图如图 C-9 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第8张图片

图C-9 二维表格的Jackson图[l1]

(3) 在计算两个正整数的最小公倍数时,首先需要确定最小公倍数的查找范围。由数学相关

知识可知,最小公倍数的最小可能值为两个正整数中较大者,最大可能值为两个正整数的乘

积。 因此,在开始查找最小公倍数之前,首先要对这两个正整数进行比较并且计算二者乘

积。

在确定了查找范围之后,就可以对其中的数字进行逐一的判断,直至找到最小公倍数。

1)程序流程图如图 C-10 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第9张图片

图 C-10 程序流程图

  1. N-S 图如图 C-11 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第10张图片

图 C-11 N-S 图

3)PAD 图如图 C-12 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第11张图片

图 C-12 PAD 图

第 6 章

1.选择题

(1) C (2) D (3) B (4)D (5) D

(6) B (7) B (8) D (9)B (10) D

(11) C (12) B

2. 判断题

(1) × (2) × (3) × (4) √ (

5)×

(6) × (7) × (

8)× (9) × (10) ×

(11) √

4.应用题

(1)本题中,对象主要包括考生、人事局和招聘单位三种,所以包括三条对象生命线。

招聘单位将招聘计划发送给人事局,再由人事局发布给考生。考生通过人事局进行考试

报名,报名信息由人事局传递给招聘单位。考生通过人事局进行考试。人事局向考生和招聘

单位发布考试成绩。招聘单位将录用信息发给人事局,再由人事局发布给考生。公务员招聘

考试管理系统的顺序图如图 C-13 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第12张图片

图C-13 公务员招聘考试管理系统的顺序图

(2)

1)用例图

首先确定存在3 个 与 :学生班长、班主任、书库管理员。接着分析出 7 个用例:填

写领书单、学生班长领书、班主任签名、书库管理员审查领书单、给予领书并修改库存清单、

登记需订书信息、提供订书单。然后确定包含(include)关系:班主任签名前需要学生班长

填写领书单;学生班长领书前需要班主任签名;书库管理员审查领书单前需要学生班长去领

书;书库管理员给予领书并修改库存清单前需要审查领书单;书库管理员提供订书单前需要

登记需订书信息。最后,就可以通过分析出的一系列关系绘制出如图 C-14 所示的用例图。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第13张图片

图C-14 用例图

2)顺序图

学生班长填写领书单,提交给班主任签名。班主任将签名后的领书单交给学生班长,学

生班长拿着签名后的领书单去领书。书库管理员首先审查领书单,若填写正确则给予领书并

修改库存清单。如果某书的库存量低于临界值,书库管理员便登记需订书的信息,并为采购

部门提供订书单,顺序图如图 C-15 所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第14张图片

图C-15 顺序图

3)活动图

学生班长填写领书单,提交给班主任签名。学生班长拿着签名后的领书单去领书。书库

管理员首先审查领书单,若有班主任签名且填写正确则给予领书并修改库存清单。书库管理

员检查库存,如果库存不足,书库管理员便登记需订书的信息,并为采购部门提供订书单,

活动图如图 C-16 所示。

图 C-16 活动图

(3)状态图

手机可以分为空闲、响铃、拨号与通话四种状态。根据题目叙述分别在各个状态之间添

加转移即可。如图 C-17 所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第15张图片

图 C-17 手机的状态图

第 7 章

1.选择题

(1) A (2) D (3)B (4) C (5) A

(6) B (7) D (8)D

2. 判断题

(1) √ (2) × (3)× (4)×

4.应用题

(1)环境控制器在被定义气候之前,处于闲置状态。 在被定义气候之后,开始温度控制:

当处于白天模式时,如果温度升高,则进行调温操作;如果出现日落,则转换为夜间模式。

当处于夜间模式时,如果温度降低,则进行调温操作;如果出现日出,则转换为白天模式。

当环境控制器被命令终止气候时,则重新处于限制状态。环境控制器的动态模型如图 C-18

所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第16张图片

(2)图书馆所藏出版物拥有共同的基类:馆藏出版物类。馆藏出版物类的成员变量包括出

版物名称、出版者、获得日期、目录编号、借出状态、借出限制等,并包括借出和收回两项

操作。各种类型的出版物类继承于馆藏出版物类,并定义了各自的属性。图书馆馆藏出版物

的对象模型图 C-19 所示

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第17张图片

图 C-19 图书馆馆藏出版物的对象模型

(3)从需求中可以看出,当病人进行预约时,需要提供姓名,预约日期。然后系统查询

预约登记表,查看该日期是否有效,若预约成功,则记录入预约记录表。然后病人提供名字,

必要时也可以预约下次就诊日期。诊所的职员可以查询预约登记表,删除预约。系统可以提

取每天的预约打印出来给牙医。

根据上述功能,可建立该系统功能模型,如图 C-20 所示。

图 C-20 牙科诊所管理系统的功能模型

第 8 章

1.选择题

(1) A (2) C (3) D (4) B (5)A

2. 判断题

(1) × (2) √ (3) √ (4) √

第 9 章

1.选择题

(1) D (2) B (3) B (4) D (5)B (6) C

2. 判断题

(1) √ (2) √ (3) × (4) √

4.应用题

(1)根据题意可以抽象出系统的实体类包括教师、习题、习题答案、作业题板、练习

题板以及学生。作业题板与练习题板可以泛化为题板抽象类。根据描述对各个类添加适当的

属性。在各个类之间按照文字描述建立关联关系。教师与习题之间构成 1 对多关系,教师与

作业题板构成 1 对多关系,习题与习题答案之间构成 1 对 1 关系,习题与题板之间构成多对

多关系且这一关联关系可以描述为聚合关系,学生与作业题板构成多对多关系,学生与练习

题板构成 1 对多关系。类图可参考下图。类图如 C-21 图所示。

图 C-21 类图

第 10 章

1.选择题

(1) B (2) C (3) C (4) A

2. 判断题

(1) × (2) √ (3) √ (4) √ (5)×

4.应用题

(1)

for(i = 1; i < n; i++) 
for(j =n-1;j >= i; j--){ 
 if(a[j]

(2)在计算两个整数的最大公约数时,可以使用辗转相除的方法。由于相除取余的过程可

能会重复多次,所以可以使用递归的方式来简化代码。因此,可以通过设计一个递归函数来

对输入的整数进行计算,直至找到二者的最大公约数。程序如下。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
namespace GreatestCommonDivisor 
{ 
 class Program 
 { 
 //辗转相除法
 public static int calculate(int x, int y) 
 { 
 if (x < y) 
 { 
 return calculate1(y, x); 
 } 
 return calculate1(x, y); 
 } 
 // x is no less than y 
 private static int calculate1(int x, int y)
 { 
 if (x % y != 0) 
 { 
 
 return y; 
 } 
 } 
}

第 11 章

1. 选择题

(1) B (2) D (3)B (4) A (5) B

(6) B (7) B (8)D (9)A (10) B

(11) C (12)D (13) A

2. 判断题

(1) × (2) × (3) × (4) √ (5)√

(6) √ (7) × (8)√ (9) × (10) ×

(11) √

4.应用题

(1) 画出该问题的等价类表,并为每个等价类进行编号,如表 C-1 所示。

软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第18张图片
软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)_第19张图片

(2)

① 实现语句覆盖的测试方案如下:

覆盖 THEN 部分的语句,即使得条件(A>0)And(B>O)和条件(C>A)Or(D

输入:A=1,B=1,C=2,D=0。预期输出:X=2,Y=2。

覆盖 ELSE 部分的语句,即使得条件(A>O)And(B>O)和条件(C>A)Or(D

输入:A=0,B=-1,C=0,D=1。预期输出:X=1,Y=1。

② 实现路径覆盖的测试方案如下:

覆盖两个条件均为假的路径。输入:A=-1,B=-2,C=-3,D=3。预期输出:X=1,

Y=0。

覆盖第一个条件为假第二个条件为真的路径。输入:A=-1,B=-2,C=1,D=-3。

预期输出: X=1,Y=4。

覆盖第一个条件为真第二个条件为假的路径。输入:A=1,B=1,C=0,D=2。预

期输出:X=2,Y=2。

覆盖两个条件均为真的路径。输人:A=1,B=2,C=2,D=1。预期输出:X=3,

Y=1。

第 12 章

1.选择题

(1) B (2) B (3) A (4) A (5)D

(6) C (7) D (8) C (9) C (10)B

(11) C (12) A

2. 判断题

(1) √ (2) √ (3) × (4) √ (5)√

(6) × (7) √ (8) × (9) √ (10)√

(11) √ (12) × (13) × (14) × (15)×

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