生活的天平本不平衡,只有通过努力改变其偏向。

系统分析概述

2008-10-25

系统分析的目标和任务:对现行系统进一步详细调查,将调查的结果进行文档化整理,调查侧重于从业务过程的角度分析。 最终确立系统分析报告,即系统方案说明书。

系统分析的主要步骤:
1.认识当前的现实环境,分析出当前的“物理模型”
2.从当前的“物理模型”,抽象出当前的“逻辑模型”
3.从对当前的”逻辑模型“,进行修改、增加以及优化,生产目标系统的”逻辑模型“
4.从目标系统的”逻辑模型“,建立目标系统的”物理模型“。

结构化分析(SA)方法:是一种面向数据流的分析方法,适用于大型数据处理程序。基本思想是自顶向下逐层分解。SA方法分析结果由这几部分组成:一套分层的数据流图一本数据字典一组小说明以及补充材料

  1. 数据流图(Data Flow Diagram, DFD):又名数据流程图。它是便于用户理解,分析系统数据流程的图形工具。它摆脱了系统物理内容,精确地表现了逻辑系统的功能、输入、输出以及数据存储等。
    • 数据流。是由一组固定成分的数据组成,表示数据的流向。一点需要注意的是DFD中数据流仅表示数据的流向,并不表示控制流。除了数据的存储和从数据存储流出不需要流出不需要命名外,其他的每一个数据流必需命名,以表示数据的流向。
    • 加工。描述了数据的输入流到输出流的变换,每一个加工有一个名字编号。编号能看出该加工位于DFD图中的哪一层次上和哪张图上。
    • 数据存储。表示数据的暂时的数据存储,每个存储需要有一个名字。
    • 外部实体。指存在软件系统之外的人员或组织。

    DFD画法:
    A. 画系统的输入和输出。将系统内部处理看成一个整块,画出系统从哪些外部实体接收数据,哪些外部实体发送数据流到哪些外部实体。
    B.画系统的内部。将顶层图的加工分解成若干个加工,并用数据流将其串起来。从顶层的输入数据经过若干个加工处理后变成顶层的输出。
    加工的确定:数据流的组成或值发生了变化的地方应画个加工。
    确定数据的方法:可将到一起到达一个加工时,看作一个数据流。
    C.画加工内部:可以把一个加工看成一个小系统,分解方法类似于顶层的方法处理。
    D.重复C动作,只到各个加工分解结束。
    对图和加工号进行编号,主要确定父图与子图以及加式的每一层的编号。
    应该主意的问题:
    A. 适当地为数据流、加工、数据存储、外部实体命名,名字应该反映该成分的实际含义,避免空洞的名字。
    B.画数据流不要画控制流。
    C.一个加工的输出数据流不应与输入数据同名,即使它们组成成分相同。
    D.允许多条数据流流向一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。
    E.保持父图与子图平衡。一个父图的输入与输出数据流必须与它的子图的输入与输出数据流的数量名字上相同。父图的一个输入,在子图可能分解在几个部分作为输入,也是平衡的,输出也一样。数据流必需要经过加工,进行处理,不可出现数据存储之间有数据流直接联系在起的,外部实体也是一样的。
    F.在自顶向下的分解过程中,若一个数据存储首次出现时只与一个加工相关,那么这个数据存储应作为这个加工的内部文件而不必画出。
    G.每个加工必须即有输入数据流,又有输出数据流。
    H.整套数据流图中,每个数据存储必须即有读的数据流,又有写的数据流。单一子图就另当别论了。

  2. 数据字典:DFD将系统进行了分解,但没有对力中各成分进行说明。数据词典就是为数据流图中的每个数据流、文件、加工等作出详细说明。其中对加工的说明称为“小说明”,也可以称为“加工逻辑说明”。
    数据字典有数据流、数据项、数据存储和基本加工4类条目。
  3. 加工逻辑的描述(小说明):通常有三种,结构化语言、判定表和判定树。
    A.结构化语言。一种介于自然语言和形式化语言之间的半形式化语言,是自然语言的一个受限子集。分为外层和内层,外层有严格的语法,内层的语法比较灵活,可以接近自然语言。
    B.判定表:如果判定的逻辑条件过多的情况下,需要通过斗定表清楚地描述出来。
    C.判定树:判定树是判定表的变形或升级,比判定表更加直观,且易于理解和使用。

视屏学习:

作者:lonkil | 分类目录:本站原创 | 标签:

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>