《软件系统分析与设计5结构分析设计.ppt》由会员分享,可在线阅读,更多相关《软件系统分析与设计5结构分析设计.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LOGO第第第第5 5 5 5章章章章 软件软件软件软件系统系统系统系统结构化结构化结构化结构化分析分析分析分析与设计方法与设计方法与设计方法与设计方法天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/292教学目的及要求教学目的及要求教学目的及要求教学目的及要求 了解软件了解软件结构化分析方法的基本概念结构化分析方法的基本概念。熟悉:结构化分析与设计方法原理熟悉:结构化分析与设计方法原理。掌握:数掌握:数据流图、数据字典、软件结构图和程序结构图据流图、数据字典、软件结构图和程序结构图的设计的设计。重点:结构化分析方法。重点:结构化分析方法。难点:用于
2、结构化原理和方法进行结构化设计难点:用于结构化原理和方法进行结构化设计 设计。设计。天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/293教学内容教学内容5.1 数据流程分析数据流程分析5.2 数据字典数据字典 5.3 结构化设计结构化设计5.4 软件结构设计软件结构设计5.5 程序结构设计程序结构设计天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2945.1.1 数据流程分析数据流程分析5.1.2 数据流图数据流图 5.1.3 IPO图图55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程
3、学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2955.1.1 数据流程分析数据流程分析1.结构化分析方法学结构化分析方法学 结构化分析方法学主要包括:结构分析、结构设计和结构化分析方法学主要包括:结构分析、结构设计和结构化程序设计技术结构化程序设计技术SA-SD-SPSA-SD-SP,是建立在系统生命周,是建立在系统生命周期的概念基础之上的,通过抽象化机制,采用自顶向下、期的概念基础之上的,通过抽象化机制,采用自顶向下、逐步求精的分析方法,用数据流图表示数据的控制,用逐步求精的分析方法,用数据流图表示数据的控制,用IOPIOP图表示数据输入、控制和输出关系及顺序,用数据字图
4、表示数据输入、控制和输出关系及顺序,用数据字典表示数据结构,用软件结构图表示程序模块的关系,典表示数据结构,用软件结构图表示程序模块的关系,JakcsenJakcsen图(或程序流程图)表示程序结构。图(或程序流程图)表示程序结构。55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2965.1.1 数据流程分析数据流程分析1.结构化分析方法学结构化分析方法学 结构化分析方法的本质是功能分析和模块化。结构化分析方法的本质是功能分析和模块化。以实现以实现功能的过程为中心,所谓的结构化是指:功能的过程为中心,所谓的结构化
5、是指:对于解决该问题对于解决该问题的最佳解决方案的过程是已知的的最佳解决方案的过程是已知的。实际上这是运用结构化。实际上这是运用结构化分析方法的条件。因此,当用户针对功能的需求发生变化分析方法的条件。因此,当用户针对功能的需求发生变化时,这就使基于过程的设计不易被理解;而功能变化往往时,这就使基于过程的设计不易被理解;而功能变化往往引起较大的结构变化。引起较大的结构变化。55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2975.1.1 数据流程分析数据流程分析1.结构化分析方法学结构化分析方法学 结构化分析方法产
6、生的结构化分析方法产生的系统有明确的边界系统有明确的边界定义,且系统结构依赖于系统边界的定义,这定义,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改。样的系统不易扩充和修改。数据与操作分开处理,可能造成软构件对数据与操作分开处理,可能造成软构件对具体应用环境的依赖,使可重用性具体应用环境的依赖,使可重用性(reusability)较差。较差。55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2985.1.1 数据流程分析数据流程分析2.数据流程数据流程 在结构化分析中以数据的流动和变化作为分析在结构化分析
7、中以数据的流动和变化作为分析的主要线索。数据从哪里产生的主要线索。数据从哪里产生数据源,最终流数据源,最终流向哪里向哪里数据终,数据流经哪里?发生了怎样的数据终,数据流经哪里?发生了怎样的变化?由此构成了数据的流程。这是进行结构化分变化?由此构成了数据的流程。这是进行结构化分析是要回答的问题,通过回答这些问题建立结构化析是要回答的问题,通过回答这些问题建立结构化分析模型。分析模型。55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/299数据流图数据流图 结构化分析方法学主要包括:结构分析、结构设计和结构化分析方法学
8、主要包括:结构分析、结构设计和结构化程序设计技术结构化程序设计技术SA-SD-SPSA-SD-SP,是建立在系统生命周,是建立在系统生命周期的概念基础之上的,通过抽象化机制,采用自顶向下、期的概念基础之上的,通过抽象化机制,采用自顶向下、逐步求精的分析方法,用数据流图表示数据的控制,用逐步求精的分析方法,用数据流图表示数据的控制,用IOPIOP图表示数据输入、控制和输出关系及顺序,用数据字典表图表示数据输入、控制和输出关系及顺序,用数据字典表示数据结构,用软件结构图表示程序模块的关系,示数据结构,用软件结构图表示程序模块的关系,JakcsenJakcsen图(或程序流程图)表示程序结构。图(或
9、程序流程图)表示程序结构。55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2910 用数据流图分析复杂的系统时,要把复杂的用数据流图分析复杂的系统时,要把复杂的系统分层次,主要是对关键部分分层细化,并保系统分层次,主要是对关键部分分层细化,并保持系统的逻辑功能。持系统的逻辑功能。数据流图(数据流图(DFD-Data Flow DFD-Data Flow Drawing Drawing)描绘系统的逻辑模型)描绘系统的逻辑模型,图中没有任何图中没有任何具体的物理元素具体的物理元素,只是描绘信息在系统中流动和只是描绘信
10、息在系统中流动和处理的情况。处理的情况。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2911 设设计计数数据据流流图图只只需需考考虑虑系系统统必必须须完完成成的的基基本本逻逻辑功能辑功能,完全不需要考虑如何具体地实现这些功能。完全不需要考虑如何具体地实现这些功能。数数据据流流图图与与程程序序流流程程图图完完全全不不同同,它它是是描描绘绘信信息息流流和和数数据据从从输输入入最最后后移移动动到到输输出出的的过过程程中中所所经经历历的各种变幻。的各种变幻。就就图图本本身身而而言言并并不不是是只只有有
11、程程序序员员或或计计算算机机专专业业人员才能读懂,特别是,需求方能读得懂。人员才能读懂,特别是,需求方能读得懂。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2912符号:数据流图中的主要图形元素符号:数据流图中的主要图形元素符号:数据流图中的主要图形元素符号:数据流图中的主要图形元素数据的原点数据的原点/终点终点变换数据的处理变换数据的处理数据存储数据存储数据流数据流55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设
12、计2022/10/2913说明:说明:l 处处理理并并不不一一定定是是一一个个程程序序。一一个个处处理理框框可可以以代代表表一一系系列列程序、单个程序或者程序的一个模块。程序、单个程序或者程序的一个模块。l 一一个个数数据据存存储储也也并并不不等等同同于于一一个个文文件件,它它可可以以表表示示一一个个文文件、文件的一部分、数据库的元素或记录的一部分等等件、文件的一部分、数据库的元素或记录的一部分等等;l数数据据可可以以存存储储在在磁磁盘盘、光光盘盘、移移动动存存储储、主主存存及及其其他他任任何何介质上介质上(包括人脑)。包括人脑)。l数数据据存存储储和和数数据据流流都都是是数数据据,仅仅仅仅所
13、所处处的的状状态态不不同同。数数据据存储是处于静止状态的数据存储是处于静止状态的数据,数据流是处于运动中的数据数据流是处于运动中的数据。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2914l 有有时时数数据据的的源源点点和和终终点点相相同同,为为了了增增加加数数据据流流图图的的清清晰晰程程度度。再再重重复复画画一一个个同同样样的的符符号号(正正方方形形或或立方体立方体)表示数据的终点。表示数据的终点。l 有有时时数数据据存存储储也也需需要要重重复复,以以增增加加数数据据流流图图的的清清晰晰程程
14、度度。为为了了避避免免可可能能引引起起的的误误解解,如如果果代代表表同同一一个个事事物物的的同同样样符符号号在在图图中中出出现现在在n n个个地地方方,则则在在这这个个符号的一个角上画符号的一个角上画(n-1)(n-1)条短斜线做标记。条短斜线做标记。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2915描述银行取款过程的数据流图描述银行取款过程的数据流图描述银行取款过程的数据流图描述银行取款过程的数据流图55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析
15、与设计软件系统分析与设计2022/10/2916数据流与数据加工之间的关系数据流与数据加工之间的关系数据流与数据加工之间的关系数据流与数据加工之间的关系TTTTT55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2917 数据流图的层次结构数据流图的层次结构数据流图的层次结构数据流图的层次结构v为了表达数据处理过程的数据处理情况,需为了表达数据处理过程的数据处理情况,需为了表达数据处理过程的数据处理情况,需为了表达数据处理过程的数据处理情况,需要采用要采用要采用要采用层次结构层次结构层次结构层次结构的数据流图。按照
16、系统的层的数据流图。按照系统的层的数据流图。按照系统的层的数据流图。按照系统的层次结构进行次结构进行次结构进行次结构进行逐步分解逐步分解逐步分解逐步分解,并以分层的数据流图,并以分层的数据流图,并以分层的数据流图,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理反映这种结构关系,能清楚地表达和容易理反映这种结构关系,能清楚地表达和容易理反映这种结构关系,能清楚地表达和容易理解整个系统。解整个系统。解整个系统。解整个系统。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2918分层数据流图分
17、层数据流图55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2919v在多层数据流图中,在多层数据流图中,在多层数据流图中,在多层数据流图中,顶层流图顶层流图顶层流图顶层流图仅包含仅包含仅包含仅包含一个加工一个加工一个加工一个加工,它代表被开发系统。它的输入流是该系统的输入它代表被开发系统。它的输入流是该系统的输入它代表被开发系统。它的输入流是该系统的输入它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。数据,输出流是系统所输出数据。数据,输出流是系统所输出数据。数据,输出流是系统所输出数据。
18、v底层流图底层流图底层流图底层流图是指其是指其是指其是指其加工不需再做分解加工不需再做分解加工不需再做分解加工不需再做分解的数据流图,的数据流图,的数据流图,的数据流图,它处在最底层。它处在最底层。它处在最底层。它处在最底层。v中间层流图中间层流图中间层流图中间层流图则表示则表示则表示则表示对其上层父图的细化对其上层父图的细化对其上层父图的细化对其上层父图的细化。它的每它的每它的每它的每一加工可能继续细化,形成子图。一加工可能继续细化,形成子图。一加工可能继续细化,形成子图。一加工可能继续细化,形成子图。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵
19、黎强软件系统分析与设计软件系统分析与设计2022/10/2920画数据流图的步骤画数据流图的步骤:自外向内自外向内,自顶向下自顶向下,逐层细化逐层细化,完善求精完善求精 1.1.从问题描述中提取数据流图的四种成分。从问题描述中提取数据流图的四种成分。2.2.根据具体业务,画出顶层数据流图,以反映最主要业根据具体业务,画出顶层数据流图,以反映最主要业根据具体业务,画出顶层数据流图,以反映最主要业根据具体业务,画出顶层数据流图,以反映最主要业务处理流程务处理流程务处理流程务处理流程。3.3.从输入端开始,按系统的逻辑需要,画出数据流流经从输入端开始,按系统的逻辑需要,画出数据流流经从输入端开始,按
20、系统的逻辑需要,画出数据流流经从输入端开始,按系统的逻辑需要,画出数据流流经的各处理框,逐步画到输出端,得到第一层数据流图的各处理框,逐步画到输出端,得到第一层数据流图的各处理框,逐步画到输出端,得到第一层数据流图的各处理框,逐步画到输出端,得到第一层数据流图。4.4.对数据流图中描绘的系统主要功能进一步细化对数据流图中描绘的系统主要功能进一步细化对数据流图中描绘的系统主要功能进一步细化对数据流图中描绘的系统主要功能进一步细化,画出画出画出画出所需的子图所需的子图所需的子图所需的子图。5.5.检查、修改检查、修改检查、修改检查、修改。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城
21、建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2921 假设一家工厂的采购部每天需要一张定货报表假设一家工厂的采购部每天需要一张定货报表,报报表按零件编号排序表按零件编号排序,表中列出所有需要再次定货的零件。表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据对于每个需要再次定货的零件应该列出下述数据:零件零件编号编号,零件名称零件名称,定货数量定货数量,目前价格目前价格,主要供应者主要供应者,次要次要供应者。零件入库或出库称为事务供应者。零件入库或出库称为事务,通过放在仓库中的通过放在仓库中的CRTCRT终端把事务报告给定货系统。
22、当某种零件的库存数终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。量少于库存量临界值时就应该再次定货。例子例子 155.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2922数据流图有四种成分数据流图有四种成分:源点或终点源点或终点外部实体外部实体 处理处理 数据存储数据存储 数据流数据流第一步第一步 从问题描述中提取数据流图的四种成分。组成数据流从问题描述中提取数据流图的四种成分。组成数据流图的元素可以从描述问题的信息中提取图的元素可以从描述问题的信息中提取(有些信息
23、是隐含的有些信息是隐含的)源点与终点:源点与终点:采购员是数据终点采购员是数据终点,而仓库管理员是数据源点而仓库管理员是数据源点。数据流图数据流图例子例子1 55.1.1 数据流程分析数据流程分析天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2923处理:处理:产生报表、处理零件入库出库的事务产生报表、处理零件入库出库的事务数据流:数据流:(1)定货报表:定货报表:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。(2)事务:事务:零件编号(名称)、事务类型(入库出库)、数量。数据存储:数据存储:(1)定货信息定货信息(参考具体货报表
24、)(2)库存清单:库存清单:零件编号、库存量、库存量临界值。55.1.1 数据流程分析数据流程分析数据流图数据流图例子例子1 天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2924第二步第二步 画出基本系统模型画出基本系统模型 (若干个数据源点(若干个数据源点/终点加一个处理)终点加一个处理)仓库管理员定货系统采购员事务定货报表55.1.1 数据流程分析数据流程分析数据流图数据流图例子例子1 天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2925第三步第三步 对基本系统模型进一步细化对基本系统模型进一步
25、细化仓库管理员采购员事务定货报表12处理事务产生报表D2 定货信息D1 库存清单定货信息定货信息库存清单定货信息在图中给处理和数据加了编号,这样做的目的是便于引用和追踪。天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2926第四步第四步 对功能级数据流图中描绘的系统主要功能进一步细化对功能级数据流图中描绘的系统主要功能进一步细化仓库管理员采购员事务定货报表1.32处理定货产生报表D2 定货信息D1 库存清单定货信息定货信息库存清单1.2更新库存清单1.1接受事务事务库存信息天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计
26、2022/10/2927检查和修改数据流图的原则检查和修改数据流图的原则v数据流图上所有图形符号只限于前述四种数据流图上所有图形符号只限于前述四种基本图形元素基本图形元素v数据流图的主图上的数据流必须封闭在外数据流图的主图上的数据流必须封闭在外部实体之间部实体之间v每个加工至少有一个输入数据流和一个输每个加工至少有一个输入数据流和一个输出数据流出数据流55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2928v在数据流图中,需按层给加工框编号。编号表明在数据流图中,需按层给加工框编号。编号表明在数据
27、流图中,需按层给加工框编号。编号表明在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系。该加工所处层次及上下层的亲子关系。该加工所处层次及上下层的亲子关系。该加工所处层次及上下层的亲子关系。v规定任何一个数据流子图必须与它上一层的一个规定任何一个数据流子图必须与它上一层的一个规定任何一个数据流子图必须与它上一层的一个规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须加工对应,两者的输入数据流和输出数据流必须加工对应,两者的输入数据流和输出数据流必须加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。一致。此即父图与子图
28、的平衡。一致。此即父图与子图的平衡。一致。此即父图与子图的平衡。v可以在数据流图中加入物质流,帮助用户理解数可以在数据流图中加入物质流,帮助用户理解数可以在数据流图中加入物质流,帮助用户理解数可以在数据流图中加入物质流,帮助用户理解数据流图。据流图。据流图。据流图。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2929v图上每个元素都必须有名字。图上每个元素都必须有名字。v数据流图中不可夹带控制流。数据流图中不可夹带控制流。v初画时可以忽略琐碎的细节,以集中初画时可以忽略琐碎的细节,以集中精力于
29、主要数据流。精力于主要数据流。55.1.1 数据流程分析数据流程分析数据流图数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2930商店业务处理系统商店业务处理系统商店业务处理系统商店业务处理系统55.1.1 数据流程分析数据流程分析数据流图数据流图例子例子2天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2931v这个数据流图只是一个高层的系统逻辑模这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能型,它反映了目标系统要实现的功能首先确定系统的输入和输出首先确定系统的输入和输出根
30、据商店业务,画出顶层数据流图,以根据商店业务,画出顶层数据流图,以反映最主要业务处理流程反映最主要业务处理流程55.1.1 数据流程分析数据流程分析数据流图数据流图例子例子2天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2932经过分析,商店业务处理的经过分析,商店业务处理的主要功能主要功能应当应当有有销售销售、采购采购、会计会计三大项。三大项。主要数据流主要数据流输入的源点输入的源点和和输出终点输出终点是是顾客顾客和和供应商供应商。然后从输入端开始,根据商店业务工作流然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画程,画出
31、数据流流经的各加工框,逐步画到输出端,得到第一层数据流图。到输出端,得到第一层数据流图。55.1.1 数据流程分析数据流程分析数据流图数据流图例子例子2天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2933第一层数据流图第一层数据流图第一层数据流图第一层数据流图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2934加细每一个加工框加细每一个加工框加细每一个加工框加细每一个加工框 销售细化销售细化销售细化销售细化天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2
32、935采购细化采购细化采购细化采购细化天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2936 IPO(IPO(Input/Process/Output)Input/Process/Output)图图简要的算简要的算法描述法描述是输入是输入/处理处理/输出图的简称输出图的简称,能够方能够方便地描绘输入数据、对数据的处理和输出数据之便地描绘输入数据、对数据的处理和输出数据之间的关系。间的关系。它它的的基基本本形形式式是是在在左左边边的的框框中中列列出出有有关关的的输输入入数数据据,在在中中间间的的框框内内列列出出主主要要的的处处理理,在在右右边边的的框
33、框内内列列出出产产生生的的输输出出数数据据。处处理理框框中中列列出出处处理理的的次序暗示了执行的顺序次序暗示了执行的顺序.55.1.1 数据流程分析数据流程分析5.1.3 IPO图图天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/29371.1.校验校验主记录主记录2.2.校验校验事务记录事务记录3.3.更新更新主记录主记录旧的主文件旧的主文件事务文件事务文件有效的有效的主记录主记录有效的有效的事务记录事务记录更新后的更新后的主文件主文件输出输出O O处理处理P P输入输入I I55.1.1 数据流程分析数据流程分析5.1.3 IPO图图天津城建大学
34、计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2938天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/29395.2.1 数据项数据项5.2.2 数据结构数据结构 5.2.3 数据流数据流5.2.4 数据存储数据存储5.2.5 数据处理数据处理5.2.6 外部实体外部实体55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2940v所谓所谓数据字典数据字典(Data Dictionary,简称,简称DD),是在新系统,是在新系统数据流程图的基础上,
35、进一步定义和描述所有数据的工具,数据流程图的基础上,进一步定义和描述所有数据的工具,包括对一切动态数据(数据流)和静态数据(数据存储)包括对一切动态数据(数据流)和静态数据(数据存储)的数据结构和相互关系的说明,是数据分析和数据管理的的数据结构和相互关系的说明,是数据分析和数据管理的重要工具,是系统设计阶段进行数据库(文件)设计的参重要工具,是系统设计阶段进行数据库(文件)设计的参考依据。考依据。v数据字典的内容主要是对数据流程图中的数据项、数据结数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面构、数据流、处理逻辑、数据存储和外部实体等六个方
36、面进行具体的定义,每一方面称为一个条目。进行具体的定义,每一方面称为一个条目。55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2941v数据词典与数据流图配合数据词典与数据流图配合,能清楚地表达数据处理的要求。能清楚地表达数据处理的要求。v数据词典的任务是对于在数据流图中每一个被命名的图形数据词典的任务是对于在数据流图中每一个被命名的图形元素均加以定义,使得每一个图形元素的名字都有一个确元素均加以定义,使得每一个图形元素的名字都有一个确切的解释。切的解释。数据字典是关于数据的信息的集合数据字典是关于数据的信息的集合,也就
37、是对数也就是对数据流图中包含的所有元素的定义的集合。据流图中包含的所有元素的定义的集合。数据字典的作用也正是在软件分析和设计的过数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。程中给人提供关于数据的描述信息。55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2942符号符号含义含义被定义为被定义为与与m.n界域界域.,.或,选择括号内的某一项或,选择括号内的某一项.|.或,选择括号内的某一项或,选择括号内的某一项m.n重复,花括号内的项多次重复出现,重复次数的上、下限也重复,花括号内的项多次重复出现
38、,重复次数的上、下限也可在括号边上标出可在括号边上标出(.)可选,圆括号内的项可出现也可不出现可选,圆括号内的项可出现也可不出现.引号内给出的是基本数据元素,它们无需进一步定义引号内给出的是基本数据元素,它们无需进一步定义5.2.1 定义式中常用的符号定义式中常用的符号55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2943 符符符符 号号号号 含含含含 义义义义 举举举举 例例例例 被定义为被定义为被定义为被定义为 等价于等价于 与与与与 x=ab.,.或或.|.或或或或 x=a,b,x=a|b.或或 m.n 重复,含
39、上下界重复,含上下界重复,含上下界重复,含上下界 x=a,x=3a8(.)可选可选可选可选 x=(a)“.”基本数据元素基本数据元素基本数据元素基本数据元素 x=“a”.连结符连结符连结符连结符 x=1.95.2.1 定义式中常用的符号定义式中常用的符号55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2944例子例子1 大学教务管理系统中部分数据流的组成大学教务管理系统中部分数据流的组成v(D01)学生证学号密码学生证学号密码 v(D02)申请单学号申请单学号(课程号选课学期课程号选课学期)v(D03)谢绝谢绝非法证件非
40、法证件|不合格单不合格单|证单不符证单不符 v(D04)注册学号注册学号 v(D05)选课学号课程号选课学期选课学号课程号选课学期 v(D06)无此课学号课程号无此课学号课程号无此课无此课 v(D07)注册记录无效学号注册记录无效学号注册无效注册无效 v(d01.1)学号学号00000001.99999999 v(d01.2)密码密码000001.999999 v(d02.2)课程号课程号1英文字母英文字母40001.9999 v(d02.3)选课学期选课学期0001.9999春季春季|秋季秋季55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析
41、与设计2022/10/2945存折格式存折格式存折格式存折格式55.2.2 数据字典数据字典例子例子2 天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2946v存折户名所号帐号开户日性质(印密)存折户名所号帐号开户日性质(印密)1存取行存取行50v户名户名2字母字母24v所号所号“001”.“999”v帐号帐号“00000001”.“99999999”v开户日年月日开户日年月日v性质性质“1”.“6”注:注:“1”表示普通户,表示普通户,“5”表示工资户表示工资户等等v印密印密“0”注:印密在存折上不显示注:印密在存折上不显示v存取行日期(摘要)支
42、出存入余额操作复核存取行日期(摘要)支出存入余额操作复核例子例子2 55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2947v数据项又称数据元素,是数据的最小单位。数据项又称数据元素,是数据的最小单位。分析数据特性应从静态和动态两个方面去分析数据特性应从静态和动态两个方面去进行。在数据字典中,仅定义数据的静态进行。在数据字典中,仅定义数据的静态特性。特性。5.2.1 数据项数据项55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2948表表5.2-2
43、 数据项的描述数据项的描述项目项目描述描述数据项编号数据项编号ID201数据项名称数据项名称材料编号材料编号别名别名材料编码材料编码简述简述某种材料的代码某种材料的代码类型及宽度类型及宽度字符型,字符型,4位位取值范围取值范围0001“.99995.2.1 数据项数据项55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/29495.2.2 数据结构数据结构v数据结构描述某些数据项之间的关系。数据结构描述某些数据项之间的关系。v一个数据结构可以由若干个数据项组成;一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成,
44、还可以由也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。若干个数据项和数据结构组成。55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2950表表 5.2-3 用户订货单的数据结构用户订货单的数据结构DS03-01DS03-01:用户订货单:用户订货单DS03-02DS03-02:订货单标识订货单标识DS03-03DS03-03:用户情况用户情况DS03-04DS03-04:配件情况配件情况I1I1:订货单编号:订货单编号I3I3:用户代码:用户代码I10I10:配件代码:配件代码I2I2:日期:日期I4I
45、4:用户名称:用户名称I11I11:配件名称:配件名称I5I5:用户地址:用户地址I12I12:配件规格:配件规格I6I6:用户姓名:用户姓名I13I13:订货数量:订货数量I7I7:电话:电话I8I8:开户银行:开户银行I9I9:账号:账号5.2.2 数据结构数据结构55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2951项目项目描述描述数据结构编号数据结构编号DS03-01数据结构名称数据结构名称用户订货单用户订货单简述简述用户所填用户情况及订货要求等信息用户所填用户情况及订货要求等信息数据结构组成数据结构组成DS0
46、3-02+DS03-03+DS03-04表表 5.2-4 数据结构描述数据结构描述5.2.2 数据结构数据结构55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/29525.2.3 数据流数据流v数据流由一个或一组固定的数据项组成。数据流由一个或一组固定的数据项组成。v定义数据流时,不仅要说明数据流的名称、组成定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。等,还应指明它的来源、去向和数据流量等。55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统
47、分析与设计2022/10/2953表表5.2-5 数据流描述数据流描述项目项目描述描述数据流编号数据流编号F03-08数据流名称数据流名称领料单领料单简述简述车间开出的领料单车间开出的领料单数据流来源数据流来源车间车间数据流去向数据流去向发料处理模块发料处理模块数据流组成数据流组成材料编号材料编号+材料名称材料名称+领用数量领用数量+日期日期+领用单位领用单位数据流量数据流量10份时份时高峰流量高峰流量20份时(上午份时(上午9:00-11:00)5.2.3 数据流数据流55.2.2 数据字典数据字典天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/2
48、9545.2.4 数据存储数据存储项目项目描述描述数据存储编号数据存储编号D03-08数据存储名称数据存储名称库存账库存账简述简述存放配件的库存量和单价存放配件的库存量和单价数据存储组成数据存储组成配件编号配件编号+配件名称配件名称+单价单价+库存量库存量+备注备注关键字关键字配件编号配件编号相关联的处理相关联的处理P2,P355.2.2 数据字典数据字典表表5.2-6 数据存储描述数据存储描述天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/29555.2.5 数据处理数据处理项目项目描述描述处理逻辑编号处理逻辑编号P2.3P2.3处理逻辑名称处理逻
49、辑名称计算电费计算电费简述简述计算应交纳的电费计算应交纳的电费输入的数据流输入的数据流数据流电费价格;数据流电量和用户类别数据流电费价格;数据流电量和用户类别处理过程处理过程根据数据流根据数据流 用电量用电量 和和 用户信息用户信息,检索用户文件,确定该用户,检索用户文件,确定该用户类别;再根据已确定的该用户类别,检索数据存储价格表文件,类别;再根据已确定的该用户类别,检索数据存储价格表文件,以确定该用户的收费标准,得到单价;用单价和用电量相乘得该以确定该用户的收费标准,得到单价;用单价和用电量相乘得该用户应交纳的电费。用户应交纳的电费。输出的数据流输出的数据流去外部项用户;写入数据存储用户电
50、费账目文件。去外部项用户;写入数据存储用户电费账目文件。处理频率处理频率对每个用户每月处理一次。对每个用户每月处理一次。55.2.2 数据字典数据字典表表5.2-7 数据存储描述数据存储描述天津城建大学计算机与信息工程学院 赵黎强软件系统分析与设计软件系统分析与设计2022/10/29565.2.6 外部实体外部实体项目项目描述描述外部实体编号外部实体编号S03-01外部实体名称外部实体名称用户用户简述简述购置本单位配件的用户购置本单位配件的用户输入的数据流输入的数据流D03-06,D03-08输出的数据流输出的数据流D03-01表表5.2-8 数据存储描述数据存储描述55.2.2 数据字典数