第五章 面向数据流的分析方法
第五章结构化分析与建模
结构化分析模型
系统模型从以下不同的角度表述系统:
从外部来看,它是对系统分析上下文或系统环境建模; 从行为上看,它是对系统行为建模; 从结构上看,它是对系统的体系结构和系统处理的数 据结构建模。
系统行为模型:
结构化的需求分析模型有:
数据流模型,用来描述系统中的数据处理过程。 状态转换模型,用来描述系统如何对事件做出响应。
数据流图举例
假设我们要开发一个学生管理系统。 其中开发小组通过进行进一步的需求调查,明 确了该系统的主要功能是进行学籍管理,包括 学生报到、入学、毕业的管理,学生上课情况 的管理。 通过详细的信息流程分析和数据收集后,生成 了该子系统的数据流图。
将0层 DFD中的加工“1.0报到”分解成1层DFD中的3个子 加工:“ 1.1 核对录取通知书”、“ 1.2 核对体检结果”和 “1.3同意入学”。保留0顶层DFD加工边界中的7个数据流。 随着加工的分解,新增两个数据流“已核对的录取通知书” 和“已核对的体检结果”。
数据流图举例:飞机机票预订系统:旅行社把预订机票的旅客信 息输入机票预订系统。系统为旅客安排航班,打印出取票通知单 (附应交的帐款)。旅客在飞机起飞的前一天凭取票通知等交款 取票,系统检验无误,输出机票给旅客。
旅行社
订票单 分类并检查
有效订票单 订票
航班 取票单 有效取 票单 记账文件 机票准备 账单 记账 取票通知单 航班目录
旅客
机票
机票文件
旅行社
数据流图举例(分层)
设一个工厂采购部每天需要一张定货报表。定货 的零件数据有:零件编号、名称、数量、价格、 供应者等。零件的入库、出库事务通过计算机终 端输入给定货系统。当某零件的库存数少于给定 的库存量临界值时,就应该再次定货。 数据流分析:
软件工程考试题目汇总
软件工程考试题目汇总1. 螺旋模型是在瀑布模型与增量模型的基础上增加了风险分析活动。
(对)2. 软件是指用程序设计语言编写的程序,软件开发实际上就是编写程序代码。
(错)3. 过程描述语言能够用于描述软件的系统结构。
(错)4. 数据库设计说明书是一个软件配置项(对)5. 软件模块之间的耦合性越弱越好。
(对)6. 假如通过软件测试没有发现错误,则说明软件是正确的。
(错)7. 软件概要设计包含软件系统结构设计与数据结构与数据库设计。
(对)8. 数据流图(DFD)与程序流程图没有区别。
(错)9. 模块化,信息隐藏,抽象与逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(对)10. 白盒测试无需考虑模块内部的执行过程与程序结构,只要熟悉模块的功能即可。
(错)11. 软件危机是指在软件开发与保护过程中遇到的一系列严重问题。
(对)12.结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。
(对)13.程序设计语言中应绝对禁止使用GOTO语句。
(错)14.模块越小,模块的优点越大。
(错)15.集成测试要紧由用户来完成。
(错)16. 确认测试计划应该在可行性研究阶段制定(错)17.快速原型模型能够有效地习惯用户需求的动态变化。
(对)18.需求规格说明书不是一个软件配置项(错)19. 黑盒测试无需考虑模块内部的执行过程与程序结构,只要熟悉模块的功能即可。
(对)20. UML只能应用于软件系统模型的建立。
(错)名词解释1.软件工程: 软件工程是一门研究如何将完善的科学与工程原理,先进高效的管理技术以及完整、规范的设计方法应用于经济的开发既可靠,又能在实际计算机上有效运行的软件的一门工程学科。
2.软件宽度:是软件结构中同一层次上的模块总数的最大值。
3.软件测试:在精心操纵的系统环境下,使用相应的技术手段,利用一组事先构造好的测试实例执行程序以发现程序中存在的问题,并确认系统功能、性能符合需求的一个综合过程。
第5章06(面向数据流的分析方法)
2. 数据字典中条目的种类(补充)
数据字典由对下列五类元素的定义组成: • 数据流 • 加工 • 数据存储/数据文件 • 数据元素,即数据流及数据存储的组成成分。 • 源点和汇点
1)数据流词条
是数据结构在系统内的传播的路径。一个数据流词 条应该包括以下内容: 数据流名 说明:简要介绍作用即产生的原因和结果 数据流来源:来自何方。 数据流去处:去向何处。 数据流组成:数据结构。
顶层
(不编号)
S
0层
1 2
3
1层
2.1
2.2
3.1
3.2
2.3
4、进行检查和修改的原则
1)数据流图中的符号元素只能是上述的四种符号; 2)数据流图的顶层必须包括上述四种符号元素; 3)数据流图的主图上的数据流必须封闭在外部实体 之间; 4)每个加工必须有一个输入和输出数据流; 5)在数据流图中,按照层给加工框编号。编号表明 加工在哪一层,以及上下层的父子关系; 6)一个数据流子图必须对应着其上层的一个加工, 两者的输入和输出数据流必须相对应(平衡); 7)图中的每个元素必须都有名称; 8)数据流图中不可以夹带控制流。
图5.1 数据流图的图形记号
外部实体
数据的源点和终点,位于软件系 统边界之外的信息生产者或消费 者 变换数据的加工,转换数据的处理过程, 又称泡(bubble) 数据源又称数据存储,为一个和多个转
换提供数据源或数据存储服务的缓冲区、 文件或数据库
转换数据源Fra bibliotek数据流
数据流,在转换之间有向流动的数据
项或数据项集合
3. 数据字典的作用
数据流图机制并不足以完整地描述软件需求,因为它没 有描述数据流的内容.它必须与描述并组织数据条目的数据 字典配套使用,数据流图和数据字典一起构成系统的逻辑模 型. 数据字典最重要的用途是作为分析阶段的工具。在数据字 典中建立严密一致的定义有助于改进分析员和用户之间的通 信,避免许多误解的发生。数据字典也有助于改进不同的开 发人员或不同的开发小组之间的通信。同样,将数据流图和 对数据流图中的每个元素的精确定义放在一起,就构成了系 统的、完整的系统规格说明。 可以通过名称查询数据的定义,以及通过定义反过来查 询数据名称; 可以按照各种需要,随时列出各种表,以满足分析人员 的需要。 通过检查各个加工的逻辑功能,可以实现和检查在数据 和程序之间的一致性和完整性。
面向数据流的分析方法
面向数据流的分析方法面向数据流的分析方法,简称Data-Driven Analysis (DDA),是一种基于数据流进行分析的方法。
数据流指的是在其中一时间段内持续产生的数据集合。
随着大数据时代的到来,数据流分析也越来越受到关注,因为它可以实时地处理和分析大量且持续增长的数据。
1.实时性:数据流分析方法着重于对数据流的实时处理和分析。
与批处理方法不同,数据流分析方法要求处理和分析的速度必须与数据产生的速度保持一致,以实现对数据的实时监控和决策支持。
这种方法通常使用窗口技术,将数据流划分为固定大小的窗口,并对窗口中的数据进行实时分析。
2.增量性:数据流分析方法以增量方式进行计算,只处理新到达的数据,无需重新处理已处理过的数据。
这种增量处理方式可以大大提高分析效率,缩短计算时间,并能持续地产生结果。
这种特点也使得面向数据流的分析方法适用于对长期数据流的分析,如网络流量监控、金融交易分析等。
3.资源效率:数据流分析方法通常采用高效的计算算法和数据结构,以减少计算和存储资源的消耗。
由于数据流通常是无限的并且随时间变化,因此资源的有效利用对于数据流分析方法来说至关重要。
常见的技术手段包括采样、压缩、在线聚类等。
4.数据处理及时性:由于数据流是实时产生的,因此对数据流进行处理和分析的方法必须具有高吞吐量和低延迟的特点。
这要求数据流分析方法在设计上要注重系统的并行性、可伸缩性和容错性,以应对大规模数据的处理需求。
1.流式机器学习:流式机器学习是一种针对数据流的机器学习方法,主要用于建模和预测数据流中的模式和趋势。
这种方法利用增量学习和在线学习的技术,在数据流中实时更新模型参数,以适应数据的变化。
常见的算法包括在线聚类、在线分类、流式决策树等。
2.基于窗口的分析:基于窗口的分析是一种将数据流划分为固定大小的窗口,并对窗口中的数据进行聚合和分析的方法。
这种方法主要用于解决一些具有时序关系的问题,如流量预测、趋势分析等。
04面向数据流的分析方法
■ 部分数据流的组成如下所示: 部分数据流的组成如下所示: 地区+序号 姓名+性别 年龄+文化程度 序号+姓名 性别+年龄 文化程度+职业 报名单 = 地区 序号 姓名 性别 年龄 文化程度 职业 +考试级别 通讯地址 考试级别+通讯地址 考试级别 报名单+准考证号 正式报名单 = 报名单 准考证号 地区+序号 姓名+准考证号 序号+姓名 准考证号+考试级别 准考证 = 地区 序号 姓名 准考证号 考试级别 考生名单= 准考证号+考试级别 考生名单 { 准考证号 考试级别 }
(1) 数据流词条的描述
数据流名: 数据流名: 说明:简要介绍作用即它产生的原因和结果。 说明:简要介绍作用即它产生的原因和结果。 数据流来源:即该数据流来自何方。 数据流来源:即该数据流来自何方。 数据流去向:去向何处。 数据流去向:去向何处。 数据流组成:数据结构。 数据流组成:数据结构。 每个数据量流通量:数据量、流通量。 每个数据量流通量:数据量、流通量。
(3) 数据文件词条的描述
数据文件名: 数据文件名: 简述:存放的是什么数据。 简述:存放的是什么数据。 输入数据: 输入数据: 输出数据: 输出数据: 数据文件组成:数据结构。 数据文件组成:数据结构。 存储方式:顺序,直接,关键码。 存储方式:顺序,直接,关键码。 存取频率: 存取频率: … …
审查并 发 开发票 票
数据流名: 数据流名:发票 说明: 说明:用作学生已付书款的依据 数据流来源:来自加工“审查并开发票” 数据流来源:来自加工“审查并开发票” 数据流去向:流向加工“开领书单” 数据流去向:流向加工“开领书单”。 数据流组成:学号+姓名+书号+单价总价+ 数据流组成:学号+姓名+书号+单价总价+书费合计
面向数据流的需求分析方法
这三种作用对需求说明书提出了不同的、有些矛盾的要求:
作为设计的基础和验收的依据,需求说明书应该是精确而无二义的,这样才不致被人误解。需求说明书越精确,则以后出现错误、混淆、反复的可能性就越少。例如“本系统应能令人满意地处理所有的输入信息”是一种含糊不清的描述,验收时无法检查这一要求是否满足。又如“响应时间足够快”也是不明确的,而“响应时间小于3S”则是精确的描述,在测试时可以检查系统“满足”还是“不满足”这个要求。
下面分别讨论各种成分。
1.数据流
数据流由一组固定成分的数据组成。如图2中,数据流“报名数据”由“姓名”、“年龄”、“性别”、“单位名”、“课程名”等成分组成,数据流“发票”由“姓名”、“单位名”、“金额”组成,它们的组成成分都是确定的。
数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,也可以从源点流向加工或从加工流向终点。
分析阶段是用户和软件人员双方讨论协商的阶段,由于双方缺乏共同语言,所以需要有中间人来主持工作,分析员就是双方之间的中间人。
一个分析员应具有以下的能力:
熟悉计算机技术。
了解用户业务领域的相关知识。
能在用户和软件人员之间借助数据处理的概念进行交流。
过去,计算机的应用领域还是比较简单的,相比之下,训练软件人员去理解用户的业务比使用户掌握软件技术要容易些。由于这一历史原因,目前分析员一角通常由软件人员一方资历较高的人担任。计算机将会应用于技术上比较复杂的领域,而计算机知识将越来越普及,那时分析员一角由用户方面熟悉计算机技术的人来担任将会更合适。
3.分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型。
4.为目标系统的逻辑模型作补充。
面向数据流的分析
1) 数据流图中的主要图形元素
加工。输入数据在此进行变换产生输出数据
注:5. 加工的名称由两部分组成,标识部分和功 能描述部分。
例:
1 销售
1) 数据流图中的主要图形元素
数据流。被加工的数据和流向
注: 数据流名 1.箭头上写有数据流名(名词) 2.除了与数据存储之间的数据流不用命名外, 数据流应该用名词或名词短语命名。 3.在数据流图中应该描绘所有可能的数据流向 4.数据流也是数据,是动态的数据。
a. 数据存储的名称及编号
b. 流入、流出的数据流
c. 数据存储的组成:包含的数据项或数据结 构
P1.7发货修 改库存
P1.8 编制库 存销售报表
数据存储名称:销售历史 编号:F05-01
F5 销售历史
简述:公司从月初到目前为止所有配件的销售量
流入的数据流:加工“P1.7 发货修改库存”
流出的数据流:加工“P1.8 编制库存销售报表” 数据存储组成:配件编号+日期+销售量
外部 项
缺书登记表
采 购
进书通知
1.5
补售 教材
暂缺书单
F2
1.4
登记 缺书
教材存量表
F1
补售 书单
学 生
无效书单 购书单
1.1
审查 有效性
有效书单
1.2
开发票
发票
1.3
登记并开 领书单
领书单
学 生
各班用书表
F3
售书登记表
F4
第 2
层
教材存量表
购书单 领书单
学 生
1 销售
进书通知
2 采购
缺书单 进书通知
数据字典的内容
赵良《软件工程》面向数据流的分析方法
实例分析
顶层数据流图
储户表单
储户
电子储蓄系统 银行回执单
0层数据流图 储户表单
存款单 储户检验 + 取款单
1 存款处理 2 取款处理
存款回执单
取款回执单
实例分析2
机票预定系统
旅行社把预定机票的旅客信息(姓名、年龄、 单位、身份证号码、旅行时间、目的地等)输 入机票预定系统。系统为旅客安排航班,打印 出取票通知单(附有应交的帐款)给旅客。旅 客在飞机起飞的前一天凭取票通知等交款取票, 系统检验无误,系统输出机票给旅客。
需受何种训练?
用户理解、使用系统的难度? 用户错误操作系统的可能性?
现实世界
SA
OOA
OOD OOP
面 向 对 象 开 发 方 法
结 构 化 开 发 方 法
SD
SP
计算机世界
需求分析建模方法
按照信息的流向、结构、和内容三个方面可以将 现有的需求分析建模方法划分为: 面向信息流向:结构化分析方法 面向信息内容:面向对象分析方法 描述系统需求时可以从系统的功能、行为和信息 三个方面进行,侧重点可以不一样。
源点 1 G 源点 2 终点 2 终点 1
0层、1层数据流图
0层
1 2 3
1层
1.1 1.2 2.1 3.1 3.3 3.2
2.2
3.4
顶层
(不编号)
S
2
0层
1
3
1层
2.1
2.2
3.1
3.2
2.3
数据流图的命名规则
加工:动词短语,而不用处理、操作这些笼 统的词 数据流:名词或名词短语.数据流的名字要 代表整个数据流的内容,而不仅仅是它的某 些部分,不使用缺乏具体含义的名字,如数 据、信息等. 文件:名词或名词短语
第五章面向数据流的软件设计方法
第五章面向数据流的软件设计方法面向数据流的软件设计方法是一种基于数据流和数据转换的软件设计方法。
它将软件系统视为一系列数据流和数据转换的组合,以实现特定的功能。
在这种设计方法中,数据是主要的组织和控制因素,因为它们代表了软件系统中的信息流动。
面向数据流的软件设计方法的核心概念是数据流和数据转换。
数据流是指数据在系统中的传递路径,可以是从外部输入到系统,从系统内部传递到另一个部分,或从系统输出到外部。
数据转换是指对输入数据进行处理、转换和计算的过程,以产生输出数据。
数据转换可以由不同的模块或组件来完成。
在面向数据流的软件设计方法中,一个系统可以被分解成多个子系统或模块,每个子系统或模块负责处理特定的数据流和数据转换。
这种分解使得系统结构清晰,并且易于维护和修改。
同时,面向数据流的设计方法还可以促进软件复用,因为可以将通用的数据流和数据转换模块应用于不同的系统中。
面向数据流的软件设计方法还有一些常用的建模技术和工具,可以帮助设计师更好地理解和描述系统的数据流和数据转换。
其中最常用的技术是数据流图。
数据流图是一种图形表示方法,用于展示数据在系统中的流动和转换过程。
通过使用数据流图,设计师可以清晰地识别系统中的数据流和数据转换,并且可以通过增加、删除或修改数据流和数据转换来改进系统的性能和功能。
面向数据流的软件设计方法在许多领域都得到了应用,特别是在大型和复杂的软件系统中。
它可以帮助设计师更好地理解系统的结构和行为,并且可以帮助他们在系统设计和开发的过程中做出更明智的决策。
此外,面向数据流的设计方法还可以促进软件系统的可维护性和可扩展性,因为不同的子系统或模块可以独立地开发和测试,并且可以随着需求的变化而进行修改和扩展。
总之,面向数据流的软件设计方法是一种基于数据流和数据转换的软件设计方法。
它将数据流和数据转换视为系统的核心组织和控制因素,并且通过使用数据流图等建模技术和工具来帮助设计师更好地理解和描述系统的结构和行为。
关于面向数据流的分析方法
关于面向数据流的分析方法面向数据流的分析方法是一种基于数据流的计算模型,它将计算过程描述为一系列由数据流组成的阶段,每个阶段的计算依赖于先前阶段的输出数据流。
该方法充分利用了数据的并行性和局部性,可以实现高效的计算和通信。
在面向数据流的分析方法中,数据被视为流,在计算过程中不断流动。
这种流动可以是连续的,也可以是离散的。
计算过程按照数据流的先后顺序进行,每个阶段的计算依赖于前一个阶段产生的数据流。
这种流动的特性使得面向数据流的分析方法适用于处理实时数据分析、流式计算以及大规模数据处理等领域。
数据流分析方法的一个重要特点是它的并行性。
在数据流计算模型中,每个阶段的计算可以并行进行,不同阶段之间的计算不会相互干扰。
这种并行性使得数据流分析方法能够充分利用多核处理器、分布式计算系统等并行计算平台的性能,提高计算效率。
另一个重要特点是数据的局部性。
在数据流计算过程中,每个计算阶段只关心自己的输入数据流和输出数据流,不需要访问其他阶段的数据。
这种局部性降低了数据通信、同步的开销,提高了计算效率。
同时,数据流计算模型还可以对数据进行局部优化,如数据压缩、索引等,进一步提高计算性能。
面向数据流的分析方法还具有较好的容错性。
由于数据流的连续性,计算过程可以根据需要动态调整,适应数据流的变化。
当计算过程出现错误或异常时,可以通过重新计算前一阶段或从错误点重新启动计算来恢复。
这种容错性可以保证计算的可靠性和稳定性。
面向数据流的分析方法具有广泛的应用领域。
在实时数据分析领域,数据流计算可以对数据进行实时处理和分析,如实时监控、实时推荐、实时预测等。
在流式计算领域,数据流计算可以对连续的数据流进行高效处理,如媒体处理、网络监测等。
此外,数据流计算还可以应用于大规模数据处理、分布式计算等领域,实现高效的数据处理和分析。
虽然面向数据流的分析方法具有很多优势,但也存在一些挑战和限制。
首先,数据流计算的实现和优化需要深入理解应用领域的特点和需求,设计合适的计算模型和算法。
SE05面向数据流的分析方法
购书单 领书单
教材 购销 系统
缺书单 进书通知
保 管员
第 1 层
教材存量表
F1
学 生
购书单 领书单
1 销售
进书通知
2 采购
缺书单 进书通知
保 管员
缺书登记表
F2
第 2 层
实例:教材购销系统的数据流图
教材存量表 购书单
学 生
1 销售
进书通知
2 采购
缺书单
领书单
缺书登记表
进书通知
保 管员 第 2 层
教材销售子系统 F1 书号 单价 数量
数据字典(Data Dictionary, DD)
内容提示 数据字典的内容 定义数据的方法 数据字典的用途
数据字典的实现
数据字典
数据字典是数据流图中所有元素定义的集合。是在 数据流程图的基础上,进一步定义和描述数据流处 理过程,外部实体及数据存储(数据库)的详细逻 辑内容的工具。数据流程图加上数据字典就是一套 完整的逻辑设计。 数据字典的作用 在软件分析和设计过程中为人们提供有关数据 的描述信息。 通常,我们把数据字典和数据流图结合使用。它们 共同构成了系统的逻辑模型: 没有数据字典,数据流图就不严格; 没有数据流图的数据字典难以发挥其作用。
格式化 病员数据
血压
体温
4
更新日志
生成报告 日志数据
3.3 产生 报警信息
报警
病员日志
格式化 病员数据
格式化 病员数据
实例:教材购销系统的数据流图
人工销售教材的系统流程图
学生 开购书 证明 购书 证明 开购书 发票 发 票 收书费
领书单
学生
发书
实例:教材购销系统的数据流图
软件工程面向数据流的分析与设计方法PPT课件
第15页/共174页
3. 加工
加工也称为数据处理,是对系统中的数据流进行的某些操作或变换。 图中每个加工都要有对应的名称,最常见的名称是由一个表明具体动作 的动词和一个表明处理对象的名词构成的,如计算应发工资、打印工资 清单等。
4. 数据存储
在数据流图中用于保存数据的数据文件被称为数据存储,它可以是数 据库文件或任何其他形式的数据组织。流向数据存储的数据流可理解为 向文件写入数据或对文件进行查询,流出数据存储的数据流可理解为从 文件中读取数据或得到查询结果。
数据流 数据项(数据元素) 数据结构 数据存储 处理逻辑(基本加工) 外部实体
第34页/共174页
数据字典
数据字典的提出背景: 虽然数据流图能够形象、清晰地描述数据在系统中流动、
加工、存储的情况,但数据流图中的许多构成元素,如数据 流、数据存储、加工,仅依靠名称并不能反映其本质含义, 因此必须对这些构成元素进行严格的定义。作为对数据流图 的补充,数据字典(DD,Data Dictionary)能够准确地定义数 据流图中各组成成分的具体含义,二者共同构成了系统的逻 辑模型。
第9页/共174页
数据流图的图形记号
外部实体 位于软件系统边界之外的信息生产者或消费者
转换
转换数据流的处理过程,又称泡(bubble)
数据流
在转换之间有向流动的数据项或数据项集合
数据源
*
+
⊕
为一个或多个转换提供数据源或数据存储服务的缓冲 区、文件或数据库
“与”,即同时输入/出;
“或”,即至少一项输入/出; “异或”,即非同时输入/出。
4.应按照层次给每个加工编号,用于表明该加工所处的 层次及上 、下层的父图第与31页子/共图174的页 关系 。 编号的规则为 :
面向数据流的结构化分析方法SA
• 是一种介于自然语言和形式化语言之间的语言 • 语言的正文用基本控制结构进行分割,加工中的操作
用自然语言短语来表示 • 其基本控制结构有三种:
– 简单陈述句结构:避免复合语句;
– 重复结构:while_do 或 repeat_until 结构。
– 判定结构:if_then_else 或 case_of 结构;
9
必须描述的基本问题
软件需求描述
功能
性能
外部 接口
属性
需求基本问题
设计 限制
10
软件需求描述方法
软件需求分析的任务和过程 结构化分析方法 原型化方法 动态分析方法 数据及数据库需求
11
软件需求分析的任务 • 深入描述软件的功能和性能 • 确定软件设计的约束和软件同
其它系统元素的接口细节 • 定义软件的其它有效性需求
29
软件需求方法
• 需求分析方法由对软件问题的信息 域和功能域的系统分析过程及其表 示方法组成
• 大多数的需求分析方法是由信息驱 动的
• 信息域具有三种属性: 信息流、信 息内容和信息结构。
30
结构化分析方法
• 面向数据流进行需求分析的方法 • 结构化分析方法适合于数据处理类
型软件的需求分析 • 具体来说,结构化分析方法就是用
50
(4)加工逻辑词条描述
• 加工名: • 加工编号:反映该加工的层次 • 简要描述:加工逻辑及功能简述 • 输入数据流: • 输出数据流: • 加工逻辑:简述加工程序,加工顺
序
51
(5)源点及汇(终)点词条描述
• 名称:外部实体名 • 简要描述:什么外部实体 • 有关数据流: • 数目:
52
数据结构的描述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分析过程
面向数据的方法,以数据流为中心 。其核心概念包括:进程、 数据流、数据存储、外部实体、数据组和数据元素。有代表 性的模拟工具有:数据流图、数据字典、原始进程规格说明。
结构化分析方法(SA方法)--面向数据流自顶向下逐 步求精进行需求分析的方法。
沿数据流图回朔
用户复查 细化数据流图
一个加工环节,画出关联图。
(3)确定系统的主要信息处理功能,按此将整个系统分解成 几个加工环节(子系统)确定每个加工的输出与输入数据流 以及与这些加工有关的数据存储。 (4)根据自顶向下,逐层分解的原则,对上层图中全部或部
分加工环节进行分解。
数据流图的绘制步骤(2)
(5)重复步骤(4),直到逐层分解结束。
发票
2 开领 书单
领书单
学 生
各班学生用书表
教材存量表
—教材购销管理系统(3)
购书单 缺书单
学生
领书单
教材购销 管理系统
书 库 保管员
进书通知
1. 教材购销管理系统的顶层DFD
F1: 教材存量表
购书单
1
进书通知
2
缺书单
进书通知
学生
领书单
销售
采购
书 库 保管员
F2: 缺书登记表
2. 第二层DFD图—教材购销系统
(6)对图进行检查和合理布局,主要检查分解是否恰当、彻
底,DFD中各层是否有遗漏、重复、冲突之处,各层DFD及同 层DFD之间关系是否争取及命名、编号是否确切、合理等, 对错误与不当之处进行修改。 (7)和用户进行交流,在用户完全理解数据图的内容的基础 上征求用户的意见。
数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定 义的集合 1. 数据字典的内容 • 数据流 • 数据流分量 • 数据存储 • 处理
定货 信息
D2: 定货信息
学生评测数据 以测评子项得分为单 位评测数据记录 提交并存储
被评对象各测评 子项得分记录
以测评类型得分为 单位评测数据记录
统计
以评测 类型 为 单位的测评表
查询 被评对象各测评 类型的得分记录
教师教学网络测评系统数据流图
数据流图的绘制步骤(1)
数据流图的绘制步骤
(1)确定所开发的系统的外部项(外部实体),即系统的数 据来源和去处。 (2)确定整个系统的输出数据流和输入数据流,把系统作为
发
à û
Ê é
Ê é
书号
学号: 书名 单价
票 姓名: 数量 金额
备注
20 Ä Ô È ê Â Õ
2.2.4 实例:医院病房监护系统
实例:医院病房监护系统
监视病情
产生 病情报告
经过初步的需求分析,得到系统功能要求: 1、监视病员的病症(血压、体温、脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。
数据流图
D1: 库存清单 库存清单 1.1 1.2 仓 库 事务 接收 事务 更新库 管理员 事务 存清单
库存 信息
1.3 处理 定货
定货 2 报表 产生 采购员 报表
命名 • 为数据流(或数据存储)命名 • 为处理命名 用途 • 交流信息的工具 • 分析和设计的工具 • 进一步设计的依据
定货 信息
职称 职务 • 范式
教师
教师号
教
N
课程
课名
M
学
N
系
学生
年级
课程号
学时
成绩
通常用范式定义消除数据的冗余度(略)
图形工具
• 层次方框图: 用树形结构的一系列多层次的矩形框描绘数据的层次结构。 产 品
硬 件
软 件
服 务
处 理机
存 储器
外部 设备
系统 软件
应用 软件
软件 服务
硬件 维修
培训
操作 系统
编译 程序
学 生 学 生
购书 申请
购书 证明 购书 申请
1)通过对现实环境的调查 研究,获得当前系统的具体 模型
张秘书
王会计
李出纳
购书 申请
赵保管
书
学 生
购书 单
审 查 有效性
发票 有 效 开发票 购书单
开领 书单
领书 单
发 书
书
学 生
3)分析当前系统 与目标系统的差别, 建立目标系统的逻 辑模型。
学 生
购书 单
2、 用例由执行者激活,并提供确切的值给 执行者。
3、用例可大可小,但它必须是对一个具体 的用户目标实现的完整描述。
对应于软件子系统
Di = { P1,P2,P3,… Pm }
问题
对应于子软件的软构件
Pj = { F1,F2,F3,… Fk }
行为(功能)
问题Pj F1 F2 F3 … Fn
自顶向下需求分析模型图
对应于软件子系统
数据流图
数据流程图:描绘系统的逻辑模型,图中没有具体的物理元素,只是描绘信息在 系统中流动和处理的情况。 设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何 具体的实现这些功能。 2. 例子 定货 1. 符号(四种基本符号) 报表 定货 仓 库 事务 采购员 系统 管理员 数据的源 点或终点 基本系统模型 数据处理 D1: 库存清单 库存清单 定货 2 报表 采购员 产生 报表 定货信息 D2: 定货信息
数据存储
数据流 一些附加符号(略)
仓 库 事务 管理员
1 处理 事务
定货信息
功能级数据流图
数据流图说明:描绘“做什么”,不考虑“怎 么做” 箭头:数据流图和程序图中用箭头表示的控制流有本质不同, 不能混淆。在数据流图中应该描绘所有可能的数据流向,而不 应该描绘出现某个数据流的条件。 处理:处理并不一定是一个程序。一个处理框可以代表一系列 程序、单个程序或者程序的一个模块,也可代表一个人工处理 过程,如用户目视检查数据正确性。 数据存储:一个数据存储并不等同于一个文件,它可以表示一 个文件、文件的一部分、数据库的元素或记录的一部分等;数 据可以存储在磁盘、磁带、磁鼓、主存、微缩胶片、穿孔卡片 及其他任何介质上(包括人脑)。 数据存储和数据流都是数据,仅仅所处的状态不同。数据存储 是处于静止状态的数据,数据流是处于运动中的数据。
审查并 开发票
发票
开领 书单
领书单
发书
书
学 生
—教材购销管理系统(2)
4)对目标系统进 行补充和完善,并 写出完整的需求说 明。
学 生
购书单
审查并 开发票 发票 开领 书单 领书单 学
生
无效书单
无效书单
5)对需求说明进 行复审,直到确认 文档齐全,并且符 合用户的全部需求 为止
学 生
购书单
1 审查并 开发票
—教材购销管理系统(4)
3. 第三层DFD图—销售子系统
F2: 缺书登记表
采购
1.5 补售 教材
1.4 登记 缺书
F1: 教材存量表
领书单 1.1 审查 有效性
补售 书单
1.2 开发票 发票
暂缺 书单
1.3 领书并 开领书单 领书单
学生
无效书单
有效 购书单
学生
F3: 各班学生用书表
F4: 售书登记表
发票= 学号+姓名+{书号+[书名]+单价+数量+总价}+书费合计
教材存量表 = {书号+单价+数量} 暂缺书单 = 学号+姓名+ {书号+数量} 补售书单 = 学号+姓名+ {书号+数量}
ª Ö ¤³ õ ¦ ¶ §Ô Ì Ä Æ ë é ¥ ¼ Á ¹ Ì ¼ Ê Ê ·Ñ º ½ ² ¿ Á Ê µ Ñ º £ §Ô º Ê º é Å ¨Ò º ×µ £ Ê Ã é û à ¶ º ©¼ £ Ê Á ý ¿ §º º Ñ Å £ º Å Õ û º Ð Ã £ Ê Á ý ¿
产生 报警信息
报警
格式化 病员数据
时间 格式化 病员数据
时钟
医院病房监护系统分层DFD图
第一层
1
局部监视
病员极限 生理信号 极限值
第二层:加工“中央监视”分解
3.1 开解信号
病员
病员 数据 3 中央监视 病症报告
病员数据
脉搏
病员极限 生理信号 极限值
护士
格式化 病员数据
血压
体温
3.2 计算超过 极限值否
软件 工具
注意:层次方框图即可 以表示数据的层次结构,也 可以表示程序的层次结构
层次方框图的一个例子
图形工具(续)
• Warnier 图: 用树形结构描绘数据的层次结构。
应用 软件
软件 产品
操作系统(P1)
⊕
系统 软件
编译程序 (P2)
编辑程序(P3)
软件工具 测试驱动程序(P4) 设计辅助程序(P5)
生理信号
病员
病员数据 报警
极限值
3
中央监视
格式化 病员数据
护士
病症报告
2
生成报告
日志数据 护士 要求报告
4
更新日志
日志数据
病员日志
医院病房监护系统二层DFD图
第二层:加工“中央监视”分解
3.1
病员数据
病员极限
脉搏 生理信号 极限值
开解信号
血压Biblioteka 体温3.2超过极限值
3.3
计算超过 极限值否
血压、体温 脉搏 3.4 日期
选择
循环
算符
数 据 字 典 符 号