61 lines
2.4 KiB
Markdown
61 lines
2.4 KiB
Markdown
租车管理系统架构设计说明书
|
|
文档编号: SDS-001 版本: 2.0 编制日期: 2026-04-03
|
|
1. 系统概述
|
|
1.1 设计目标
|
|
本设计文档详细描述租车管理系统的架构设计,包括系统架构、模块划分、数据结构、类图设计、流程设计等,确保开发团队对系统有统一的理解。
|
|
2. 系统架构
|
|
2.1 整体架构
|
|
本系统采用经典的三层架构设计: 表现层(CLI界面) -> 业务逻辑层 -> 数据层(内存存储)
|
|
|
|
2.2 层次说明
|
|
表现层: 用户交互、菜单导航 (Main)
|
|
业务逻辑层: 核心业务逻辑处理 (VehicleManager, RentalCalculator, DiscountStrategyFactory)
|
|
数据层: 数据存储和管理 (List<Vehicle>)
|
|
3. 包结构设计
|
|
3.1 包划分
|
|
com.rental.model: 数据模型 (Vehicle)
|
|
com.rental.strategy: 折扣策略 (策略模式)
|
|
com.rental.service: 业务服务 (VehicleManager, RentalCalculator)
|
|
com.rental.ui: 用户界面 (Main)
|
|
4. 类设计
|
|
4.1 类图
|
|
|
|
4.2 核心类
|
|
Main: 系统入口、菜单显示、用户交互
|
|
Vehicle: 封装车辆属性 (id, type, model, dailyRent, status)
|
|
VehicleManager: 车辆列表管理、初始化、查询
|
|
RentalCalculator: 费用计算、折扣率获取
|
|
DiscountStrategy: 折扣策略接口
|
|
DiscountStrategyFactory: 策略工厂
|
|
5. 设计模式应用
|
|
5.1 策略模式
|
|
目的: 封装不同车型的折扣算法,使它们可以互相替换
|
|
实现: DiscountStrategy接口 + Car/Bus/Truck/DefaultDiscountStrategy
|
|
|
|
5.2 工厂模式
|
|
目的: 封装策略对象的创建过程
|
|
实现: DiscountStrategyFactory根据车型返回对应策略
|
|
6. 流程设计
|
|
6.1 费用计算流程
|
|
|
|
6.2 租车流程顺序图
|
|
|
|
7. 数据设计
|
|
Vehicle: id(String), type(String), model(String), dailyRent(double), status(String)
|
|
存储: ArrayList<Vehicle>, 程序启动时初始化7辆默认车辆
|
|
8. 错误处理设计
|
|
车辆ID不存在: 显示"车辆不存在,请重新输入"
|
|
天数为负数/零: 显示"租赁天数必须大于0"
|
|
天数为非数字: 显示"输入错误,请输入数字"
|
|
未选择车辆直接计算: 显示"请先选择车辆并输入租赁天数"
|
|
9. 扩展性设计
|
|
新增车型步骤: 1.创建折扣策略类 2.在工厂添加case 3.(可选)在VehicleManager添加车辆
|
|
10. 部署与运行
|
|
10.1 环境要求
|
|
JDK 8+
|
|
10.2 编译步骤
|
|
javac -d bin src/com/rental/**/*.java
|
|
java -cp bin com.rental.ui.Main
|
|
11. 总结
|
|
本系统采用三层架构+策略模式+工厂模式,模块化程度高,易于理解和维护,满足当前功能需求,并具备良好的扩展性。
|