ADD file via upload

冉杨品飞
pxqbzjk5c 1 month ago
parent 9af08eb0c5
commit 81198b24bb

@ -0,0 +1,72 @@
软件体系结构设计报告(总体设计)
1. 概述
本报告描述ECMS系统的总体架构与关键设计决策严格对应当前代码实现。系统采用前后端分离架构后端Spring Boot提供REST接口前端Vue提供界面与路由导航。
2. 架构概览
- 分层:
- 接口层Controller`com.prj.controller.*`提供REST接口、分页与统一结果包装
- 业务层Service`com.prj.service.*` 与 `impl`,封装业务逻辑与事务;
- 数据访问层Mapper/Repo`com.prj.mapper.*`MyBatis与 `com.prj.repo.*`JPA/Redis
- 领域模型:`com.prj.domain.*`
- 框架与配置:`com.prj.framework.*`、`com.prj.common.*`
- 前端:
- 路由:`src/router/index.js`
- API`src/api/*.js` 通过 `@/utils/request` 调用后端;
- 状态:`src/store`
3. 模块划分与依赖
- 用户与安全:`LoginController`、`CaptchaController`、`framework.security` 与 `framework.web.service.LoginService`
- 部门管理:`DeptController` ↔ `IDeptService` ↔ `DeptMapper.xml` ↔ `Dept`
- 员工管理:`EmployeeController` ↔ `IEmployeeService` ↔ `EmployeeMapper.xml` ↔ `Employee`
- 员工评价:`EmployeeKpiController` ↔ `IEmployeeKpiService` ↔ `EmployeeKpiMapper.xml` ↔ `EmployeeKpi`
- 招人名额:`HireNumController` ↔ `IHireNumService` ↔ `HirenumRepo`/`HireNumMapper.xml` ↔ `HireNum`实体带JPA注解
- 薪资标准:`SalaryLevelController` ↔ `ISalaryLevelService` ↔ `SalaryLevelMapper.xml` ↔ `SalaryLevel`
- 缓存:`RedisCache` 用于验证码;
4. 关键设计
4.1 统一返回与分页
- `AjaxResult` 统一返回格式;
- `BaseController` 提供 `startPage()` 与 `getDataByPage()`,确保各列表接口一致的分页行为。
4.2 事务
- `EmployeeController#edit` 使用 `@Transactional` 保证更新一致性;其他事务由服务层按需控制。
4.3 数据持久化
- 以MyBatis XML为主见 `resources/mapper/*.xml``HireNum` 同时具备JPA实体注解并通过 `HirenumRepo` 使用;
- 领域模型简洁,字段即数据库列的直接映射;
4.4 安全与会话
- 登录流程验证码生成与Redis校验 → `LoginService.login` 签发 `token`
- 前端拦截器自动在请求头附加 `Authorization`401时触发登出与跳转。
4.5 前端结构
- 路由按照模块分组(部门/员工/评价/招聘名额/薪资标准)与首页、登录;
- API封装统一超时、错误码处理与消息提示
5. 接口与数据流
- 前端页面触发 API 请求 → `@/utils/request` 注入 `Authorization` → 后端Controller → Service → Mapper/Repo → 数据库/缓存 → 结果包装返回。
6. 日志与监控
- 使用 `logback.xml` 配置日志生产环境可扩展接入APM或集中式日志当前代码未包含
7. 配置与环境
- 后端配置:`src/main/resources/application.yml`
- 数据源/Redis等依赖通过Spring配置加载当前文件中可见Redis用于验证码
8. 集成测试计划(概要)
- 鉴权链路联调:`/captchaImage` → `/login` → 携带 `Authorization` 调用任一CRUD接口验证401/200分支
- 各模块CRUD链路前端各页面操作对应API验证分页、详情、创建、更新、删除端到端行为
- 事务验证:并发/异常场景下 `PUT /employee` 数据一致性;
9. 部署与分支规范
- 主分支 `main`,目录结构 `doc/` 与 `src/`
- 开发者以个人分支开发,提交合并请求以便指导老师审阅参与度;
- Windows 开发环境,前端、后端分别启动;
10. 演进与扩展性
- 可在Service层引入DTO与校验
- 可在安全层引入基于角色的访问控制;
- 可为各模块添加审计日志与操作记录。
Loading…
Cancel
Save