软件工程DFD图示例
软件工程概述-第5章 结构化需求分析

实体 属性 联系
用矩形表示,矩形内写 明实体名
用椭圆形表示,并用无 向边将其与对应实体连 接起来
用菱形表示,并用无向 边分别与有关实体连接 起来,同时在无向边旁 标上联系的类型。
E-R 图表示图示 例 2-1 中的例子
练习
例:简单的学生选课系统:
(1)学生 属性有学号,姓名, 性别,年龄,所在系
x
1.1
1.2
1.3
1
3
2
2.1 2.3
2.2
1.1 1.3
目录
1
5.1结构化分析
2
5.2数据流图
3
5.3数据字典
4
5.4 实体关系图
5
5.5 状态转换图
数据流图
数据流图(Data Flow Diagram,DFD)是描述系统中数据 流程的图形工具,它描述了将系统的逻辑输入转换为逻辑输出 所需的加工处理过程。
(2)课程 属性有课程号,课程 名称,先修课程号,学分
实体之间的联系:
一个学生可同时选修多门 课程,而一门课程可以同时被 若干学生选修。用成绩来表示 某个学生学习某门课程的成绩 。
分解:对于一个复杂的系统,为了将复杂性降 低到可以掌握的程度,可以把大问题分解成若 干小问题,然后分别解决。
抽象:分解可以分层进行,即先考虑问题最本 质的属性,暂把细节略去,以后再逐层添加细 节,直至涉及到最详细的内容,这种用最本质 的属性表示一个系统的方法就是“抽象”
结构化分析
结构化分析方法基本思想 “分解”和“抽象”
取值范围:数据项的取值范围,例如,职工年龄 的取值范围定义为18至60岁,表示为18..60。
初始值:数据项的初始值,例如,为了操作简便, 软件定义借书日期的初始值默认为系统的当前日 期。
软件工程-数据流图(DFD)大题解析

1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
数据流图(DFD)和数据字典(DD)

数据流名: 说明:简要介绍作用即它产生的原因和结果。 数据流来源:来自何方。 数据流去向(qùxiàng):去向(qùxiàng)何处。 数据流组成:数据结构。 每个数据量流通量:数据量、流通量。
数据流编号:F03-01
数据流名称:学籍变动申请 简述:学生提出的学籍变动申请
(sònɡ wǎnɡ)何处,是存在于数据流图的外围环境中的实体, 在实际问题中可能是人员、计算机外围设备或是传感装置。
处理过程(又称“加工”): 是以数据结构或数据内容作为处理的对象,其名字通常
是一个动词短语,简明扼要地表明要完成的是什么加工。
管理信息系统
贵州大学计算机学院(xuéyuàn) 蒋朝惠
订单拒绝
客户数据文件
客户 订单 接受订单
订单 销售报告 管理者 处理
管理信息系统
贵州大学计算机学院(xuéyuàn) 蒋朝惠
17
精品文档
订单处理系统的第一级
订单 客户
拒绝订单
1 检查 订单
接受订单 2 输入 订单
3
更新数 据文件
管理信息系统
销售报告
4
管理者
执行
(zhíxíng )销售分 析 贵州大学计算机学院(xuéyuàn) 蒋朝
顶层流图:仅包含一个加工,它代表被开发系统,用于表明 被开发系统的范围,以及(yǐjí)它和周围环境的数据交换关 系。
中间层流图:是对其上层父图的细化。
底层流图:又称:“原子加shítǐ)A DFD
示意图
实体A
最高级 过程(guòchéng)
12 3
最小的数据单元
数据(shùjù)元素
一组数据元素
数据结构(shùjù jié ɡòu)
软件工程DF数据流图图片

