软件工程开发文档写作教程(03)—开发文档的必备条件

news2024/11/23 13:45:11

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl
  • 本文参考资料:电子工业出版社《软件文档写作教程》 马平,黄冬梅编著

必备条件概述

在这里插入图片描述

软件系统配备软件文档不仅对于公司非常有益,而且也能够让客户从中受益。由于软件产品如何使用在某种程度上是要依赖软件文档来进行说明的,因此软件文档必须准确可靠。使用不准确的和已经过时的软件文档对于公司的发展也会产生一定的阻碍,同样也会对客户产生消极的影响。一旦客户发现在他们使用产品的时候遇到了问题,却不能通过求助于伴随软件产品的软件文档的手段进行解决的时候,客户就会对这种软件产品产生怀疑乃至于失去信心,公司的信誉和利益自然而然地就会受到损害。

无论是面向客户的需求分析书、用户手册,还是面向开发者的概要设计书、详细设计书、测试计划书,既然都是软件开发中产生的软件文档,则它们都具有一定的共性,都必须具有完整性、准确性、易用性和及时性。

完整性

大多数客户在刚开始使用一个新软件系统的时候,最快的入门方法就是软件的开发方派出技术人员对客户进行系统培训,通过从头到尾的演示过程,手把手地教会客户该软件的使用方法,并且及时的回答客户的提问。这样的培训无疑是快捷而有效的。但是,对于大型的软件系统而言,其客户数量也是巨大的,不可能让所有的客户都停下手中的工作参与到软件的使用培训中去。通常只会选择让客户经理去参加,然后由客户经理再往下推广。这样的推广模式,首先不能保证直接参加软件使用培训的客户经理能充分的理解软件的使用方法。其次,客户经理在向下进行推广的时候,不能保证他们所说的都能完全符合该软件系统的实际情况。最后,最终用户怀疑自己理解的东西到底是不是开发方想传达的东西。只要传播的环节增加,讹传的可能性就会增加。如何才能判断自己理解的东西是不是正确的东西呢?依据就是软件文档。无论是直接得到软件开发方培训的客户经理还是经由若干级传播之后的最终用户,他们看到的都是同一份软件文档。通过阅读相同的软件文档,不同用户之间的理解不会有太大的差异。而且将软件文档发送给最终用户让其自行阅读,比一级一级进行培训可以节约大量时间和成本。
软件文档的作用是指导开发工作的进行,软件文档的内容应该是完整的。具体工作的展开都是基于软件文档的内容,软件文档记述了做什么,如何做等问题。软件文档就像小说一样,有头没尾、故事情节不完整的话,无法称其为一部完整的小说。每一阶段的软件文档必须为下一阶段的工作提供必要的信息,这样才能让软件开发工作如流水般顺利地进行下去。

准确性

软件工程是一门工程学,它具备严谨、准确的特点。将这门学科运用到实际的软件开发工作中去,就要求软件开发的过程也必须是严谨而准确的。应用到软件文档的编写中就是,文字表述要明确,逻辑要清晰,不能出现含糊其辞的句子,不能提供多种方案供参考,文档中只能出现充分思考权衡之后的最终实现方案。这样的文档,才不会造成阅读者的歧义,不能像阅读文学作品那样,仁者见仁智者见智,十个人读完之后有十种不同的感受。软件文档必须让每个人读起来得到的结论是一样的。

易用性

如果一套软件具备功能强大,界面美观,性能优良等优点,唯独操作过于复杂,这样的软件不容易得到推广。相反在实现相同功能的前提下,操作简单的软件容易被客户接受。软件文档也是一样的,必须具有易用性。软件文档的易用性是指易于查找,当客户想了解软件某方面内容的时候,必须很容易的知道在什么地方能获得自己想知道的内容,不能将时间花费在寻找上。

及时性

