1、1-5 根据历史数据可以做出如下的假设 : 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.30.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.0480.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。,基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算: (1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少? (2) 假设在1985年一名程序员每天可开
2、发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。,(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。,(1)在1985年对计算机存储容量的需求,估计是,如果字长为16位,则这个存储器的价格是,(2)如果一条指令的长度为一个字,则使存储器 装满程序共需4474263条指令。,在1985年一名程序员每天可开发出10条指令, 如果每月有20个工作日,则每人每月可开发 出1020条指令。,为了开发出4474263条指令以装满存储器, 需要的工作量是:,程序员
3、的月平均工资是4000美元, 开发 出4474263条指令的成本是,(3)在1995年对存储容量的需求估计为:,如果字长为32位,则这个存储器的价格是:,如果一条指令为一个字长,则为使存储 器装满程序共需73,577,679条指令。,在1995年一名程序员每天可开发出30条指令, 每月可开发出600条指令,为了开发出可装满整 个存储器的程序,需要的工作量为,开发上述程序的成本为:,1-6 什么是软件过程?它与软件工程方法学有何关系? 软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件
4、质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。 软件过程是软件工程方法学的3个重要组成部分之一。,2-4 目前住院病人主要由护士护理,这样做 不仅需要大量护士,而且由于不能随时观察 危重病人的病情变化,还会延误抢救时机。 某医院打算开发一个以计算机为中心的患者 监护系统,请分层次地画出描述本系统功能 的数据流图。,医院对患者监护系统的基本要求是随时 接收每个病人的生理信号(脉搏、体温、血压、 心电图等),定时记录病人情况以形成患者日 志,当某个病人的生理信号超出医生规定的 安全范围时向值班护士发出警告信息,此外, 护士在需要时还可以要求系统印出某个指定 病人的病情报
5、告。,从问题陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。,系统对病人生理信号的处理功能主要是“接 收信号”、“分析信号”、和“产生警告信 息”。此外,系统还应该具有“定时取样生 理信号”、“更新日志”和“产生病情报告” 的功能。,为了分析病人生理信号是否超出了医生规定 的安全范围,应该存储“患者安全范围”信息。 此外,定时记录病人生理信号所形成的“
6、患者 日志”,显然也是一个数据存储。,2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 请用定义数据字典的方法,定义上述的电话号码。,数据结构的描述 符 号 含 义 举例 被定义为 与 x = ab .,. 或 .|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8 (.) 可选 x = (a) “.” 基本数据元素 x = “a”连结符 x
7、= 19,电话号码=校内电话号码|校外电话号码 校内电话号码=非零数字+ 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 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出
8、存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能。,补充1:某火车售票系统的数据流程图如下所示,查询 信息,查询 信息,班次,日期,线路,查询结果,查询 结果,查询结果,查询 结果,补充2:考虑一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好。然后系统逐个读入主文件上的记录,根据记录上的校验码校核每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管理
9、员参阅。请分层次画出上述主文件修改系统的数据流图。,本系统的数据源点和终点都是文件管理员, 他既向系统提供修改信息,又接收系统生产的 修改报告。,系统功能主要有:接收修改信息,读主文件,校 核记录,修改原始记录和产生报告。,注意,问题陈述中所述的“系统按照记录号把修改信息顺序排列好”,是具体的实现方法。在数据流图中无须描绘具体实现方法,因此,在本系统的数据流图中不需要包含“排列”功能。,类似地,“文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息”是系统接收修改信息的具体方法。在数据流图中无须描绘这个具体的实现方案,因此,在本系统的数据流图中不需要包含“穿卡片”和“读卡片”功能。,本系
10、统包含的数据存储是:修改信息、主文件和修改后的主文件。,文件 管理员,修改信息,主文件 修改系统,修改报告,文件 管理员,文件 管理员,修改信息,接收修改信息,读主 文件,D2主 文件,主文件,校核 记录,主文件,D1修改信息,修改信息,修改 原始记录,正确的记录,D3修改后的主文件,修改后的主文件,产生报告,修改信息,修改后的主文件,修改报告,文件 管理员,1,2,3,4,5,补充3:饭卡管理系统 任务概述:该系统是一套针对大学校园食堂饮食交费和一般消费等方面的信息管理系统,它包括了同学或教职工(后面把这两者统称为持卡者,把这两者的基本信息文档统一放在学校持卡者信息表中)在校内消费各方面内容
11、:刷卡消费、查询、存款和持卡者信息管理等。方便对饭卡信息进行各项操作,定时进行数据的备份更新,保持数据的一致性和准确性,各方面的内容应该相互联系,最终产生各种查询统计报表,以供持卡者进行检查。,此系统的主要任务就是把人们从繁琐的交 费,找零工作中解放出来,用计算机实现对销 售合同资料进行存款,消费,查询、修改、删 除以及存储等功能。同时,用计算机能够快速 准确地完成共档案资料的统计和汇总工作,迅 速地打印出各种报表资料以供使用。,系统流程图,根据系统的功能要求,我们要建立三个库文件, 分别是学校持卡者信息、饭卡存款额及历史情况 和饭卡信息备份。学校持卡者信息库用来存放全校 在校学生的各类信息,
12、比如姓名、学号(或工号)、 系别;饭卡存款额和历史库用来记录此张饭卡当前 的余额,刷卡时消费金额的历史记录以及存款的历 史记录;为了防止意外导致这些重要文件丢失,需 要备份,备份信息放入饭卡信息库中。,具体流程:首先,由持卡者递交书面申请提出 申请新卡的要求,管理员录入持卡者的信息,并调 出学校持卡者信息库进行核对确认该用户为合法持 卡者,就建立相应的饭卡信息并存档,这些信息也 要记入饭卡存款额和历史库文件,随后生成文档 “提交饭卡”。持卡者领到饭卡后,可以消费;还 可以随时对饭卡进行充值;在饭卡遗失后可以挂失; 持卡者离开学校后要注销饭卡;这些处理行为的每 次记录都要存入“饭卡存款额和历史库
13、文件”中, 并由这个库文件生成相应的报表并打印出来。本系 统的系统流程图如下图所示:,数据流图,首先,建立顶级数据流图,其中只含有一个代表 目标软件系统整体处理功能的转换。,根据饭卡管理系统与外部环境的关系确定顶级 数据流图中的外部实体有四个,分别是持卡者、管 理员、刷卡服务和刷卡器与显示器。我们把整个饭 卡系统的数据处理过程看作一个加工,它要与这四 个外部实体有联系,它的输入数据和输出数据反映 了本系统与这些外界环境的接口。系统的顶层数据 流图如下图所示:,按照分析人员对问题域和用户需求的理解,本系统有“持卡者信息管理”、“饭卡信息管理”和“饭卡消费记录管”三种子功能,我们按照这三种功能细化
14、“饭卡系统”这个处理,得到1级数据流图,如下图所示:,分析上面1层数据流图中的三个处理,采用常用的功能分解方法,我们可以继续对这三个处理功能进行细化。下图为饭卡管理系统的2层数据流图,图中三张图分别对这三个处理子功能完成细化操作。,细化持卡者信息管理的数据流图,细化饭卡信息管理的数据流图,细化饭卡消费记录管理的数据流图,上面完成了系统功能的初步细化,根据系统需要,我们对上面图中“饭卡信息管理”的子功能模块“加锁与解锁”、“注销”、“充值”和“消费”四个处理还可以再进一步细化,得到下面的3层数据流图。,细化“加锁与解锁”子功能,细化“注销”子功能,细化“充值”子功能,细化“消费”子功能,数据字典
15、,数据元素的数据字典卡片:,* 名 字:用户信息 别 名: 描 述:对饭卡管理系统进行操作的人员 定 义:用户信息=用户名+密码+用户类别 用户名=1字母| 数字18 密码= 1字母| 数字6 用户类别=管理员| 持卡者 管理员=1 持卡者=0 位 置:用户表 *,* 名字:持卡者信息 别名: 描述:记录持卡者相关信息 定义:持卡者信息= 学生学号|教职工工号+饭卡ID+持卡者姓名+性别+电话号码+地址 学生学号|教职工工号= 3数字|字母11 饭卡ID =8数字|字母8 持卡者姓名 = 6字符11 性别 = 男|女 电话号码 = 11数字11 地址 = 8字符100 位置:持卡者信息表 *,* 名字:饭卡信息 别名: 描述:记录饭卡的相关信息 定义:饭卡信息 = 饭卡ID+余额+锁饭卡ID = 8数字|字母8 余额= 20数字500 锁=1|0 位置:饭卡信息表 *,* 名字:饭卡历史信息 别名: 描述:记录饭卡历史的信息 定义:持卡者信息=饭卡ID+时间+款额+操作饭卡ID =8数字|字母8 时间= 年+月+日 款额=0数字500 操作=存款|消费|其他 位置:饭卡历史信息表 *,