如何撰写好的技术方案设计-真实案例干货分享

简介: 如何撰写好的技术方案设计-真实案例干货分享

一、 前言

作为一个技术开发者,特别是高级、资深开发、架构师等,往往会遇到根据需求撰写技术方案。那么如何撰写一篇好的技术方案设计,我们今天就来聊一聊这个话题。


二、 技术方案是否有必要

答案是肯定的。

我见过太多由于前期规划不到位(甚至是没有技术方案设计,开个技术讨论会口头沟通一下,就直接评工期开干的),这其中不乏很重要,工期很长的项目。而最后呢,到联调阶段各组串不起来,更可笑的是,产品和产品同学之间都没沟通清楚。导致最终很被动,到处挖坑补洞,而且花费了更多的时间和精力,甚至导致项目延期,后续扩张性不强等等问题。

所以我认为,技术方案是必不可少的一个环节。往往很多坑在这个阶段就可以避免的。

古人云:"磨刀不误砍柴工",技术方案就是磨刀的过程。


三、 如何写好技术方案

1.要贴合需求,满足需求是大方向。

2.可实施。要考虑当前条件下是否可落地,如:

  • ·团队人员接受能力:技术选型的时候,要考虑团队成员接受能力,盲目引入新技术,可能造成不可预知的问题。
  • ·时间成本:  一般来说Java 或者 PHP 后端项目(c语言项目可能会做一年甚至更长时间),3个月时间周期算是比较长的了,假如按照此方案,需要半年甚至更长时间,那可能也不切实际。
  • ·资源成本: 例如,项目可能需要引入Redis,Mysql,ES, MongoDB 等基础资源,那公司是否能提供这些资源(服务器是要钱的)。如果不能,在写技术方案时候,可能就需要考虑是否有替代方案。

3.应急处理&可靠性保障 只要人能想到的问题,就一定会发生,不能有侥幸心理。所以要做好出现问题的应对策略,这里就必须做好如:

  • ·灰度方案
  • ·降级方案
  • ·异常处理
  • ·容量评估

四、技术方案模板

下面是我总结的技术方案设计模板,希望对大家所有帮助。

1、背景

目前的背景现状,简要说明以往业务所遇到的问题,给出本次项目迭代的原因,解决的技术痛点或业务痛点


2、目标

通过次方案要达到什么样的业务指标,例如,支撑多少QPS,性能相比现在提升多少倍,为后期水平扩展做铺垫


3、整体方案

1)架构图 2)流程图 3)时序图 4)调用链路图


4、存储设计

如Mysql表结构设计,缓存设计,ES存储设计等等,说明Schema、字段类型、默认值、描述信息等。


5、接口定义

列举出接口的结构,参数,返回值等


6、灰度方案

按什么方式灰度,如何做灰度方案,用表格的形式列出分几个阶段灰度,每个阶段大概时间多长。


7、降级方案

当出现问题如何降级操作,如何回滚。将风险降到最低程度。


8、关联系统(功能)影响

重点需要各组注意的地方,相关人员需要特别关注,一一确认到位


9、资源分配情况
  • 人力资源: 实现方案需要多少人力投入(开发人力,测试人力,运维人力)等。
  • 硬件资源: 实现上述方案,列举需要哪些物理机器资源,运维人员需提前准备。


10、预估工期及时间节点

列举出工期及关键时间节点,如,什么时候联调,什么时候提测,什么时候开始灰度上线,以及后续的迭代完善计划等。


五、温馨提示

我也给大家总结了我之前做系统重构写的技术方案设计文档(线上真实版本,已脱敏),给大家总结了2套, 有需要的朋友可以公众号后台留言"方案"即可获取,也欢迎有兴趣的朋友一起交流学习。


