发布信息

为什么要写软件开发设计文档--

作者:软荐小编      2023-12-08 15:05:40     239

设计文档 - 也称为技术规范和实施手册,描述如何解决问题,是确保正确完成工作的最有用的工具。 其目的是迫使您仔细思考设计并收集其他人的反馈。 然后完善你的想法,同时在软件交付和交接的过程中,可以帮助别人更容易地理解之前的设计目的和想法。

软件文档编写要求有哪些_写软件文档_写文件的软件

内容: 1、什么是软件开发设计文档

创建并快速迭代——通过不断的思考、论证和缜密的思考来改进稳定文档的第一个版本

评审(可能有多轮)——集思广益,面对其他人的问题,收集其他人的反馈和意见,改进文档

实现和迭代——当发现编码实现与设计冲突或设计缺陷时,及时调整和更新文档

维护和学习——随着业务功能不断变化,文档应及时更新,避免误导后来接手或阅读的人。

摘要(任务的背景,如时间、地点、人物、背景、计划、替代方案等)

表结构以及它们之间的关系(ER图:实体关系图)

业务流程图、时序图(按照人操作的维度)

程序流程图、时序图(按照代码执行的维度)

接口约定(暴露的方法、api接口等)

其他(伪代码、类图、思维导图、泳道流程图、关于安全性、性能、边缘情况、成本效益的想法)

注释(补充说明和解释、引用材料)

审核状态

2. 为什么要写软件开发设计文档? 3. 编写软件开发设计文档要注意什么?

文档工具不统一,不同群体和部门之间存在差异。 有些人甚至不知道文件是什么格式,无法打开它们。

过度抄袭需求文档,缺乏软件设计内容,不像软件设计文档

布局混乱,设计文档不遵循标准模板顺序,缺乏清晰的目录结构。

设计文档中图片过多,部分图片质量较差,缺少原文件。 比如EA工具缺少eapx文件,就会导致文档迭代需要全部重绘,久而久之,就会更加不愿意维护和更新文档。

没有统一的文档版本管理工具写文件的软件,缺乏追溯和统计管理能力。

数据库表结构设计风格杂乱不一致,字段没有中文描述(毕竟母语不是英语),主键和索引设计基本没有考虑。

程序流程基本比较简单,缺乏主线,无法描述核心算法和关键点(比如ATM怎么取款?有的只是描述[插卡->取款->取款卡]这还不够,还应该包括各种Verification、事务、并发、缓存等)

类图缺乏类之间的关系,有的直接使用英文函数名而不进行说明。

大多数序列图只描述与数据库的交互,缺乏业务流程和程序执行的序列图。

如果你不明白设计文档的含义,那么对于非常简单的任务需求就不需要编写设计文档。

缺乏对安全、性能、边界条件和成本效益的思考。 考虑不够全面,审查不严格。

文档编写者:架构设计师或功能开发人员

明确该文档的对象是谁:部门内的开发人员? 合作伙伴实施者? 外部开发人员?

设计先行:设计文档先写好再编码,这样可以大大避免后期返工,提高开发效率。

一图胜千言:尽可能用图片和文字清晰表达设计思想

统一绘图工具:需要支持导入导出,方便后续更新

统一文档模板:为了防止文档奇怪、布局不一致、阅读困难等问题。

确定托管形式:从安全(文档加密)、方便查看、版本管理等方面考虑,建议使用内部知识文档管理系统,类似wiki\git\svn的版本管理工具,或者内联网微盘

好的代码比设计文档更好:有时编写优雅的代码和注释比编写设计文档更好

版本迭代:在软件功能迭代过程中,经过多次迭代后,功能和设计可能会发生较大变化。 设计文档要及时更新,避免向人们传递错误的信息。

4.如何编写开发设计文档

1.推荐开源绘图工具:

写软件文档_软件文档编写要求有哪些_写文件的软件

图片取自官网

2.Word(设计文档模板,也可以使用wiki\confluence等团队工作区管理工具)

3.xMind(绘制思维导图)

4.Visio(绘图工具,目前未找到mac版本)

1.下一篇我会介绍如何使用draw.io画图(时序图、流程图、类图、ER图、架构图)

2.列出一些参考资料:

▶ 流程图:

▶ 时序图:

▶ 类图:

▶程序流程图#生命周期图

3.贴出预览图(示例写文件的软件,仅供参考):

软件文档编写要求有哪些_写文件的软件_写软件文档

写软件文档_软件文档编写要求有哪些_写文件的软件

写文件的软件_写软件文档_软件文档编写要求有哪些

软件文档编写要求有哪些_写软件文档_写文件的软件

写文件的软件_软件文档编写要求有哪些_写软件文档

写文件的软件_软件文档编写要求有哪些_写软件文档

相关内容 查看全部