软件开发需要编写哪些文档?

2024-05-17 06:45

1. 软件开发需要编写哪些文档?

这个问题没有一定的,因为这里有多种因素   
  如,开发阶段、文档化要求程度等,若是通过CMM评估的,文档就较多   
    
  一般的是按项目开发过程来分,基本的有     
  可行性研究报告(若是一个新项目且未确定的或应客户要求时需要,实际上大部份公司很少有这文档)   
  用户需求说明书(用户+开发人员共同确认)   
  软件需求规格说明书   
  设计说明书(体系结构、详细设计)   
  测试用例   
  用户手册   
  实现代码   
    
  这些文档中,包括一定的分析与设计图形,如用例图、数据库结构、ER图等   
  当然项目计划、测试计划也应算在内   
    
  其它的(如CMM要求的)   
  风险、估算方面的,质量保证方面的、配置管理方面、定义的模板、度量数据库等   
  具体需要多少文档就是要看项目实际   
    
  这方面的东西,可参考一些软件工程类的书

软件开发需要编写哪些文档?

2. 软件开发需要准备哪些文档?

模块开发卷宗(GB8567——88)
1标题
软件系统名称和标识符
模块名称和标识符(如果本卷宗包含多于一个的模块,则用这组模块的功能标识代替模块名)
程序编制员签名
卷宗的修改文本序号
修改完成日期 
卷宗序号(说明本卷宗在整个卷宗中的序号)
编排日期(说明整个卷宗最近的一次编排日期)
2模块开发情况表
3功能说明
扼要说明本模块(或本组模块)的功能,主要是输入、要求的处理、输出。可以从系统设计说明书中摘录。同时列出在软件需求说明书中对这些功能的说明的章、条、款。
4设计说明
说明本模块(或本组模块)的设计考虑,包括:
a. 在系统设计说明书中有关对本模块(或本组模块)设计考虑的叙述,包括本模块在软件系统中所处的层次,它同其他模块的接口;
b. 在程序设计说明书中有关对本模块(或本组模块)的设计考虑,包括本模块的算法、处理流程、牵涉到的数据文卷设计限制、驱动方式和出错信息等;
c. 在编制目前已通过全部测试的源代码时实际使用的设计考虑。
5原代码清单
要给出所产生的本模块(或本组模块)的第一份无语法错的源代码清单以及已通过全部测试的当前有效的源代码清单。
6测试说明
说明直接要经过本模块(或本组模块)的每一项测试,包括这些测试各自的标识符和编号、进行这些测试的目的、所用的配置和输入、预期的输出及实际的输出。
7复审的结论
把实际测试的结果,同软件需求说明书、系统设计说明书、程序设计说明书中规定的要求进行比较和给出结论。

3. 请问软件项目的技术开发文档都要写些什么呢,具体要求是什么呢,要写多少文档呢

要写的文档种类有很多;根据不同的软件系统,每种文档内容的内容、格式和要求又有所不同。
1)文档的种类可以参考任何一本《软件工程》书籍。大致包括:用户需求调研报告、需求分析、概要设计、用户手册、测试计划、详细设计、详细编码文档、测试报告等等
2)很多类型的软件文档都有国标(GB)或行业标准(例如国际军用标记——GJB)规定的格式,具体情况可查询相关标准。

请问软件项目的技术开发文档都要写些什么呢,具体要求是什么呢,要写多少文档呢

4. 软件开发文档干什么的?

  在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在产品的开发生产过程中起着重要的作用。

  1)提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中。管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。

  2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。

  3)作为开发人员在一定阶段的工作成果和结束标志。

  4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。

  5)提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。使软件开发活动更科学、更有成效。

  6)便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。

  文档在各类人员、计算机之间的多种桥梁作用中看出:

  既然软件已经从手工艺人的开发方式发展到工业化的生产方式,文档在开发过程中就起到关键作用。从某种意义上来说,文档是软件开发

  规范的体现和指南。按规范要求生成一整套文档的过程,就是按照软件开发规范完成一个软件开发的过程。所以,在使用工程化的原理和方法来指导软件的开发和维护时,应当充分注意软件文档的编制和管理。

  PS:软件开发文档包括:

  操作手册

  维护修改建议

  软件需求(规格)说明书

  开发文档 软件需求(规格)说明书

  数据要求说明书

  概要设计说明书

  详细设计说明书

  可行性研究报告

  项目开发计划

  管理文档 项目开发计划

  测试计划

  测试报告

  开发进度月报

  开发总结报告

