2016年系统架构设计师案例分析试题加答案(二)

系统架构设计师 责任编辑:长颈鹿 2016-10-11

添加老师微信

备考咨询

加我微信

摘要:系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

       >>>点击进入了解系统架构设计师网络课堂课

       >>>点击进入了解系统架构设计师面授班


       系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

      阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。

      希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。

      小张提出先构建系统流程图(SystemFlowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。

      小李提出先构建系统数据流图(DataFlowDiagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。

1.png

      项目组经讨沦确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图的数据流图中存在的错误。

      3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。

      4、请分析指出图所示的数据流图中存在的错误及其原因,并针对图的1层数据流图绘制出情报分类子系统的0层数据流图。

      5、高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。

      参考答案

      3、数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。两者的区别如下。

      ①数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。

      ②数据流图展现系统的数据流;流程图展现系统的控制流。

      ③数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。

      ④数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。

      [解析]这是一道流程图与数据流图的试题,主要考查系统流程图与数据流图的区别、以及数据流图的基本应用。主要考查系统流程图与数据流图的区别。系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不是表示对信息进行加工处理的控制过程。数据流图就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

      ①数据流图的主要作用数据流图从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,数据流图的主要作用如下。

      ·数据流图是理解和表达用户需求的工具,是需求分析的手段。由于数据流图简明易懂,不需要任何计算机专业知识就可以理解它,因此,系统分析师可以通过数据流图与用户进行交流。

      ·数据流图概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具,也是系统设计的重要参考资料,是系统设计的起点。

      ·数据流图作为一个存档的文字材料,是进一步修改和充实开发计划的依据。

      ②数据流图的基本符号在数据流图中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在数据流图中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。

      ③数据流图的层次结构化方法的思路是依赖于数据流图进行自顶而下的分析。这是因为系统通常比较复杂,很难在一张图上就将所有的数据流和加工描述清楚。因此,数据流图提供一种表现系统高层和低层概念的机制。也就是先绘制一张较高层次的数据流图,然后在此基础上,对其中的加工进行分解,分解成为若干个独立的、低层次的、详细的数据流图,而且可以这样逐一地分解下去,直至系统被清晰地描述出来。

      ·顶层图。顶层图是描述系统较高层结构的数据流图,它的特点是将整个待开发的系统表示为一个加工,将所有的外部实体和进出系统的数据流都画在一张图中。例如,下图就是一个顶层图的实例,=只不过在绘制时做了一些处理,使得它看上去更加直观易懂。

2.png

      顶层图用来描述系统有什么输入和输出数据流,与哪些外部实体直接相关,可以把整个系统的范围勾画出来。

      ·逐层分解。当完成了顶层图的建模之后,就可以在此基础上进行进一步的分解。对图进行分解,在对原有流程了解的基础上,可以得到下图。

3.png

      上图是在图的基础上做的第一次分解,而在图中只有一个加工,那就是系统本身,可以将其编号为0。因此,对顶层图进行的分解,其实就是对这个编号为0的加工进行更细化的描述,在这里引入了新的加工和数据存储,为了能够区分其位于的级别,在这个层次上的加工将以1、2、3为序列进行编号。正是由于这是对加工0的分解,因此也称为0层图。可以根据需要对0层图上的加工进行类似的再分解,称之为1层图,在1层图中引入的新加工,其编号规则就是1.1、1.2、…,以及2.1、2.2、…,依次类推,直到完成分析工作。

      ④如何画数据流图数据流图的绘制是一个自项向下、由外到里的过程,通常按照以下几个步骤进行。

      ·画系统的输入和输出:在图的边缘标出系统的输入数据流和输出数据流。这一步骤其实是决定研究的内容和系统的范围。在画的时候,可以先将尽可能多的数据流画出来,然后再删除多余的,增加遗漏的。

      ·画数据流图的内部:将系统的输入、输出用一系列的处理连接起来,可以从输入数据流画向输出数据流,也可以从中间画出去。

      ·为每一个数据流命名:命名的好坏与数据流图的可理解性密切相关,应避免使用空洞的名字。

      ·为加工命名:使用动宾短语为每个加工命名。每画好一张数据流图,就需要进行检查和修改,检查和修改的原则如下。

      ·数据流图中的所有图形符号只限于前述4种基本图形元素,图上每个元素都必须有名字。

      ·每个加工至少有一个输入数据流和一个输出数据流,而且要保持数据守恒。

      也就是,一个加工的所有输出数据流中的数据必须能从该加工的输入流中直接获得,或者通过该加工能产生的数据。一个加工的输出数据流不应与输入数据流同名,即使它们的组成完全相同。·在数据流图中,需按层给加工编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。

      ·规定任何一个数据流图子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致,即父图与子图的平衡。也就是说,父图中的某加工的输入/输出流必须与它的所有子图的输入/输出数据流在数量上和名字上相同。值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。

      ·在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但是在某张子图中,可能只有读没有写,或者只有写没有读。

      ·可以在数据流图中加入物质流,帮助用户理解数据流图,但不可夹带控制流。数据流图和流程图的区别主要表现在:数据流图用于系统的逻辑建模,而流程图用于物理建模。

      数据流图展现的是全局处理过程,而流程图往往是局部的处理过程。流程图是顺序执行的处理过程,即一个时间点,通常是处理一项事务,而数据流图的处理过程是并行的,多个处理流程同时进行。数据流图展现的是系统数据流,而流程图展现的是系统控制流。

      4、如图所示的数据流图中存在的错误有以下4种。

      (1)“分类训练”加工:只有输入没有输出,产生数据黑洞。

      (2)“分类处理”加工:有输出没有输入,无中生有。

      (3)“规则文件”数据流:外部实体没有经过加工处理,直接进入数据存储。

      (4)“配置信息”数据流:外部实体之间没有加工处理,存在直接数据流。针对图的1层数据流图绘制出情报分类子系统的O层数据流图如图所示。

4.png

      是找错误数据流以及根据低层数据流图来画高层数据流图。

      在找错误数据流时,首先需要了解错误数据流的类型:一类是语法错误,包括外部实体之间、数据存储之间或外部实体与数据存储之间不经过加工而存在直接数据流;另一类是逻辑错误,包括数据黑洞(只有输入没有产生输出)、灰洞(输入不足以产生输出)和无输入。

      ·“分类训练”加工属于数据黑洞错误:

      ·“分类处理”加工属于无输入错误;

      ·“规则文件”和“配置信息”数据流属于语法错误。对于复杂系统,一般采用分层数据流图逐步细化系统的内部处理逻辑。0层数据流图是1层数据流图更高级别的抽象。“分类训练”和“分类处理”加工属于内部加工,“分类规则”数据流属于内部数据流,抽象为“情报分类子系统”加工。其中,“样本数据”、“规则文件”和“配置信息”为输入数据流;“分类结果”为输出数据流。

      5、高质量数据流图设计时应考虑的三个原则如下。

      (1)复杂性最小化原则。数据流图分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个数据流图。如果要了解某个过程更加详细的信息,可以跳转到该过程的下一层;如果要知道一个数据流图如何与其他数据流图相关联,可以跳转到上一层的数据流图进行考查。

      (2)接口最小化原则。接口最小化是复杂性最小化的一种具体规则。在设计模式时,应使得模型中各个元素之间的接口数或连接数最小化。

      (3)数据流一致性原则。一个过程和它的过程分解在数据流内容中是否有差别?是否存在有数据流出但没有相应的数据流入的加工?是否存在有数据流入但没有相应的数据流出的加工?属于纯概念题,高质量的数据流图首先要求满足数据流一致性要求,即数据流的输入/输出应该匹配,输入数据的信息量足以产生输出数据,所有的输出数据都能够从输入数据中找到数据的来源。对于复杂性系统,可以采用数据流图分层结构将系统的复杂性逐步分解降低,以提高数据流图的有效性。高质量的数据流图应该简化复杂的接口,最小化接口或连接的数目。


    返回目录:2016年系统架构设计师案例分析试题汇总


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括在线辅导面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取