zoukankan      html  css  js  c++  java
  • 软件开发过程文档-cgaowei

    鸡肋——食之无味,弃之可惜”,软件开发过程文档遭遇了鸡肋一样的境遇。

    目前敏捷软件开发过程非常流行。相对于软件开发过程文档,敏捷软件开发过程更加重视可运行的程序。
    关于软件开发过程文档,两个极端都是不可取的:一是严格要求过程文档,把过程文档作为开发过程的一个必然输出,而不考虑文档是否真正的起作用,即“过度文档”。二是完全放弃文档,不进行任何的记录。“过度文档”偏离软件开发的实质,会造成人力的极大浪费;放弃文档则会丢失开发中的关键信息,不利于产品后期的维护。
    我们需要在上面两者之间做一个权衡。这里可以引用“二八定律”:用20%的文档,记录80%的内容。这样用最小的投入,获取最大的价值。
    20%的文档要记录那些东西?
    1、产品需求描述。
    毋容置疑,这是最重要的一个信息。关于产品需求描述,可以写两个文档,一个是需求的整体描述;一个是功能特征表文档。功能特征表对整体需求进行分解,便于后期跟踪需求。

    2、软件架构描述,软件实体作用及相互联系。
    系统整体结构描述,包括系统包括多少实体,每个实体的作用,实体间的交互机制等。一般要配备图形说明。

    3、程序内部结构,逻辑模块,交互。
    软件实体内部逻辑模块的划分,各个模块的作用,以及各个模块间的交互机制。

    4、数据库设计。
    数据库,表达,字段的设计。

    5、通信协议。
    软件实体间交互消息描述,比如,SIP,XML等。

    6、关键数据结构函数。
    能够反映软件实体逻辑结构的关键数据结构定义,函数。

    7、复杂问题解决方案。
    对于复杂需求的解决,需要多个软件实体,或者多个逻辑模块交互实现。这些方案非常值得记录,可以方便后续产品的维护。

    文档写作时间可以灵活一些,可以在项目开发过程中进行,如果开发进度非常紧张,也可以开发完成后在补充文档。如果维护过程中,对产品进行了大的更改,要及时的刷新文档,保持文档与程序的同步。

    写文档过程中,文档的内容要放在首位,不可以在美工,格式上浪费过多的时间。

  • 相关阅读:
    Linux 一块网卡配置多个IP的方法
    Nginx详解篇
    Nginx故障排错及一个网站小实例
    Nginx web 服务器 安装篇
    一些看起来比较专业的工具
    Linux 下软件的安装方法
    Mysq登陆后执行命令提示You must SET PASSWORD before executing this statement
    Linux-Centos 虚拟机安装
    Mysql的多种安装方法———rpm安装
    etcd安装和简单使用
  • 原文地址:https://www.cnblogs.com/yingchuanxiaoge/p/5024573.html
Copyright © 2011-2022 走看看