5. 软件开发文档的分类

 1. 《功能要求》 -- 来源于客户要求和市场调查,是软件开发中最早期的一个环节。客户提出一个模糊的功能概念,或者要求解决一个实际问题,或者参照同类软件的一个功能。有软件经验的客户还会提供比较详细的技术规范书,把他们的要求全部列表书写在文档中,必要时加以图表解说。这份文档是需求分析的基础。2. 《投标方案》 -- 根据用户的功能要求,经过与招标方沟通和确认,技术人员开始书写《投标方案》,方案书一般包括以下几个重要的章节: 前言 -- 项目背景、公司背景和业务、技术人员结构、公司的成功案例介绍等。 需求分析 -- 项目要求、软件结构、功能列表、功能描述、注意事项等。 技术方案 -- 总体要求和指导思想、技术解决方案、软件开发平台、网络结构体系等。 项目管理 -- 描述公司的软件开发流程、工程实施服务、组织和人员分工、开发进度控制、软件质量保证、项目验收和人员培训、软件资料文档等。 技术支持 -- 公司的技术支持和服务介绍、服务宗旨和目标、服务级别和响应时间、技术服务区域、技术服务期限、授权用户联系人等。 系统报价 -- 软、硬件平台报价列表、软件开发费用、系统维护费用等。 项目进度 -- 整个项目的进度计划,包括签署合同、项目启动、需求分析、系统分析、程序开发、测试维护、系统集成、用户验收、用户培训等步骤的时间规划。3. 《需求分析》 -- 包括产品概述、主要概念、操作流程、功能列表和解说、注意事项、系统环境等。以《功能要求》为基础,进行详细的功能分析 ( 包括客户提出的要求和根据开发经验建议的功能 ) ,列出本产品是什么,有什么特殊的概念,包括哪些功能分类,需要具备什么功能,该功能的操作如何,实现的时候该注意什么细节,客户有什么要求,系统运行环境的要求等。这里的功能描述跟以后的使用手册是一致的。4. 《技术分析》 -- 包括技术选型、技术比较、开发人员、关键技术问题的解决、技术风险、技术升级方向、技术方案评价,竞争对手技术分析等。以《需求分析》为基础,进行详细的技术分析 ( 产品的性能和实现方法 ) ,列出本项目需要使用什么技术方案,为什么,有哪些技术问题要解决 ,估计开发期间会碰到什么困难,技术方案以后如何升级,对本项目的技术有什么评价等。5. 《系统分析》 -- 包括功能实现、模块组成、功能流程图、函数接口、数据字典、软件开发需要考虑的各种问题等。以《需求分析》为基础,进行详细的系统分析 ( 产品的开发和实现方法 ) ,估计开发期间需要把什么问题说明白,程序员根据《系统分析》,开始在项目主管的带领下进行编码。6. 《数据库文档》 -- 包括数据库名称、表名、字段名、字段类型、字段说明、备注、字段数值计算公式等。以《系统分析》为基础,进行详细的数据库设计。必要时可以用图表解说,特别是关系数据库。7. 《功能函数文档》 -- 包括变量名、变量初值、功能,函数名,参数,如何调用、备注、注意事项等。以《系统分析》为基础,进行详细的说明,列出哪个功能涉及多少个函数,以便以后程序员修改、接手和扩展。8. 《界面文档》 -- 包括软件外观、界面素材、编辑工具、文件名、菜单、按钮和其它界面部件的要求,这里与软件完成后的运行界面是一致的。9. 《编译手册》 -- 包括服务器编译环境、操作系统、编译工具、 GNU 的 C++ 编译器版本信息、目录说明、程序生成、源程序文件列表、 Makefile 配置及其相关程序的对应关系列表。客户端的编译过程、编译结果、编译示例、编译环境、操作系统、编译工具、源文件列表和制作安装程序的过程。10. 《 QA 文档》 -- 包括产品简介、产品原理、产品功能列表、功能描述、功能流程、执行结果、数据库结构、测试要求等,提供给软件测试人员使用。11. 《项目总结》 -- 包括项目简介、项目参与人员和开发时间、项目风险管理过程、项目功能列表、项目结构特点、技术特点、对项目的升级建议、对以后的项目的建议、人员素质情况等。 1. 《产品简介》 -- 包括公司背景、产品概念、适用范围、产品功能、功能特点、运行要求和公司联系地址。2. 《产品演示》 -- 包括公司简介、产品背景、产品描述、产品特点、产品作用、适用范围、使用分析、功能模块、解决问题、合作伙伴、成功案例等。一般用 Power point 或者 VCD 录制软件实现。3. 《疑问解答》 -- 列出用户关心的问题和处理方法。用于解答软件的操作功能和解决用户的疑难问题。4. 《功能介绍》 -- 以《需求分析》为书写基础,包括软件介绍、软件结构、功能列表、功能描述和公司联系地址。5. 《技术白皮书》 -- 以《技术分析》为书写基础,包括功能实现、技术选型、关键技术问题的解决、技术方案特点、技术升级方向等。6. 《评测报告》 -- 第三方权威评测报告。包括评测目的、评测范围、评测环境、评测内容、实测数据、性能表现、结果分析和评测总结等。7. 《安装手册》 -- 包括系统环境、运行平台、产品安装过程、初始环境设置、安装记录等。8. 《使用手册》 -- 包括产品简介、功能列表、功能描述和解释、功能操作、客户服务和联系方式等。9. 《维护手册》 -- 包括产品简介、系统须知、初始环境设置、系统配置、数据管理和备份、技术问题解答和联系方式等。10. 《用户报告》 -- 包括产品简介、购买时间、使用目的、使用时间、使用地点、实施过程、出现问题和解决、产品总结和建议等。11. 《销售培训》 -- 包括项目简介、产品功能、产品特点、商业优势、系统运行环境、适用范围、目标客户等。 第一、需求分析文档用户需求分析文档是指在和客户进行沟通时,把用户所要求的信息记录下来,根据用户的要求进行需求分析,规划出我们要开发的软件所要实现哪些功能。第二、概要设计文档概要设计:顾名思义,就是对我们所要开发的软件进行一个整体的概括,把这个软件所包含的功能模块作一个设计,以后我们在开发的时候就有目标,有方向了。第三、系统设计文档系统设计,就是对概要的一个详细的实施,就是分析我们所要开发软件各大功能模块中所包含的小模块,把这些小模块都一一列举出来,然后再对软件开发人员进行有条理的进行开发任务的分配。第四、详细设计文档详细设计文档,主要是把我们每个小模块,小功能的业务逻辑处理用文字的方式表达出来,让程序员在编码的时候有一个依据和参照;同时,在进行详细文档设计的时候,有的软件公司也会根据不同的项目作出相应的《软件开发代码规范》性文档。以保障我们所做工作的统一性。第五、软件测试文档当我们参照软件详细设计文档编码完成后,接着就会根据我们所实现的功能,进行软件测试文档的编写;大多测试文档有两类,一类是软件单体测试文档,一类是软件结合测试文档;顾名思义,单体测试:就是对软件中每个小的方法,一个独立的方法进行测试的文档;结合测试:就是把多个功能模块组合到一起进行测试,主要是为了检测每个功能模块之前的交互性和功能的结合实现性。第六、软件完成后的总结汇报型文档不管所开发软件的规模大小,在一个软件开发结束后,我们都会把开发过中的问题和项目开发总结一起记录下来,以防以后在开发过程中再有类似问题出现,提高我们的开发效率。根据软件开发公司的规模、标准和客户的需求不同,开发文档的种类和数量也不同,我在这里和大家讨论的软件开发相关文档都是最基础的;在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。

