随着软件危机的不断产生,所以大家才提出了软件工程这门学科,软件工程简单来说就是用工程化的方法管理软件的开发和维护,使软件容错率大大降低。
描述复杂的事物时图形远比文字叙述优越的多,它形象直观容易理解。
系统流程图
在系统分析报告可能用到的图,这是常见的几种符号
系统流程图的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件,系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。系统流程图的画法是从顶向下或从左向右流动。
微软有一个叫做 OFFICE VISCO的软件提供用于画图形的模板。
数据流图(DFD)
数据流图的基本目的利用它作为交流信息的工具,和作为分析和设计的工具。数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换,它没有具体的物理部件它只是描述数据在软件中流动和被处理的逻辑过程,是分析员和用户之间极好的通信工具。
数据流图只有四种基本符号正方形(或立方体)表示数据的原点和终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流即特定数据的流动方向。
程序流程图
程序流程图有称为程序框图,它的主要优点是对控制流程的描绘很直观,便于初学者掌握,但心在已经很少有人使用了。
缺点:诱使程序员过早的考虑程序的控制流程,而不去考虑程序的全局结构,而且不易表示数据结构。
盒图
盒图(又称为N-S图)
它有如下特点
功能域(特定控制结构的作用域)明确,可以直观显示出来
不可能任意转移控制
很容易确定局部和全局的作用域
很容易表现嵌套关系,和模块的层次结构。
PAD图
PAD图是问题分析图的缩写,用PAD图所设计出来的程序必然是结构化程序,所描述的结构清晰易懂支持自顶向下、逐步求精方法的使用。
Jackson图
Jackson图在描绘程序结构时,一个方框也并不代表一个模块,通常一个方框只代表几个语句,它表现的是组成关系,也就是说一个方框中包括的操作仅仅由它下层框中的那些操作组成。
本人觉得这个不怎么好用。
大家不太熟知的还有层次方框图、Warnier图、IPO图(是输入、处理、输出图的简称)
这么多的图形,每一种图都有每一种图的用处,一句话,各尽其能,各有所用。