解:依题意得b=2,c=3,已知a是6或2依据三角形三边关系可知a=2又因为a=b=2,可以判断三角形为等腰三角形。
在了解数据流图之前,先来了解下与之相关的软件开发方法与结构化方法的相关概念。
软件方法学是以软件开发方法为研究对象的学科。
从开发风格上来看,软件方法学可分为自顶向下开发方法和自底向上开发方法。
自顶向下开发方法强调开发过程是由问题到解答、由总体到局部、由抽象到具体。
自底向上开发方法从系统实现的最基础部分着手,由简单到复杂,逐层向上构造,直至得到最终所需的软件。
结构化方法属于自顶向下的开发方法,其基本思想是“自顶向下,逐步求精”,强调开发方法的结构合理性及所开发软件的结构合理性。
结构是指系统内系统内各个组成要素之间的相互联系、相互作用的框架。
结构化开发方法提出了一组提高软件结构合理性的概念与规则,如分解与抽象、模块独立、信息隐蔽等。
对应于软件生命周期各个不同的阶段,结构化方法包括结构化分析(SA)、结构化设计(SD)和结构化编程(SP)等方法。
其中,结构化设计是一种面向数据流的方法,在该方法中,模块是实现功能的基本单位。
它通常与结构化分析方法衔接起来进行,以数据流图(DFD)为基础得到软件的模块结构。
数据流图(Data Flow Diagram,简称DFD),是进行结构化分析和设计的重要工具,是表达系统内部数据的流动并通过数据流描述系统功能的一种方法。
在DFD中,有四种基本组成元素,分别是:数据流、加工、数据存储、外部实体(数据来源及数据终点)。
这四种元素分别用四种基本符号表示。
→:数据流。
数据流是具有名字和流向的数据。
除了与数据存储之间的数据流不用命名外,其他一般都应该命名,将名字标注在带箭头的线旁边。
在数据流图中应该体现所有可能的数据流,但不需要描绘出现某个数据流的条件。
□:外部实体。
外部实体是指位于被建模的系统/模块之外的信息生产者或消费者,它们分别表示数据处理过程的数据来源和数据去向。
用标有名字的方框表示。
外部实体可以是人、物或其他软件系统。
○:对数据的加工(或处理)。
它接收一定的数据输入,对其进行处理,并产生输出。
一个处理节点可以代表一系列程序、单个程序或者程序的一个模块,可以称之为一个功能单元。
〓:数据存储。
数据存储是可访问的数据信息,表示信息的静态存储。
可以是文件、数据库的信息等。
例如,对于以下的计算序列:
x = a + by = c - dR1 = x * yR2 = b / d用数据流图表示为:
可以看到,图中的每个圆圈表示一个操作,箭头表示数据的流向,即输入输出,同时还包含先后顺序。
具体来说,图中的a、b、c、d、R1、R2属于外部实体,+、-、*、/为处理节点,箭头表示数据流向。
在上图中,执行 a+b 和 c-d 的顺序是任意的,x*y 和 b+d 的顺序也是任意的。
它们没有数据依赖性,即两个步骤之间不存在一个步骤的输出是另一个步骤的输入。
在概念上,数据流图是有向非周期的图,包含节点和边。
其中,节点代表功能单元,处理输入和产生输出;有向边是两个节点间的有向箭头,表示箭头节点的输入数据是箭尾节点的输出,意味着只有上一个节点计算完成才能进行下一个节点计算。
从图中可以看出,数据流图表达了数据的生产者、数据的产生顺序和数据的消费者,同时也可以看出数据流的并行情况、并发计算的时机和数据的生命周期。
数据流图从数据传递和处理的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所需要完成的功能。
主要有以下作用
DFD是理解和表达用户需求的工具,是系统分析和系统设计的手段。
图形符号简明易懂,不需要计算机专业知识也可以很好地理解。
通过数据流图与客户交流很方便。
DFD概括地描述了系统的内部逻辑过程,体现了系统分析的结果,可以作为系统设计的重要依据和参考资料,可以说是系统设计的起点。
通过DFD可以进一步制定后续的系统开发计划。
DFD可以是一个物理系统模型,也可以是逻辑系统模型,还可以是两者的混合。
逻辑DFD与物理DFD最大的区别在于,逻辑DFD只描述了相关的组成元素,而物理DFD则会涉及具体的实现技术。
在系统分析中,逻辑DFD作为需求规格说明书的组成部分,用于建模系统的逻辑业务需求;在系统设计中,物理DFD作为系统构造和实现的技术性蓝图,用于建模系统实现的技术设计决策和人为设计决策。
通常在实际运用中,为了表达数据处理过程中的数据加工情况,用一个DFD是不够的。
稍复杂的实际业务问题,在DFD中常常出现十几个甚至更多的加工。
为了使DFD看起来更清晰直观,可以采用层次结构的DFD,按照系统的层次结构进行逐步分解。
一般,根据层级将数据流图分为顶层数据流图、中层数据流图和底层数据流图。
除顶层数据流图外,其他数据流图按顺序从0开始编号。
顶层数据流图只含有一个处理节点,代表所要建模的整个系统;输入数据和输出数据为系统的输入和输出。
通常用于表达系统范围,以及与外部系统或环境的关系。
中层数据流图是对顶层数据流图中某个处理进行细化,而它本身的某个处理节点还可以进一步细化,形成下一级的数据流图。
中层数据流图的多少,一般与系统的复杂度有关。
底层数据流图是指处理节点不能再分解的数据流图。
其处理节点称为“原子处理”或“原子加工”。
例如,某经销商经销系统的功能为:
(1) 向上级经销商提交订货订单;
(2) 接收下级经销商退货订单;
(3) 接收电商系统的消费者订单。
画出该系统的顶级数据流图为:
然后,可以的顶级数据流图进一步细化,细化为多个下级数据流图。
在此举例细化消费者订单模块数据流图DFD/L0.1如下:
注意命名方式,顶级数据流图下面的第一层为DFD/L0,如果该层有多个数据流图,DFD/L0.1、DFD/L0.3、DFD/L0.3……,第一层的下一层为DFD/L1,依此类推。
复制本文链接攻略资讯文章为拓城游所有,未经允许不得转载。