阅读以下关于结构化软件系统建模的叙述。 某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角

admin2010-03-08  57

问题 阅读以下关于结构化软件系统建模的叙述。
    某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:
   (1) 小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
   (2) 小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如下图所示。
   
   项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了上图所示数据流图中存在的错误。
   [问题1]
   流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
   [问题2]
   请分析指出上图所示的数据流图中存在的错误及其原因,并针对1层数据流图绘制出情报分类子系统的0层数据流图。
   [问题3]
   高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。

选项

答案[问题1] 数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。 流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。 两者的区别主要包括: (1) 数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。 (2) 数据流图展现系统的数据流;流程图展现系统的控制流。 (3) 数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。 (4) 数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。 [问题2] 如图所示的数据流图中存在的错误有以下4种: (1) “分类训练”加工:只有输入没有输出,产生数据黑洞; (2) “分类处理”加工:只有输出没有输入,无中生有; (3) “规则文件”数据流:外部实体没有经过加工处理,直接到数据存储; (4) “配置信息”数据流:外部实体之间没有加工处理,存在直接数据流。 [*] [问题3] 高质量数据流图设计时应考虑的三个原则: (1) 复杂性最小化原则。DFD分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个DFD。如果要了解某个过程更加详细的信息,可以跳转到该过程的下一层;如果要知道一个DFD如何与其他DFD相关联,可以跳转到上一层的DFD进行考查。 (2) 接口最小化原则。接口最小化是复杂性最小化的一种具体规则,在设计模型时,应使得模型中各个元素之间的接口数或连接数最小化。 (3) 数据流一致性原则。一个过程和它的过程分解在数据流内容中是否有差别?是否存在有数据流出但没有相应的数据流入的加工?是否存在有数据流入但没有相应的数据流出的加工?

解析 本题考查考生对于结构化系统建模方法的掌握情况。
   [问题1]
   数据流图和流程图是结构化建模中使用的重要工具,能够帮助开发人员更好地分析和设计系统,增强系统开发人员之间交流的准确性和有效性。数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流,适用于系统分析中的逻辑建模阶段。流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流,往往涉及到具体的技术和环境,适用于系统设计中的物理建模阶段。
   本题项目组为了更好地对情报数据处理流程及其与外部角色的关联进行建模,符合数据流图的应用场景要求,因此,首先构建数据流图以反映数据流向和系统边界。
   数据流图和流程图是为了达到不同的目的而产生的,其所采用的标准符号集合也不相同。在实际应用中,区别主要包括是否可以描述处理过程的并发性;描述内容是数据流还是控制流等几个方面。
   [问题2]
   数据流图中常见的错误分为两种类型:一类是语法错误,包括外部实体之间、数据存储之间或外部实体与数据存储之间不经过加工而存在直接数据流;另一类是逻辑错误,包括数据黑洞(只有输入没有产生输出)、灰洞(输入不足以产生输出)和无输入。
   “分类训练”加工属于数据黑洞错误;
   “分类处理”加工属于无输入错误;
   “规则文件”和“配置信息”数据流属于语法错误。
   对于复杂系统,一般采用分层数据流图逐步细化系统的内部处理逻辑。0层数据流图是1层数据流图更高级别的抽象。“分类训练”和“分类处理”加工属于内部加工,“分类规则”数据流属于内部数据流,抽象为“情报分类子系统”加工。其中,“样本数据”、“规则文件”和“配置信息”为输入数据流;“分类结果”为输出数据流。
   [问题3]
   高质量的数据流图首先要求满足数据流一致性要求,即数据流的输入输出应该匹配,输入数据的信息量足以产生输出数据,所有的输出数据都能够从输入数据中找到数据的来源。对于复杂性系统,可以采用DFD分层结构将系统的复杂性逐步分解降低,以提高数据流图的有效性。高质量的数据流图应该简化复杂的接口,最小化接口或连接的数目。
转载请注明原文地址:https://kaotiyun.com/show/9NQZ777K
0

最新回复(0)