软件系统分析与设计-5-结构分析设计.ppt

上传人:牧羊曲112 文档编号:6028030 上传时间:2023-09-16 格式:PPT 页数:57 大小:691.50KB
返回 下载 相关 举报
软件系统分析与设计-5-结构分析设计.ppt_第1页
第1页 / 共57页
软件系统分析与设计-5-结构分析设计.ppt_第2页
第2页 / 共57页
软件系统分析与设计-5-结构分析设计.ppt_第3页
第3页 / 共57页
软件系统分析与设计-5-结构分析设计.ppt_第4页
第4页 / 共57页
软件系统分析与设计-5-结构分析设计.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《软件系统分析与设计-5-结构分析设计.ppt》由会员分享,可在线阅读,更多相关《软件系统分析与设计-5-结构分析设计.ppt(57页珍藏版)》请在三一办公上搜索。

1、第5章 软件系统结构化分析与设计方法,2023/9/16,2,教学目的及要求,了解软件结构化分析方法的基本概念。熟悉:结构化分析与设计方法原理。掌握:数据流图、数据字典、软件结构图和程序结构图的设计。重点:结构化分析方法。难点:用于结构化原理和方法进行结构化设计 设计。,2023/9/16,3,教学内容,5.1 数据流程分析5.2 数据字典 5.3 结构化设计5.4 软件结构设计5.5 程序结构设计,2023/9/16,4,5.1.1 数据流程分析5.1.2 数据流图 5.1.3 IPO图,5.1 数据流程分析,2023/9/16,5,5.1.1 数据流程分析1.结构化分析方法学,结构化分析方

2、法学主要包括:结构分析、结构设计和结构化程序设计技术SA-SD-SP,是建立在系统生命周期的概念基础之上的,通过抽象化机制,采用自顶向下、逐步求精的分析方法,用数据流图表示数据的控制,用IOP图表示数据输入、控制和输出关系及顺序,用数据字典表示数据结构,用软件结构图表示程序模块的关系,Jakcsen图(或程序流程图)表示程序结构。,5.1 数据流程分析,2023/9/16,6,5.1.1 数据流程分析1.结构化分析方法学,结构化分析方法的本质是功能分析和模块化。以实现功能的过程为中心,所谓的结构化是指:对于解决该问题的最佳解决方案的过程是已知的。实际上这是运用结构化分析方法的条件。因此,当用户

3、针对功能的需求发生变化时,这就使基于过程的设计不易被理解;而功能变化往往引起较大的结构变化。,5.1 数据流程分析,2023/9/16,7,5.1.1 数据流程分析1.结构化分析方法学,结构化分析方法产生的系统有明确的边界定义,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改。数据与操作分开处理,可能造成软构件对具体应用环境的依赖,使可重用性(reusability)较差。,5.1 数据流程分析,2023/9/16,8,5.1.1 数据流程分析2.数据流程,在结构化分析中以数据的流动和变化作为分析的主要线索。数据从哪里产生数据源,最终流向哪里数据终,数据流经哪里?发生了怎样的变化?由此

4、构成了数据的流程。这是进行结构化分析是要回答的问题,通过回答这些问题建立结构化分析模型。,5.1 数据流程分析,2023/9/16,9,数据流图,结构化分析方法学主要包括:结构分析、结构设计和结构化程序设计技术SA-SD-SP,是建立在系统生命周期的概念基础之上的,通过抽象化机制,采用自顶向下、逐步求精的分析方法,用数据流图表示数据的控制,用IOP图表示数据输入、控制和输出关系及顺序,用数据字典表示数据结构,用软件结构图表示程序模块的关系,Jakcsen图(或程序流程图)表示程序结构。,5.1 数据流程分析,2023/9/16,10,用数据流图分析复杂的系统时,要把复杂的系统分层次,主要是对关

5、键部分分层细化,并保持系统的逻辑功能。数据流图(DFD-Data Flow Drawing)描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。,5.1 数据流程分析,数据流图,2023/9/16,11,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能。数据流图与程序流程图完全不同,它是描绘信息流和数据从输入最后移动到输出的过程中所经历的各种变幻。就图本身而言并不是只有程序员或计算机专业人员才能读懂,特别是,需求方能读得懂。,5.1 数据流程分析,数据流图,2023/9/16,12,符号:数据流图中的主要图形元素,5.1 数

