项目管理——软件文档分类简介_钛元素的博客-程序员信息网

技术标签: 文档  产品  项目管理  企业信息化  makefile  数据库  microsoft  

如今,软件开发越来越复杂,软件功能也越来越丰富。而几乎所有成熟的商业软件,都是靠一个开发团队齐心协力的血汗结晶。“罗马不是一天建成的!”,当我们震撼于Microsoft Windows的惊世巨著的同时,也道听途说了微软公司软件工程是如何的完善规范。的确,集数百名员工几年的共同努力之大成,软件项目管理的成败是控制开发成本的关键环节。这里面,少不了贯穿其中的重要步骤----软件文档。

  软件文档可以分为开发文档和产品文档两大类。

  开发文档包括:《功能要求》、《投标方案》、《需求分析》、《技术分析》、《系统分析》、《数据库文档》、《功能函数文档》、《界面文档》、《编译手册》、《QA文档》、《项目总结》等。

  产品文档包括:《产品简介》、《产品演示》、《疑问解答》、《功能介绍》、 《技术白皮书》、《评测报告》、《安装手册》、《使用手册》、《维护手册》、 《用户报告》、《销售培训》等。

  一、开发文档

  1. 《功能要求》--来源于客户要求和市场调查,是软件开发中最早期的一个环节。客户提出一个模糊的功能概念,或者要求解决一个实际问题,或者参照同类软件的一个功能。有软件经验的客户还会提供比较详细的技术规范书,把他们的要求全部列表书写在文档中,必要时加以图表解说。这份文档是需求分析的基础。

  2. 《投标方案》--根据用户的功能要求,经过与招标方沟通和确认,技术人员开始书写《投标方案》,方案书一般包括以下几个重要的章节:

  前言--项目背景、公司背景和业务、技术人员结构、公司的成功案例介绍等。

  需求分析--项目要求、软件结构、功能列表、功能描述、注意事项等。

  技术方案--总体要求和指导思想、技术解决方案、软件开发平台、网络结构体系等。

  项目管理--描述公司的软件开发流程、工程实施服务、组织和人员分工、开发进度控制、软件质量保证、项目验收和人员培训、软件资料文档等。

  技术支持--公司的技术支持和服务介绍、服务宗旨和目标、服务级别和响应时间、技术服务区域、技术服务期限、授权用户联系人等。

  系统报价--软、硬件平台报价列表、软件开发费用、系统维护费用等。

  项目进度--整个项目的进度计划,包括签署合同、项目启动、需求分析、系统分析、程序开发、测试维护、系统集成、用户验收、用户培训等步骤的时间规划。

  3. 《需求分析》--包括产品概述、主要概念、操作流程、功能列表和解说、注意事项、系统环境等。以《功能要求》为基础,进行详细的功能分析(包括客户提出的要求和根据开发经验建议的功能),列出本产品是什么,有什么特殊的概念,包括那些功能分类,需要具备什么功能,该功能的操作如何,实现的时候该注意什么细节,客户有什么要求,系统运行环境的要求等。这里的功能描述跟以后的使用手册是一致的。

  4. 《技术分析》--包括技术选型、技术比较、开发人员、关键技术问题的解决、技术风险、技术升级方向、技术方案评价,竞争对手技术分析等。以《需求分析》为基础,进行详细的技术分析(产品的性能和实现方法),列出本项目需要使用什么技术方案,为什么,有哪些技术问题要解决 ,估计开发期间会碰到什么困难,技术方案以后如何升级,对本项目的技术有什么评价等。

  5. 《系统分析》--包括功能实现、模块组成、功能流程图、函数接口、数据字典、软件开发需要考虑的各种问题等。以《需求分析》为基础,进行详细的系统分析 (产品的开发和实现方法),估计开发期间需要把什么问题说明白,程序员根据《系统分析》,开始在项目主管的带领下进行编码。

  6. 《数据库文档》--包括数据库名称、表名、字段名、字段类型、字段说明、备注、字段数值计算公式等。以《系统分析》为基础,进行详细的数据库设计。必要时可以用图表解说,特别是关系数据库。

  7. 《功能函数文档》--包括变量名、变量初植、功能,函数名,参数,如何调用、备注、注意事项等。以《系统分析》为基础,进行详细的说明,列出哪个功能涉及多少个函数,以便以后程序员修改、接手和扩展。

  8. 《界面文档》--包括软件外观、界面素材、编辑工具、文件名、菜单、按钮和其它界面部件的要求,这里与软件完成后的运行界面是一致的。

  9. 《编译手册》--包括服务器编译环境、操作系统、编译工具、GNU的C++编译器版本信息、目录说明、程序生成、源程序文件列表、Makefile配置及其相关程序的对应关系列表。客户端的编译过程、编译结果、编译示例、编译环境、操作系统、编译工具、源文件列表和制作安装程序的过程。

  10. 《QA文档》--包括产品简介、产品原理、产品功能列表、功能描述、功能流程、执行结果、数据库结构、测试要求等,提供给软件测试人员使用。

  11. 《项目总结》--包括项目简介、项目参与人员和开发时间、项目风险管理过程、项目功能列表、项目结构特点、技术特点、对项目的升级建议、对以后的项目的建议、人员素质情况等。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tgh1981/article/details/6768586

智能推荐

STM32F103开发板学习概述 自学笔记_旭日初扬的博客-程序员信息网_www.prechin.net

一、论坛普中开源电子分享网:www.prechin.net二、STM32F103开发板概述

PKCS 7 PKCS10 PKCS12 个人信息交换语法 - 学习记录 2020/8/30_Seth423的博客-程序员信息网

