长途汽车订票管理系统.doc
文本预览下载声明
长途客运汽车订票管理系统
课题内容和要求
按照软件工程思想,以SQL Server 2000 为后台数据库,以Delphi或VC++等为前端开发工具,设计并实现一个长途客运汽车订票管理系统。
系统有两类用户:一位管理员和多个普通用户。
系统的主要功能如下:
管理员需要登录认证,管理员在登录界面输入正确的帐号信息后,可以进行客车基本信息的查询,录入,修改和删除。
电影票的基本信息如下:车号、起点、终点、日期、开出时刻、到达时刻、预设座位数、剩余座位数。
普通用户可以查询客车信息,不需要登录可直接进入到查询界面,按起点、终点、日期查询客车信息。
普通用户在查询到合适的客车信息后,开始订票。订票时需输入:姓名、身份证号、客车号、日期。确定订票后,相关信息记录于订票表中,同时,对应客车的剩余座位数减1。(不考虑退票情况)。
普通用户可以在输入身份证号后查询自己的订票信息和对应客车的基本信息。
管理员登录后,可以在查看全部的订票信息和各客车的订票数量。
设计思路分析
首先理解系统的功能需求,然后进行数据库设计,包括表的划分与建立,表中属性值的定义。其次选择开发环境,主要用了delphi软件。然后对系统的模块划分,确定各个模块实现的功能。接着进行模块的设计和实现,并进行测试。测试完后,进行改错,最后美化界面,完成本次课程。
系统设计
数据库逻辑设计结果
首先确定正确的属性关系,设计完善正确的数据库,包括各个表中的主键以及外建关系。本次试验建了三张表。其中车次表定义了车号、起点、终点、日期、开出时刻、到达时刻、预设座位数、剩余座位数,车号为主键。订票表定义了姓名、身份证号、客车号、日期,身份证、车号为主键。两张表通过车号这个外键链接。
车次信息表:
订票信息表:
管理员账号信息表:
车次表定义了客车基本信息,主键为车号。
订票表定义了用户预订客车票的信息,主键为身份证号和车号
订票表中的车号同时为车次表的外键
1.2 系统功能设计
1、管理员用例图
2、用户用例图
3、系统功能结构
4、相关流程图
系统实现
用delphi创建五个form,分别是登录界面,管理员维护与查询界面,订票统计界面,用户订票与查询界面,订票查询界面。
各部分源代码及注释如下:
(1)登录界面
主要代码如下:
implementation
uses Unit2,unit3, Unit4, Unit5;
{$R *.dfm}
procedure Tdenglu.RadioButton1Click(Sender: TObject);//选择管理员时的操作
begin
denglu.Label1.Hide;
denglu.Label2.Hide;
denglu.Edit1.Hide;
denglu.Edit2.Hide;
end;
procedure Tdenglu.RadioButton2Click(Sender: TObject);//用户直接查询订票
begin
denglu.Label1.show;
denglu.Label2.show;
denglu.Edit1.show;
denglu.Edit2.show;
end;
procedure Tdenglu.RadioButton3Click(Sender: TObject);//订票查询
begin
denglu.Label1.Hide;
denglu.Label2.Hide;
denglu.Edit1.Hide;
denglu.Edit2.Hide;
end;
procedure Tdenglu.loginClick(Sender: TObject);//判断管理员账号是否正确
var username,password:string;
begin
if Radiobutton1.Checked=true then
messagebox(login.handle,请选择管理员再登录,警告,mb_ok+mb_iconwarning);
if Radiobutton3.Checked=true then
messagebox(login.handle,请选择管理员再登录,警告,mb_ok+mb_iconwarning);
if Radiobutton2.Checked=true then
begin
if edit1.Text= then
messagebox(login.handle,请输入用户名,警告,mb_ok+mb_iconwarning)
else
if edit2.Text= then
messagebox(
显示全部