zoukankan      html  css  js  c++  java
  • 软件工程-图

    分别有:数据流图(DFD),PAD图,N-S图(盒图),软件结构图,E-R图,用例图和类图,程序控制流图,逻辑覆盖

    数据流图(DFD):

    (1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。

    (2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。

    方框表示数据的源点或者终点

    圆圈表示处理

    双横线表示文件存储

    箭头表示数据流

     举例:

     PAD图:

     举例:

     

    它的PAD图:

     N-S图(盒图):

     

     

     软件结构图:

     E-R图(数据库也考这方面知识点):

    先确定方框:实体都有哪些,题目上都有描述

    再连接方框:中间是菱形框,是实体之间的联系

    最后有圆圈连接实体:是关联属性

     

     用例图和类图:

     用例图的构成:(用例,角色,关系)

            用例:指功能的描写叙述

            角色:触发起某种事件

            关系:用例图的关系(依赖,泛化,关联)

    左边有一个小人,右边是另一个小人

    左边和右边的小人(角色)是题目中的参与者

    中间的是联系

     类图:

    顾名思义,面向对象编程中,最重要的就是类的方法和调用,这里的类就是类,最重要的就是“接口”

     程序控制流图:

     判断节点就是进行中间分叉“的数字,比如上图的9,12,14,16

    环状复杂度数=判断节点+1

    按照上图就是5

    逻辑覆盖:

    语句覆盖、路径覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。

    主要是理解:

    语句覆盖:所有语句至少执行一次。(就是每一个方框或者菱形框都要执行一次)

    路径覆盖:所有可能被执行的路径至少执行一次。(当有选择的时候,就要进行分路,每个选择都要进行分路)

    判定覆盖:每个判定结果至少执行一次。(每一个选择语句,都要进行T或者F)(比如说有2个,第一个是对,第二个错    然后另一个   第一个错,第二个对)

    条件覆盖:每个判定中的每个条件可能出现的结果至少出现一次。

    判定/条件覆盖:每个判定结果至少出现一次,每个判定中的条件可能出现的结果至少出现一次。

    条件组合覆盖:每个判定的每个条件的可能出现的结果的所有可能的组合至少出现一次。

    测试代码时所执行的路径占总路径数越高,则覆盖程度越大。所以覆盖率由高——低:路径覆盖-条件组合覆盖-判定/条件覆盖-条件覆盖-判定覆盖-语句覆盖。
  • 相关阅读:
    [Codeforces 140C] New Year Snowmen
    [Codeforces Round511C] Enlarge GCD
    [BZOJ 1251] 序列终结者
    [NOIP 2016] 愤怒的小鸟
    [POJ 1860] Currency Exchange
    [ZJOI 2006] 书架
    [NOIP 2010] 引入入城
    [NOI 2014] 起床困难综合征
    用C语言实现中文到unicode码的转换
    strdup与strndup
  • 原文地址:https://www.cnblogs.com/KeithTee/p/14104790.html
Copyright © 2011-2022 走看看