6、据流程分析,数据流图,2023/9/16,13,说明:处理并不一定是一个程序。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等等;数据可以存储在磁盘、光盘、移动存储、主存及其他任何介质上(包括人脑)。数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。,5.1 数据流程分析,数据流图,2023/9/16,14,有时数据的源点和终点相同,为了增加数据流图的清晰程度。再重复画一个同样的符号(正方形或立方体)表示数据的终点。有时数据存储也需要重复

7、,以增加数据流图的清晰程度。为了避免可能引起的误解,如果代表同一个事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画(n-1)条短斜线做标记。,5.1 数据流程分析,数据流图,2023/9/16,15,描述银行取款过程的数据流图,5.1 数据流程分析,2023/9/16,16,数据流与数据加工之间的关系,5.1 数据流程分析,2023/9/16,17,数据流图的层次结构,为了表达数据处理过程的数据处理情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。,5.1 数据流程分析,数据流图,2023/9/16

8、,18,分层数据流图,5.1 数据流程分析,2023/9/16,19,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。底层流图是指其加工不需再做分解的数据流图,它处在最底层。中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,5.1 数据流程分析,数据流图,2023/9/16,20,画数据流图的步骤:自外向内,自顶向下,逐层细化,完善求精 1.从问题描述中提取数据流图的四种成分。2.根据具体业务,画出顶层数据流图,以反映最主要业务处理流程。3.从输入端开始,按系统的逻辑需要,画出数据流流经的各处理框,逐步画

9、到输出端,得到第一层数据流图。4.对数据流图中描绘的系统主要功能进一步细化,画出所需的子图。5.检查、修改。,5.1 数据流程分析,数据流图,2023/9/16,21,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,例子 1,5.1 数据流程分析,数据流图,2023/9/16,22,数据流图有四种成分:源点或终点外部

10、实体 处理 数据存储 数据流第一步 从问题描述中提取数据流图的四种成分。组成数据流图的元素可以从描述问题的信息中提取(有些信息是隐含的)源点与终点:采购员是数据终点,而仓库管理员是数据源点。,数据流图例子1,5.1 数据流程分析,2023/9/16,23,处理:产生报表、处理零件入库出库的事务数据流:(1)定货报表:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。(2)事务:零件编号(名称)、事务类型(入库出库)、数量。数据存储:(1)定货信息(参考具体货报表)(2)库存清单:零件编号、库存量、库存量临界值。,5.1 数据流程分析,数据流图例子1,2023/9/16,24,第二

11、步 画出基本系统模型(若干个数据源点/终点加一个处理),仓库管理员,定货系统,采购员,事务,定货报表,5.1 数据流程分析,数据流图例子1,2023/9/16,25,第三步 对基本系统模型进一步细化,仓库管理员,采购员,事务,定货报表,1,2,处理事务,产生报表,D2 定货信息,D1 库存清单,定货信息,定货信息,库存清单,定货信息,在图中给处理和数据加了编号,这样做的目的是便于引用和追踪。,2023/9/16,26,第四步 对功能级数据流图中描绘的系统主要功能进一步细化,2023/9/16,27,检查和修改数据流图的原则,数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图上的数据

12、流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流,5.1 数据流程分析,数据流图,2023/9/16,28,在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系。规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。可以在数据流图中加入物质流,帮助用户理解数据流图。,5.1 数据流程分析,数据流图,2023/9/16,29,图上每个元素都必须有名字。数据流图中不可夹带控制流。初画时可以忽略琐碎的细节,以集中精力于主要数据流。,5.1 数据流程分析,数据流图,2023/9/16,30,商店业务处理

13、系统,5.1 数据流程分析,数据流图例子2,2023/9/16,31,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程,5.1 数据流程分析,数据流图例子2,2023/9/16,32,经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图。,5.1 数据流程分析,数据流图例子2,2023/9/16,33,第一层数据流图,2023/9/16,34

14、,加细每一个加工框 销售细化,2023/9/16,35,采购细化,2023/9/16,36,IPO(Input/Process/Output)图简要的算法描述是输入/处理/输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。它的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序.,5.1 数据流程分析,5.1.3 IPO图,2023/9/16,37,1.校验主记录2.校验事务记录3.更新主记录,旧的主文件事务文件,有效的主记录有效的事务记录更新后的主文件,5.1 数据流程分析,5.1.

15、3 IPO图,2023/9/16,38,2023/9/16,39,5.2.1 数据项5.2.2 数据结构 5.2.3 数据流5.2.4 数据存储5.2.5 数据处理5.2.6 外部实体,5.2 数据字典,2023/9/16,40,所谓数据字典(Data Dictionary,简称DD),是在新系统数据流程图的基础上,进一步定义和描述所有数据的工具,包括对一切动态数据(数据流)和静态数据(数据存储)的数据结构和相互关系的说明,是数据分析和数据管理的重要工具,是系统设计阶段进行数据库(文件)设计的参考依据。数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等

16、六个方面进行具体的定义,每一方面称为一个条目。,5.2 数据字典,2023/9/16,41,数据词典与数据流图配合,能清楚地表达数据处理的要求。数据词典的任务是对于在数据流图中每一个被命名的图形元素均加以定义,使得每一个图形元素的名字都有一个确切的解释。,数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。,5.2 数据字典,2023/9/16,42,5.2.1 定义式中常用的符号,5.2 数据字典,2023/9/16,43,符 号 含 义 举 例 被定义为 等价于 与 x=ab.,.或.|.或

17、x=a,b,x=a|b.或 m.n 重复,含上下界 x=a,x=3a8(.)可选 x=(a)“.”基本数据元素 x=“a”.连结符 x=1.9,5.2.1 定义式中常用的符号,5.2 数据字典,2023/9/16,44,例子1 大学教务管理系统中部分数据流的组成,(D01)学生证学号密码(D02)申请单学号(课程号选课学期)(D03)谢绝非法证件|不合格单|证单不符(D04)注册学号(D05)选课学号课程号选课学期(D06)无此课学号课程号无此课(D07)注册记录无效学号注册无效(d01.1)学号00000001.99999999(d01.2)密码000001.999999(d02.2)课程号

18、1英文字母40001.9999(d02.3)选课学期0001.9999春季|秋季,5.2 数据字典,2023/9/16,45,存折格式,5.2 数据字典,例子2,2023/9/16,46,存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999”帐号“00000001”.“99999999”开户日年月日性质“1”.“6”注:“1”表示普通户,“5”表示工资户等印密“0”注:印密在存折上不显示存取行日期(摘要)支出存入余额操作复核,例子2,5.2 数据字典,2023/9/16,47,数据项又称数据元素,是数据的最小单位。分析数据特性应从静态和动态两个方面去进行。在数据

19、字典中,仅定义数据的静态特性。,5.2.1 数据项,5.2 数据字典,2023/9/16,48,表5.2-2 数据项的描述,5.2.1 数据项,5.2 数据字典,2023/9/16,49,5.2.2 数据结构,数据结构描述某些数据项之间的关系。一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。,5.2 数据字典,2023/9/16,50,表 5.2-3 用户订货单的数据结构,5.2.2 数据结构,5.2 数据字典,2023/9/16,51,表 5.2-4 数据结构描述,5.2.2 数据结构,5.2 数据字典,2023/9/16,52,5.2.3

20、 数据流,数据流由一个或一组固定的数据项组成。定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。,5.2 数据字典,2023/9/16,53,表5.2-5 数据流描述,5.2.3 数据流,5.2 数据字典,2023/9/16,54,5.2.4 数据存储,5.2 数据字典,表5.2-6 数据存储描述,2023/9/16,55,5.2.5 数据处理,5.2 数据字典,表5.2-7 数据存储描述,2023/9/16,56,5.2.6 外部实体,表5.2-8 数据存储描述,5.2 数据字典,2023/9/16,57,作业,思考题:习题1习题2 习题3,第4章 软件系统需求获取、分析及描述-1,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号