软件开发文档的分类

6. 软件开发文档的用途有哪些

在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在产品的开发生产过程中起着重要的作用。
1)提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中。管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。
2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。
3)作为开发人员在一定阶段的工作成果和结束标志。
4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。
5)提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。使软件开发活动更科学、更有成效。
6)便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。
文档在各类人员、计算机之间的多种桥梁作用中看出:
既然软件已经从手工艺人的开发方式发展到工业化的生产方式,文档在开发过程中就起到关键作用。从某种意义上来说,文档是软件开发
规范的体现和指南。按规范要求生成一整套文档的过程,就是按照软件开发规范完成一个软件开发的过程。所以,在使用工程化的原理和方法来指导软件的开发和维护时,应当充分注意软件文档的编制和管理。
PS:软件开发文档包括:
操作手册
维护修改建议
软件需求(规格)说明书
开发文档
软件需求(规格)说明书
数据要求说明书
概要设计说明书
详细设计说明书
可行性研究报告
项目开发计划
管理文档
项目开发计划
测试计划
测试报告
开发进度月报
开发总结报告
......

7. 软件开发的过程中,这些文档你都用到了吗

以我几次接手别人工作的经验看,最有用的文档是:
使用手册。要了解软件,首先要会用。好的使用手册应该包含快速入门指南和详细的参考。最好是开发人员写得。
概念设计文档。比较大的软件往往有自己的核心概念模型。它是如何对现实工作进行抽象的?最重要的数据结构是什么?还有整体模块的划分,系统的层次等架构性的东西。
代码。有篇著名的文章Code as Design[1]指明了真正的详细设计是包含在代码中的。这里的Design其实是个名词,并不是说用写代码来做设计,而是说只有读代码才能看到真正的详细设计。除了工作代码,注释和单元测试代码对理解软件也很重要。注释最重要的是说明一些非常规的,不易理解的东西。单元测试对理解某个函数接口的用处特别有用。
最没用的文档是详细设计文档,基本上每个项目中的这种文档都过时了,即是配合变更管理系统,查看起来依然很困难。
需要哪些文档是一方面,另外每个文档应该包含什么内容也很重要,不过那是另一个问题了。

