软件工程讲义数据流图
- 格式:ppt
- 大小:1.18 MB
- 文档页数:37
目录1要求: (1)1.1 格式 (1)1.2 内容: (1)1.3 时间地点: (1)1.4 联系方式 (1)2数据流图 (2)2.1 顶层数据流图 (2)2.2 处理1加工分解 (2)2.3 处理2加工分解 (3)2.4 处理3加工分解 (3)3数据字典例子: (3)3.1 数据流条目 (3)3.2 数据项条目 (4)3.3 数据存储条目 (5)3.4 加工条目 (6)3.5 外部输入条目 (7)4需求分析 (8)4.1 目的与任务: (8)4.2 该系统所要满足的信息要求: (8)4.3 处理要求 (9)1要求:1.1格式●学号后面要加上序号,即“学号-序号”●正文字体小四宋体,行间距离1.5倍●正反打印,加上页码1.2内容:●90页第8题(需求分析的数据流,数据字典和需求分析报告)●画图时,采用“插入->对象”方式●数据流图采用visio->形状->软件->Gane-Sarson图形1.3时间地点:●时间:第10周前(5月8号前)●地点:工学一号馆718或6281.4联系方式2数据流图2.1顶层数据流图2.2处理1加工分解2.3处理2加工分解2.4处理3加工分解3数据字典例子: 3.1数据流条目3.2数据项条目3.3数据存储条目3.4加工条目3.5外部输入条目4需求分析4.1目的与任务:学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。
该管理系统为用户提供了一些简单的数据查询、输出各种信息等。
一.数据流图二,数据字典名称:旅客简述:用户,航班消费者有关数据流:旅客信息,取票通知,账单名称:旅行社简述:零售代理机构,为旅客提供订票改签等服务有关数据流:旅客信息,取票通知,账单名称:航空公司简述:为旅客提供航空服务,管理航班信息有关数据流:航班信息数据流名称:订票信息描述:记录旅客的旅行时间和目的地,用于确定旅客航班定义:订票信息=订单号+身份证号+航班号+订票日期+座位号+票价数据流来源:修改航班信息、安排航班数据流去向:输入到航班机票管理数据流名称:旅客信息描述:记录旅客的个人信息及旅客要求航班信息,用于对旅客的确认及安排航班定义:旅客信息=身份证号码+姓名+性别+工作单位+旅行时间+始发地点+目的地+航班舱位要求数据流来源:旅行社数据流去向:输入到旅行社管理数据流名称:航班信息描述:记录旅客的航班信息,根据旅客的旅行时间和目的地确定航班定义:航班信息=航班号+始发地+目的地+始发时间+抵达时间+载客量+头等舱票数+经济舱票数+头等舱价格+经济舱价格经济舱价格:0{数字}4数据流来源:航空公司数据流去向:信息存储航班机票管理数据流名称:取票通知描述:记录旅客身份证号订单号验证旅客订票信息定义:取票通知=身份证号+订单号+取票日期数据流来源:订票信息数据流去向:输出到打印机数据流名称:账单描述:记录旅客的交款信息,用于确认及取票验证定义:账单=账单号+订单号+定金+折扣+机票余款数据流来源:订票信息数据流去向:航班机票管理输出到打印机1.订票信息订单号:4{数字}4身份证号:18{数字}18航班号:2{字母}2+4{数字}4订票日期:4{数字}4+/+2{数字}2+/+2{数字}2 (例:2011/01/10)座位号:0{数字}3票价:0{数字}42.旅客信息身份证号码:18{数字}18姓名:4{字符}20性别:2{字符}2工作单位:4{字符}20旅行时间:4{数字}4+/+2{数字}2+/+2{数字}2始发地点:4{字符}20目的地:4{字符}20航班舱位要求:4{字符}203.航班信息航班号:2{字母}2+4{数字}4始发地:4{字符}20目的地:4{字符}20始发时间:1{数字}2+:+2{数字}2+:+2{数字}2(例:8:30:00)抵达时间:1{数字}2+:+2{数字}2+:+2{数字}2头等舱票数:0{数字}3经济舱票数:0{数字}3头等舱价格:0{数字}4经济舱价格:0{数字}44.取票通知身份证号:18{数字}18订单号:4{数字}4取票日期:4{数字}4+/+2{数字}2+/+2{数字}25.账单账单号:4{数字}4订单号:4{数字}4定金:0{数字}4折扣:0.+0{数字}2机票余款:0{数字}4数据类型可参照上面所述。
1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
数据流图和数据流程图⼀、数据流图1.(Data Flow Diagram):简称DFD,它从数据传递和加⼯⾓度,以图形⽅式来表达系统的逻辑功能、在系统内部的逻辑流向和逻辑变换过程,是的主要表达⼯具及⽤于表⽰软件模型的⼀种图⽰⽅法。
2.包括:a.指明数据存在的数据符号,这些数据符号也可指明该数据所使⽤的媒体;b.指明对数据执⾏的处理的处理符号,这些符号也可指明该处理所⽤到的机器功能;c.指明⼏个处理和(或)数据媒体之间的数据流的流线符号;d.便于读、写数据流程图的特殊符号。
3.中有以下⼏种主要元素:→:数据流。
数据流是数据在系统内传播的路径,因此由⼀组成分固定的数据组成。
□:数据源或宿(“宿”表⽰数据的终点)。
代表系统之外的实体,可以是⼈、物或其他软件系统。
○:对数据的加⼯(处理)。
加⼯是对数据进⾏处理的单元,它接收⼀定的数据输⼊,对其进⾏处理,并产⽣输出。
〓:数据存储。
表⽰信息的静态存储,可以代表⽂件、⽂件的⼀部分、数据库的元素等。
⼆、数据流程图1.数据流程图(Data Flow Diagram,DFD/Data Flow Chart),是描述系统数据流程的⼯具,它将数据独⽴抽象出来,通过图形⽅式描述信息的来龙去脉和实际流程。
它是⼀种能全⾯地描述信息系统逻辑模型的主要⼯具。
它可以利⽤少数⼏种符号综合的反映出信息在系统中的流动、处理和存储的情况。
2.数据流程图具有抽象性和概括性。
3.数据流程图的基本成分系统部件包括系统的外部实体、处理过程、数据存储和系统中的数据流四个组成部分a,外部实体外部实体指系统以外⼜和系统有联系的⼈或事物,它说明了数据的外部来源和去处,属于系统的外部和系统的界⾯。
通常外部实体在数据流程图中⽤正⽅形框表⽰,框中写上外部实体名称b,处理过程处理指对数据逻辑处理,也就是数据变换,它⽤来改变数据值。
⽽每⼀种处理⼜包括数据输⼊、数据处理和数据输出等部分。
在数据流程图中处理过程⽤带圆⾓的长⽅形表⽰处理,长⽅形分三个部分,标识部分⽤来标识⼀个功能,功能描述部门是必不可少的,功能执⾏部门表⽰功能由谁来完成。
软件工程数据流图的画法软件工程数据流图(Data Flow Diagram,简称DFD)是一种图形化的表示方法,用于描述系统中的数据流动和处理过程。
下面是绘制软件工程数据流图的常用步骤:1.确定系统边界:首先确定要建模的系统的范围和边界。
边界定义了系统与外部实体之间的交互点,即数据流进入和离开系统的地方。
2.识别主要过程:确定系统中的主要处理过程,即转换数据的功能或算法。
每个主要过程都有一个明确的输入和输出。
3.确定数据流:标识数据流,表示数据如何在系统中传递和流动。
数据流可以是从外部实体到系统,从系统到外部实体,或者在系统内部的不同过程之间。
4.描述数据存储:确定系统中存储数据的位置和方式。
这可以是数据库、文件或其他数据存储设备。
5.绘制基本图符:使用适当的图符符号来呈现系统中的各个组成部分。
主要的图符包括矩形框表示过程,箭头表示数据流,双竖线表示数据存储。
6.建立层次结构:根据系统的复杂性和详细度需求,将DFD划分为多个层次。
顶层图用于展示系统的总体结构和交互,而下一级的子图则显示更详细的过程和数据流。
7.精化和补充:根据需要进一步细化和完善DFD。
可以添加描述性文字、数据流标签、控制流和条件等,以提供更全面的系统描述。
8.验证和迭代:验证绘制的DFD是否准确地反映了系统的功能和数据流动。
如果有必要,可以进行迭代,并对DFD 进行修改和改进。
★在绘制软件工程数据流图时,可以使用专业的绘图工具,如Microsoft Visio、Lucidchart或Draw.io。
★这些工具提供了预定义的DFD符号和模板,使绘图更加简便和规范。
同时,也可以手动使用纸和笔绘制DFD,尤其在简单项目中这可能更方便快捷。
★需要注意的是,软件工程数据流图是一种高层次的抽象表示方法,用于展示系统中的数据流动和处理逻辑,但并不涉及具体的程序代码实现细节。
★它能够帮助开发人员和利益相关者更好地理解系统的功能和交互,促进需求分析和系统设计的沟通和交流。
1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
数据流图(DFD)专题讲解软件⼯程考试之数据流图(DFD)专题讲解及例题分析——解题的⽅法与技巧1.⾸先要懂得数据流图设计要略有时为了增加数据流图的清晰性,防⽌数据流的箭头线太长,减少交叉绘制数据流条数,⼀般在⼀张图上可以重复同名的数据源点、终点与数据存储⽂件。
如某个外部实体既是数据源点⼜是数据汇点,可以在数据流图的不同的地⽅重复绘制。
在绘制时应该注意以下要点:(1)⾃外向内,⾃顶向下,逐层细化,完善求精。
(2)保持⽗图与⼦图的平衡。
为了表达较为复杂问题的数据处理过程,⽤⼀个数据流图往往不够。
⼀般按问题的层次结构进⾏逐步分解,并以分层的数据流图反映这种结构关系。
根据层次关系⼀般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。
对任何⼀层数据流图来说,称它的上层数据流图为⽗图,在它的下⼀层的数据流图为⼦图。
顶层数据流图只含有⼀个加⼯,表⽰整个系统;输⼊数据流和输出数据流为系统的输⼊数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。
底层数据流图是指其加⼯不能再分解的数据流图,其加⼯称为“原⼦加⼯”。
中间数据流图是对⽗层数据流图中某个加⼯进⾏细化,⽽它的某个加⼯也可以再次细化,形成⼦图。
中间层次的多少,⼀般视系统的复杂程度⽽定。
任何⼀个数据流⼦图必须与它上⼀层⽗图的某个加⼯对应,⼆者的输⼊数据流和输出数据流必须保持⼀致,此即⽗图与⼦图的平衡。
⽗图与⼦图的平衡是数据流图中的重要性质,保证了数据流图的⼀致性,便于分析⼈员阅读和理解。
在⽗图与⼦图平衡中,数据流的数⽬和名称可以完全相同;也可以在数⽬上不相等,但是可以借助数据字典中数据流描述,确定⽗图中的数据流是由⼦图中⼏个数据流合并⽽成的,也即⼦图是对⽗图中加⼯和数据流同时进⾏分解,因此也属于⽗图与⼦图的平衡,如图1所⽰。
图1 ⽗图与⼦图的平衡(3)保持数据守恒。
也就是说,⼀个加⼯所有输出数据流中的数据必须能从该加⼯的输⼊数据流中直接获得,或者是通过该加⼯能产⽣的数据。