软件工程导论张海藩习题解.docx
- 文档编号:18615734
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:20
- 大小:540.68KB
软件工程导论张海藩习题解.docx
《软件工程导论张海藩习题解.docx》由会员分享,可在线阅读,更多相关《软件工程导论张海藩习题解.docx(20页珍藏版)》请在冰点文库上搜索。
软件工程导论张海藩习题解
2-4分层次地画出描述本系统功能的数据流图
●从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。
进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数88据源点。
●从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。
●系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。
●此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。
●为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。
此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。
2-5
●数据结构的描述
符号含义举例
=被定义为
+与x=a+b
[...,...]或[...|...]或x=[a,b],x=[a|b]
{...}或m{...}n重复x={a},x=3{a}8
(...)可选x=(a)
“...”基本数据元素x=“a”
..连结符x=1..9
●电话号码=[校内电话号码|校外电话号码]
●校内电话号码=非零数字+3位数字//后面继续定义
●校外电话号码=[本市号码|外地号码]
●本市号码=数字零+8位数字
●外地号码=数字零+3位数字+8位数字
●非零数字=[1|2|3|4|5|6|7|8|9]
●数字零=0
●3位数字=3{数字}3//3至3个数字
●8位数字=非零数字+7位数字
●7位数字=7{数字}7
●数字=[0|1|2|3|4|5|6|7|8|9]
3-3银行计算机储蓄系统
请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。
●ER模型
✓本问题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。
因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:
N)关系。
✓储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。
3-6复印机的工作过程大致如下
●从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。
引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。
用面向数据流的方法设计下列系统的软件结构
(1)储蓄系统2-2
(2)机票预定系统2-3
●为了方便旅客,某航空公司拟开发一个机票预定系统。
旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出机票给顾客
(2)患者监护系统2-4
可以是两个子系统,预定和取票是不同的处理方式(后台批量和前台单个)
P131:
3画出下列伪码程序的程序流程图和盒图
START
IFpTHEN
WHILEqDO
f
ENDDO
ELSE
BLOCK
g
n
ENDBLOCK
ENDIF
STOP
下图给出的程序流程图代表一个非结构化的程序,请问:
(1)为什么说它是非结构化的?
(2)设计一个等价的结构化程序。
(3)在
(2)题的设计中你使用附加的标志变量flag吗?
若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序
(1)通常所说的结构化程序,是按照狭义的结构程序
的定义衡量,符合定义规定的程序。
图示的程序的
循环控制结构有两个出口,显然不符合狭义的结构
程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag,至少有两种方法可以
把该程序改造为等价的结构化程序,图示盒图描绘
了等价的结构化程序。
(3)不使用flag把该程序改造为等价的结构化程序的方法如图所示。
P131:
8画出下列伪码程序的流图,计算它的环形复杂度。
你觉得这个程序的逻辑有什么问题吗?
CEXAMPLE
LOOP:
DOWHILEX>0
A=B+1
IFA>10
THENX=A
ELSEY=Z
ENDIF
IFY<5
THENPRINTX,Y
ELSEIFY=2
THENGOTOLOOP
ELSEC=3
ENDIF
ENDIF
G=H+R
ENDDO
IFF>0
THENPRINTG
ELSEPRINTK
ENDIF
STOP
V(G)=结点E-弧数n+1
=17-11+1=7
=判断结点+1
=6+1=7
=封闭的区域数
P131:
7
●
●
●令P代表交易的总金额,Q代表每股的售价,n代表交易的股数。
●
(1)表示手续费计算方法的判定表如图所示。
●判定表的每一列是一条计算规则。
例如,第1列(规则1)规定,当交易总金额P少于1000元,且每股售价Q低于14元,且交易的股数n是100的倍数时,给经纪人的手续费为
●(l+0.05)×0.084P
●第16列(规则16)表明,当交易总金额P超过10000元,且每股售价Q在14元到25元之间,且交易的股数n不是100的倍数时,手续费为
●(1+0.06)×(0.04P+134)
●
(2)表示手续费计算方法的判定树如图所示。
补充1、某高校研究生招生系统的初选方法如下:
总分300(含)以上进入候选学生库,否则退档;数学分数不低于70分,则进入三级备选库,否则进入四级备选库;在三级备选库的基础上,如果专业课分数高于100分,则进入一级备选库,否则进入二级备选库,请画出对应的判定树。
补充2、某校的课酬计算方案如下:
(l)基本课酬为每节课10元;
(2)如果班级人数超过40人,课酬增加:
基本课酬×0.1;(3)如果班级人数超过60人,课酬增加:
基本课酬×0.2;(4)如果教师是副教授,课酬增加:
基本课酬×0.1;(5)如果教师是教授,课酬增加:
基本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬减少:
基本课酬×0.1。
请用判定表表达上述计算方案
1
2
3
4
5
6
7
8
9
10
11
12
人数≤40
T
T
T
T
40<人数≤60
T
T
T
T
人数>60
T
T
T
T
助教
T
T
T
讲师
T
T
T
副教授
T
T
T
教授
T
T
T
课酬:
9元/节
√
课酬:
10元/节
√
√
课酬:
11元/节
√
√
√
课酬:
12元/节
√
√
√
课酬:
13元/节
√
√
课酬:
14元/节
√
作业(第7章)
4(3)、设计下列伪码程序的语句覆盖和路径覆盖测试用例:
START
INPUT(A,B,C)
//判定表达式1
IFA>5THEN
X=10
ELSE
X=1
ENDIF
//判定表达式2
IFB>10THEN
Y=20
ELSE
Y=2
ENDIF
//判定表达式3
IFC>15THEN
Z=30
ELSE
Z=3
ENDIF
PRINT(X,Y,Z)
STOP
语句覆盖的测试用例
序号
判定
输入
预期的输出
1
2
3
A
B
C
X
Y
Z
1
F
F
F
1
1
1
1
2
3
2
F
F
T
1
1
60
1
2
30
3
F
T
F
1
40
1
1
20
3
4
F
T
T
1
40
60
1
20
30
5
T
F
F
20
1
1
10
2
3
6
T
F
T
20
1
60
10
2
30
7
T
T
F
20
40
1
10
20
3
8
T
T
T
20
40
60
10
20
30
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 张海藩 习题