软件工程 第六讲 结构化分析方法

上传人:ji****72 文档编号:48560411 上传时间:2018-07-17 格式:PPT 页数:88 大小:471.50KB
返回 下载 相关 举报
软件工程 第六讲 结构化分析方法_第1页
第1页 / 共88页
软件工程 第六讲 结构化分析方法_第2页
第2页 / 共88页
软件工程 第六讲 结构化分析方法_第3页
第3页 / 共88页
软件工程 第六讲 结构化分析方法_第4页
第4页 / 共88页
软件工程 第六讲 结构化分析方法_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《软件工程 第六讲 结构化分析方法》由会员分享,可在线阅读,更多相关《软件工程 第六讲 结构化分析方法(88页珍藏版)》请在金锄头文库上搜索。

1、n什么是GOTO语句?n在以前的程序设计课程中,老师说 goto语句很重要,为什么在这里说不 那么重要呢?n简单明确的概述什么是自顶向下、逐步求 精的思想,它和自底向上的分析方法有什 么不同?n结构化设计程序的方法在软件工程提出后产生, 主要是提出取消“GOTO“语句的使用。我想问的 是在结构化中的模块之间的接口不就算是 “GOTO”语句吗?n问题一:书中104在讲到结构化程序设计(SP) 中提到的“只要三种控制结构(顺序、选择、重 复)就是能表达用一个入口和一个出口的流程图 所能表达的任何程序逻辑”该做如何理解?n问题二:该如何来理解结构化方法的指导思想( 自顶向下、逐步求精)与两个基本原则

2、(抽象、 分解)的联系?n什么叫软件重用的问题?需求分析的任务(8.2.3)n获得当前系统的物理模型n107页:“建立当前系统的物理模型时,这一模 型包含了许多具体因素”中“具体因素”指的是 什么?n建立出来的物理模型具体是什么样的?n抽象出当前系统的逻辑模型n应该怎么样去抽取当前系统的逻辑模型?n物理模型反映了系统“怎么做”的具体实现,去 掉物理模型中非本质的因素,抽取出本质的因 素,这里的非本质和该如何理解?n由当前系统的逻辑模型导出目标系统的逻 辑模型n107页:在建立目标系统的逻辑模型时,分析 人员根据自己的经验,采用自顶向下的逐步求 精的分析策略,除了自顶向下的分析方法外, 是否还有

3、其它的方法?n又如何去具体建立目标系统的逻辑模型?(3)需求分析方法n结构化分析方法( SA)n面向对象的分析方法n形式化分析方法n问题: 软件分析方法有哪些?各种方法的 特点及其应用在哪些软件分析中更合理?nSA分析对软件工程项目开发有什么联系?8.1 概述n在p104中,提到只要有三种控制程序,就 能表达用一个入口和一个出口的流程图所 能表达的任何程序逻辑,这句话没有能够 理解。n104页:“1969年,Bohm和Jacopini首次证 明了只要三种控制结构就能表达一个入口 和一个出口的流程图所能表达的任何程序 逻辑”中“一个入口和一个出口的流程图”。结构化分析方法(SA)n结构化分析方法

4、是一种面向数据流的需求 分析方法,适合于数据处理类型软件。n策略:自顶向下逐层分解问题:问题:“ “自顶向下逐层分自顶向下逐层分 解解” ”是不是和程序设计一是不是和程序设计一 样分成模块来单独进行样分成模块来单独进行 开发开发 结构化分析为什么是自结构化分析为什么是自 顶向下逐层分解,那为顶向下逐层分解,那为 什么不是自底向上的分什么不是自底向上的分 解?解?结构化分析方法(SA)n工具:数据流图、数据字典、结构化英语 (语言)、判定表和判定树等。n结构化方法最适用于哪种软件生存周期模 型?n106页:“SA方法利用图形等半形式的描述 方式表达需求”中“半形式的描述方式” 。nP105:2、

5、IDEF、SA分别各指什么?、数据流图(DFD)(3.5)n作用:用来描述数据处理过程的。它从数据 传递和加工的角度,以图形的方式刻画数 据流从输入到输出的传输变换过程。它表 示了系统内部信息的流向,并表示了系统 的逻辑功能(做什么)。nDFD的符号体系nDFD的画法n注意事项nDFD与其他流程图的区别n:“数据流图是SA方法中用于表示系统 逻辑模型的一种工具,它以图形的方式描 绘数据在系统中流动和处理的过程。由于 它只反映系统给必须完成的逻辑功能,所 以它是一种功能模型。”功能模型具体是 指什么呢,该如何理解?(8.3, p107)n数据流图的作用到底是什么?n如何快速简介的制作一张数据流图

