【文档说明】软件系统分析与设计-5--结构分析设计-课件1.ppt,共(57)页,1.246 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45352.html
以下为本文档部分文字说明:
LOGO第5章软件系统结构化分析与设计方法天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/22教学目的及要求了解软件结构化分析方法的基本概念。熟悉:结构化分析与设计方法原理。掌握:数据流图、数据字典、软件结构图和程序结构图的设计。重点:结
构化分析方法。难点:用于结构化原理和方法进行结构化设计设计。天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/23教学内容§5.1数据流程分析§5.2数据字典§5.3结构化设计§5.4软件结构设计§5.5程序结构设计天津城建大
学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/245.1.1数据流程分析5.1.2数据流图5.1.3IPO图§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/255.1.1数据流程分析1.结构化分析方法学结构
化分析方法学主要包括:结构分析、结构设计和结构化程序设计技术——SA-SD-SP,是建立在系统生命周期的概念基础之上的,通过抽象化机制,采用自顶向下、逐步求精的分析方法,用数据流图表示数据的控制,用IOP图表示数据输入、控制和输出关系及顺序,用数据字典表示
数据结构,用软件结构图表示程序模块的关系,Jakcsen图(或程序流程图)表示程序结构。§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/265.1.1数据流程分析1.结构化
分析方法学结构化分析方法的本质是功能分析和模块化。以实现功能的过程为中心,所谓的结构化是指:对于解决该问题的最佳解决方案的过程是已知的。实际上这是运用结构化分析方法的条件。因此,当用户针对功能的需求发生变化时,这就使基于过程的设计不易被理解;而
功能变化往往引起较大的结构变化。§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/275.1.1数据流程分析1.结构化分析方法学结构化分析方法产生的系统有明确的边界定义
,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改。数据与操作分开处理,可能造成软构件对具体应用环境的依赖,使可重用性(reusability)较差。§5.1数据流程分析天津城建大学计算机与信息
工程学院赵黎强软件系统分析与设计2024/12/285.1.1数据流程分析2.数据流程在结构化分析中以数据的流动和变化作为分析的主要线索。数据从哪里产生——数据源,最终流向哪里——数据终,数据流经哪里?发生了怎样的变化?由此构成了数据的流程。这是进行结构
化分析是要回答的问题,通过回答这些问题建立结构化分析模型。§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/295.1.2数据流图结构化分析方法学主要包括:结构分析、结构设
计和结构化程序设计技术——SA-SD-SP,是建立在系统生命周期的概念基础之上的,通过抽象化机制,采用自顶向下、逐步求精的分析方法,用数据流图表示数据的控制,用IOP图表示数据输入、控制和输出关系及顺序,用数据字典表示数据结构,用软件结构图表示程序模块的关系,Jakcsen图(或程
序流程图)表示程序结构。§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/210用数据流图分析复杂的系统时,要把复杂的系统分层次,主要是对关键部分分层细化,并保持系统的逻辑功能。数据流图(DFD-DataFlowDrawing)描绘系统的逻辑
模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/211设计数据流图只需考虑系统必须完成的
基本逻辑功能,完全不需要考虑如何具体地实现这些功能。数据流图与程序流程图完全不同,它是描绘信息流和数据从输入最后移动到输出的过程中所经历的各种变幻。就图本身而言并不是只有程序员或计算机专业人员才能读懂,特别是,需求方能读得懂。§5.1
数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/212符号:数据流图中的主要图形元素数据的原点/终点变换数据的处理数据存储数据流§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系
统分析与设计2024/12/213说明:⚫处理并不一定是一个程序。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。⚫一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等等;⚫数据可以存储在磁盘、光盘、移动存储
、主存及其他任何介质上(包括人脑)。⚫数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/214⚫有时数据的源点和终点
相同,为了增加数据流图的清晰程度。再重复画一个同样的符号(正方形或立方体)表示数据的终点。⚫有时数据存储也需要重复,以增加数据流图的清晰程度。为了避免可能引起的误解,如果代表同一个事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画(
n-1)条短斜线做标记。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/215描述银行取款过程的数据流图§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/216数据流与数据加工之
间的关系TTTTT++§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/217数据流图的层次结构❖为了表达数据处理过程的数据处理情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种
结构关系,能清楚地表达和容易理解整个系统。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/218分层数据流图§5.1数据流程分析天津城建大学计算机
与信息工程学院赵黎强软件系统分析与设计2024/12/219❖在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。❖底层流图是指其加工不需再
做分解的数据流图,它处在最底层。❖中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/220画数据流图的步骤:自外向内,自
顶向下,逐层细化,完善求精1.从问题描述中提取数据流图的四种成分。2.根据具体业务,画出顶层数据流图,以反映最主要业务处理流程。3.从输入端开始,按系统的逻辑需要,画出数据流流经的各处理框,逐步画到输出端,得到第一层数据流图。4.对数据流图中描绘的系统主要功能进一步细化,画出所需的子图。5.
检查、修改。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/221假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:
零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。例子1§5.1数据流程分析5.1.
2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/222数据流图有四种成分:•源点或终点——外部实体•处理•数据存储•数据流第一步从问题描述中提取数据流图的四种成分。组成数据流图的元素可以从描述问题的信息中提取(有些信息
是隐含的)源点与终点:采购员是数据终点,而仓库管理员是数据源点。5.1.2数据流图例子1§5.1数据流程分析天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/223处理:产生报表、处理零件入库出库的事务数据流:
(1)定货报表:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。(2)事务:零件编号(名称)、事务类型(入库出库)、数量。数据存储:(1)定货信息(参考具体货报表)(2)库存清单:零件编号、库存量、库存量临界值。§5.1数据流程分析5.1.2数据流图例子1天津城
建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/224第二步画出基本系统模型(若干个数据源点/终点加一个处理)仓库管理员定货系统采购员事务定货报表§5.1数据流程分析5.1.2数据流图例子1天津城建大学计算机与信
息工程学院赵黎强软件系统分析与设计2024/12/225第三步对基本系统模型进一步细化仓库管理员采购员事务定货报表12处理事务产生报表D2定货信息D1库存清单定货信息定货信息库存清单定货信息在图中给处理和数据加了编号,这样做的目的是便于引用和追踪
。天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/226第四步对功能级数据流图中描绘的系统主要功能进一步细化仓库管理员采购员事务定货报表1.32处理定货产生报表D2定货信息D1库存清单定货信息定货信息库存清单
1.2更新库存清单1.1接受事务事务库存信息天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/227检查和修改数据流图的原则❖数据流图上所有图形符号只限于前述四种基本图形元素❖数据流图的主图上的数据流必须封闭在外部实体之间❖每个加工至少有
一个输入数据流和一个输出数据流§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/228❖在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系。❖规定任何一个数据流子
图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。❖可以在数据流图中加入物质流,帮助用户理解数据流图。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/229
❖图上每个元素都必须有名字。❖数据流图中不可夹带控制流。❖初画时可以忽略琐碎的细节,以集中精力于主要数据流。§5.1数据流程分析5.1.2数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/230商店业务处理系统§5.
1数据流程分析5.1.2数据流图例子2天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/231❖这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能•首先确定系统的输入
和输出•根据商店业务,画出顶层数据流图,以反映最主要业务处理流程§5.1数据流程分析5.1.2数据流图例子2天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/232•经过分析,商店业务处理的主
要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。•然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图。§5.1数据流程分析5.1.2数据流图例子2天津城建大学计算机与信息工程学
院赵黎强软件系统分析与设计2024/12/233第一层数据流图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/234加细每一个加工框销售细化天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/235采购细化天津城建大学计算
机与信息工程学院赵黎强软件系统分析与设计2024/12/236IPO(Input/Process/Output)图——简要的算法描述——是输入/处理/输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。它的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主
要的处理,在右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序.§5.1数据流程分析5.1.3IPO图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/2371.校验主记录2.校验事务记录3.更新主记录旧的主文件事务文件有效的主记录有效的事务记录更新后
的主文件输出O处理P输入I§5.1数据流程分析5.1.3IPO图天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/238天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计20
24/12/2395.2.1数据项5.2.2数据结构5.2.3数据流5.2.4数据存储5.2.5数据处理5.2.6外部实体§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/240❖所谓数据字典(DataDictionary,简称DD),是在新系统数据流程图的基
础上,进一步定义和描述所有数据的工具,包括对一切动态数据(数据流)和静态数据(数据存储)的数据结构和相互关系的说明,是数据分析和数据管理的重要工具,是系统设计阶段进行数据库(文件)设计的参考依据。❖数据字
典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义,每一方面称为一个条目。§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/241❖数据词典与数据流图配合,能清楚
地表达数据处理的要求。❖数据词典的任务是对于在数据流图中每一个被命名的图形元素均加以定义,使得每一个图形元素的名字都有一个确切的解释。数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用也正是在软件分析和设计的过程中给人提供关
于数据的描述信息。§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/242符号含义=被定义为+与m..n界域[...,...]或,选择括号内的某一项[...|...]或,选择括号内的某一项
m{...}n重复,花括号内的项多次重复出现,重复次数的上、下限也可在括号边上标出(...)可选,圆括号内的项可出现也可不出现"..."引号内给出的是基本数据元素,它们无需进一步定义5.2.1定义式中常用的符号§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析
与设计2024/12/243符号含义举例=被定义为等价于+与x=a+b[...,...]或[...|...]或x=[a,b],x=[a|b]{...}或m{...}n重复,含上下界x={a},x=3{a}8(..
.)可选x=(a)“...”基本数据元素x=“a”..连结符x=1..95.2.1定义式中常用的符号§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/244例子1大学教务管理系统中部分数据流的组成❖(D01)学生证=学号+
密码❖(D02)申请单=学号+(课程号+选课学期)❖(D03)谢绝=["非法证件"|"不合格单"|"证单不符"]❖(D04)注册=学号❖(D05)选课=学号+课程号+选课学期❖(D06)无此课=学号+课程号+"无此课"❖(D07)注册记录无
效=学号+"注册无效"❖(d01.1)学号="00000001".."99999999"❖(d01.2)密码="000001".."999999"❖(d02.2)课程号=1{"英文字母"}4+"0001".."9999"❖(d02.3)选课学期=
"0001".."9999"+["春季"|"秋季"]§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/245存折格式§5.2数据字典例子2天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/246❖存折=户名+所号
+帐号+开户日+性质+(印密)+1{存取行}50❖户名=2{字母}24❖所号=“001”..“999”❖帐号=“00000001”..“99999999”❖开户日=年+月+日❖性质=“1”..“6”注:“1
”表示普通户,“5”表示工资户等❖印密=“0”注:印密在存折上不显示❖存取行=日期+(摘要)+支出+存入+余额+操作+复核例子2§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/247❖数据项又称数据
元素,是数据的最小单位。分析数据特性应从静态和动态两个方面去进行。在数据字典中,仅定义数据的静态特性。5.2.1数据项§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/248表5.2-2数据项
的描述项目描述数据项编号ID201数据项名称材料编号别名材料编码简述某种材料的代码类型及宽度字符型,4位取值范围"0001“.."9999"5.2.1数据项§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/2495.2.2数据结构❖数据结构描述某些数据项
之间的关系。❖一个数据结构可以由若干个数据项组成;也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/250表5.2-3用户订
货单的数据结构DS03-01:用户订货单DS03-02:订货单标识DS03-03:用户情况DS03-04:配件情况I1:订货单编号I3:用户代码I10:配件代码I2:日期I4:用户名称I11:配件名称I5:用户地址
I12:配件规格I6:用户姓名I13:订货数量I7:电话I8:开户银行I9:账号5.2.2数据结构§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/251项目描述数据结构编号DS03-01数据结构名称用户订货单简述用户所填用户情况及订货要求等信息数据结构组
成DS03-02+DS03-03+DS03-04表5.2-4数据结构描述5.2.2数据结构§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/2525.2.3数据流❖数据
流由一个或一组固定的数据项组成。❖定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/253表5.2-5数据流描述项
目描述数据流编号F03-08数据流名称领料单简述车间开出的领料单数据流来源车间数据流去向发料处理模块数据流组成材料编号+材料名称+领用数量+日期+领用单位数据流量10份/时高峰流量20份/时(上午9:00-11:00)5.2.3数据流§5
.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/2545.2.4数据存储项目描述数据存储编号D03-08数据存储名称库存账简述存放配件的库存量和单价数据存储组成配件编号+配
件名称+单价+库存量+备注关键字配件编号相关联的处理P2,P3§5.2数据字典表5.2-6数据存储描述天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/2555.2.5数据处理项目描述处理逻辑编号P2.3处理逻
辑名称计算电费简述计算应交纳的电费输入的数据流数据流电费价格;数据流电量和用户类别处理过程根据数据流"用电量"和"用户信息",检索用户文件,确定该用户类别;再根据已确定的该用户类别,检索数据存储价格表文件,以确定该用户的收费标准,得到单价;用单价和用电量
相乘得该用户应交纳的电费。输出的数据流去外部项用户;写入数据存储用户电费账目文件。处理频率对每个用户每月处理一次。§5.2数据字典表5.2-7数据存储描述天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/2565.2.
6外部实体项目描述外部实体编号S03-01外部实体名称用户简述购置本单位配件的用户输入的数据流D03-06,D03-08输出的数据流D03-01表5.2-8数据存储描述§5.2数据字典天津城建大学计算机与信息工程学院赵黎强软件系统分析与设计2024/12/257作业思考题:习题1习
题2习题3第4章软件系统需求获取、分析及描述-1