职工考勤信息包括:职工基本信息
职工出勤信息
职工出差信息
职工加班信息
职工请假信息
其中:
职工基本信息包括:职工姓名,职工编号,性别,年龄,职称。
职工出勤信息包括:姓名,编号,上班打卡时间,下班打卡时间,缺勤记录。
职工出差信息包括:姓名,编号,出差开始时间,出差结束时间,统计出差天数。
职工加班信息包括:姓名,编号,加班开始时间,加班结束时间,统计加班时间。
职工请假信息包括:姓名,编号,请假开始时间,请假结束时间,统计请假时间。
职工考勤系统(顶层DFD)
职工考勤系统(一层DFD)
职工考勤系统-职工信息(二层DFD)
对功能1分解(职工信息)
对功能2分解(加班)
对功能3分解(出差)
对功能4分解(请假)
对功能5分解(考勤)
职工考勤系统-职工信息-添加职工信息(对1.1再分解)
职工考勤系统-职工信息-查询职工信息(对1.1再分解)
数据字典(DD )
ConceptualDateModel
LogicalDataModel
(1)数据表格
设计表(逻辑模型):
职工基本信息表
职工出勤信息表
职工加班信息表
职工出差信息表
职工请假信息表
(1)设计E-R图
2
软件结构图。
数据流图案例1PPT课件

病员数据
3.1
开解信号
脉搏
病员极限
血压 体温
3.2
计算超过 极限值否
超过极限值
生理信号 极限值
血压、体温 脉搏
3.3
产生 报警信息
报警
时钟
3.4
格式化 日期 病员数据
时间
格式化 病员数据
医院病房监护系统分层DFD图
第一层
1 局部监视
病员极限
第二层:加工“中央监视”分解
病员
病员
生理信号 极限值
数据
3.1 开解信号 病员数据
加工,分解应分解到基本基本原则
子图与父图的“平衡” 父图中某个加工的输入输出数据流应该同相应的子
图的输入输出相同(相对应),分层数据流图的这种特 点称为子图与父图“平衡”。 合理使用文件
当文件作为某些加工之间的交界面时,文件必须画 出来,一旦文件作为数据流图中的一个独立成份画出来 了,那么他同其他成份之间的联系也应同时表达出来。
例如:外层可为以下结构: 1、顺序结构 2、选择结构
IF–THEN-ELSE; CASE-OF-ENDCASE; 3、循环结构
WHILE-DO; REPEAT-UNTIL
2.3.2 快速原型开发模型
快速分析,确定初步规格说明 构造原型
修N 正 改 进 原 型
N
运行/评价原型
原型完成否 Y
N 要细部说明否 Y 严格说明细部
快速原型化开发过程
需求工程小结
需求工程小结
最初,需求工程仅仅是软件工程的一个组成部分,是软件 生命周期的第一个阶段。
在传统软件工程生命周期中,涉及需求的阶段称作需求分 析。一般来说,需求分析的作用是:
● 系统工程师说明软件的功能和性能,指明软件和其他 系统成分的接口,并定义软件必须满足的约束;
跟我学如何创建软件系统数据库设计中的数据流程图(DFD)

