首页 > 其他分享 >开发设计

开发设计

时间:2024-05-08 22:47:41浏览次数:17  
标签:必选 核心 说明 API 开发 设计 交互

详细设计技术方案模板
一、概要说明
二、详细设计
1、功能详细设计(必选)说明:聚焦一个系统或一个模块,针对单个功能进行详细设计,这里不仅要表达与外部系统之间的交互,还要表达系统内部的交互,另外可以详细说明核心代码改动点
2、交互API设计(可选:涉及到交互API的新增和修改时必选)说明:根据上述分析和设计,识别出所有系统之间的交互,针对这些交互进行API设计,整体技术方案中可以不对API进行详细设计,重点是将所有API识别出来不要遗漏。
重要:交互API是一个系统对外的门户,一定要经过合理的抽象和封装。如果API设计得好,未来系统内部重构可以做到对外部无感知如果API设计得不好,系统内部一旦重构,外部系统就要跟着配合改造。
范围:BTTP接口、RPC接口、MQ消息等
3、数据模型设计(可选:涉及到数据模型的新增和修改时必选)说明:最核心的是数据库模型设计,比如新增了什么库、表、表字段、扩展字段等,比如表字段、扩展字段新增了什么枚举值等,比如新的场景复用了什么表、字段、扩展字段、枚举值等。
重要:数据模型是系统设计中最重要的固化产出,一旦落地,未来再修改的成本将会非常大,所以需要非常重视数据模型的设计。
范围:数据库模型、Redis缓存数据模型等
4、核心代码结构设计(可选:涉及核心代码的新增和变更时必选)说明:针对代码结构、代码骨架以及核心的类进行抽象和设计,体现类的关系以及类的核心属性和方法。
工具:类图等,建议统一使用wiki自带的Gliffy Diagram工具进行画图,如果比较简单,直接通过表格罗列即可。
观点:代码结构、代码骨架非常重要,真正决定了未来是什么样子
三、外部依赖识别(可选,涉及到外部依赖变更时必选)说明:识别依赖其他模块提供的REST、RPC、MQ等各种依赖。注意不仅包含依赖其他模块提供新的REST、RPC、MQ还包含依赖其他模块在原来REST、RPC、MQ的基础上做的修改或升级。
注意:核心链路增加外部依赖,需要重点评估是强依赖还是弱依赖,需要关注新增的外部依赖对核心链路的影响,防止不合理的依赖导致核心链路故障四、改动影响范围评估(必选说明:评估本次需求改动点及其影响范围,在详细设计阶段不一定能够评估全,在开发过程中、在需求提测前可以继续补充,保证评估的全面性。注意:后续测试根据这些改动点和影响范围制定整体的测试方案和测试用例,所以改动点和影响范围需要评估全面,否则很容易发生测试遗漏,导致线上问题
提醒:在详细设计阶段,评估很可能覆盖不全,开发过程中难免出现新的改动点,可以在需求提测前补充完整
五、风险评估
六、稳定性和防资损设计

概要设计其术方案稷板
一、需求介绍
说明:对整体需求进行概要介绍,可以贴BRD或PRD链接,进行需求核心内容介绍,帮助相关人员熟悉需求概貌,从而有助于理解技术方案要术:复杂流程需要搭配流程图说明,有时候一图胜千言,可以要求产品在MD或PRD中提供
二、概要设计
1、业务流程分析(可选:涉及到复杂业务流程需要在前期对齐时必选)说明:根据整体需求分析进行核心业务流程分析,这部分是整个设计的基石,是建立需求分析到系统设计之间的桥梁,需要跟业务和产品对
2、系统交互视图(必选)说明:通过一个完整的应用交互视图,体现项目中所有相关的系统(只要体现业务域,不需要体现业务域内部多个具体系统名称)系统中包含的核心功能、核心功能之间的关键交互等
3、核心流程拆解(必选)说明:根据对上述分析和设计,提炼和拆解出所有核心业务流程,以及核心流程的核心功能,后续需要针对这些核心业务流程进行具体设计
4、核心技术点设计
1)领域模型设计(可选:涉及到核心领域模型变动时必选)说明:如果涉及到核心领域模型的变化,需要首先进行核心领域模型的设计,注意领域模型是概念模型是为了表达业务概念的组成和关系,跟数据模型/物理模型不需要完全匹配,在概要设计阶段也不需要太过关注细化。
重要:领域模型是概要设计前期最重要的产出,需要特别重视,需要跟产品对齐。
2)领域状态设计(可选:涉及到核心领域状态变动时必选)说明:涉及到核心领域状态的,需要进行状态机设计
3)逻辑架构设计(可选:涉及到新建系统或逻辑架构变动时必选)说明:如果涉及到新起系统,需要涉及到逻辑架构设计以及工程规范,包括分层、模块设计、组件设计等
4)核心流程概要设计(可选:涉及核心流程需要在概要设计阶段对齐时必选)说明:针对核心业务流程进行设计,通过多个系统之间的协作和交互,以及它们之间序列和组合,从而完成一个完整的业务流程。
三、风险评估风险类型:项目进度风险、技术难度风险、稳定性风险、资损风险等风险等级:高、中、低