相关文章
|
项目管理
技术方案怎样写
该文档介绍了编写技术方案的要点和方法。首先强调了技术方案需明确相关方、关键指标、目标受众及预期收益。接着,提到撰写方案时应避免逻辑不清晰、表达复杂和阅读难度高等问题,追求合作共赢、系统规划和显著收益。方案写作框架包括问题、方案、优势和收益。还需深入分析需求,设定SMART目标,关注度量指标如北极星指标,确保方案设计的专业性,合理规划执行路径并做好项目管理,以实现目标并确保团队协作。
406 0
|
存储 SQL 关系型数据库
如何设计可落地的重构技术方案——理论篇
如何设计可落地的重构技术方案——理论篇
468 0
|
SQL 缓存 监控
技术方案到底怎么写?7步完美搞定!
总结了作者多年编写技术方案的经验,介绍了如何通过七个步骤来编写技术方案,包括系统用例、功能链路、核心业务流程、数据库设计、接口设计、非功能设计和系统风险点评估,帮助开发人员更高效地进行系统设计和需求分析。
技术方案到底怎么写?7步完美搞定!
|
存储 数据采集 安全
各种系统架构图与详细说明
原文:各种系统架构图与详细说明 共享平台逻辑架构设计 如上图所示为本次共享资源平台逻辑架构图,上图整体展现说明包括以下几个方面: 1 应用系统建设 本次项目的一项重点就是实现原有应用系统的全面升级以及新的应用系统的开发,从而建立行业的全面的应用系统架构群。
26422 1
|
存储 缓存 监控
如何写出一篇好的技术方案?
近期作者在写某个项目的技术方案时,来来回回修改了许多版,很是苦恼。于是,将自己之前写的和别人写的技术方案都翻出来看了几遍,产生了一些思考,分享给大家。
如何写出一篇好的技术方案?
|
项目管理
技术方案撰写之道:实用技巧与方法
本文探讨了如何撰写技术方案,强调了考虑方案的相关方、关键指标、目标受众和预期收益的重要性。文章提出了写作框架应清晰、表达生动、具有美感,并指出好的方案应实现共赢、系统规划和显著效益。写技术方案时,需明确问题、深入分析需求、设定合理目标、设立度量标准、专业设计方案、规划执行路径并有效项目管理,确保方案的成功实施和收益。
1391 0
|
开发者
如何画好一张架构图/业务图/流程图,掌握4个关键点
本文分享了如何制作出有帮助的图表,强调了即使是开发者也需要良好的绘图技巧。文章列举了常见的图表类型,如代码实现图、技术架构图、业务流程图、技术链路图、交互时序图和业务架构图,并指出好的图表应具备结构清晰、外表美观和内容完整的特点。为了达到这些标准,作者推荐了设计的四大原则:亲密性、对齐、对比和重复,以及色轮的运用来提升美感。此外,还介绍了黄金分割构图法以增加视觉吸引力。最后,强调了以终为始的设计思路,确保图表能独立传达完整的信息,并鼓励读者实践这些技巧,提升工作和生活中的沟通效率。
1083 1
如何画好一张架构图/业务图/流程图,掌握4个关键点
|
存储 缓存 API
后端的技术方案怎么写?
本文讨论了编写方案的重要性,旨在帮助我们清晰理解需求并确保有效落地。方案应记录实现初衷,方便后续迭代,避免因缺乏文档导致的代码理解困难。通过方案评审,可以考虑通用性和复用性,减少重复工作。文章还强调了在新系统或已有系统上添加功能时需考虑的问题,如系统复杂度、耦合度、API依赖、兼容性、性能和数据处理。此外,方案应涵盖需求背景、系统架构设计(包括业务架构、状态机、存储、服务应用和服务治理)、上线计划和灰度发布策略。最后,文章提到了性能设计、复用性和中台建设的思考,指出设计应以满足实际需求和降低成本为目标。
449 0
|
存储 缓存 监控
团队的技术方案设计模板
大家参考我这个方案设计模板(提纲)和相关介绍来做自己的方案设计的时候,可以根据自己的实际业务情况和背景做相关目录的删减,最后得出自己最终的方案设计,然后再去进行方案评审。
|
存储 SQL Web App开发
迭代技术方案设计文档规范
规范在团队管理中的意义无需多言,对于开发团队来说,技术方案的设计和执行无疑是日常工作中很重要的一块。编码一定要在思考清楚之后在开始,以免把问题带入线上,或者反复修改造时间、精力的浪费。
744 0