首页 > 编程知识 正文

软件开发功能设计文档,网站开发设计文档

时间:2023-05-03 14:54:15 阅读:105835 作者:2515

转载:

设计文档-也称为技术规范和实施手册,描述如何解决问题。 这是正确完成工作的最有用的工具。 其目的是对设计进行周密的考虑,收集他人的反馈并改进想法,在软件的交付和交接过程中,使他人更容易理解以前的设计目的和想法

目录:

一.什么是软件开发设计文档

二、为什么要写软件开发设计文件

三.编写软件开发设计文档需要注意什么

四.如何编制开发设计文档

一、软件开发设计文档设计文档——又称技术规格书和实施手册,是解释如何解决问题、正确完成工作的最有用工具

一般来说,“设计文档”的生命周期具有以下步骤:

快速迭代——通过不断论证和周密思考,完成第一版稳定的文档

评论(可能有多次) -头脑风暴,面对他人的疑问,收集他人的反馈和意见,完善文档

实现和迭代-如果在编码实现和设计中发现不一致或设计缺陷,及时协调和更新文档

维护和学习-随着业务功能的变化,请立即更新文档,以免误导后续接手或阅读的人

设计文档的要求因领域而异,但这里主要介绍软件开发过程的设计文档。 它可能看起来像后端,但其组成部分可能包括以下内容:

概述(任务的上下文,如时间、地点、人员、背景、计划和备用方案) )。

表结构及其关系(E-R图:实体-联系图(EntityRelationshipDiagram ) ) ) ) ) ) ) ) )。

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

程序的流程图、时序图(根据代码执行的维) ) )。

接口约定(对外公开的方法、api接口等) ) ) ) ) ) ) ) ) ) ) ) ) )。

其他(考虑伪代码、类图、思维导图、游泳路线流程图、安全性、性能、边界状况、性价比) )。

备注(附加说明和引用资料) ) ) ) ) ) ) ) )。

审查状况

二、为什么要写软件开发设计文档? 磨刀工具是不误劈柴工、正确完成工作的最有用工具,写设计文件不应该成为大家工作的负担

其目的是让你对设计展开缜密的思考,收集他人的反馈,完善你的想法

同时,在软件的交付和交接过程中,可以让别人更容易理解以前的设计目的和思路

它是知识的沉淀和传承

我们经常说:“设计文件没有用。 是为了糊弄顾客和管理层的文件”、“是为了写设计文件的时间了。 我的任务早就结束了”、“项目紧张,没有时间做设计”。 这是不正确的。 虽然小功能没有问题,但是大型复杂的任务容易缺乏各种各样的考虑,产生大量的错误,容易修改。 每队

三、编写软件开发设计文档应注意什么? 我参加过好几次设计评审,经常发现以下问题。

文档工具不统一,每个组和部门都有差异,有些文件甚至不知道是什么格式,无法打开

过度复制要求文档,缺少软件设计内容,与软件设计文档不同

排版混乱,设计文件未遵循标准模板的顺序,缺乏明确的目录结构

设计文件图像过多,质量差,缺少原始文件。 例如,用EA工具制作的eapx文件不足的话,就需要重新描绘所有的文件的重复,不能长时间维持更新文件

没有统一的文档版本控制工具,缺乏可追溯性和统计管理功能

数据库结构的设计风格杂乱不统一,字段中没有中文说明,母语不是英语。 几乎没有考虑主键和索引的设计

过程基本上很简单,缺乏主线,无法描述核心算法和关键点。 比如,自动取款机怎么取钱? “插卡-取钱-抽卡”还不够,必须包含各种检查、事务、并发、缓存等处理。)

类图不表示班级之间的关系,也有直接使用英语函数名的,缺乏记述

时间图往往只描述与数据库的交互,缺少业务流程和程序执行的时间图

如果不理解设计文档的含义,就不需要为了简单的任务而写设计文档了

缺乏对安全、性能、边界状况、性价比的思考,考虑还不够,审查不严格

请总结几个需要注意的问题作为参考:

文档作者:架构师或功能的开发人员

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

设计先行:设计文档必须在编码前编写,可以大大避免后期返工,提高开发效率

一图胜千言:尽可能使用文字清晰表达设计思路

统一的绘图工具:必须支持导入和导出,以便于后续更新

统一的文档模板:为了防止奇怪的文档、排版不一致、阅读困难等问题

决定主机格式:可以从安全性(文档加密)、易用性、版本控制等方面考虑,包括内部知识文档管理系统、wikigitsvn等版本管理工具、内部网

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

更胜于写一篇设计文档

版本迭代:在软件功能迭代的过程中,可能经过几次迭代后功能和设计有了很大的变化,设计文档应该及时更新,以免给人传递错误的信息

四、怎么写好一份开发设计文档

用什么工具

1、推荐开源的绘图工具:https://www.draw.io/?lang=zh

官网截的图

2、word (设计文档模板,也可以使用 wiki  confluence 这类团队工作空间管理工具)

3、xMind (画思维导图)

4、visio (画图工具,目前没发现有 mac 版的)

如何写、如何画?

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

2、列举了一些参考资料:

▶ 流程图:http://www.woshipm.com/zhichang/2329530.html
▶ 时序图:http://www.woshipm.com/ucd/607593.html
▶ 类图:https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html
▶ 程序流程图 https://cn.vuejs.org/v2/guide/instance.html#生命周期图示

3、放一波预览图(样例,仅供参考):

更多资料关注微信公众号: 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。