软件工程(第六版)习题及解答 (1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、(1) 模块功能的完善化(2) 消除重复功能,改善软件结构(3)模块规模应该适中(4)模块的深度、宽度、扇出和扇入都应适当(5)模块的作用范围应该在控制范围之内(6)力争降低模块接口的复杂程度(7)设计单入口、单出口的模块(9)模块功能应该可以预测
四、应用题
1、模块A和B是数据耦合,模块B是功能内聚。
scd = fstຫໍສະໝຸດ Baidu
fst=k[i]
T
F
k[i]>scd
Scd=k[i]
I=i+1
输出fst,scd
(3)求s=1- 1/2!+1/3!-1/4! +…. +1/n!,其中n的值由键盘输入。
PAD图如下:
2.根据伪码画PAD图
3.将程序流程图转化为PAD图
(1)
(2)
(3)
(4)
(5)
对于分支结构
if(f)
3.举例说明类图和对象图之间的关系。
对象图展示了一组对象和它们之间的关系。对象图是类图的实例,对象之间的连接是类之间关联的实例。类图和对象图的不同点在于对象图显示类的多个对象实例,而不是实际的类。
4.活动图的主要作用是什么,状态图的主要作用是什么?
状态图和活动图都属于行为图,主要用于分析、设计阶段描述对象的行为。状态图适于描述单个对象状态的变化情况,活动图适于描述一个工作过程、多个对象之间的合作。
a;
else
b;
只使用顺序和循环结构的PAD图如下:
第6章
一、选择题
1-5CBDDA6-10 CADDA 10-15 CAACC
二、简答题
1.简要介绍用例图的三个要素。
用例图主要包括以下三个元素:
①用例(Use Case):用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使用系统所完成的功能。在图中用椭圆来表示,用例名称可写在椭圆中或椭圆下面。
数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。
4、
数据词典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的补充工具。数据流图和数据词典共同构成系统的逻辑模型,两者缺一不可。
其内容包括:数据流、数据项、数据结构、数据存储、加工逻辑、外部实体6类元素。
四、应用题
(2)可行性分析
技术可行性:使用现有的技术能够实现此系统,在现有资源(包括硬件资源、软件资源、技术人员的技术水平和已有的工作基础)条件下,技术风险不大,项目可以实现。
经济可行性:此系统能够方便旅客订票,具有一定的经济效益和社会效益。
法律可行性:此项目开发要符合航运系统相关要求。
操作可行性:现有制度、人员素质、操作方式可行。
②参与者(Actor)。或称角色或执行者,它是系统外部的一个实体(可以是任何的事物或人所扮演的角色等)。在图中用一个小人图形表示。
③关联。表示角色与用例之间的驱动和反馈关系,也可以表示用例间的包含与扩展关系。在图中用线段或带箭头的线段表示。
2.分别写出UML对象图中对象的三种表示方式。
在UML中,对象图和类图一样采用矩形图示,不过对象名称下方有下划线(类名称下方没有下划线),通常对象名采用:对象名:类名、:类名或对象名三种格式表示,中间形式是尚未给对象命名,最后一种形式是省略了类名。
>200且<=5000元----------- W*0.01元
>5000 --------------------- 50元
判定表如下:三种汇额分别用符号L、M、H表示,汇款额用W表示。
汇额(元)
L
L
M
M
H
H
本埠
Y
N
Y
N
Y
N
汇费(元)
2
2
W*0.01
W*0.01
50
50
可简化为:
汇额(元)
L
M
H
本埠
M
M
M
M
M
M
F
F
F
F
F
F
F
学历
A
A
A
B
B
B
C
A
A
A
B
B
B
C
年龄
C
Y
L
C
Y
L
--
C
Y
L
C
Y
L
--
脱产学习
X
X
电工
X
X
技术员
X
X
修理工
X
X
钳工
X
X
车工
X
X
清洁工
X
X
判定树:
结构化语言:
IF年龄>40 THEN
SWITCH(学历)
{CASE:“初中”
IF性别为“男”THEN
做修理工
ELSE做清洁工
CASE:“高中”
3、软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。软件工程的目标是实现软件的优质高产。软件工程的目的是在经费的预算范围内,按期交付出用户满意的、质量合格的软件产品。
4、软件生命周期是软件工程的一个重要的概念。把整个软件生命周期划分为若干个较小的阶段,每个阶段都有相对独立的任务和完成任务的步骤和方法,然后逐步完成各个阶段的任务,这有利于软件开发过程的组织和管理,从而降低了整个软件开发过程的困难程度,从而使规模庞大、结构复杂和管理复杂的软件开发变得容易控制和管理。
专业=”01”...”99”注:专业代号2位数字
班级=”01”...”99”注:班级代号2位数字
学分=0..99
2、数据流图如下:
3、
顶层图:
顶层图
0层图:
0层图
4、
判定表如下:
设:性别:男:M女:F
学历:初中:A高中B大专:C
年龄:小于25: C 25至40:Y 40以上:L
1
2
3
4
5
6
7
8
9
10
具体任务是:明确问题定义、导出软件的逻辑模型、编写软件需求规格说明书。
“做什么”,即深入描述软件的功能和性能,确定软件设计的限制和软件与其他系统元素的接口细节,定义软件的其他有效性需求。
“怎么做”,即着手软件需求的实现:用比较抽象概括的方式确定目标系统如何完成预定的任务,确定系统的物理模型。
2、建立目标系统逻辑模型的一般过程:
6.可行性研究:建议进行大约X周的可行性研究,研究费用不超过X元。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
IF性别为“男”THEN
做修理工
ELSE做清洁工
CASE:“大专”做技术员
ELSE IF年龄>=25且年龄<40 THEN
SWITCH(学历)
{ CASE:“初中”
IF性别为“男”THEN
做钳工
ELSE做车工
CASE:“高中”
IF性别为“男”THEN
做钳工
ELSE做车工
CASE:“大专”
做技术员
}
ELSE
1、
“学生管理系统”的顶层图和0层图。
顶层图:
0层图:
部分数据词典:
学生档案={学号+姓名+性别+年龄+专业+班级}
成绩库=学号+课程号+分数
课程库=课程号+课程名+学分
学生信息=学号+姓名+性别+年龄+专业+班级
考试成绩=学号+课程号+分数
学号=”00001”...”99999”
姓名=2{汉字}4
11
12
13
14
15
16
17
18
性别
M
M
M
M
M
M
M
M
M
F
F
F
F
F
F
F
F
F
学历
A
A
A
B
B
B
C
C
C
A
A
A
B
B
B
C
C
C
年龄
C
Y
L
C
Y
L
C
Y
L
C
Y
L
C
Y
L
C
Y
L
脱产
学习
X
X
电工
X
X
技术员
X
X
X
X
X
X
修理工
X
X
钳工
X
X
车工
X
X
清洁工
X
X
化简后的判定表:
1
2
3
4
5
6
7-9
10
11
12
13
14
15
16-18
性别
M
5、瀑布模型是线性模型,是整体开发模型,文档驱动的模型,每一阶段必须完成指定的文档,需求明确的中、小型软件开发,不适宜需求模糊或多变的应用软件开发;螺旋模型是典型迭代模型,是风险驱动模型,可用于面向对象开发,适宜风险较大的大型软件开发。
第2章
一、选择题
1-5 DCAAD 6-8 AAD
二、简答题
1、许多软件开发问题都不能在预期的时间范围内或资源限制下得到解决。如果开发人员没有尽早停止没有可行解决方案的开发项目,就会造成时间、资金、人力、物力的浪费。为了降低软件开发失败的可能性,需要进行软件可行性研究。可行性研究要从经济可行性、技术可行性、运行可行性和法律可行性四方面进行。
--
--
--
汇费(元)
2
W*0.01
50
第4章
一、判断题
1√ 2√ 3× 4√ 5× 6√ 7× 8√
二、选择题
1-5 CBCDB 6-10 DACCA 11-15 CABDC
三、简答题
1、软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可验证性。
2、总体设计又称概要设计,是将软件需求转化为软件体系结构、确定系统级接口、全局数据结构和数据库模式。
3、代码设计的原则是标准化、唯一性、可扩充性、简单性、规范性和适应性。
四、应用题
1、
(1)求整数1-n的累加和SUM,其中n的值由键盘输入。
PAD图如下
(2)求整型数组K[50]中的最大值和次大值。
N-S图如下:
定义数组k[50]
fst = k[0] , sed =k[1]
I=3
当i<=50时
F
T
k[i]>fst
2、软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
2、1.审核系统的规模和目标2.分析研究现行系统3.设计新系统的高层逻辑模型4.获得并比较可行的方案5.撰写可行性研究报告。
3、(1)问题定义:航运公司机票预订系统问题定义
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
(3)系统流程图
第3章
一、判断题
1√ 2 × 3√ 4 × 5√ 6× 7× 8√
二、选择题
1-5 BACDB 6-10 ABDAA 11-15 BABDB 16-20 ADCDB
三、简答题
1、需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、清晰、具体的要求。
2、模块A和B是控制耦合,模块B是逻辑内聚。
第5章
一、判断题
1√ 2× 3× 4× 5×
二、选择题
1-5 ACACA
三、简答题
1、(1)算法设计(2)数据结构设计(3)模块接口细节设计(4)测试用例设计(5)数据库物理设计(6)数据代码设计(7)其他设计(8)编写详细设计说明书并进行评审。
2、在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动输入;对共同的输入设置默认值;使用代码或缩写;自动填入已输入过的内容;列表式输入;数据分组输入。
SWITCH(学历)
{ CASE:“初中”脱产学习
CASE:“高中”做电工
CASE:“大专”做技术员
}
5、
判定表
国内
Y
Y
Y
N
N
N
重量
L
M
H
L
M
H
运费(元)
12
6W
6.5(W-20)+120
24
12W
13(W-20)+240
注:设重量为W(单位为Kg)
重量<=2Kg,重量>2Kg且重量<=20Kg,重量>20Kg,分别用L、M、H表示
判定树:
重量<=2Kg——12元
重量>2Kg且<=20Kg——6W元
重量>20Kg——6.5(W-20)+120
重量<=2Kg——24元
重量>2Kg且<=20Kg——12W元
重量>20Kg——13(W-20)+240
6、
设汇款金额为W元。判定树如下:
汇额本埠/外埠汇费
<=200 ----------------------- 2元
系统目标和范围说明书
1.项目名称:X航运公司机票预订系统。
2.背景:目前,由旅客人工到航运公司排队购票,费时、费力、管理工作量大、手续繁琐效率低,制约了公司业务的发展。
3.项目目标:建立一个网络化的机票预订系统。
4.项目范围:软件开发费用不超过X万元。
5.初步设想:建议在系统中完成安排航班、打印取票通知、打印票务账单、打印机票等主要功能。
《软件工程》(第六版)习题参考答案
第1章
一、判断题
1× 2 √ 3× 4√ 5× 6√ 7√ 8× 9√ 10×
二、选择题
1-5 CADDD 6-10 ADAAD 11-15 AAADA
三、简答题
1、软件包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能够正确地处理信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。软件包括程序,程序只是软件的一部分。
(1)由当前物理系统导出当前系统物理模型;
(2)由当前系统物理模型,导出当前系统逻辑模型;
(3)参考当前系统逻辑模型,设想出新系统逻辑模型。
3、数据流图是用于表示系统逻辑模型的一种工具。它从数据传递和加工的角度,以图形的方式描述数据在系统中流动和处理过程。它表示了系统内部信息的流向以及系统的逻辑处理功能。
相关文档
最新文档