您的位置:首页 > 其它

软工之文档图形(二)

boniesunshine 2015-10-22 18:32 51 查看

【背景】

    文档在编程中的重要性不言而喻,而各个阶段的文档又是我们进行分析设计有力的工具。之后我们要学习的机房重构等都会用到这些图形。现在我对这些图形的理解还不够深刻,下面画了几个阶段中重要的图,就是熟悉一下这些图怎么画的,相信随着以后深入的学习会更好的应用这些图形。

【各阶段比较重要的图】

  (一)可行性分析

     这个阶段主要是从宏观上从全局上分析即将开发的软件的业务流程,数据流程等的合理性;从经济,技术等方面分析该软件的可行性。

     1. 系统流程图

         系统流程图(System Flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。
                  


    2. 数据流图  

       数据流程图(Data Flow Diagram,DFD/Data Flow Chart),是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。

       



    3. 数据字典           

      数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。

      数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。(来自百度百科)

          以“用户编号”为例
           数据项名称:用户编号
           别名:UserID
           类型长度:Char(8)
           描述:系统注册用户的唯一标识码

   4.项目开发计划——甘特图 (Gantt
chart)

      甘特图内在思想简单,即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。基本是一条线条图,横轴表示时间,纵轴表示活动(项目),线条表示在整个期间上计划和实际的活动完成情况。它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比。管理者由此可便利地弄清一项任务(项目)还剩下哪些工作要做,并可评估工作进度。
        


(二)需求分析

       需求分析阶段主要是分析员利用各种图形和用户进行有效沟通,确定系统的功能,性能等。        

    1.ER图

      E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。



    2. 状态转换图

         通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外状态转换图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。因此状态转换图提供了行为建模机制。
              


    3.层次方框图  

     


     

    4. Warnier 图

       Warnier图是表示数据层次结构的一种图形工具,它用树形结构来描绘数据结构。它还能指出某一类数据或某一数据元素重复出现的次数,并能指明某一特定数据在某一类数据中是否是有条件的出现。
       Warnier方法和Jackson方法有很大的形似之处,它们的主要区别是:Warnier方法仅考虑输入数据结构,而Jackson方法不仅考虑输入数据结构,而且还考虑输出数据结构。

    

 (三)总体设计           

     1. 结构图

         结构图:指以模块的调用关系为线索,用自上而下的连线表示调用关系并注明参数传递的方向和内容,从宏观上反映软件层次结构的图形。自考信管里做过这个题,应该很熟悉了。

     2. Petri网

         Petri网是对离散并行系统的数学表示。Petri网是20世纪60年代由卡尔·A·佩特里发明的,适合于描述异步的、并发的计算机系统模型。 Petri网既有严格的数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础。
        由于Petri网能够表达并发的事件,被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。
        主要是描述并发,动态的事件,记忆深刻的就是在看软工视频的时候那个火车发车先后问题。

 (四)详细设计

    

    1.程序流程图

     2.盒图 
           

      盒图指一种符合结构化程序设计原则的图形描述工具,也叫做N-S图。它有五种基本结构。
      


    3.PAD图 (Problem Analysis
Diagram 问题分析图)

      它用二维树形结构的图表示程序的控制流,遵循机械的走树(Tree Walk)规则就能方便地编写出程序,用这种图转换为程序代码比较容易。

        


    4. 判定表

        判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。下面是我画的一个较简单的判定表:
       


 5. IPO图(INPUT PROCESS OUTPUT)

       IPO图的主体是算法说明部分,该部分可采用结构化语言、判定表、判定树,也可用N-S图、问题分析图和过程设计语言等工具进行描述,要准确而简明的描述模块执行的细节。
       开发人员不仅可以利用IPO图进行模块设计,而且还可以利用它评价总体设计。用户和管理人员可利用IPO图编写、修改和维护程序。因而,IPO图是系统设计阶段的一种重要文档资料。
       一般用户的IPO图:
 


      操作员的IPO图:
                  


      管理员的IPO图:
                    


【总结】

    看软工视频的时候看到这么多图有点头大,现在梳理一下,主要是熟悉一下图该怎么画。我对各阶段图的划分是看了一本书,书名叫《软件工程导论》。但是我划分的好像和别人的有些不一样的地方,可能各阶段的图本来就有重复的吧,下一阶段就是对上几阶段的图进行完善(只是猜想)。
      以上都是我这个菜鸟的个人观点,如有不合适的地方,还请各位同仁不吝赐教。

          
标签: