软件开发过程文档-cgaowei
鸡肋——食之无味,弃之可惜”,软件开发过程文档遭遇了鸡肋一样的境遇。
目前敏捷软件开发过程非常流行。相对于软件开发过程文档,敏捷软件开发过程更加重视可运行的程序。
关于软件开发过程文档,两个极端都是不可取的:一是严格要求过程文档,把过程文档作为开发过程的一个必然输出,而不考虑文档是否真正的起作用,即“过度文档”。二是完全放弃文档,不进行任何的记录。“过度文档”偏离软件开发的实质,会造成人力的极大浪费;放弃文档则会丢失开发中的关键信息,不利于产品后期的维护。
我们需要在上面两者之间做一个权衡。这里可以引用“二八定律”:用20%的文档,记录80%的内容。这样用最小的投入,获取最大的价值。
20%的文档要记录那些东西?
1、产品需求描述。
毋容置疑,这是最重要的一个信息。关于产品需求描述,可以写两个文档,一个是需求的整体描述;一个是功能特征表文档。功能特征表对整体需求进行分解,便于后期跟踪需求。
2、软件架构描述,软件实体作用及相互联系。
系统整体结构描述,包括系统包括多少实体,每个实体的作用,实体间的交互机制等。一般要配备图形说明。
3、程序内部结构,逻辑模块,交互。
软件实体内部逻辑模块的划分,各个模块的作用,以及各个模块间的交互机制。
4、数据库设计。
数据库,表达,字段的设计。
5、通信协议。
软件实体间交互消息描述,比如,SIP,XML等。
6、关键数据结构函数。
能够反映软件实体逻辑结构的关键数据结构定义,函数。
7、复杂问题解决方案。
对于复杂需求的解决,需要多个软件实体,或者多个逻辑模块交互实现。这些方案非常值得记录,可以方便后续产品的维护。
文档写作时间可以灵活一些,可以在项目开发过程中进行,如果开发进度非常紧张,也可以开发完成后在补充文档。如果维护过程中,对产品进行了大的更改,要及时的刷新文档,保持文档与程序的同步。
写文档过程中,文档的内容要放在首位,不可以在美工,格式上浪费过多的时间。
软件开发过程文档-cgaowei的更多相关文章
- 软件project文档中的数据库模型设计
背景:软件project文档之<数据库设计说明书>的结构设计部分要明白规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型.那么.何为数据库 ...
- 如何用OCR图文识别软件在文档里复制内容
ABBYY FineReader 12是一款OCR图文识别软件,可从文档中复制文本.图片和表格,粘贴到其他应用程序中.无需识别整个文档(关于ABBYY FineReader识别文档的文章,请参考解析A ...
- 基于Qt Assistant制作软件帮助文档
Qt Assistant是Qt自带的一款可定制.可重新发行的帮助文件浏览器.Qt Assistant支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器.关于Qt Assistant定制 ...
- 软件毕业设计文档流程与UML图之间的关系
每个模型都是用一种或者多种UML图来描述的,映射关系如下: 1.用例模型:使用用例图.顺序图.通信图.活动图和状态图来描述. 2.分析模型:使用类图和对象图(包括子系统和包).顺序图(时序图).通信图 ...
- Cognos软件介绍文档(原创)
1. Cognos简介 Cognos是世界上最大的业务智能软件制造商,它能够帮助用户提取公司数据,然后分析并汇总得出报告.Cognos有许多产品,但最为著名的还是它的PowerPlay联机分析处理(o ...
- 怎么给OCR文字识别软件重编文档页面号码
ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,在FineReader文档中,页面的加载顺序即是页面的导入顺序,完成导入之后,文档的所有页面均会被编号,各编号会 ...
- [课程分享]IT软件项目管理(企业项目甘特如是评价、维护管理、文档管理、风险管理、人力资源管理)
[课程分享]IT件项目管理(企业项目甘特图案例评价.维护管理.文档管理.风险管理.人力资源管理) 对这个课程有兴趣的朋友能够加我的QQ2059055336和我联系 课程讲师:丁冬博士 课程分类:Jav ...
- PSP需求分析文档
PSP软件需求分析文档 刘杰 1. 引言 1.1 背景 开发项目经常延期不能按时提交,甚至不能给出明确的延迟时间 1.2 术语 PSP,数据库 2. 任务概述 2.1 目 ...
- 统一软件开发过程(RUP)的概念和方法
统一软件开发过程(Rational Unified Process,RUP)是一种面向对象且基于网络的程序开发方法论. 根据Rational(Rational Rose和统一建模语言的开发者)的说法, ...
随机推荐
- 什么是Spring的命名空间及使用Spring 的命名空间p 装配属性
这个就要从XML说了,Spring的配置管理可以利用XML方式进行配置,而XML里面就有命名空间这个概念..实际上就和标签的意思有点像 你给一个命名空间以后,这个XML文件里面就可以用那个命名空间上下 ...
- SSH三大框架合辑的搭建步骤
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 【Swift】读取文本文件字符串
var str:NSString = NSString.stringWithContentsOfFile(_srcouceFilePath,encoding:NSUTF8StringEncoding, ...
- HadoopDoctor:来自腾讯数据仓库TDW的MR诊断系统
TDW是基于Hadoop生态圈研发的大数据处理平台,MapReduce计算引擎在TDW平台中承担了所有的离线数据计算,是TDW最重要的底层支撑平台之一.在TDW 平台中,除了MR程序会生成MapRed ...
- 解决json包含html标签无法显示的问题
要是在json中包含html标签的话,在js接收数据的时候就会出现问题,导致接收失败. 所以在java端,对json包含有html标签的句子先进行转义. package com.alibaba.int ...
- Android的界面设计工具 DroidDraw
Android的界面设计工具 DroidDraw DroidDraw 下载地址:http://code.google.com/p/droiddraw/ 如图 也可以使用在线的版本(http://www ...
- 当"唐僧"没那么容易
西游记 西游记的故事,无人不知. 但西游记里面的哲学与道理,却仍然值得我们去思考. 记得之前曾有一篇文章写到了西游记与团队管理,师徒四人就是一个完美的团队.之所以能够爬山涉水.克服万难,求得真经,无疑 ...
- Rest风格WEB服务(Rest Style Web Service)的真相
http://blog.csdn.net/jia20003/article/details/8365585 Rest风格WEB服务(Rest Style Web Service)的真相 分类: J2E ...
- HTML5常识总结(一)
一.HTML5的发展历程 + html演变的几个版本: html2.0.html3.2.html4.0.html4.01.html5. + 其中在html4.01发布之后,还发布了xtml1.0,它是 ...
- MySQL指定mysqld启动时所加载的配置文件
mysqld.exe --init-file=file_name 以下为配置文件参数优化和中文详解: [client]port = 3306socket = /tmp/mysql.sock [mysq ...