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

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

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

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

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

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

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

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

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

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

软件开发过程文档-cgaowei的更多相关文章

  1. 软件project文档中的数据库模型设计

    背景:软件project文档之<数据库设计说明书>的结构设计部分要明白规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型.那么.何为数据库 ...

  2. 如何用OCR图文识别软件在文档里复制内容

    ABBYY FineReader 12是一款OCR图文识别软件,可从文档中复制文本.图片和表格,粘贴到其他应用程序中.无需识别整个文档(关于ABBYY FineReader识别文档的文章,请参考解析A ...

  3. 基于Qt Assistant制作软件帮助文档

    Qt Assistant是Qt自带的一款可定制.可重新发行的帮助文件浏览器.Qt Assistant支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器.关于Qt Assistant定制 ...

  4. 软件毕业设计文档流程与UML图之间的关系

    每个模型都是用一种或者多种UML图来描述的,映射关系如下: 1.用例模型:使用用例图.顺序图.通信图.活动图和状态图来描述. 2.分析模型:使用类图和对象图(包括子系统和包).顺序图(时序图).通信图 ...

  5. Cognos软件介绍文档(原创)

    1. Cognos简介 Cognos是世界上最大的业务智能软件制造商,它能够帮助用户提取公司数据,然后分析并汇总得出报告.Cognos有许多产品,但最为著名的还是它的PowerPlay联机分析处理(o ...

  6. 怎么给OCR文字识别软件重编文档页面号码

    ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,在FineReader文档中,页面的加载顺序即是页面的导入顺序,完成导入之后,文档的所有页面均会被编号,各编号会 ...

  7. [课程分享]IT软件项目管理(企业项目甘特如是评价、维护管理、文档管理、风险管理、人力资源管理)

    [课程分享]IT件项目管理(企业项目甘特图案例评价.维护管理.文档管理.风险管理.人力资源管理) 对这个课程有兴趣的朋友能够加我的QQ2059055336和我联系 课程讲师:丁冬博士 课程分类:Jav ...

  8. PSP需求分析文档

    PSP软件需求分析文档 刘杰 1.       引言 1.1  背景 开发项目经常延期不能按时提交,甚至不能给出明确的延迟时间 1.2  术语 PSP,数据库 2.       任务概述 2.1  目 ...

  9. 统一软件开发过程(RUP)的概念和方法

    统一软件开发过程(Rational Unified Process,RUP)是一种面向对象且基于网络的程序开发方法论. 根据Rational(Rational Rose和统一建模语言的开发者)的说法, ...

随机推荐

  1. OpenJudge计算概论-求分数序列和

    /*======================================================================== 求分数序列和 总时间限制: 1000ms 内存限制 ...

  2. javascript 函数式编程

    编程范式 编程范式是一个由思考问题以及实现问题愿景的工具组成的框架.很多现代语言都是聚范式(或者说多重范式): 他们支持很多不同的编程范式,比如面向对象,元程序设计,泛函,面向过程,等等. 函数式编程 ...

  3. android电视安装爱奇艺等不能看视频问题

    下载地址: http://pan.baidu.com/s/1dDoxA29

  4. spring的ResultSetWrappingSqlRowSet使用rs.getTimestamp取oracle数据库时分秒问题

    oracle 11G数据库使用ojdbc14.jar驱动 rs.getTimestamp取不出时分秒问题: ResultSetWrappingSqlRowSet rs = processDao.que ...

  5. Java自带工具jstack故障分析的一个案例

    公司的一个web应用项目运行了很长一段时间,达半年之久,前段时间突然出现了服务不可用的情况,所有的请求都不可达,服务彻底挂了.查看tomcat进程还在,cpu使用率低,一时没找着问题,重启了服务.过了 ...

  6. Servlet Listener

    需要继承ServletContextListener接口. 代码: package com.my; import java.io.*; import javax.servlet.*; import j ...

  7. 【性能测试】性能测试总结<一>

    目录: 一. 什么是软件性能 二.不同群体眼中的性能 三.性能测试类型 四.性能测试应用场景 五.性能测试基本概念 正文: 一. 什么是软件性能 定义:软件的性能是软件的一种非功能特性,它关注的不是软 ...

  8. HttpWebRequest 注意

    使用HttpWebRequest 一定要保证GetRequestStream和GetResponse对象关闭,否则容易造成连接处于CLOSE_WAIT状态 using (Stream stream = ...

  9. Windows蓝屏后产生的.dmp分析原因

    Windows系统电脑出现蓝屏后都会自动重启,重启后电脑屏幕会提示蓝屏的相关信息,此时如果你没有来得及查看,你也可以进入windows7的“事件查看器”(位置为:控制面板--系统和安全--管理工具-- ...

  10. android学习笔记21——消息提示Toast

    消息提示可细分为两种:大量消息提示——当程序有大量图片.信息需要展示时,采用对话框消息提示: 小量消息提示——当程序只有少量信息需要呈现给用户时,采用轻量级的对话框——Toast; Toast ==& ...