《数据流图及数据字典练习及答案_计算机-数据结构与算法》由会员分享,可在线阅读,更多相关《数据流图及数据字典练习及答案_计算机-数据结构与算法(8页珍藏版)》请在金锄头文库上搜索。
1、- - - word.zl- 1需求分析阶段的主要任务是什么?怎样理解分析阶段的任务是决定“做什么,而不是“怎样做? 解: 需求分析阶段的主要任务是用户和软件人员双方一起来充分地理解用户的要求, 并把双方共同的理解明确地表达成一份书面文档需求说明书。用户要求通常包括功能要求、性能要求、可靠性要求、平安保密要求以及开发费用、开发周期、可使用的资源等方面的限制,其中功能要求是最根本的,它又包括数据要求和加工要求两方面。所以,软件阶段的任务是解决软件系统做什么,而不是怎么做。 2什么是构造化分析方法?要经过哪些步骤来实现? 解: 所谓构造化分析方法是在分析一个软件系统时使用“自顶向下逐层分解的方式表
2、达用户需求。对系统作了合理的逐层分解后,就可分别理解系统的每一个细部,这样,就可以有效地控制系统的复杂性。 构造化分析方法的步骤: 理解当前的现实环境,获得当前人工系统的具体模型。 从当前系统的具体模型抽象出当前系统的逻辑模型。 分析目标系统与当前系统逻辑上的差异,建立目标系统的逻辑模型。 为目标系统的逻辑模型作补充。 3为什么 DFD 要分层?画分层 DFD 要遵循哪些原那么? 解:对一个大型的系统,如用一张数据流图画出所有的数据流和加工,那么图纸将极其庞大复杂,因而难以理解。为了控制复杂性,SA 方法采用“分层的技术。 画分层 DFD 要遵循哪些原那么: 分解应自然,概念上合理、清晰。 只
3、要不影响数据流图的“易理解性, 可以适当地多分解成几局部, 这样分层图的层数就可少些。 一般说来,在上层可以分解得快些,而在下层那么应分解得慢些,因为上层是一些综合性的描述,“易理解性相对地说不太重要 - - - word.zl- 4选择一个系统(例如人事档案管理系统、图书管理系统、医院监护系统、足球俱乐部管理系统、财务管理系统、学生选课系统、飞机订票系统等),用 SA 方法对它进展分析,画出系统的分层 DFD 图,并建立相应的数据词典。 解:下面是一个学生选课系统的 DFD 。 数据词典 (l)数据流条目 是用户和软件人员双方一起来充分地理解用户的要求并把双方共同的理解明确地表达成一份书面文
4、档需求说明书用户要求通常包括功能要求性能要求可靠性要求平安保密要求以及开发费用开发周期可使用的资源等方面的限制其中功什么是构造化分析方法要经过哪些步骤来实现解所谓构造化分析方法是在分析一个软件系统时使用自顶向下逐层分解的方式表达用户需求对系统作合理的逐层分解后就可分别理解系统的每一个细部这样就可以有效地控制系统的复杂统的逻辑模型分析目标系统与当前系统逻辑上的差异建立目标系统的逻辑模型为目标系统的逻辑模型作补充为什么要分层画分层要遵循哪些原那么解对一个大型的系统如用一张数据流图画出所有的数据流和加工那么图纸将极其庞大- - - word.zl- 数据流 选课单 选课单学生学号十课程编码1 数据流
5、 学生课程表 学生课程表学生学号十课程时间表l 数据流 课程成绩单 课程成绩单课程编码十课程名十任课教师| 指导教师十学号十姓名十成绩(十备注) 数据流 费用 费用学生学号十课程编码十课程费用l十合计金额 数据流 学生学号 别名 学号 学生学号:根本数据项,由 8 位数字组成。其中 l5 位为班级号,68 位为班内序号,从 OOl 开场。 数据流合法选课记录 别名 选课记录,重修课程,已选课程 合法选课记录学号+课程时间表 (2)文件条目 文件 开课清单 是用户和软件人员双方一起来充分地理解用户的要求并把双方共同的理解明确地表达成一份书面文档需求说明书用户要求通常包括功能要求性能要求可靠性要求
6、平安保密要求以及开发费用开发周期可使用的资源等方面的限制其中功什么是构造化分析方法要经过哪些步骤来实现解所谓构造化分析方法是在分析一个软件系统时使用自顶向下逐层分解的方式表达用户需求对系统作合理的逐层分解后就可分别理解系统的每一个细部这样就可以有效地控制系统的复杂统的逻辑模型分析目标系统与当前系统逻辑上的差异建立目标系统的逻辑模型为目标系统的逻辑模型作补充为什么要分层画分层要遵循哪些原那么解对一个大型的系统如用一张数据流图画出所有的数据流和加工那么图纸将极其庞大- - - word.zl- 课程记录课程编码十课程名十注册金额 十任课教师| 指导教师(十职称)十起始周+终止周+ 上课时间 组织:
7、以课程编码为记录关键字升序排列 文件 课程注册表 注册记录学生学号十课程编码十课程名十任课教师| 指导教师(十职称)十起始周十 终止周十上课时间 组织:以课程编码为记录关键字升序排列 文件 学生成绩库 学生成绩学生学号十课程编码十成绩十备注 组织:以学号为记录关键字升序排列 注释:备注域用于标识课程类别(必修/ 限选/ 任选) (3)数据项条目 课程编码:xxxxxxx(7 位数字) 第 l 位:系编号 第 23 位:教研室编号 第 46 位:课程序号 第 7 位:课堂号 课程时间表=课程编码十起始周十终止周十星期十节十教室号 起始周、终止周 122 星期 16 节:112 教室号:xxxx
8、课程名=长度30 的字符串 任课教师、指导教师姓名=长度8 的字符串 成绩nnn(3 位整数) (4)加工说明 加工 l.l合法性检查 BEGIN 是用户和软件人员双方一起来充分地理解用户的要求并把双方共同的理解明确地表达成一份书面文档需求说明书用户要求通常包括功能要求性能要求可靠性要求平安保密要求以及开发费用开发周期可使用的资源等方面的限制其中功什么是构造化分析方法要经过哪些步骤来实现解所谓构造化分析方法是在分析一个软件系统时使用自顶向下逐层分解的方式表达用户需求对系统作合理的逐层分解后就可分别理解系统的每一个细部这样就可以有效地控制系统的复杂统的逻辑模型分析目标系统与当前系统逻辑上的差异建
9、立目标系统的逻辑模型为目标系统的逻辑模型作补充为什么要分层画分层要遵循哪些原那么解对一个大型的系统如用一张数据流图画出所有的数据流和加工那么图纸将极其庞大- - - word.zl- 读取选课单; WHILE 课程编码不空 DO 在开课清单中查找该课程; IF 找到 THEN 输出合法选课记录; 取该生下一选修课程编码 END DO ; 输出该生学号; END 加工 1.2查已修课程成绩 BEGIN 根据学号在学生成绩库中查找该生的重修课程; 输出重修课程编码; END 注释:学生成绩记录中成绩不及格,备注必修那么该课程重修 加工 1.3计算课程冲突率 BEGIN 接收合法选课记录或者重修课程
10、; REPEAT CASE 课程类别 OF 重修课程:/ 重修课程必须优先安排/ BEGIN 查开课清单;填写该生个人课表 END ; 合法选课记录: BEGIN 根据课程号在开课清单中查当前所选课程时间表; 检查当前所选课程与该生已选课程是否冲突; IF 不产生冲突 THEN 填写该生个人课表; ELSE BEGIN 是用户和软件人员双方一起来充分地理解用户的要求并把双方共同的理解明确地表达成一份书面文档需求说明书用户要求通常包括功能要求性能要求可靠性要求平安保密要求以及开发费用开发周期可使用的资源等方面的限制其中功什么是构造化分析方法要经过哪些步骤来实现解所谓构造化分析方法是在分析一个软件
11、系统时使用自顶向下逐层分解的方式表达用户需求对系统作合理的逐层分解后就可分别理解系统的每一个细部这样就可以有效地控制系统的复杂统的逻辑模型分析目标系统与当前系统逻辑上的差异建立目标系统的逻辑模型为目标系统的逻辑模型作补充为什么要分层画分层要遵循哪些原那么解对一个大型的系统如用一张数据流图画出所有的数据流和加工那么图纸将极其庞大- - - word.zl- 计算冲突率; IF 冲突率3O THEN 填写学生个人课表 / 当前课程可选 ELSEBEGIN 根据课程类别优先序删除冲突课程;/ 优先序:重修,必修, / 限选,任选 重新计算课程冲突率; END END END END 接收合法选课记录
12、或者重修课程; UNTIL 合法选课记录或者重修课程不存在; 输出已选课程; END 加工 1.4计算课程注册费 BEGIN 读取选课单; 合计费用=0; WHILE 课程编码不空 DO 在开课清单中查找该课程注册费; 合计费用=合计费用十课程注册费; 取该生下一选修课程编码 END ; 输出费用; END 加工 2 课程注册 BEGIN 是用户和软件人员双方一起来充分地理解用户的要求并把双方共同的理解明确地表达成一份书面文档需求说明书用户要求通常包括功能要求性能要求可靠性要求平安保密要求以及开发费用开发周期可使用的资源等方面的限制其中功什么是构造化分析方法要经过哪些步骤来实现解所谓构造化分析
13、方法是在分析一个软件系统时使用自顶向下逐层分解的方式表达用户需求对系统作合理的逐层分解后就可分别理解系统的每一个细部这样就可以有效地控制系统的复杂统的逻辑模型分析目标系统与当前系统逻辑上的差异建立目标系统的逻辑模型为目标系统的逻辑模型作补充为什么要分层画分层要遵循哪些原那么解对一个大型的系统如用一张数据流图画出所有的数据流和加工那么图纸将极其庞大- - - word.zl- 确认学生交费注册; 根据学生已注册课程在开课清单中查找课程; 写学生课程注册表; END 加工 3.1打印学生课表 BEGIN 课程注册表逐一读取学生学号; WHILE 学号 DO 在开课清单中查找该课程注册费; 合计费用
14、=合计费用十课程注册费; 取该生下一选修课程编码 END DO 输出费用; END 加工 3.2 打印学生课表 BEGIN 将课程注册表中记录按照课程编码排序; 根据课程编码打印课程成绩单; END 5某公司承当空中和地面运输业务。计算货物托运费的比率规定如下: 空运,如果货物重量小于等于 2kg那么一律收费 6 元;如果货物重量大于 2 kg 而 又小于等于 20 kg,那么收费 3 元/kg ;如果货物重量大于 20 kg,那么收费 4 元/kg 。 地运,假设为慢件每 kg 收费为 l 元,假设为快件,当重量小于等于 20 kg时,收费为 2 元/kg ,当货物重量大于 20 kg时,那
15、么收费为 3 元/kg 。 请画出对应于计算托运费比率的判定树和判定表。 解: 是用户和软件人员双方一起来充分地理解用户的要求并把双方共同的理解明确地表达成一份书面文档需求说明书用户要求通常包括功能要求性能要求可靠性要求平安保密要求以及开发费用开发周期可使用的资源等方面的限制其中功什么是构造化分析方法要经过哪些步骤来实现解所谓构造化分析方法是在分析一个软件系统时使用自顶向下逐层分解的方式表达用户需求对系统作合理的逐层分解后就可分别理解系统的每一个细部这样就可以有效地控制系统的复杂统的逻辑模型分析目标系统与当前系统逻辑上的差异建立目标系统的逻辑模型为目标系统的逻辑模型作补充为什么要分层画分层要遵
16、循哪些原那么解对一个大型的系统如用一张数据流图画出所有的数据流和加工那么图纸将极其庞大- - - word.zl- 判定表: 方式 空运 空运 空运 地运 地运 地运 货物重量 20Kg 2Kg、20Kg 20Kg 慢件 重量20Kg 20Kg 收费 6 元 3 元/Kg 4 元/Kg 1 元/Kg 2 元/Kg 3 元/Kg 是用户和软件人员双方一起来充分地理解用户的要求并把双方共同的理解明确地表达成一份书面文档需求说明书用户要求通常包括功能要求性能要求可靠性要求平安保密要求以及开发费用开发周期可使用的资源等方面的限制其中功什么是构造化分析方法要经过哪些步骤来实现解所谓构造化分析方法是在分析一个软件系统时使用自顶向下逐层分解的方式表达用户需求对系统作合理的逐层分解后就可分别理解系统的每一个细部这样就可以有效地控制系统的复杂统的逻辑模型分析目标系统与当前系统逻辑上的差异建立目标系统的逻辑模型为目标系统的逻辑模型作补充为什么要分层画分层要遵循哪些原那么解对一个大型的系统如用一张数据流图画出所有的数据流和加工那么图纸将极其庞大