Files
2026-05-26 20:47:59 +08:00

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. 总结
本系统采用三层架构+策略模式+工厂模式,模块化程度高,易于理解和维护,满足当前功能需求,并具备良好的扩展性。