1 引言
1.1需求分析
滴滴打车系统的主要应用需求来自乘客、司机两个身份的用户需求。对于乘客,他可以登入系统,查看自己的信息,修改自己的密码,进行打车下单的操作和给管理员留言的操作;对于司机,他可以登入系统,查看自己的信息,修改自己的密码,进行接单操作和给管理员留言的操作。
管理员是一个特殊的存在,我设计其用户名为root,密码为123,可以查看各项信息,比如所有乘客信息、所有司机信息、所有订单信息和留言信息。
1.2系统目标
- 实现针对不同用户的身份登入
- 实现乘客下单和司机接单操作
- 实现乘客和司机的自己密码更改
- 实现乘客和司机的注册操作
- 实现乘客和司机的给管理员留言操作
- 实现管理员的监控页面
1.2系统应该包含的信息
- 乘客和司机的用户名和密码
- 每个乘客的信息:
用户名,密码,身份证号码,联系电话
- 每个用户的信息
用户名,密码,身份证号码,联系电话,车子型号,车子载客量
- 留言信息
留言者信息,留言的内容
1.3与系统的交互
- 认证:进行数据库查询,首先查询是否存在此用户,其次比对密码是否正确,再更具不同身份进行页面跳转。
- 如果为乘客可进行以下交互: 查看自己信息,进行密码修改,进行打车下单操作。
- 如果为司机可进行以下交互: 查看自己信息,进行密码修改,进行打车下单操作。
- 管理员查看所有表信息
1.3数据流字典和数据字典
client表结构:
图 1
driver表结构:

order表结构:
图 3
message表结构:

2 概要设计
2.1 系统ER图

2.2 系统功能结构图

3 程序系统设计
3.1 数据库系统设计
1.乘客表(用户名,密码,手机号,身份证号码)
create table `client`
-- --------------------------------------------------
-- Table Structure for `myBeegoWeb/models.Client`
-- --------------------------------------------------
CREATE TABLE IF NOT EXISTS `client` (
`cl_name` varchar(20) NOT NULL PRIMARY KEY,
`cl_password` varchar(20) NOT NULL DEFAULT '' ,
`cl_phone` varchar(11) NOT NULL DEFAULT '' UNIQUE,
`cl_identification_card` varchar(18) NOT NULL DEFAULT '' UNIQUE
) ENGINE=InnoDB;
- 司机表(用户名,密码,手机号,身份证号码,车子型号,车子载客量)
create table `driver`
-- --------------------------