
面向数据流的分析方法.ppt
68页一个小型图书馆管理系统,需完成以下工作: 1 借书、还书; 2 在图书馆中增加/删除一本书; 3 按照作者名或专业领域检索一批书; 4 找出被某位读者借出的一批书; 5 找出最近借走某本图书的读者 该系统有两类用户:图书管理员与普通读者 功能4供普通读者使用功能1、2、5供图书管理员使用 系统必须满足条件: 1馆中所有未借出的书籍能够供读者随时借阅 2在同一时刻,一本书不能既被借出,又被借阅 3一个读者一次借出的书籍数目不能超过预定值需求是什么?现实世界计算机世界映射计算中抽象的本质和使用源于实验科学,主要要素是数据采集方法和假设的 形式说明,模型的构造与预测实验分析结果分析在为可能的算法、数据结构和系统结构等构造模型 时使用抽象抽象的结果是概念符号模型1 通过对现实环境的调查,获得当前系统的物理模 型学 生学 生购 书 申 请购 书 单发 票领 书 单书信北107 张教务科 信北206 王会计室 信北206 李出纳员 (实南) 赵教材科学生购买教材的实际处理流程:当前系统物理模型2 去掉具体模型中的非本质因素: ◦ 抽取现实系统的实质,抽象出当前系统的逻辑模型。
学 生学 生购 书 申 请购 书 单发 票领 书 单书审查 有效性开发票开领 书单发书学生购买教材的逻辑模型3 分析当前系统与目标系统的差别,建立目标 系统的逻辑模型 学 生审查并 开发票购书单发票领书单开领 书单无效购书单学 生计算机教材管理系统的逻辑模型4 对目标系统的逻辑模型进行细化、改进与优化5 需求分析的验证当前 系统目标 系统物理 模型逻辑 模型逻辑 模型物理 模型模型化抽象化具体化实例化怎 么 做做 什 么当前 系统目标 系统需 求 定 义软件需求分析实现以下几个目标:给出软件系统的数据领域、功能领域和行为领域 的模型;提出详细的功能说明,确定设计约束条件,规定 性能要求;密切与用户的联系,使用户明确自己的任务,以 便实现上述两项目标用户需求分类 ◦ 功能性需求:定义了系统做什么(描述系统必须支持 的功能和过程) ◦ 非功能性需求(技术需求): 定义了系统工作时的特性描 述操作环境和性能目标)§系统做什么? §系统何时做什么? §系统何时及如何修改或升级?软件开发的技术性指标例如: §存储容量限制 §执行速度、响应时间 §吞吐量§硬件设备:机型、外设、接口、地点、分布、温度、 湿度、磁场干扰等§软件:操作系统、网络、数据库 等§有来自其它系统的输入吗?§到自其它系统的输出吗?§对数据格式有规定吗?§对数据存储介质有规定吗?§用户类型?§各种用户的熟练程度?§需受何种训练?§用户理解、使用系统的难度?§用户错误操作系统的可能性?计算机世界现实世界 结 构 化 开 发 方 法SASDSPOOAOODOOP面 向 对 象 开 发 方 法按照信息的流向、结构、和内容三个方面可以将 现有的需求分析建模方法划分为: ◦ 面向信息流向:结构化分析方法◦ 面向信息内容:面向对象分析方法描述系统需求时可以从系统的功能、行为和信息 三个方面进行,侧重点可以不一样。
七十年代未期 Douglas Ross提出结构化分析的术 语DeMarco[DEM79] 进行推广,给出分析员可以创建 信息流模型的主要图形记号建议将“数据字典”和“处理说明”作为信息流模型 的补充,並提供方法应用的实例E-R图状态变迁图 (STD图)加加 工工 规规 约约控制规约控制规约数数 据据 对对 象象 规规约约数据字典 (DD)数据流图 (DFD)核心 数据字典 描述软件工程项目的所有数据对象 中间层 实体-关系图、数据流图、状态-变迁图实体-关系图 描述数据对象之间的关系数据流图 功能建模的基础,系统或子系统对数据实施 的变换、变换的功能提供信息分析的信息状态-变迁图 行为建模的基础,系统的行为模式(称“ 状态”)以及状态变迁的方式数据分析工具:ER图或者EER(扩展ER)图功能分析工具:DFD、DD、结构化语言行为分析工具:状态迁移图、Petri网等SA主要针对数据处理领域,因此,系统分析的侧 重点在于功能分析和数据分析,而行为分析使用 得较少采用自顶向下、逐层进行功能分解的系统分析方 法来定义系统的需求方法的特点:利用数据流图(Data Flow Diagram, DFD)来帮助理解问题,对问题进行分析。
一般工具:DFD、数据字典、结构化语言等 适用于分析大型的数据处理系统结构化分析遵循的三条基本原则: ◦ 抽象 ◦ 分解 ◦ 映射三个主要目标: ◦ 描述用户需要 ◦ 建立创建软件设计的基础 ◦ 定义软件完成后可被确认的一组需求数据流图上只限于前述四种基本图形元素每个加工至少有一个输入数据流和一个输出数据 流在数据流图中,需按层给加工编号父图与子图的平衡图上每个元素都必须有名字不要混淆DFD和程序流程图和业务流程图!源点 1终点 1源点 2终点 2G顶层数据流图0层1层1231.11.22.12.23.13.23.33.4S S2 21 13 32.22.22.12.1 2.32.33.13.13.23.2顶层 (不编号)0层1层加工:动词短语,而不用处理、操作这些笼统的词数据流:名词或名词短语.数据流的名字要代表整个 数据流的内容,而不仅仅是它的某些部分,不使用缺 乏具体含义的名字,如数据、信息等.文件:名词或名词短语人 事 部 门人事工资 管理系统会 计 部 门职工出缺勤报表职工出缺勤信息职工工资信息职工工资报表职 工职工基本信息职工工资单人事工资管理系统的顶层DFD范例职工基本 信息管理 子系统12人事工资管理系统0层DFD范例职工出缺勤信息职工工资管 理子系统3 职工出缺 勤管理 子系统职工基本信息职工工资信息人 事 部 门会 计 部 门职 工职工出缺勤报表职工出缺勤信息职工工资信息职工工资报表职工基本信息职工工资单建立职工 出缺勤信息3.1人事工资管理系统1层DFD:加工3.0的分解图职工出缺勤信息3.2 制作职工出 缺勤信息 统计表职工基本信息职工 出缺勤报表职工 出缺勤信息 营业员将储户填写的存款单或取款单键入系统,如 果是存款,系统记录存款人的姓名、地址、存款类 型、存款日期、利率等信息,并打印出存款单给用 户;如果是取款,系统计算利息并打印利息清单给 用户。
顶层数据流图储户电子储蓄系统储户表单银行回执单取款单储户检验存款单存款回执单取款回执单+取款处理存款处理储户表单0层数据流图机票预定系统 ◦ 旅行社把预定机票的旅客信息(姓名、年龄、单位、身份 证号码、旅行时间、目的地等)输入机票预定系统系统 为旅客安排航班,打印出取票通知单(附有应交的帐款) 给旅客旅客在飞机起飞的前一天凭取票通知等交款取票 ,系统检验无误,系统输出机票给旅客画出系统的输入输出,即先画顶层数据流图 ◦ 找出源点、终点、加工和文件 ◦ 画出顶层数据流图旅行社飞机机票预定系统旅客旅客信息取票通知单机票取票单画系统内部,即画下层数据流图(子系统)预定机票 1旅客取票 2机票文件机票取票单订票单取票通知单一个简单的考务处理系统功能描述: (1)对考生送来的报名单进行检查; (2)对合格的报名单编好准考证号后将准考证送 给考生,并将汇总后的考生名单送给阅卷站; (3)对阅卷站送来的成绩单进行检查,并根据考 试中心制定的合格标准审定合格者; (4)制作考生通知单(含成绩及合格/不合格标志) 送给考生; (5)按地区进行成绩分类统计和试题难度分析, 产生统计分析表送给考试中心。
考 生考务 处理系统考 试 中 心阅卷站不合格报名单报名单准考证考生通知单成 绩 清 单合格标准错误 成绩 清单考 生 名 单统计分析表顶层数据流图考生 报名报名单准考证1 统计 成绩2不合格 报名单考生通知单统计分析表考生名册合 格 标 准考 生 名 单成绩清单错误成绩清单考生信息一层数据流图(1)检查 报名单报名单准考证1.1 编准考 证号1.2 不合格 报名单考生信息考生名单合格 报名单登记 考生1.3一层数据流图(2)检查 成绩清单2.1审定 合格者2.2考生名册正确 成绩清单制作 通知单2.3分析 统计成绩2.4分析 试题难度2.5成绩名册考生 通知单难度 分析表合格 标准分类 统计表成绩清单错误 成绩清单经审定的 成绩清单DFD可以用来表示一个系统或软件在任何层次 上的抽象.较大型软件系统DFD分成多层(子图 、父图)概念顶层数据流图把系统或软件作为一个单一的功 能来描述应当注意环境的输入和输出每个过程的每次细化一般控制在3-4个分过程 所有圆圈和箭头应用有意义的名称命名一个 名称只能出现一次沿着输入流的方向,一次最好只对一个加工细 化DD是对所有与系统相关的数据元素的一个有组 织的列表,以及精确的、严格的定义,使得用 户和系统分析员对于输入、输出、存储成分和 中间计算有共同的理解。
数据字典要对数据流图中出现的所有名字(数 据流,加工,文件)进行定义数据字典的条目由三大类组成,分别是:数据 流条目、数据项条目、文件条目、加工条目( 小说明) 名称 ◦ 数据项或控制项、数据存储或外部实体的主要名称 要求命名唯一性、一致性、“见名知义”别名(alias) ◦ 最早使用的另一个名称何处用/如何用 ◦ 使用数据或控制项的加工列表,以及如何使用内容描述 ◦ 表示内容的符号附加信息 ◦ 关于数据类型、预设值、限制或局限等信息操作符 含义描述= 定义为 + 与(顺序结构){...} 重复n次(循环结构)[…|…] 或(选择结构) “…” 基本数据元素( … ) 可选m{…}n 界域… 连接符F1:航班信息文件={航空公司名称+航班号 +起点+终点+日期 +起飞时间+降落时间} 航空公司名称=2{字母}4航班号=3{十进制数字}3字母=“A”…“Z”十进制数字=“0”…“9” 起点=终点=1{汉字}10起飞时间=降落时间=时+分时=“00”…“23” 分=“00”…“59”日期=年+月+日年=[2000|2001|2002|2004]月=“01”…“12” 日=“01”…“31”重复项:起点=终点=1{汉字}10航空公司名称=2{字母}4航班号=3{十进制数字}3 组合项:日期=年+月+日起飞时间=降落时间=时+分 选择项:年=[2000|2001|2002|2004] 原数据项:字母=“A”…“Z”十进制数字=“0”…“9”时=“00”…“23” 分=“00”…“59”月=“01”…“12” 日=“01”…“31”给出DFD中某个数据流的定义,通常包括: •数据流标识 •数据流来源 •数据流去向 •数据流的数据组成 •流动属性描述:频率、数据量购 书 单发票领书单 审查并 开发票开领 书单无效书单学生12各班学生 用 书 表学生教材存量表数据流名:购书单 别名: 无 简述: 学生购书时填写的项目 来源: 学生 去向: 加工1“审查并开发票” 组成: (学号)+姓名+{书号+数量} 数据流量:1000次/周 高峰值:开学期间1000次/天 对某个文件的定义,包括: •文件名 •描述 •数据结构 •数据存储方式 •关键码 •存取频率和数据量 •安全性要求文件名:库存记录 别名: 无 简述:存放库存所有可供货物的信息 组成:货物名称+编号+生产厂家+单价+库存量 组织方式:索引文件,以货物编号为 关键字 查询要求:要求能够立即查询不可再分解的数据单位,包括: •名称 •描述 •数据类型 •长度(精度) •取值范围及缺省值 •计量单位 •相关数据元素及数据。
