zoukankan      html  css  js  c++  java
  • 软件工程总结下

    转发注明出处: http://www.cnblogs.com/0zcl/p/6243590.html 

    接上篇随笔: http://www.cnblogs.com/0zcl/p/6241610.html

    3.需求分析

    验证需求的正确性(了解下)

    • 一致性:任何一条需求不能和其他需求互相矛盾
    • 完整性:规格说明书应该包括用户需要的每一个功能 或性能
    • 现实性:用现有的硬件技术和软件技术基本上可以实现的需求,对硬件技术的进步可以做些预测。
    • 有效性:正确有效的,能解决用户面对的问题

    接下来讲两个图E-R图与状态转换图(比较重要的)

    实体-联系图

    状态转换图

    4.总体设计

    做了个导图(很多概念的知识,要了解的)~~

     5.详细设计

     这里我就讲下过程设计的工具中的一个PAD图和判定表。外加一个流图。

    PAD图

    左图是基本符号(很简单~) 。右图是对P2的定义,好比P2函数内的"代码"。

     接下来讲判定表,判定表能简洁无歧义地描述处理规则。看下面的图:

    判定表是超简单的,但是第一次刚看到可能不知道上面图表示什么意思。我简单说下,表中有9条规则,以第二条为例,若是国内乘客&坐头等舱,但该乘客不是残疾乘客且行李重量在不大于30KG,则该乘客所需行李费为(W-30)*4。其它规则类推即可~~

     流图的引入:为了进一步定量度量软件的性质(复杂度)。

    • 圆表示结点,一个圆代表一条或多条语句。
    • 流图中的箭头线称为边,代表控制流。

    直接看下面的图:

    能看懂的,过。那如何度量流图的环形复杂度呢?我说两种方法:

    • 环形复杂度V(G)=E-N+2,E是流图中边的条数,N是结点数。 eg:11-9+2=4
    • 环形复杂度V(G)=P+1,P是流图中判定结点的数目。  eg:3+1=4. 可知上图的V(G)=4

    6.杂

    软件维护:软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。

    决定软件可维护性的因素:

    1. 可理解性
    2. 可测试性
    3. 可修改性
    4. 可移植性:从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度。
    5. 可重用性:可重用的构件在每次重用过程中都会发现并清除一些错误,随着时间推移,这样的构件基本上是无BUG的。

    文档:影响软件可维护性的决定因素

    • 用户文档:主要描述系统功能和使用方法。
    • 系统文档:描述系统设计,实现和测试等各方面的内容。

    最后最后我再发三张图,方便自己整理~~

     ending~~~

  • 相关阅读:
    luogu P5494 【模板】线段树分裂
    珂朵莉树(ODT)
    luogu P5787 二分图 /【模板】线段树分治
    线段树
    luogu P1450 [HAOI2008]硬币购物
    树形DP
    luogu P3047 [USACO12FEB]Nearby Cows G
    1069: 向Z同学学习
    1067: 有问题的里程表
    1066: 字符分类统计
  • 原文地址:https://www.cnblogs.com/0zcl/p/6243590.html
Copyright © 2011-2022 走看看