基于C++Qt实现大学生日常出行拼车系统[2025-06-08]

基于C++Qt实现大学生日常出行拼车系统[2025-06-08]

一、需求分析
1.项目背景
随着高校校园规模不断扩大,学生在校内外的日常出行频率不断增加。打车费用高昂,校内公共交通资源不足,使得拼车成为一种经济、便捷的解决方案。该系统旨在帮助大学生实现安全、规范、有评价机制的拼车出行。
2.系统目标
(1)构建一个服务于大学生的出行拼车系统。
(2)支持学生、司机在系统上发布拼车信息。
(3)可构建评价功能,建立信誉系统。
(4)支持学生和乘客的在线信息交流(可选项)。
3.角色任务
(1)普通学生用户:注册账号、查看拼车信息、预约拼车、取消预约、对司机评分
(2)司机用户:注册账号并提交驾照和车辆信息、发布拼车信息、管理发布记录、查看乘客预约、给评分乘客
(3)系统管理员(待定):审核发布内容、管理用户信息、处理投诉和纠纷、维护系统稳定性
4.功能需求
(1)用户信息管理(学生用户和司机用户):注册帐号、账号登陆、身份验证、用户信息修改。
(2)车辆信息管理(限制司机用户):注册车辆、修改车辆基本信息。
(3)拼车信息(学生用户和司机用户):发布拼车信息、浏览拼车信息、预约拼车、拼车订单信息记录。
(4)信誉系统(学生用户和司机用户):拼车订单完成后学生用户可以对司机用户打分并评价。

二、概念设计
1.系统的核心实体及关系
(1)学生students:student_id(PK), student_name, gender ,phone, created_at
(2)司机drivers: driver_id, driver_name, vehicle_id, license_number, verified
(3)车辆vehicles: vehicle_id(PK), driver_id(FK), plate_number, vehicle_type, seat_count, vehicle_color
(4)地点时间表route_schedule: schedule_id(PK), start_location, destination, departure_time, estimated_arrival
(5)拼车信息表rides: ride_id(PK), schedule_id(FK), driver_id(FK), vehicle_id(FK), available_seats, note, status, created_at
一个学生可以为多位司机评价,同样地,一位司机也可以收到来自多个学生的评价
一位司机可以注册多辆车辆,但一辆车只属于一位司机。
一个学生可以与多位司机信息交流,一位司机也可以与多个学生信息交流。
一个学生可以浏览多条拼车信息,一条拼车信息也可以被多个学生看到。
一位司机可以发布多条拼车信息,一条拼车信息只从属一位司机。
一条拼车信息只与一个地点时间表相对应。
2.系统ER图

功能描述

  1. 用户基本信息表(users)
    作用:记录所有注册用户(包括司机和乘客)的基本信息。
    字段说明:
    user_id:用户的唯一标识,自增主键。
    name:用户姓名。
    gender:用户性别
    phone number:用户手机号,用于联系。
    student_id:学生证号码,用于验证身份。
    is_driver:是否为司机(bool)。
    created_at:账户注册时间。
  2. 拼车信誉信息表(reputation)
    作用:用于记录用户在拼车过程中的信誉表现,由其他用户对其打分和评价。
    字段说明:
    reputation_id:信誉记录的唯一标识,自增主键。
    user_id:被评价的用户 ID。
    score:信誉评分,范围为 1 到 5 分。
    comment:评价内容文字说明。
    evaluator_id:评价者的用户 ID。
    created_at:评价时间。
    3… 地点时间表(route_schedule)
    作用:记录每次拼车的路线信息,包括出发地、目的地和时间安排。
    字段说明:
    schedule_id:路线时间表的唯一标识。
    start_location:拼车出发地点。
    destination:拼车的目的地。
    departure_time:预计出发时间。
    estimated_arrival_time:预计到达时间(可选)。
  3. 车辆信息表(vehicles)
    作用:记录司机的车辆基本信息,用于乘客了解所乘车辆的情况。
    字段说明:
    vehicle_id:车辆唯一标识。
    driver_id:车辆所属司机的用户 ID。
    plate_number:车牌号码。
    vehicle_type:车辆类型,例如“小轿车”、“SUV”等。
    seat_count:车辆座位总数。
    vehicle_color:车辆颜色。
  4. 拼车信息表(rides)
    作用:司机发布的拼车信息,连接车辆、路线和可用座位等数据。
    字段说明:
    ride_id:拼车信息的唯一标识。
    driver_id:发布拼车信息的司机用户 ID。
    schedule_id:对应的路线时间安排 ID。
    vehicle_id:使用的车辆 ID。
    available_seats:当前剩余可预约座位数量。
    note:补充说明,比如“只能带一个大件行李”等。
    status:拼车状态,可选值有进行中(active)、已完成(completed)、已取消(cancelled)。
    created_at:拼车信息发布时间。
  5. 拼车成功记录表(ride_orders)
    作用:记录乘客成功预约拼车的情况,相当于“拼车订单”。
    字段说明:
    order_id:订单唯一标识。
    ride_id:对应的拼车信息 ID。
    passenger_id:预约拼车的乘客用户 ID。
    status:订单状态(booked:已预约,completed:已完成,cancelled:已取消)。
    booked_at:预约时间。
  6. (待定)聊天或留言表(ride_messages)
    作用:允许司机与乘客之间就拼车细节进行沟通。
    字段说明:
    message_id:消息唯一标识。
    ride_id:关联的拼车信息 ID。
    sender_id:发送消息的用户 ID。
    message:消息内容。
    sent_at:发送时间。

角色任务
1.普通学生用户:注册账号、查看拼车信息、预约拼车、取消预约、对司机评分
2.司机用户:注册账号并提交车辆信息、发布拼车信息、管理发布记录、查看乘客预约、给评分乘客
3.系统管理员(待定):审核发布内容、管理用户信息、处理投诉和纠纷、维护系统稳定性

系统流程
注册并登录->发布拼车信息->预约拼车->拼车完成并评价

源码联系UP主 -> https://space.bilibili.com/329101171

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值