Perface

  随着技术的进步,小作坊式的软件开发年代已经过去。目前的软件开发能力在不断提升,用户对软件的功能和性能要求也越来越高,软件开发质量受到关注。

  在软件开发过程中,各种数据和代码的管理需要经过统筹安排和管理,出现了各种软件开发文档,用于控制软件开发过程。

软件开发文档是与开发阶段对应的。

  一般来说,每个阶段至少产生一种文档。软件开发文档描述了在软件开发各阶段中不同的任务。不同组织和公司有不同的开发文档和规范,使用不同的开发模型产生的文档内容也不相同。

软件开发文档指导不同阶段的相关人员的工作,不同阶段的设计人员会设计出相应阶段的最终文档。如需求设计文档指导项目经理做软件的框架设计,产生概要设计文档;程序员使用概要设计文档了解软件某部分的功能,然后做具体的细化设计详细设计文档。按照软件开发的阶段,通常会生成以下几种文档:


可行性研究执行

软件项目的可行性研究执行需要列举出需要的技术、人员、资金、时间周期以及法律等方面的因素,最终目的是认证一个软件项目是否可以开发。

  可行性研究报告通常由软件团队的高层,或者是软件项目的发起人、投资人等参加。

  可行性研究报告中还应当对于现有的资源给出几种不同的解决方案供讨论使用。

  软件可行性研究报告的结果直接决定了一个软件项目是否启动。


项目开发计划

项目开发计划的目的是使用文件形式,把开发过程中各工作的负责人、开发进度以及需要的续费预算、所需的软件和硬件等都描述出来。

  后续的工作根据项目开发文档安排调配资源。项目开发文档是整个开发项目的资源描述文档,在编写的时候要从开发组织的实际情况出发,合理安排资源。


软件需求说明书

软件需求说明书是软件开发组织与用户之间的接口文档,是整个软件开发的基础,软件需求说明书是软件供求双方对软件功能的一个具体描述文档,通常由软件开发组织编写。

  该文档包括了软件的开发任务、功能约定、开发周期等,用户根据软件开发组织的需求设计提出自己的意见,修改后行形成最终文档。

  需求说明书对软件开发组织来说很重要,软件开发的设计和测试工作都是针对需求文档进行的。


概要设计

概要设计文档说明了整个程序设计的框架和工作流程,是详细设计文档的基础。

  概要设计描述整个系统的处理流程、模块划分、接口设计以及出错处理等内容。

  概要设计的好坏决定了软件的优劣,通常是项目经理设计该文档,并且经过讨论后形成最终文档。


详细设计

详细设计是一个软件模块或者流程的具体描述文档。

详细设计文档包括具体程序的功能描述、性能要求、输入输出格式、算法、存储分配等内容。

对于简单的软件可以不做详细设计,在代码中做相应详细的注释即可。对于大型的软件,至少要在关键流程做详细设计,并且尽量保证详细设计的文档与代码的对应关系便于维护管理。

详细设计文档一般由程序员编写。


用户手册

前面介绍的几种文档都是软件开发组织使用的,文档结构规范、内容使用术语较多,便于开发组织内部交流。

用户手册编写的目的是要使用非术语描述软件系统具有的功能和使用方法。用户在阅读使用手册后可以了解软件的功能和用途,并且通过说明书可以操作软件。

用户说明书通常包括软件的功能、运行环境、操作方法以及示例、常见出错问题及解答。用户手册要保证内容简洁,易于用户理解。


其他文档

在软件开发过程中还会产生一些其他文档,常见的有测试计划、测试报告、开发进度表和项目总结报告等。

其中,测试是比较重要的部分,一个软件的优劣测试起到很大作用。测试是与开发并进的,包括单元测试、集成测试、功能测试和完整性测试等。测试的目的是发现软件中的缺陷,帮助改进软件的健壮性。

本文转自infohacker 51CTO博客,原文链接:http://blog.51cto.com/liucw/1199792

