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~~~

  • 相关阅读:
    prototype.js超强的javascript类库
    MySQL Server Architecture
    Know more about RBA redo block address
    MySQL无处不在
    利用Oracle Enterprise Manager Cloud Control 12c创建DataGuard Standby
    LAMP Stack
    9i中DG remote archive可能导致Primary Database挂起
    Oracle数据库升级与补丁
    Oracle为何会发生归档日志archivelog大小远小于联机重做日志online redo log size的情况?
    Oracle Ksplice如何工作?How does Ksplice work?
  • 原文地址:https://www.cnblogs.com/0zcl/p/6243590.html
Copyright © 2011-2022 走看看