




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 面向数据流的分析方法,软件工程,本章要点,数据流图与数据字典 实体关系图 基于数据流的分析方法,结构化分析方法,结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速,自然和方便。 结构化方法总的指导思想自顶向下、逐步求精。它的基本原则是功能的分解与抽象。 结构化开发方法的组成 上世纪70年代初 结构化程序设计方法 SP法(Structured Program) 上世纪70年代中 结构化设计方法 SD法(Structured Design) 上世纪70年代末 结构化分析方法 SA法(Structured
2、Analysis) SA,SD,SP 法相互衔接,形成了一整套开发方法。若将SA,SD 法结合起来,又称为结构化分析与设计技术(SADT 技术)。,结构化的分析模型,结构化分析方法,核心 数据字典:描述软件工程项目的所有数据对象 中间层:实体-关系图、数据流图、状态-变迁图 实体-关系图 描述数据对象之间的关系 数据流图 功能建模的基础 系统或子系统对数据实施的变换、变换的功能 提供信息分析的信息 状态-变迁图 行为建模的基础 系统的行为模式(称“状态”)以及状态变迁的方式,结构化分析方法,最外层 数据对象描述、加工规格说明PSPEC、控制规格说明CSPEC 数据对象 表示实体-关系图中每个数
3、据对象的属性 加工规格说明PSPEC 描述数据流图的每个功能。 控制规格说明CSPEC 描述软件控制的附加信息,SA概述,分解:对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决(如右图)。,一、SA法的基本思想 结构化分析方法的基本思想是“分解”和“抽象”。,抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就是“抽象”。,SA概述,1.建立当前系统的“具体模型”。,三、SA法的描述方法 1.分层的数据流图 2.数据词典 3.描述加工逻辑的结构化语言、判
4、定表及判定树,二、SA法的步骤,4、为了对目标系统做完整的描述,还需要考虑人机界面和其他一些问题。,3.建立目标系统的逻辑模型。,2.抽象出当前系统的逻辑模型。,DFD的例子,图书预定系统(顶层DFD图),顾客,出版社,验证 订单,汇总 订单,订单,出版社 订单,图书目录文件,正确 订单,一批 订单,出版社档案文件,画图步骤 : 1.确定外部实体及输入、输出数据流。 2.确定分解顶层的加工。 3.确定使用的文件。 4.用数据流将各部分连接起来,形成数据封闭。,注意:标注各加工框及数据流名称。,数据流图,数据流图(Data Flow Diagram,DFD)是描述系统中数据流程的图形工具,它标识
5、了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。,还有一些辅助的图例:,一、数据流图的图符 四种基本图形符号:,画分层DFD的方法,“先全局后局部,先整体后细节,先抽象后具体” 通常可将这种分层的DFD图,分为顶层、中间层、底层。 具体步骤: 1.先确定系统范围,画出顶层的DFD图。 2.逐层分解顶层DFD图,获得若干中间层DFD图。 3.画出底层的DFD图。,顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张。底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。在顶层和底层之间的是中间层。中间层的数据流图描述了某个加工的分解,而它的
6、组成部分又要进一步分解。 画各层DFD图时,“由外向内”。,分层DFD的实例,顶层,中 间 层,底 层,先全局后局部,先整体后细节,先抽象后具体.,0图,1图,2图,1.1图,2.1图,2.2图,医院病房监护系统,经过初步的需求分析,得到系统功能要求: 1、监视病员的病症(血压、体温、脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。,监视病情,更新病历,医院病房监护系统,系统功能要求: 1、监视病员的病症(血压、体温、脉搏等) 2、定时更新病历 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。,第一层DFD,第二层:加工“中央监视
7、”分解,医院病房监护系统分层DFD图,实例:教材购销系统的数据流图,人工销售教材的系统流程图,实例:教材购销系统的数据流图,学 生,教材 购销 系统,保 管员,外部实体,外部实体,实例:教材购销系统的数据流图,教材销售子系统,1.3 登记并开 领书单,1.2 开发票,1.1 审查 有效性,1.4 登记 缺书,1.5 补售 教材,采 购,学 生,学 生,暂缺书单,补售 书单,第 3 层,F1 书号 单价 数量,外部 项,实例:教材购销系统的数据流图,采购 子系统,第 2 层,缺书单,2.3 修改教材库 存和待 购量,销 售,2.1 按书号汇 总缺书,2.2 按出版社统 计缺书,保 管员,分层数据
8、流图的优点,便于实现采用逐步细化的扩展方法,可避免一次引入过多的细节,有利于控制问题的复杂度。 直观 一目了然 便于使用用一组图代替一张总图,方便用户及软件开发人员阅读。,数据流程图的绘制方法,(1)由外向内,先外部后内部,先粗后细; (2)由顶向下,先父图后子图; (3)由左向右,从输入到处理到输出; (4)由主到次,先处理一般情况,再处理特例、出错等特殊情况; (5)合理命名,唯一标识,反映层次,例如P5表示第5个子系统的处理逻辑;P3.5表示第一层第3个处理中对应的第二层第5个处理逻辑; (6)父子图平衡(一致),下面将详细介绍; (7)以层次不超过4 ,每层处理不超过7为宜,最终画到功
9、能模块处理逻辑和数据库设计; (8)尽量避免数据流的线条交叉。,画分层DFD图的基本原则,数据守恒与数据流封闭原则 所谓数据守恒是指加工的输入/输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。或者说一个加工至少有一个输入数据流,一个输出数据流。 数据封闭是对整个系统而言。 加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几个部分; 分解度:一般每一个加工每次分解最多不要超过个子加工,分解应分解到基本加工为止。 每一个加工每次可分为2-4个子加工,最多不得超过7个。,画分层DFD图的基本原则,子图与父图的“平衡”数据、功能完备性父图中某个加
10、工的输入输出数据流应该同相应的子图的输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。,画分层DFD图的基本原则,遵守加工编号规则顶层加工不编号。第二层的加工编号为1,2,3,n号。第三层编号为1.1,1.2,1.3n.1,n.2等,依此类推。 区分局部文件和局部外部项,局部 外部项,局部 文件,分层DFD的改进,DFD图必须经过反复修改,才能获得最终的目标系统的逻辑模型(目标系统的DFD图)。可从以下方面考虑DFD图的改进: 1.检查数据流的正确性 数据守恒 子图、父图的平衡 文件使用是否合理。特别注意输入/出文件的数据流。 2.改进DFD图的易理解性 简化加工之间的联系
11、(加工间的数据流越少,独立性越强,易理解性越好)。 改进分解的均匀性。 适当命名(各成分名称无二义性,准确、具体)。,数据字典(Data Dictionary, DD),内容提示 数据字典的内容 定义数据的方法 数据字典的用途 数据字典的实现,数据字典,数据字典是数据流图中所有元素定义的集合。是在数据流程图的基础上,进一步定义和描述数据流处理过程,外部实体及数据存储(数据库)的详细逻辑内容的工具。数据流程图加上数据字典就是一套完整的逻辑设计。 数据字典的作用 在软件分析和设计过程中为人们提供有关数据的描述信息。 通常,我们把数据字典和数据流图结合使用。它们共同构成了系统的逻辑模型: 没有数据字
12、典,数据流图就不严格; 没有数据流图的数据字典难以发挥其作用。,数据字典的内容,数据字典对数据流图中出现的所有元素给出定义 数据流的名称,由哪些数据项组成(数据项是数据的最小组成单位,不可再分),数据流的来源与去处,流通量(产生频率:多长时间传送多少次)及高峰流通量。 数据存储(数据库)的名称与结构,流入与流出的数据流名称; 处理逻辑的名称、编号、主要功能,流入与流出的数据流名称; 数据项的名称、编号、类型、长度、取值范围 外部实体名称,流入与流出的数据流名称,数据字典的内容,数据字典的每一个词条一般包含下列具体内容: 一般信息名字、描述等; 定义数据类型、长度、结构等; 使用特点值的范围、使
13、用频率、使用方式等; 控制信息来源、用户、调用程序、权限等; 分组信息所在位置、从属结构等。 数据字典与数据流图密切配合,能清楚、无二义性地表达数据处理的要求,数据字典定义的符号,=,被定义为,+,与, ,x=a+b,则表示 x 由 a 和 b 组成,x=a,b,则表示 x 由 a 或由 b 组成, ,或,重复,x=a,则表示 x 由 0个或多个 a 组成,( ),可选,表示在两个 * 之间的内容为词条的注释,m n,重复,x=3a8,则表示x中至少出现3次a ,最多出现8次,*,注释符,x=(a),则表示 a 在 x 中出现, 也可不出现,数据字典举例数据流词条,数据流名: 说明:简要介绍作
14、用即它产生的原因和结果。 数据流来源:即该数据流来自何方。 数据流去向:去向何处。 数据流组成:数据结构。 每个数据量流通量:数据量、流通量。,数据字典举例数据项,数据项名: 类型:数字(离散值、连续值),文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构,数据字典举例数据文件,数据文件名: 简述:存放的是什么数据。 输入数据: 输出数据: 数据文件组成:数据结构。 存储方式:顺序,直接,关键码。 存取频率: ,数据字典举例加工逻辑,加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 取值范围: 相关的数据元素及数据结构 ,数据字典举例外部实体,名称:
15、外部实体名 简要描述:什么外部实体 有关数据流: 数目:,数据字典的实现,人工方法将每一字典中的词条写在一张卡片上,由专人管理和维护 自动方法利用 “字典管理程序”在计算机中对字典进行管理和维护。,加工说明(Process Specification),加工说明:对 DFD 中每个加工给予说明。它是从系统功能的角度对 DFD 作出了注解,与 DD 一样是DFD 必不可缺少的辅助资料。,加工说明,加工说明组成,加工说明 描述工具,描述把输入数据流变 换为输出数据流的加工过程,是加工说明的主体。,加工说明,-学生购买教材的 逻辑模型,加工说明,自然语言+结构化形式,结构化语言,加工说明,例1: 请
16、写出下列在 DFD 图中给出的 “统计晚婚职工” 的加工说明,Count Late -Marriage Employees,Late-Marriage -Count Request,职工名册文件,Late-Marriage-List =List-Count+Name-List,Name-List=Name,加工说明,Count Late-Marriage Employees Policy For each Late-Marriage-Count request: Repeat the following; Access the staffs-Record. If status is singl
17、e, If sex is male and Age is over 30 or sex is female and Age is over 26 Write Name to Name-List. Increment List-Count. Until there are no more Staff-Records. Combine List-Count and Name-List. Write Up Late-Marriage-List.,加工说明,-学生购买教材的 系统逻辑模型,例2: 请为下列DFD中的“审查并开发票”加工点写加工说明,加工说明,把学生学号和姓名写到发票上 按购书单上学生的
18、年级和系、专业与班号 检索“各班学生用书表”文件,获得该生当年的书单 对 购书单上的每一书号 如果 书单上无此书号 则 把书号写到出错通知单上 否则 按书号检索 “教材存量表”文件, 从而获得该书的单价与库存量 如果 库存量 购书单的数量 则 将书号写到出错通知单上 否则 将书号、单价、数量、总价等项写入到发票上; 更新存书量,并写回“教材存量表” 文件; 累计书费合计 把书费合计写到发票上,对每张购书单,条件复杂嵌套层次多,则可理解性差,加工说明,分房加工逻辑,判断表,1、一般职工婚后5年可参加分房 2、中级以上职称的职工婚后3年 可参加分房 3、符合正常分房条件的职工, 若再符合晚婚条件可
19、优先分房,加工说明,判定树,判断树,实体-关系图,需求分析的重要任务是,对复杂的数据及数据关系进行分析、建模。 实体关系图是数据模型的基础,它描述数据对象、属性及其关系。 本节主要内容 数据对象、属性与关系 实体-关系图,数据对象、属性与关系,数据对象 现实世界具有不同特征和属性的实体或事务的标识,计算机软件描述并处理的一组信息。如事件、行为、角色、组织、地点、结构等。 数据对象只封装了数据,没有包含作用于这些数据上的操作。 数据对象由其属性刻画。,数据对象的属性,属性用“标识符、符号串和值”标识,描述数据对象的性质。包括: (1)命名:标识数据对象 (2)描述:描述数据对象的性质 (3)引用
20、:建立数据对象之间的联系 数据对象的属性是原子数据项,不包含内部数据结构。 数据对象的任何属性有且仅有一个属性值。 现实世界的实体具有许多属性,分析人员只能考虑与应用问题有关的属性。,数据对象描述,例:汽车销售管理问题的数据对象描述表。 汽车属性:制造商、型号、标识码、车体类型、颜色、买主,数据对象、属性与关系,问题的数据对象与其它数据对象存在各种形式的关联。 数据模型研究,数据对象、数据对象的属性、数据对象之间的关系。 基于数据的对象、属性与关系构成应用问题数据模型的基本要素。,例:汽车销售问题的数据对象、属性与关系 数据对象 数据对象 关系 制造商 汽车 生产 购车用户 汽车 购买,实体关系图,一个X与一个Y相关联,一个X与一个或多个Y相关联,一个X与零个或一个Y相关联,一个X与零个, 一个或多个Y相关联,一个X与一个Y或Z相关联,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微生物检测与公众健康研究试题及答案
- 项目管理资格考试参考资料试题及答案
- 项目随机事件应对相关题目及答案
- 项目管理认证考试难度试题及答案
- 初中政治共建“一带一路”倡议:进展贡献与展望素材
- 关注项目管理专业人士的职业素养提升试题及答案
- 理解2025年证券从业资格证考试的评估标准试题及答案
- 2025年证券从业资格证考试观点探讨与试题答案
- 证券从业资格分析与解题试题及答案
- 理解不同行业投资的特点试题及答案
- GB/T 40090-2021储能电站运行维护规程
- 产业经济学教材(第三版) 王俊豪14.产业结构政策
- 《智慧城市概论》课程教学大纲
- 2023年河南测绘职业学院单招综合素质考试笔试题库及答案解析
- 无机保温砂浆外墙外保温系统施工工艺课件
- 产品追溯记录表
- 高三二轮复习:产业转移以富士康的企业转移为例课件
- 政府信息资源管理
- 中小微企业划型证明
- 西南交大区段站工作组织课程设计2018
- 《监察机关监督执法工作规定》测试题试题含答案
评论
0/150
提交评论