结构化软件系统建模
博学公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组 经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计 思路:
①小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
②小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图12-1所示。
项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图12-1所示的数据流图中存在的错误。
流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
参考答案:
数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。
流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。
两者的区别主要包括:
①数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
②数据流图展现系统的数据流;流程图展现系统的控制流。
③数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。
④数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理模阶段。
解析:
问题1主要考查系统流程图与数据流图的区别。系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不是表示对信息进行加工处理的控制过程。
数据流图就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
数据流图和流程图的区别主要表现于:数据流图用于系统的逻辑建模,而流程图用于物理建模。数据流图展现的是全局处理过程,而流程图往往是局部的处理过程。流程图是顺序执行的处理过程,即一个时间点,通常是处理一项事务,而数据流图的处理过程是并行的,多个处理流程同时进行。数据流图展现的是系统数据流,而流程图展现的是系统控制流。