6、?n基本符号n扩充符号DFD的符号体系返回(i)、DFD的基本符号加工数据流数据存储实体名实体名数据的源点/终点 (汇点)或或或12(软设)编号加工名数据流名编号 文件名文件名加工名编号返回编号文件名或或或实体名编号加工名3(系分)nP110: 第(8)个注意事项,给出了数据 流图的另一套基本符号。我不知道何时该 用原来的那一套基本符号,何时用这套基 本符号?这两套符号分别用在什么场合?n数据流图的基本符号表示了什么含义?除 了4种基本图形符号还有别的图形符号吗?n111页:图8.7所表示的是与图8.2等价的DFD,那 么在实际画DFD时,我们怎样确定具体使用哪 一种符号?这两种符号有什么区别

7、和联系?n书上给出了两种类型的数据流图,那我们在画数 据流图时应该选择哪种呢? n1、数据流图的画法有两种,哪一种比较适合我 们?n数据流图矩形里面的内容是什么含义,椭圆里面 的内容又是什么含义,矩形与椭圆之间用箭头表 示有什么联系?数据源点/终点(汇点)n外部实体:系统之外的实体,包括人、物 或其他软件系统。n数据源点:给系统提供数据的外部实体。n数据终点(汇点):接收系统输出数据流 的外部实体。n2、 一个数据源点也可以是数据终点吗? (p108 8.3.1.4 )n源点和终点(汇点)可以是同一外部实体 。返回加工n也称为数据处理或变换或处理,是对数据处理的 单元。n加工(处理)的命名规则

8、:n顶层的加工名就是软件项目的名字。n加工的名字最好使用动宾词组。可以用主谓词组。n不要使用意义空洞的动词作为加工名,即只有动词或 主语。n如果在命名时遇到困难,说明你可能对数据流的分解 不恰当,应进行重新分解。n问题六:基本加工是靠自己的经验来确定的,还 是有一定的标准?返回数据流n表示数据的流向。n数据流由一组数据项组成。n命名规则和注意事项:n数据流的名字用名词或名词词组n应尽量使用现实系统中已有的名字n把现实环境中传递的一组数据中最重要的那个数据的名字作为数 据流的名字n不要把控制流作为数据流n不要使用意义空洞的名词作为数据流名,如”数据“、“信息“等。n如果在命名时遇到困难,说明你可

9、能对数据流的分解不恰当,应 进行重新分解。n对流进或流出文件的数据流不需标注名字。返回问题n数据流图中的数据流有哪几种类型?n关于数据流程图的绘制,其中对于数 据流、加工等部分的命名很模糊?数据存储n由若干数据元素组成,是数据暂时保存的 处所,统称为文件。n命名规则与数据流的命名规则类似。n问题五:数据流图(DFD)中的数据存储可 以理解成是临时数据库或者虚拟的吗?返回DFD的扩充符号n如果同一个符号在图中出现在n个地方, 则在这个符号的一个角上画n-1条短斜线做 标记。n问题P108:在数据流图中,用方框表示数据的 源头及终点,然后用方框的右下角加斜线表示 一个实体,这两者有什么区别,难道不

10、在有下 角加斜线就不是实体了吗?在书上的例子中旅 客不属于实体吗?我觉得应该是实体?但是为 什么又没加斜线?n为什么说数据存储也需要重复标识?返回n怎样画DFD呢?()、DFD的画法n采用自顶向下,逐层分解的方法。即先把整个系 统当作一个处理功能来看,画出系统的概图(顶 层DFD),然后逐层下分解(0层,1层。 。)。n顶层数据流是什么?怎么画顶层数据流图?返回()、DFD的画法n具体步骤n画系统的输入(接收的数据)/输出(向外界 送出的数据),以确定系统的范围。n顶层数据流图中是否一定不能有数据存储n在画数据流图时,根据顶层图,如何画下层数据流 图,如何对数据流图进行分层,在分层当中有哪些

11、规律可循?n画系统的内部。将系统的输入/输出流用一连 串的加工连接起来。从输入开始或从输出回溯 。返回具体步骤:n画加工的内部n对草图进行检查和合理布局。n和用户交流。n问题: 是否要一层一个数据流图?还是数据 流图可以合并?(p108 8.3.2) 注意事项n画数据流图的步骤中一项叫注意事项?n命名n画数据流而不是画控制流n问题1:数据流和控制流的区别?n一般不画物质流n问题2:什么叫物质流?n问题3:数据流图中哪些“流”该画上去, 哪些可以不用画上去?注意事项n每个加工至少有一个输入数据流和一个输 出数据流n编号:加工编号由图号、小数点及局部号 组成。n父图与子图的平衡。n问题P110 怎