【IT基础】常见的开发文档相关推荐

  1. 知乎爆赞!4504页《微信小程序零基础入门开发文档》+《小程序实战笔记》,你学废了吗?

    前言 微信小程序作为近几年"微服务"的杰出代表,应用十分广泛.小程序是一种新的开放能力,开发者可以快速地开发一个小程序.小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验 ...

  2. M5(项目)-01-尚硅谷谷粒商城项目分布式基础篇开发文档

    M5(项目)-01-尚硅谷谷粒商城项目分布式基础篇开发文档 分布式基础篇 一.环境搭建 各种开发软件的安装 虚拟机: docker,mysql,redis 主机: Maven, idea(后端),Vs ...

  3. day43 JavaWen阶段——JQuery 基础(JQuery相关开发文档,JQuery对象和JS对象区别与转换,JQuery选择器,JQuery中DOM操作,案列【QQ表情选择】【左右移动】)

    今日内容 1. JQuery 基础: 概念 快速入门 JQuery对象和JS对象区别与转换 选择器 DOM操作 案例 今日源码: 链接:https://pan.baidu.com/s/1KiG0c_V ...

  4. Uni-app原生插件基础开发文档

    Uni-app原生插件基础开发文档 一.软件安装 需要Hbuilder和Android Studio,前往官网下载即可 HBuilderX官网下载 Android Studio 官网下载 uni-ap ...

  5. 软件开发中常见英文缩写和各类软件开发文档的英文缩写

    软件开发中常见英文缩写和各类软件开发文档的英文缩写: 文章复制粘贴来源于:http://blog.sina.com.cn/s/blog_7326867a0100yfdl.html 英文简写 文档名称 ...

  6. 开发文档怎么编写_PoC 编写指南

    什么是 PoC PoC(全称: Proof of Concept), 中文译作概念验证.在安全界,你可以理解成为漏洞验证程序.和一些应用程序相比,PoC 是一段不完整的程序,仅仅是为了证明提出者的观点 ...

  7. autojs 开发文档集合

    加入我们的QQ群553908361,和各作者同群交流 教程会优先发布于收费脚本v群. 该代码选自于aj开发者的文档,群里有人反馈开发文档打开慢.所以做了这个.方便搜索.如有侵权,请私信我进行删除 同时 ...

  8. BMS养殖后台管理系统开发文档

    BMS养殖后台管理系统开发文档 简介: ​ BMS是一个后台管理系统,基于经典技术组合(Spring Boot.Apache.Shiro.MyBatis.Thymeleaf)主要目的是通过项目系统的学 ...

  9. luajit开发文档中文版(二)LuaJIT扩展

    2022年6月10日15:33:04 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...

最新文章

  1. redis的过期策略和淘汰策略
  2. 写给计算机老师的一封信800,写给老师的一封信800字作文(一)
  3. 什么东西都要用一句话总结出来:这是最重要的
  4. 2013年第四届蓝桥杯C/C++ A组国赛 —— 第四题:约数倍数选卡片
  5. 计算机应用作业2,计算机应用2作业
  6. 方法的重载与重写区别
  7. C#多线程之线程池篇1
  8. FZU 2020 组合
  9. 探究京东商城的数据建模
  10. java编写简单聊天界面_java实现简单聊天室单人版
  11. 单片机——DHT11 温湿度传感器
  12. 【嵌入式13】两台电脑串口通信
  13. 有了这个抠图滤镜,设计师再也不怕扣头发婚纱了!
  14. 一个汉字真的由两个字节存放吗?
  15. 将个人微信公众号变成查券返利机器人完美教程分享
  16. 推荐系统领域对比学习和数据增强论文及代码集锦
  17. STM32F4_外部中断详解(EXTI)
  18. 京东API—获取京东商品详情
  19. 解决 FileNotFoundError: [WinError 2] 系统找不到指定的文件
  20. 感受5.12汶川大地震

热门文章

  1. sj 网页前端与后台数据交互的3种方式
  2. 陕西打造12项精品体育赛事 加快建设体育强省
  3. Understanding The React Source Code
  4. webpack v3 结合 react-router v4 做 dynamic import — 按需加载(懒加载)
  5. # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结
  6. AWS Device Farm介绍及Appium踩过的坑
  7. 《伟大的计算原理》一致谢
  8. 1、时间、FHS 学习笔记
  9. ajax实现给JavaScript中全局变量赋值(转)
  10. C 语言——字符串和格式化输入/输出