从决定开发一套软件系统开始,时刻都有变化的可能性,唯一不变的就是变更本身。前期终于和客户沟通完毕,形成了详尽的需求分析书,软件开发人员甚至已经开始着手设计该系统,即使是这个时候,也可能经常会收到来自客户的需求变更,于是需求分析书需要重新修改,按照需求变更的影响范围,概要设计书也必须相应地进行修正。经过一段时间的修改,概要设计书终于完成,进入了子系统和功能模块的详细设计阶段。但是,这时又可能发现之前的概要设计书某些方面不够合理,某些子系统的设计过于复杂,子系统间耦合度过高等问题,导致概要设计书的再次修改。随着每一次的软件文档修正,都会产生一个新的软件文档版本,我们必须保证的是,软件开发人员的工作必须是建立在最新软件文档的基础上,避免因为软件文档的版本问题导致返工。

所以,任何软件文档都必须及时地反映开发过程中的变更,并且及时地反馈到软件开发的相关人员手中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/457309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】【配置】网络连接

NetworkManager介绍 NetworkManager 是一个在 Linux 系统上管理网络连接的系统服务和工具。它可以自动配置和管理有线、无线、移动宽带和虚拟专用网络 (VPN) 连接,以及其他类型的网络连接。 NetworkManager 提供了一种简单且易于使用的方法来管理网络连接&#xff…

JSP、JSTL标签

<!-- JSTL的表达式的依赖--><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><!--Standard标签库--><dependency><groupId>java…

QGroundControl之安装调试

QGroundControl之安装调试 1. 源由2. 问题汇总2.1 摄像头播放问题2.2 Windows电脑录像和拍照保存位置2.3 Android设备录像和拍照保存位置 3. 打包资料4. 附录-QGroundControl-Video Streaming5. 附录-QGroundControl效果图6. 参考资料 1. 源由 开源软件的好处就是免费&#xf…

数字政府智慧政务一网通办解决方案2022(ppt可编辑)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 建设成效 让政务服务全流程更“好办、智办” 智慧政务“111”架构 服务门户 统一入口、多端同步&#xff0c;一网融合、数据同源 服务门户 智能客服、智能问答、智能外呼实现…

2023一网通办一网统管一码互联一网共治建设方案(PPT可编辑)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 智慧城市基础平台的定位 智慧城市各模块的纵向关系 智慧城市-数据中枢整体架构 数据中枢在智慧城市定位 数据中枢定位1、数据中枢是智慧城市基础平台的核心组成部分&#x…

虚拟化技术 — VirtIO 虚拟设备接口标准

目录 文章目录 目录VirtIOVirtIO 虚拟设备接口标准VirtIO 的前后端分层架构标准VirtIO 的数控路径分离架构标准VirtIO 的传输层标准 VirtIO 标准在 Linux 中的实现 VirtIO VirtIO 由 Rusty Russell 开发&#xff0c;最初是为了支持自己开发的 lguest Hypervisor&#xff0c;其…

对象存储之SeaweedFS简介及与MinIO的对比

什么是SeaweedFS&#xff1f; SeaweedFS架构&#xff1a; master service【主服务】和Volume service【卷服务】一起提供分布式对象存储服务&#xff0c;支持用户配置数据的复制和冗余策略。可选的Filer service【过滤器】和S3 service【S3服务】是对象存储之上的附加层&#x…

量子力学 学习

对于同一个竖直向上量子比特&#xff0c;不对他进行任何的干扰&#xff0c;进行第一次水平测试实验会随机得到一个一或者负一&#xff0c;之后再进行多少次水平测试实验都与第一次的试验结果是相同的。 我们换用其他的竖直向上量子比特&#xff0c;或者对原来的量子比特进行干扰…

高阶函数的面试

说说JS原型和原型链 原型&#xff1a;函数都有prototype(显示原型)属性&#xff0c;而prototype会自动初始化一个空对象&#xff0c;这个对象就是原型对象 原型对象中会有一个constructor属性,这个属性将指向了函数本身 实例化对象都有一个_proto_(隐式原型)属性&#xff0c…

Spring基于注解读取和存储对象

目录 一. 存储 Bean 对象 1. 前置工作&#xff1a;配置扫描路径 2. 使用五大类注解存储Bean对象 Controller 命名规则 Service Repository Compoent Configuration 五大类注解之间的关系 3. 使用方法注解存储Bean对象 二. 获取 Bean 对象 1. 属性注入 优点分析 缺…