软件开发的过程中,这些文档你都用到了吗

8. 软件开发文档应包括哪些内容?

开发文档
1. 《功能要求》 -- 来源于客户要求和市场调查,是软件开发中最早期的一个环节。客户提出一个模糊的功能概念,或者要求解决一个实际问题,或者参照同类软件的一个功能。有软件经验的客户还会提供比较详细的技术规范书,把他们的要求全部列表书写在文档中,必要时加以图表解说。这份文档是需求分析的基础。
2. 《投标方案》 -- 根据用户的功能要求,经过与招标方沟通和确认,技术人员开始书写《投标方案》,方案书一般包括以下几个重要的章节: 前言 -- 项目背景、公司背景和业务、技术人员结构、公司的成功案例介绍等。 需求分析 -- 项目要求、软件结构、功能列表、功能描述、注意事项等。 技术方案 -- 总体要求和指导思想、技术解决方案、软件开发平台、网络结构体系等。 项目管理 -- 描述公司的软件开发流程、工程实施服务、组织和人员分工、开发进度控制、软件质量保证、项目验收和人员培训、软件资料文档等。 技术支持 -- 公司的技术支持和服务介绍、服务宗旨和目标、服务级别和响应时间、技术服务区域、技术服务期限、授权用户联系人等。 系统报价 -- 软、硬件平台报价列表、软件开发费用、系统维护费用等。 项目进度 -- 整个项目的进度计划,包括签署合同、项目启动、需求分析、系统分析、程序开发、测试维护、系统集成、用户验收、用户培训等步骤的时间规划。
3. 《需求分析》 -- 包括产品概述、主要概念、操作流程、功能列表和解说、注意事项、系统环境等。以《功能要求》为基础,进行详细的功能分析 ( 包括客户提出的要求和根据开发经验建议的功能 ) ,列出本产品是什么,有什么特殊的概念,包括哪些功能分类,需要具备什么功能,该功能的操作如何,实现的时候该注意什么细节,客户有什么要求,系统运行环境的要求等。这里的功能描述跟以后的使用手册是一致的。
4. 《技术分析》 -- 包括技术选型、技术比较、开发人员、关键技术问题的解决、技术风险、技术升级方向、技术方案评价,竞争对手技术分析等。以《需求分析》为基础,进行详细的技术分析 ( 产品的性能和实现方法 ) ,列出本项目需要使用什么技术方案,为什么,有哪些技术问题要解决 ,估计开发期间会碰到什么困难,技术方案以后如何升级,对本项目的技术有什么评价等。
5. 《系统分析》 -- 包括功能实现、模块组成、功能流程图、函数接口、数据字典、软件开发需要考虑的各种问题等。以《需求分析》为基础,进行详细的系统分析 ( 产品的开发和实现方法 ) ,估计开发期间需要把什么问题说明白,程序员根据《系统分析》,开始在项目主管的带领下进行编码。
6. 《数据库文档》 -- 包括数据库名称、表名、字段名、字段类型、字段说明、备注、字段数值计算公式等。以《系统分析》为基础,进行详细的数据库设计。必要时可以用图表解说,特别是关系数据库。
7. 《功能函数文档》 -- 包括变量名、变量初植、功能,函数名,参数,如何调用、备注、注意事项等。以《系统分析》为基础,进行详细的说明,列出哪个功能涉及多少个函数,以便以后程序员修改、接手和扩展。
8. 《界面文档》 -- 包括软件外观、界面素材、编辑工具、文件名、菜单、按钮和其它界面部件的要求,这里与软件完成后的运行界面是一致的。
9. 《编译手册》 -- 包括服务器编译环境、操作系统、编译工具、 GNU 的 C++ 编译器版本信息、目录说明、程序生成、源程序文件列表、 Makefile 配置及其相关程序的对应关系列表。客户端的编译过程、编译结果、编译示例、编译环境、操作系统、编译工具、源文件列表和制作安装程序的过程。
10. 《 QA 文档》 -- 包括产品简介、产品原理、产品功能列表、功能描述、功能流程、执行结果、数据库结构、测试要求等,提供给软件测试人员使用。
11. 《项目总结》 -- 包括项目简介、项目参与人员和开发时间、项目风险管理过程、项目功能列表、项目结构特点、技术特点、对项目的升级建议、对以后的项目的建议、人员素质情况等。