12、样准确的判断出父图与子图的平 衡?父图 与子 图平 衡吗 ?父图 与子 图平 衡吗 ?问题n110页图8.6为什么平衡不清楚。nP110 对父图与子图的平衡的理解:图8.6中如 果不存在图8.4的情况下,那么这个父图与子图 就不符合自图的平衡了,对吗?n画数据流图中,父图与子图怎样保持平衡?nP110:第(6)个注意事项第二段第一句:有时 考虑平衡可忽略一些枝节性的数据流。我对本句 中的“枝节性的数据流”不太理解,不知道什么叫 “枝节性的数据流”,枝节性的数据流有何特点?问题:n父图与子图的画法?n怎样处理数据流图中父图与子图n比如给你一个父图,怎样画出子图n 总结:父图有几个输入输出,子图也

13、要有 几个输入输出,但是父图的输入输出在子 图中可表现为分解出来的多个数据流?注意事项n局部数据存储只有当它作为某些加工的数 据接口或某个加工特定的输入或输出时, 才把它画出来。n8.3.2中第七小点,“局部数据存储”不太明白。n只与一个加工环节有关的数据存储,如果 不是公用的或特别重要的,可不必画出。n每张图的加工项目以不超过7-8个为宜。n加工间的数据流最好控制在1-2条。否则考 虑对加工进行合并或删除。返回注意事项n分解要均匀。应避免出现某些加工已是最 小功能单元而另一些加工却还要等待继续 分解好几层的情况出现。n如何理解?n画数据流图时怎样掌握层的具体划分才更加合 理?返回问题n“上层

14、的加工是由下层的基本加工分解而 来”这就话我不能理解,应该是下层的基 本加工是上层的基本加工分解而来。希望 老师能帮我理解一下。 nP110 怎样把一个加工分解成子加工? n图8.8(销售管理系统的分层数据流图)没 理解明白,麻烦老师分析一下。n P111页如何用SA方法画出销售管理系统的 分层DFD的?问题n107页 图8.2飞机机票预订系统这个图不是 太懂,希望老师能够在具体的讲解一下。n了解了数据流图的注意事项还是不能完全 正确的画出数据流图怎么办?n数据流图怎么才能画的准确无误?问题n画数据流图是在需求分析时用到的吗? n2、P107 飞机机票预定系统的数据流图是不是 缺少了一个数据流

15、旅行社要将取票通知单交 给旅客?n画数据流图的几个部分:系统的输入输出、系统 内部、注意事项。这三个部分具体怎么理解?(8.3.2)n3.根据书上所说的第二套符号描述数据流图时, 生成编号的规则是什么?n107页图8.2中的DFD与111页8.7中的数据流图是如 何等价的?n它与数据库中的E-R图有何异同?数据流图与其他流程图的区别n与系统流程图的区别n系统流程图不仅有数据流,还有物质流和资金流。数据 流图将物质流与资金流排除在外,或者将它们抽象为 数据流的形式。n与程序流程图的区别n程序流程图中的处理框之间有严格的时间上的顺序, 而数据流图只反映数据的流向、处理逻辑和必要的数 据存储,不反映

16、处理逻辑之间的先后顺序。n与程序结构图的区别:n程序结构图反映模块之间的控制关系以及模块之间的 调用关系。n与控制流的区别:n如果某条线上没有数据,则是控制流。数据字典(3.7)n用来描述数据流图中出现的每一个成分给 出定义。n数据字典条目的类型:n数据项条目n数据流条目n数据文件条目n加工条目n数据字典怎样在数据流图中使用?问题n数据字典的应用领域及运用方法?n数据字典的具体含义是什么?n在软件工程中数据字典有何作用?n数据字典的解释中有数据流条目、数据条 目、基本加工条目,在什么情况下才会用 到这些条目。n 数据字典的4类条目之间的区别n数据字典中的各种定义字符是否可以自己 构建?不需要使用书上的字符,还是有规 范的数据字典的定义字符?n如何使用数据字典,以及使用数据字典所 带来的哪些便利?(i)、数据流条目符号含义义例及说说明 =被定义为义为 +与X=a+b |或X=a|b 重复X=a mn或重复X=2a5 ()可选选X=(a) “”基本数据元素X=“a” 连连接符X=19主要内容n数据流

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号