详解C语言string.h中常用的14个库函数(二)

本篇博客继续讲解string.h中的库函数。在上一篇博客中&#xff0c;我介绍了strlen, strcpy, strcat, strcmp这4个字符串操作函数&#xff0c;本篇博客会继续介绍strncpy, strncat, strncmp这3个类似的函数。 strcpy, strcat, strcmp这3个函数是长度不受限制的字符串操作函数&a…

预算约束下营销效果优化的端到端框架(快手)

目录 翻译&#xff1a;预算约束下营销效果优化的端到端框架 1介绍 2 .相关工作 2.1预算分配 2.2梯度估计 3我们的端到端框架 3.1符号 ​3.2两阶段范式 3.3 Marketing Goal as a Regularizer 3.4梯度估计 ​3.5训练 4实验结果 4.1数据集 4.2评价指标 4.3实现细节 …

Windows环境下NVM安装后Node/NPM命令无法使用

问题&#xff1a;Windows环境下安装nvm后&#xff0c;使用nvm安装node&#xff0c;无法使用node相关命令。 解决方案&#xff1a;注意安装的时候有两个路径&#xff0c;第一个是nvm所在的路径&#xff0c;第二个是nodejs所在的路径&#xff0c;大家需要在对应的目录下找到路径…

基于SSM的电影订票管理系统

有需要请私信或看评论链接哦 可远程调试 基于SSM的电影订票管理系统 一 介绍 基于SSM的电影订票管理系统&#xff0c;本项目分为前台和后台&#xff0c;登录角色分为普通用户和管理员。用户可注册登录&#xff0c;个人中心&#xff0c;搜索电影&#xff0c;选座购票&#xff…

机器学习——损失函数(lossfunction)

问&#xff1a;非监督式机器学习算法使用样本集中的标签构建损失函数。 答&#xff1a;错误。非监督式机器学习算法不使用样本集中的标签构建损失函数。这是因为非监督式学习算法的目的是在没有标签的情况下发现数据集中的特定结构和模式&#xff0c;因此它们依赖于不同于监督…

QMS-云质说质量 - 5 解决中小企业质量问题的钥匙在哪里?

云质QMS原创 转载请注明来源 作者&#xff1a;王洪石 引言 一个小小的质量问题可能引发蝴蝶效应 日常生活中&#xff0c;我们每天都会遇到各种各样的问题&#xff0c;并随着它们喜怒哀乐。企业也不例外&#xff0c;即使有很好的管理体系以及非常高素质的员工&#xff0c;一些错…

XGBoost模型详解

1.什么是XGBoost&#xff1f; GBDT&#xff0c;它是一种基于boosting增强策略的加法模型&#xff0c;训练的时候采用前向分布算法进行贪婪的学习&#xff0c;每次迭代都学习一棵CART树来拟合之前 t − 1 t-1 t−1 棵树的预测结果与训练样本真实值的残差。XGBoost对GBDT进行了一…

C/C++每日一练(20230424)

目录 1. 只出现一次的数字 &#x1f31f; 2. 有效的括号 &#x1f31f;&#x1f31f; 3. 递归反序正整数 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 只出现一次…

《站在巨人的肩膀上学习Java》

Java从诞生距今已经有28年了&#xff0c;在这段时间里&#xff0c;随着Java版本的不断迭代&#xff0c;Java新特性的不断出现&#xff0c;使得Java被使用的越来越广泛。在工程界Java语言一直是大家最喜欢的语言之一&#xff0c;Java一直排行在编程语言热门程度的前3名。 可想而…

ora_scm0导致主机负载高

今天不知道了&#xff0c;几个12.2 RAC出问题&#xff0c;有现场反馈主机负载高&#xff0c;之前连接过该环境&#xff0c;知道是12.2环境&#xff0c;直接top查看&#xff0c;发现ora_scm0经常cpu使用率100%了&#xff0c;查看hydb1主机负载正常 直接上mos文档 12.2 RAC DB B…