研一PKCS 7PKCS7是加密信息传输语法标准,根据不同应用场景定义了5中不同的数据类型,以下是RSA实验室定义的部分asn.1语法,并不完整,所以不要当标准用!-- 0.ContentInfo --ContentInfo ::= SEQUENCE { contentType ContentType, content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL}ContentType ::= OBJECT INDETIFIER

git上拉取tag,识别最新tag在此版本上新增tag_weixin_30376323的博客-程序员信息网

通过shell 脚本自动获取最新tag,并输入最新版本后,推到git上# 拉取分支上现有的tagsgit fetch --tagsecho -e "所有tag列表"git tag -l -necho -e "${tagList}"#获取最新版本tagLatestTag=$(git describe --tags `git rev-list --tag...

蓝牙规范 Core v5.2 GAP 文档解读第5章 BR/EDR安全方面_nk3652的博客-程序员信息网

5 BR/EDR安全方面认证目的通用认证过程描述如何使用LMP-认证和LMP-配对进行认证,取决于是否存在链接密钥、是否允许配对。UI术语Bluetooth authentication过程条件本地设备在建立链路后发起认证,远程设备可能在链路建立期间或之后开启安全。安全模式下图是带有安全性的整个通道建立过程,包括Figure 5.3, Figure 5.4,和Figure 5.5中的步骤。一个设备可以同时支持两种安全模式:安全模式2(与不支持SSP的.

【参数调优】网格搜索GridSearchCV输出调参各个结果cv_results__L.F Wu的博客-程序员信息网_cv_results_

cv_results_本身就是一个字典形式的输出,里面含有很多结果param_test1 = {'n_estimators': range(10, 101, 10)}gssearch = GridSearchCV(RF, param_grid=param_test1, cv=5)print(cv_results_) 直接调用代码,运行结果如下:大概分三类:时间(time)、参数(params)、得分(score)如果要输出调参的各个结果,可以运行以下代码:means = gs.

IOS控件系列----使用UITableView实现网格布局,自定义显示列数_劉胡來的博客-程序员信息网

先放一引效果图:在IOS中达到类似Android中的GridLayout 通常是使用UIConlectionView,这个组件是平果公司已经封装好的,直接实现相应的接口即可。不知道各位道友是否也曾想过用UItableView来撸一个这个东西,这可能会有一点偏执,但对于致力于提高自己的人来说,不安于现状,死喜欢用各种自定义的东西来“折腾”自己也不失为一种方式。我本人就比较喜欢在闲

随便推点

stm32h7 串口idle_【一个小白的STM32H7修炼之道】串口的简单应用_weixin_39759107的博客-程序员信息网

文章内容偏向HAL库的移植和使用,以个人观点及了解为主,若与事实不符,则以www.st.com、www.stmcu.org.cn等平台为准。历程代码:https://gitee.com/cai_xl/MyWayToLearnSTM32H7想必串口在单片机中的地位不必多说,大家都明白。STM32H743ZIT6单片机一共有9个串口,分别为4个通用同步异步收发器(USART)、4个通用异步收发器,1个...

gRPC小错记录:TypeError: new() got an unexpected keyword argument 'serialized_options_wangjinyu124419的博客-程序员信息网

今天调试gRPC报了这个错误:TypeError: new() got an unexpected keyword argument 'serialized_optionsGoogle了一下,说是protobuf版本的问题,客户端和服务端的protobuf版本不一样,把客户端的protobuf卸载重新安装跟服务端一样版本后就好了。protobuf 的版本是 3.6.1 https://...

做知识图谱遇到的环境问题合集【spacy、gensim、keras_contrib等】_汀、的博客-程序员信息网_fft_rfft() got an unexpected keyword argument 'sig

1.python:spacy、gensim库的安装遇到问题及bug处理见:python:spacy、gensim库的安装遇到问题及bug处理_汀、的博客-程序员信息网1.spacySpaCy最新版V3.0.6版,在CMD 模式下可以通过pip install spacy -U进行安装注意这个过程进行前可以先卸载之前的旧版本pip uninstall spacy如果安装失败可以,在以下地址下载对应的轮子https://www.lfd.uci.edu/~gohlke/pythonlibs/ctrl+F查

Python第四课:input()函数_fightingoyo的博客-程序员信息网

一、input()函数的使用input()函数是输入函数是计算机用来收取用户答案的,用户一定要在终端输入内容。有问有达,有来有回,需要在终端处输入信息input('请在以下四个选项【X教授;魔形女;野兽;镭射眼】中,输入你认为最强的X战警:')二、input()函数结果的赋值name = input('请输入你喜欢人的名字:')print(name)input()函数...

第四篇:MySQL之binlog和redolog_张孟浩_jay的博客-程序员信息网

引言这篇文章说下MySQl中的恢复日志中的binlog和redolog。binlogbinlog称为二进制日志或者归档日志,主要记录除查询以外的操作(delete、update、insert、DML等),主要用于主从复制和数据恢复。binlog的数据格式有如下三种格式做法优点缺点STATEMENT直接记录相关的SQL语句,在恢复的时候直接执行SQL语句数据量小,节省磁盘IO由于某些函数UUID()、NOW()等函数,并且需要上下文关联,容易造成主从复制不一致RO

Hbase-HA(高可用)搭建_丿沐染烟忱丶的博客-程序员信息网

基础配置1.保证所有物理主机的时钟同步。[[email protected] ~]# yum install -y ntp -y (下载时间同步服务器)[[email protected] ~]# ntpdate time.apple.com(时间校对工具)[[email protected] ~]# clock -w (调整RTC时间)由于Hbase服务器之间需要通过心跳确定服务器是否在正常运行,所以这里在搭建...

推荐文章

热门文章

相关标签