标签:必选,核心,说明,API,开发,设计,交互
From: https://www.cnblogs.com/tao-1989/p/18181067

相关文章

  • c语言程序设计——实验报告七
    实验项目名称:实验7数组的基本使用实验项目类型:验证性实验日期:2024年4月22日一、实验目的1.熟练掌握数组的定义格式和数组元素的表示方法2.熟悉数组的初始化方法和赋值方法3.掌握字符数组存放字符串的方法和字符串函数的使用4.熟悉数组元素的操作,特别是输入与输出操作5.......
  • 盘点5个C#开发的、可用于个人博客的系统
    今天我们就一起盘点下,最近分享项目5个适合做个人博客的开源项目。一、Blog.Core:前后端分离架构项目简介这是一个基于.Net6.0开发的应用框架,采用前后端分离架构,集成了上百个模块,如:统一支付、公众号管理、数据权限、任务调度、数据库读写分离等等。使用这套框架,可以极大的提升开......
  • 设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每
      设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日星期xtt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。/********************************************************************* filename: getime.c* author :......
  • 一个开源的基于Asp.Net Mvc开发的个人博客系统项目
    项目简介这是一个基于Mvc5构建的简单、代码层级分明的开源个人博客系统。前端美观大气、后台采用RightControl.NET通用角色权限系统,开发简单、效率高。网站配置采用XML配置,灵活可以根据自己是需求进行个性化配置。系统功能完备,完全可以满足需求,基本不用二次开发,非常使用程序......
  • Hi3516DV300开发笔记001——SDK的安装与编译
    1安装SDK​ 在"【易百纳】EB-3516DV300-DC-182型开发板\04.开发板SDK包"找到"Hi3516CV500_SDK_V2.0.2.0.tgz"文件,拷入Linux系统中"work/tools"目录中。1.1解压缩SDK包​ 在Linux服务器上使用命令:tar-zxfHi3516CV500_SDK_V2.0.2.0.tgz​ 解压缩该文件,得到一个Hi3516C......
  • 第十一届山东省大学生程序设计竞赛(正式赛)C题
    Chttps://codeforces.com/gym/103118/problem/C题面:在猫的国度里,任何猫科动物都可以被视为一棵根深蒂固的树。众所周知,猫的体内都隐藏着一种僵尸病毒。因此,一个猫家庭可能由猫和僵尸组成。当一只猫出生时,它可能会变成僵尸。如果一只猫变成了僵尸,它的后代也会变成僵尸。现在给......
  • Java护照识别接口开发示例、文字识别、证件识别
    护照是我们出国旅行时所必要的证件之一,他是我国公民去外国的旅行和工作的时候所代表的一个合法的身份证件。在护照上面也有不少关于我们个人身份的信息,而手动去录入如此多的身份信息这绝对是灾难。不仅证件,有的场景还需要录入很多文字信息。翔云API可识别图片上的身份证、护......
  • 23种设计模式笔记-结构型模式
    23种设计模式-结构型模式笔记模板模式前提-模式:概念:规则:实现细节:应用场景:示意图:代码实现:创建型模式适配器、桥接、组合、装饰、外观、享元、代理。适配器模式-接口兼容思想概念:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一......
  • Django Admin后台管理:高效开发与实践
    title:DjangoAdmin后台管理:高效开发与实践date:2024/5/814:24:15updated:2024/5/814:24:15categories:后端开发tags:DjangoAdmin模型管理用户认证数据优化自定义扩展实战案例性能安全第1章:DjangoAdmin基础1.1DjangoAdmin简介DjangoAdmin是Django......
  • 零、基于FPGA的贪吃蛇游戏设计概述
    零、基于FPGA的贪吃蛇游戏设计概述1. 代码结构系统模块如图所示:   snake_top.v:顶层模块,例化子模块,连接及与外部信号通信;game_ctrl_unit.v:游戏状态控制模块,控制状态转换和输出;snake.v:控制蛇身运动方向和蛇身增长;appple_generate.v:通过加法产生随机的食物坐标;VGA_ctr......