当前位置: 首页 > 后端技术 > Java

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

时间:2023-04-01 20:00:56 Java

1.前言作为技术开发人员,尤其是大四、资深、架构师等,经常会遇到根据需求编写技术方案。那么如何写出好的技术方案设计,今天就来聊聊这个话题。2、技术方案是否必要?答案是肯定的。由于前期规划不充分(甚至没有技术设计,开技术研讨会口头交流,然后直接评估工期),我见得太多了,很多都很重要,工期长。最后到了联调阶段,各个组都联系不上了。更可笑的是,产品和产品同学之间没有明确的沟通。结果最后很被动,到处挖坑填坑,耗费了更多的时间和精力,甚至导致项目延期、后续拓展乏力等问题。所以我觉得技术方案是必不可少的一环。在这个阶段往往可以避免很多陷阱。古人云:“磨刀不误砍柴”,技术方案就是磨刀的过程。3、如何写好技术方案一定要满足需求,满足需求才是大方向。可以实施。需要考虑在当前条件下是否可以实施,例如:团队成员接受度:在选择技术时,要考虑团队成员的接受能力,盲目引入新技术可能会出现不可预知的问题。时间成本:一般来说,对于Java或者PHP的后端项目(c语言项目可能需要一年甚至更长的时间),3个月的时间周期是比较长的。如果按照这个计划进行,需要半年甚至更长的时间。这也可能是不切实际的。资源成本:比如项目可能需要引入Redis、Mysql、ES、MongoDB等基础资源,公司能不能提供这些资源(服务器要花钱)。如果没有,在编写技术方案时,可能需要考虑是否有替代方案。应急处理&可靠性保证只要是人能想到的问题,就一定会发生,不应该有机会。所以,为了处理问题,这里需要做好,比如:灰度方案降级方案的异常处理能力评估4、技术方案模板下面是我总结的技术方案设计模板。希望对大家有所帮助。1.背景后台现状,简单说明过去业务遇到的问题,给出本次项目迭代的原因,解决技术痛点或业务痛点2.应该针对什么样的业务指标通过子方案实现,比如,支持多少QPS,性能比现在提升了多少倍,为后期水平扩展Cache设计,ES存储设计等做铺垫,解释Schema,字段类型、默认值、描述信息等。5.接口定义列出了接口结构,参数,返回值等6.灰度方案如何灰度,灰度方案如何制作,以表格的形式列出几个阶段的灰度,大概时间每个阶段多长时间。7.降级方案出现问题时如何降级回滚。最小化风险。8、需要各组注意的相关系统(功能)影响点。需要相关人员特别注意,一一确认。9.资源分配人力资源:实现计划需要多少人力(开发人力、测试人力、运维人力)等。硬件资源:运维人员需要提前准备实现上述方案需要哪些物理机资源。10.预计建设周期和时间节点列出建设周期和关键时间节点,如何时加入调试、何时提测、何时开始灰度上线、后续迭代改进计划等5.温馨提示。我也总结了之前写的系统重构的技术方案设计文档-PDF版(脱敏)。我为你总结了2套。有需要的朋友可以在后台留言“求婚”获取。