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

2.4 KiB

租车管理系统架构设计说明书 文档编号: SDS-001 版本: 2.0 编制日期: 2026-04-03

  1. 系统概述 1.1 设计目标 本设计文档详细描述租车管理系统的架构设计,包括系统架构、模块划分、数据结构、类图设计、流程设计等,确保开发团队对系统有统一的理解。
  2. 系统架构 2.1 整体架构 本系统采用经典的三层架构设计: 表现层(CLI界面) -> 业务逻辑层 -> 数据层(内存存储)

2.2 层次说明 表现层: 用户交互、菜单导航 (Main) 业务逻辑层: 核心业务逻辑处理 (VehicleManager, RentalCalculator, DiscountStrategyFactory) 数据层: 数据存储和管理 (List) 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 租车流程顺序图

  1. 数据设计 Vehicle: id(String), type(String), model(String), dailyRent(double), status(String) 存储: ArrayList, 程序启动时初始化7辆默认车辆
  2. 错误处理设计 车辆ID不存在: 显示"车辆不存在,请重新输入" 天数为负数/零: 显示"租赁天数必须大于0" 天数为非数字: 显示"输入错误,请输入数字" 未选择车辆直接计算: 显示"请先选择车辆并输入租赁天数"
  3. 扩展性设计 新增车型步骤: 1.创建折扣策略类 2.在工厂添加case 3.(可选)在VehicleManager添加车辆
  4. 部署与运行 10.1 环境要求 JDK 8+ 10.2 编译步骤 javac -d bin src/com/rental/**/*.java java -cp bin com.rental.ui.Main
  5. 总结 本系统采用三层架构+策略模式+工厂模式,模块化程度高,易于理解和维护,满足当前功能需求,并具备良好的扩展性。