营口理工大学-营口理工大学
软
件
工
程
专业:计算机科学与技术
班级:计科
1018
姓名:耿晋中
学号:
1062041803
第一章
1.5
根据历史数据可以做出如下的假设
:
对
计
算
机
存
储
容
量
的
需
求
大
致
按
下
面 p>
公
式
描
述
的
趋
势
逐
年
增
加
:
M=4080e0.28(Y-1960)
存储器的价格按下面公式描述
的趋势逐年下降:
P1=0.3
×
0.72Y-1974(
美分
/
位
)
如
果
计
算
机
字
长
为< /p>
16
位
,
则
存
储 p>
器
价
格
下
降
的
趋
势
为
:
P2=0.048
×
0.72Y-1974(
美元
/
字 p>
)
在上列公式中
Y
代表年份,
M
是存储容量
(
字数
)
,
P1
和
P2
代表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:
(1)
在
1985
年对计算机存储容量 的需求估计是多少
?
如果字长为
16
位,这个存< /p>
储器的价格是多少
?
(2)
假 设在
1985
年一名程序员每天可开发出
10
条指 令,
程序员的平均工资是每
月
4000
美 元。
如果一条指令为一个字长,
计算使存储器装满程序所需用的成本。
< p>
(3)
假设在
1995
年存储器 字长为
32
位,一名程序员每天可开发出
30
条指 令,
程序员的月平均工资为
6000
美元,重复
(1)
、
(2)
题。
解:
(
1
)
?
在
1985
年对计算机存储容量的需求,估计是
M=4080e
0.28
(
19 85-1960
)
=4080e
=
4474263
(字)
7
?
如果字长为
16
位,则则这个存储器的价格是
< /p>
P=0.048*0.72
(
1985-1974
)
*4474263=5789
(美元)
(
2
)
?
如果一条指令的长度为一个字,则使存储器装满程序 共需
4474263
条指令。
?
在
1985
年一名程 序员每天可开发
10
条指令,如果每月有
20
个工 作日,则
每人每月可开发
10*20
条指令。
< p>
?
为了开发出
4474263< /p>
条指令以装满存储器,需要的工作量是:
4474263/200=22371
(人月)
?
程序员的月平均工资是
4000 p>
美元,开发出
4474263
条指令的成本是:
22371*4000=89484000
(美元)
(3)
?
在
1995
年对存储容量的需求估计为:
M=4080e
0.28
(
1995- 1960
)
=73577679
(字)
= 4080e
9.8
?
如果字长为
32
位,则这个存储器的价格是:
< /p>
P=0.003*32*0.72
1995-1974
*73577679=7127
(美元)
如果一条指令为一个字长,
则为使存储器装满程序共需
73,577,679 p>
条指令。
?
在
< p>1995年一名程序员每天可开发出
30
条指令,每月可开发 出
600
条指令,
为了开发出可装满整个存储器的程序,
需要的工作量为:
73577679/600=122629
(人月)
?
开发上述程序的成本为:
12262 9*6000=735776790
(美元)
第二章
重点
2-2
为方便储户, p>
某银行拟开发计算机储蓄系统。
储户填写的存款单或取
款单由
业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、
存款日期、利率
等信息,并印出存款单给储户;如果是取款,系统计算利息并印
出利息清单给储户。
p>
请写出问题定义并分析此系统的可行性。
数据流名称:取款单、存款单
别名:无
简述:顾客存
/
取款时填写的单据
来源:顾客
去向:核查
数据流量:
20 0
份
/
天
组成:日期+
[
取
|
存款金额 p>
]
+姓名+地址+
[
存
/
取款类
型
]+
密码+{账号}
数据流名称:存款凭证
别名:无
简述:顾客存款后得到的凭据
来源:银行存款系统
去向:顾客
<
/p>
数据流量:
200
份
/
天
< p>
组成:日期+存款金额+储户姓名+储户地址+存款
数据流名称:结算单
别名:无
简述:顾客取款时得到的利率清单
来源:银行储蓄系统
去向:顾客
数据流量:
200
份
/
天
组成:
取款日期+取款金额+储户姓名+ 储户地址+存款类型
+
利息+总
金额
+操作员
数据流名称:存
/
取款信息
别名:无
简述:系统检查确认后得到的存
/
取信息
来源:银行储蓄系统
去向:登录
数据流量:
200
份
/
天
组成:
日期+
[
存
|
取款金 额
]
+储户姓名+储户地址+存款类型
+
账号 p>
+利率+密码+操作员
数据流名称:付款信息
别名:无
简述:存储系统处理的取款信息
来源:银行储蓄系统
去向:付款处理
数据流量:
200
份
/
天
组成:日期+取款金额 +储户姓名+储户地址+存款类型
+
账号
+利息+总金额+操作员
数据存储名称:账卡
别名:无
简述:存放用户信息及存取款情况
组成:储户姓名+储户地址+账号+
|
日期
| p>
+
[
存
/
取款金
额
]+
存款类型+利率+密码+操作员
组织方式:
数据 文件,
以储户姓名或账号为关键字进行索引
查询要求:要求能立即查询并修改
数据项名称:存款类型
别名:无
简述:国家规定的几类存款方式
类型:字符串
长度:
2
位
取值范围及含义:
00
:定期;
01
:零存整取;
10
< p>:活期;11
:定
/
活两便
加工名:核查
编号:
激发条件:接受存款单或取款单
输入:存款单或取款单
输出:认定的合格的存
/
取款信息
加工逻辑:根据账卡及用户存
/
取款单据
if
单据=存款单
then
存款单据是否填写规范,是否与现金一致
else
审核是否为有效取款单,
取款金额不得超出存款金额,
密码是否正确
2-3
、为方便旅客,某
航空公司拟开发一个机票预定系统。旅行社把预定机票的
旅客信息(姓名、性别、工作单
位、身份证号码、旅行时间、旅行目的地等)输
入进入该系统,
系统为旅 客安排航班,
印出取票通知和账单,
旅客在飞机起飞的
前
一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
写出问题定义并分析系统的可行性。
1>
目标:在一个月内建立一个高效率,无差错的航空公司机票预定系统
2>
存在的主要问题:人工不易管理,手续繁琐
3>
建立新系统
①
经济可行性
成本效益分析
成本估算:打印机一台(
2000
元)
+
开发费(
3500
元)
=5500
元
可承担
效益估算
:
该系统有很好的社会效 益,
提高了航空公司售票效率,
方便了旅客,
售票方便化
,科学化
②
技术可行性
经过调查分析,得到目前航空公司机票预定系统流程图如下:
客
户
开
购
票
证
明
购票证明
开
购
票
发
票
发票
收费
机票单
机票
客户
系统管理员
系统管理员
系统管理员
系统管理员
p>
事
务
航
班
信
息
的
更
新
产生报表
服
务
器
终
端
显
示
数据
客
户
机
终
端
显
示
数
< p>据
客
户
机
终
端
显
示
数
据
在客户端打印
机票和账单
数
查
询
请
求
表单申请
机票核对事务
据
库
产生报表
产生报表
产
生
报
表
及
账
单
③操作的可行性
比较以上两图看出,与人工系统相比,计算机保留了原有的主要工作
流程
,
可以看出计算机系统是人工系统的优化,
操作也不复杂,
工作人 员在短时
间经过培训就可熟练掌握。
4>
结论
由于经济、技术、操作三方面的可行性分析都通过,因此此技术系开
发航
空公司机票预定系统是可行的。
2-4
、目前
住院病人主要由护士护理,这样做不仅需要大量的护士,而且由于不
能随时观察危重病人
的病情变化,
还可能会延误抢救时机。
某医院打算开发一个
以计算机为中心的患者监护系统,
试写出问题定义,
并且分析开发这个系统的可
行性。
医院对患者监护系统的基本要求是随时
接收每个病人的生理信号(脉搏、体温、
血压、心电图等)
,定时记录病 人情况以形成患者信息,此外,护士在需要时还
可以要求系统印出某个指定病人的病情报
告。
答
:
从文体陈述可知,
< p>本系统的数据源点是“病人”和“护士”,他们分别提供
生理信号和
要求病情报告的信息。
进一步分析问题陈述,
从系统应该“定时记录
病人情况以形成患者日志”这项要求可以想到,
还应该有一个提供日期和时间信
息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接受警告信息和病情报告的护士。
系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和 “产生
警告信息”。
此外,
系统还应具有“定时取样生理 信号”、
“更新日志”和“产
生病情报告”功能。
p>
为分析病人生理信号是否超出了医生规定的安全范围,应输出“患者安全范
围
”信息,
此外,
定时记录病人生理信号所形成的“患者日志”,
显 然也是一个
数据存储。
本系统的基本系统模型如下:
监护患者系统的基本系统模型
病人
生理信号
时钟
日
期
、
日
志
患者监护系统
警告信号、
病情报告
病人
护士
2-5
北京某高校可用的电话号码有以下几 类:校内电话号码由
4
位数字组成,第
1
位数字不是
0
;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨 p>
0
,
若是本市电话则再接着拨
8
位数字
(
第
1
位不是
0)
,
若是外地电话则拨
3
位区
码再
拨
8
位电话号码
(
第
1
< p>位不是0)
。
请
2 .5.2
小节讲述的定义数据的方法,定义上述的电话号码。
解:
?
数据结构的描述
符
号
含
义
举
例
=
被定义为
+
与
x
=
a
+
b
[...,...]
或
[...|...]
或
x = [a , b]
,
x = [a | b]
{ ... }
或
m{...}n
重复
x = {a}
,
x = 3{a}8
(...)
可选
x = (a)
“...”
基本数据元素
x = “a”
..
连结符
x = 1..9
?
电话号码
=[
< p>校内电话号码|
校外电话号码
]
?
校内电话号码
=
非零数字
+ 3
位数字
//
后面继续定义
?
校外电话号码
=[
本 市号码
|
外地号码
]
?
本市号码
=
数字零
+8
位数字 p>
?
外地号码
=
< p>数字零+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
银行计算机储蓄系统的工作过程大致如下:
储户填写的存款单或取款单
由业务员键入系统,如果是存款则系统记录存
款人姓名、住址
(
或电话号码
)
、身
份证号码、存款类型、存款日期、到期日期、利率及密码
(
可选
)
等信息,并印出
存单给储户;
如果是取款而且 存款时留有密码,
则系统首先核对储户密码,
若密
码正确
或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并用实体
-
联 系图描绘系统中的数据对象。
解:数据流图:
E1
E1
P0
储蓄系统
F1
存款单
F3
存单< /p>
储户
储户
F2
取款单
F4
利息清单
F
5
存款信息
F5
存款信息
P3.1
F2
取款单
F5
存款信息
输入取款信息
E1
D1
(
1
)
存款信息
储户
无效取款信息
D1
存款信息
F7
密码
P3.2
F7
密码
密码校验
(
2
)
ER
模型
< br>本问题中共有两类实体,分别是“储户”和“储蓄所”
,在它们之间存在“存取
< p>款”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,
所以“存取款”是多对多(
M:N
)关系。
储户的属性主要有姓名、
住址、
电话号码和身份证号码,
储蓄所的属性主要是名
称、地址和电话号码,而数额、类型、到期日期、利率和密码则是
关系类型存取
款的属性。
ER
模型图:
3-5
目前住院病 人主要由护士护理,这样做不仅需要大量护士,而且由于不能随
时观察危重病人的病情变
化,
还会延误抢救时机。
某医院打算开发一个以计算机
为
中心的患者监护系统。
医院对患者 监护系统的基本要求是随时接收每个病人的生理信号
(
脉搏、
体温 、
血压、心电图等
)
,定时记录病人情况以形成患者日志 ,当某个病人的生理信号
超出医生规定的安全范围时向值班护士发出警告信息,
此外,
护士在需要时还可
以要求系统印出某个指定病人的病情报告
。
试用实体
-
联系图描绘本系统中的数 据对象并用数据图描绘本系统的功能,画出
本系统顶层的
IPO
图。
解:
总
E-R
图:
性别
姓名
脉搏
心电图
n
系统
1
患者日志
生成
病人
血压
n
m
值班护士
通信
1
1
监护
体温
系统
数据流图
(1)
:
1
病情报告、警告、病情日志
生理信号
监护
值班护士
病人
系统
请求
数据流图
(2):
2.1
D2
日志库
病情
分析结果
日志
病情日志
子
系统
2
1.1
请求
分析
生理信号
值班护士
监护
生理信号
子
病人
设备
系统
子
警告信息
系统
分析结果
2.2
D1
安全指标
病情报告
Ipo
图:
输入:
传感器
输出:
输入病人生理信号
记录病人情况
患者日志
查询病人信息
护士
打印报告
查询结果
3-6
复印机的工作过程大致如下:未接到复印命令时 处于闲置状态,一旦接到复
印命令则进入复印状态,
完成一个复印命令规 定的工作后又回到闲置状态,
等待
下一个复印命令;如果执行复印命令时
发现没纸,则进入缺纸状态,发出警告,
等待装纸,
装满纸后进入闲置状 态,
准备接收复印命令;
如果复印时发生卡纸故
障,
p>
则进入卡纸状态,
发出警告等待维修人员来排除故障,
故障排除后回到 闲置
状态。
请用状态转换图描绘复印机的行为。
解:
从问题陈述可知,
复印机的状态主要有
“闲置”
、
“复印”
、
“缺纸”
和
“卡纸”
。
引起状态转换的事件主要是“复印命
令”
、
“完成复印命令”
、
“发现缺纸”
、
“装满
纸”
、
“发生卡纸故障” 和“排除了卡纸故障”
。
医院计算机
监护系统
发出报警信号
护士