软件工程应用实例
1、北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用定义数据字典的方法,定义上述的电话号码。
解:数据字典定义电话号码如下:
电话号码=[校内号码|校外号码]
校内号码=非0数字+3{数字}3
校外号码=0+[本市号码|外地号码]
本市号码=非0数字+7{数字}7
外地号码=3{数字}3+非0数字+7{数字}7
非0数字=[1|2|3|4|5|6|7|8|9]
数字=[0|1|2|3|4|5|6|7|8|9]
2、根据下列N-S图,写出其对应的伪码。
解:伪码
Start
A
Do
B
If x1then
F
if x4then
Do
I
whilex5
Enddo
Else
G
H
Endif
Else
Switch(x2)
Case1:
Do whilex3
C
Enddo
Case2:d
Case3:e
Endif
whilex6
End do
End
3、某培训中心要研制一个计算机管理系统。(10分)
它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。
1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
I)对以上问题画出数据流程图。
II)画出该培训管理的软件结构图的主图。
解:数据流图
4、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。
解:
5、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
解:从问题陈述可知,复印机的状态主要有闲置、复印、缺纸和卡纸。引起状态转换的事件主要有复印命令、完成复印命令、发现缺纸、装满纸、发生卡纸故障和排除了卡纸故障。
状态转换图描绘的复印机的行为。
6、画出下列伪码程序的程序流程图和盒图。
START
IFpTHEN
WHILEqDO
f
ENDDO
ELSE
BLOCK
g
n
ENDBLOCK
END IF
STOP