graph LR A(软件设计)-->B(一、需求分析) A-->C(二、系统设计) B-->D(1.市场调研) B-->E(2.功能需求整合) E-->客户端功能需求 E-->管理端功能需求 C-->F(逻辑架构设计) F-->客户端 F-->业务逻辑 F-->基础服务 C-->G(技术架构设计) G-->用户层 G-->服务层 G-->数据层 C-->H(数据架构)
以核算登记系统为例:
- 需求分析
1.1 基于核酸检测排查效率低下,手工登记速度慢的问题开发一个基于手机端的核算采集平台
1.2 对核算采集平台罗列需求
如:
分类 | 功能点 | 需求说明 |
---|---|---|
居民端 | 预约页面 | 录入用户的基本信息:包括姓名、性别、身份证号 |
身份证信息提取 | 点击页面按钮调出摄像头,拍摄身份证可以提取身份证信息,自动填入页面 | |
登记端 | ... | ... |
管理端 | 预约信息查询 | ... |
- 系统设计
2.1 逻辑架构设计
如: 客户端:预约页面、登记页面...
↓
接口服务:
业务逻辑:登录服务、预约服务
基础服务:安全、配置、日志、数据持久化
2.2 技术架构设计
描述页面的使用场景,即业务流程。
如:
预约页面:居民用手机扫描二维码进入页面,填写预约信息后提交,生成预约二维码。任何人扫码都可以打开预约页面,填写信息,提交预约。此模块不需做登录认正。
接口服务:提供...接口。
后端管理页面:包括用户层:vue.js\Vant,服务层:FastAPI\Pydantic\Uvicorn,数据层:MySQL,SQLAIchemy
2.3 数据架构
即设计数据库表