1.1跟我学如何创建软件系统数据库设计中的数据流程图(DFD)1.1.1数据流程图DFD(Data Flow Diagram)概述1、什么是数据流图它是一种最常用的结构化分析工具,主要实现从数据传递和加工角度,以图形的方式刻画和描述出系统内的数据运动情况(数据的来龙去脉和实际流程----数据在对象间流动),从而实现对系统中信息运动的抽象,是MIS系统数据建模的主要形式。
下面为一个在Excel中设计出的人员管理系统中的DFD示例2、主要的作用一个软件系统的逻辑模型应能表示当某些数据输入到该系统,经过系统内部一系列处理(变换或加工)后产生某些逻辑结果的过程。
而DFD是描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,亦即描述系统中数据流程的图形工具。
(1)向数据库设计过渡系统分析员用这种形式的工具实现对系统“自顶向下”方式的系统信息流程的分析,并可在图上画出计算机处理的部分;同时根据逻辑存贮,对数据作进一步的分析,最终可实现向数据库设计过度。
(2)向程序设计过渡根据数据流向,决定出对数据的“存取方式”----该“存取方式”最终应该对应一个处理过程或者功能实现,我们可用相应的程序语言来表达该处理方法的要求,最终可实现向程序设计过渡。
(3)有助于系统的客户对系统的理解和交流由于数据流图描述了信息系统中数据处理的过程和信息传递的方向与联系,因此,便于在系统分析阶段中用户与系统分析员之间沟通。
因为,客户、特别是商业系统的客户,一般都会有自己的业务流程图,如票据流转图和操作流程图,它们与我们现在的数据流图很相识。
3、主要的应用场合DFD作为结构化系统分析与设计的主要方法,已经得到了广泛的应用---- DFD可以在需求分析、业务建模阶段发挥作用,以实现对系统的需求的深入理解。
另外,DFD尤其适用于MIS类型的系统的需求分析、业务建模。
4、DFD的主要优缺点在传统的结构化程序设计中,DFD或许比较重要。
软件工程数据流图DFD大题解析

1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
DFD(数据流图)

