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个,第一个是对,第二个错    然后另一个   第一个错,第二个对)

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

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

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

    测试代码时所执行的路径占总路径数越高,则覆盖程度越大。所以覆盖率由高——低:路径覆盖-条件组合覆盖-判定/条件覆盖-条件覆盖-判定覆盖-语句覆盖。
  • 相关阅读:
    关于stm32的iic为什么不稳定的讨论
    Android NDK 开发:CMake 使用
    比特币相关
    下载Wistia视频
    C#反射调用 异常信息:Ambiguous match found.
    c++ __super关键字
    开源:AspNetCore 应用程序热更新升级工具(全网第一份公开的解决方案)
    Laravel 生产环境部署,phphub5应用部署记录
    嵌入式系统中的几种文件系统的比较和优缺点(CRAMFS JFFS2 YAFFS2 Initrd SquashFS EXT4)【转】
    【MAT-MemoryAnalyzer】MemoryAnalyzer打开hprof文件报错An internal error occurred during: "Parsing heap dump from
  • 原文地址:https://www.cnblogs.com/KeithTee/p/14104790.html
Copyright © 2011-2022 走看看