Code Monkey home page Code Monkey logo

boot67's Introduction

技术方案规范&模板

画图工具推荐Visual Paradigm(企业版收费,社区版不收费), yEd Graph Editor(免费),ProcessOn(在线免费)。

需求分析

说明:根据策划和交互,分析需求,整理需求点,细化需求点。

目的:梳理需求,对需求的细节有详细的了解,对大需求做合理拆分,为接下来的详细设计做好充分的需求点准备。

需求功能1

  • 需求点1
  • 需求点1
  • ...

需求功能2

  • 需求点2
  • 需求点2
  • ...

[XXX]功能设计

说明:对单个功能进行分析设计,产出功能的架构图、用例图、时序图、状态图等

UML用例图

说明:使用UML用例图,从用户角度给出用例。如果用例图比较大,可拆成多个用例图。

举例

时序图

说明:使用时序图,整理出各个系统/模块间的交互

举例

状态图

说明:使用状态图,描述系统中的状态流转

举例

流程图

说明:使用流程图,梳理出功能的内部逻辑,表示算法基本思路

举例


数据设计

说明:使用数据表、ER图及数据流转图等工具,展现各领域之间的关系

数据表

【强制】 数据单表设计需要有表的描述、表名、数据量情况、增量情况以及表字段、主键(如果有)、唯一键、索引。

【强制】 多表的情况,设计需要有ER图,表达表之间的关系;并且不同表之间表达同一个含义的字段应该全局统一。

【强制】 附上建表语句

【强制】 列举词表最常用的sql,印证索引的有效性

举例

权限表

  • 表名:
  • 表类型:单表
  • 数据量:10万
  • 数据增量:1000条/月
  • 索引:idx_app(appCode)
  • 建表语句:
  • 常用查询:
select * from
字段名 类型 备注
id bigint(20) 主键,自增

用户表

  • 表名:
  • 表类型:单表
  • 数据量:10000
  • 数据增量:10条/月
  • 索引:idx_name(userName)
字段名 类型 备注
id bigint(20) 主键,自增

ER图

数据流转图

说明:使用数据流转图,整理出各个模块间的数据流转


NEI接口设计

【强制】 接口设计必须和交互搞呼应,以交互页面为维度编写

【强制】 接口需要在NEI中进行维护,并且标注接口等级:[P级定义]

【强制】 标注接口超时时间预计

【强制】 标注QPS的预估量级

【推荐】 接口设计可以简单标注实现对策(修改的类、修改的表、实现逻辑等)

举例

云豆特权页面

  • 交互页面:[云豆特权页面]

RPC接口设计

【强制】 RPC接口描述(标题)

【强制】 使用此接口需要依赖的pom

【强制】 接口、方法、入参、出参

【强制】 异常列表

【强制】 RPC提供的API层代码中必须有完善的javadoc规范,规范参考:RPC JavaDoc 规范

举例

获取单个艺人的云豆信息RPC接口

  • pom依赖:
    <dependency>
       
    </dependency>

异步消息设计

【强制】 消息描述(标题)

【推荐】 消息使用场景介绍

【强制】 使用的消息中间件,如无特殊情况使用卡夫卡

【强制】 需要依赖的pom

【强制】 消息的topic、key以及message类型

【强制】 消息的解析方式需要在服务端进行提供,并列出解析方法

举例

风险控制

说明:梳理系统的风险,提出需要采取的措施。

系统监控

说明:描述需要的系统级别的监控点。

监控点 措施
监控点1 措施1

业务监控

说明:描述需要的业务级别的监控点。

监控点 措施
监控点1 措施1

降级&切换设计

说明:设计功能的降级和切换策略

【强制】 降级&切换场景描述

【强制】 降级&切换使用的工具: 【强制】 降级&切换配置项

【强制】 降级&切换配置项值含义

举例


## 开发计划
*说明*:把设计文档和任务jira关联,记录开发人员和完成时间

**【强制】** 如本需求的开发依赖其它模块,则需要列举依赖模块的开发计划

* 任务地址:

| 模块 | 涉及应用 | 研发人员分工 | 人日 | 截止时间 |
| --- | --- | --- | --- | --- | --- |
| 功能模块1 | 应用1,应用2,... | 研发1,研发2,... | 2人日 | 年月日 |


boot67's People

Contributors

xuwhyse avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.