1DFD(数据流图)(2006-09-02 14:46:15)转载分类:精品转载3.3 数据流图(DFD)数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
下图是一个飞机机票预订系统的数据流图,它反映的功能是:旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(附有应交的账款)。
旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。
3.3.1 基本图形符号数据流图有四种基本图形符号::箭头,表示数据流;〇:圆或椭圆,表示加工;= :双杠,表示数据存储;□:方框,表示数据的源点或终点。
(1) 数据流。
数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。
如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。
由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
(2)加工(又称为数据处理)。
对数据流进行某些操作或变换。
每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。
在分层的数据流图中,加工还应编号。
(3)数据存储(又称为文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
(4)数据源点或终点,是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。
一般只出现在数据流图的顶层图。
3.3.2画数据流图的步骤(1)首先画系统的输入输出,即先画顶层数据流图。
顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。
顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。
下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个加工每次分解成多少个子加工才合适呢? 根据经验“最多不要超过7 个”。统计结果证 明,人们能有效地同时处理7 个或7 个以下的问题, 但当问题多于7 个时,处理效果就会下降。当然也 不能机械地应用,关键是要使数据流图易于理解。 同时还有几条原则可供参考: 分解应自然,概念上要合理、清晰。 只要不影响数据流图的“易理解性”,可以适 当地多分解成几部分,这样分层图的层数就可少些。 一般来说,在上层可以分解得快些,而在中、 下层则应分解得慢些,因为上层是一些综合性的描 述,“易理解性”相对地说不太重要。
画分层DFD 图的具体步骤: 逐层分解顶层DFD 图,获 得若干中间层DFD 图。 ⑶ 画出底层的DFD 图。
在画分层数据流图时,首先遇到 的问题就是应该如何分解? 不能够一下子把一个加工分解成 它所有的基本加工,一张图中画出过 多的加工是使人难以理解的,但是如 果每次只是将一个加工分解成两个或 三个加工,又可能需要分解过多的层 次,也会影响系统的可理解性。
画图步骤是: ⑴ 首先确定外部实体(顾客、出版社) 及输入、输出数据流(订单、出版社订单)。 ⑵ 再分解顶层的加工(验证订单、汇 总订单)。 ⑶ 确定所使用的文件(图书目录文件、 顾客档案等5 个文件)。 ⑷ 用数据流将各部分连接起来,形 成数据封闭。
特别要注意的是: 数据流图不是传统的流程图或框图, 数据流也不是控制流。 数据流图是从数据的角度来描述一个 系统,而框图则是从对数据进行加工的工 作人员的角度来描述系统。 数据流图中的箭头是数据流,而框图 中的箭头则是控制流,控制流表达的是程 序执行的次序。
例1:画出图书预定系统的DFD 图。 现有一图书预定系统,接收由顾客发来 的订单,并对订单进行验证,验证过程是根 据图书目录检查订单的正确性,同时根据顾 客档案确定是新顾客还是老顾客,是否有信 誉。经过验证的正确订单,暂存放在待处理 的订单文件中。对订单进行成批处理,根据 出版社档案,将订单按照出版社进行分类汇 总,并保存订单存根,然后将汇总订单发往 各出版社。
例2下图是培训中心管理系统的数据流图: 由于只有一层,因此分解的加工较多 不易理解,而且如果其中某个加工较复杂, 例如编号为3 的加工“付款”和编号为7 的加工“复审”仍很复杂,一时难以理解, 如果不继续分解下去,直到每个加工都足 够简单易于理解为止,则会影响需求分析 结果的可读性。
如图所示,如果系统规模较 大,仅用一个DFD 图难以描述, 会使得系统变得复杂,且难以理 解。 为了降低系统的复杂性,采 取“逐层分解”的技术,画分层 的DFD 图。
⑷合理使用文件 当文件作为某些加工之间的交界面时,文件 必须画出来,一旦文件作为数据流图中的一个独 立成份画出来了,那么它同其它成份之间的联系 也应同时表达出来。 理解一个问题总要经过从不正确到正确,从 不确切到确切的过程,需求分析的过程总是要不 断反复的,一次就成功的可能性是很小的,对复 杂的系统尤其如此,因此,系统分析员应随时准 备对数据流图进行修改和完善,与用户取得共识, 获得无二义性的需求,才能获得更正确清晰的需 求说明,使得设计、编程等阶段能够顺利进行, 这样做是必须和值得的。
分层DFD 图的改进: DFD 图必须经过反复修改,才能获得最终的目 标系统的逻辑(目标系统的DFD 图)。改进的原则与 画分层DFD 图的基本原则是一致的,可从以下方面 考虑DFD 图的改进: ⑴ 检查数据流的正确性 ① 数据守恒 ② 子图、父图的平衡 ③ 文件使用是否合理。特别注意输入/出文件的 数据流。 ⑵ 改进DFD 图的易理解性 ① 简化加工之间的联系(加工间的数据流越少, 独立性越强,易理解性越好)。 ② 改进分解的均匀性。 ③ 适当命名(各成分名称无二义性,准确、具体)。
画分层DFD 图的基本原则 ⑴数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配, 即每一个加工既有输入数据流又有输出数据流。或者说 一个加工至少有一个输入数据流,一个输出数据流。 ⑵加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀 的几个部分; 分解度:一般每一个加工每次分解最多不要超过7 个子加工,应分解到基本加工为止。 ⑶子图与父图的“平衡”:父图中某个加工的输入 输出数据流应该同相应的子图的输入输出相同(相对应), 分层数据流图的这种特点称为子图与父图“平衡”。
画分层DFD 图的一般原则是: “先全局后局部,先整体后细节,先抽 象后具体”。通常将这种分层的DFD 图, 分为顶层、中间层、底层。顶层图说明了 系统的边界,即系统的输入和输出数据流, 顶层图只有一张。底层图由一些不能再分 解的加工组成,这些加工都已足够简单, 称为基本加工。在顶层和底层之间的是中 间层。中间层的数据流图描述了某个加工 的分解,而它的组成部分又要进一步分解。 画各层DFD 图时,应“由外向内”。
显然,图2.13 中子图与父图不平衡。子图 是父图中加工2 的分解,加工2 有输入数据流R 和M,输出数据流T,而子图则只有一个输入数 据流N,却有两个输出数据流T 与S。图2.14 中, 子图是父图中加工4 的分解,虽然表面上加工4 只有一个输入数据流“订货单”,而子图却有三 个输入数据流,但是如果“订货单”是由“客 户”、“帐号”和“数量”三部分组成,即有如 下数据条目:订货单 =客户+帐号+数量 (2.2.5 数据词典),则子、父图平衡。