车辆租赁管理系统.docx
- 文档编号:27733453
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:28
- 大小:842.85KB
车辆租赁管理系统.docx
《车辆租赁管理系统.docx》由会员分享,可在线阅读,更多相关《车辆租赁管理系统.docx(28页珍藏版)》请在冰豆网上搜索。
车辆租赁管理系统
数据库课程实训报告
题目:
车辆租赁管理系统
目录2
1课题内容和要求1
1.1课题描述1
1.2课题要求1
2需求分析1
2.1功能需求分析1
3系统设计2
3.1功能模块设计2
3.3数据库逻辑设计5
3.4数据库物理设计5
3.5数据库表间联系6
4系统实现6
4.1登陆界面模块实现6
4.2司机信息模块实现7
4.3客户租车信息模块实现8
5代码调试与功能测试8
5.1测试方案8
5.2测试结果8
6收获与体会13
参考文献14
附录15
附录1源程序部分清单15
附录1.1登陆代码15
附录1.2添加信息代码17
附录1.3修改信息代码17
附录1.4删除信息代码19
汽车租赁管理系统
1课题内容和要求
1.1课题描述
因为客户只能亲自到汽车租赁公司去注册或租赁车辆,因而,两者权限分配如下:
汽车公司方面:
能够对车辆,租赁信息和用户信息进行管理。
超级管理员还可以对公司内部人员的信息进行管理
客户方面:
只能浏览车辆信息和个人用户信息及个人租赁信息。
1.2课题要求
基本功能要求:
1)可以对汽车基本信息进行增加、删除、修改
2)可以对租赁客户信息进行增加、删除、修改
3)可以实现汽车的租借、归还、续借
4)可以按重要字段查询汽车、客户等基本信息
5)可以实现租赁金额的计算
6)可以查询汽车、客户租赁历史记录
2需求分析
2.1功能需求分析
不同权限的用户登录
图2.1.1总体功能设计模块
2.2数据需求分析
2.2.1管理员{使用系统的人}
管理员(loginButton1)=身份证号+姓名+住址+登陆密码
2.2.2客户{租车的人}
客户(loginButton2)=身份证号+姓名+年龄+地址+电话+登陆密码
2.2.3车辆信息
车辆信息(carinformation)=车辆名称+车辆类型+购买时间+车辆状况+租金标准+租车起始时间+租期
2.2.4司机信息{被雇佣的司机}
司机信息(driver)=身份证号+姓名+年龄+地址+电话+驾驶证书
3系统设计
3.1功能模块设计
管理员信息模块:
管理员相关信息,包括身份证号、姓名、年龄、地址、电话、登陆密码相关信息,主要负责删除修改信息。
车辆信息模块:
包括车辆类型、车辆名称、购买时间、车辆状况、租凭、租金标准等可查询车辆类型、名称、购买时间、状况、租金标准等,并且可根据需要增
加、删除、修改车辆的基本信息,还可根据车辆类型和车辆情况进行条件查询。
客户信息模块:
身份证号、姓名、年龄、地址、电话等。
司机信息模块:
身份证号、姓名、年龄、地址、电话、驾驶证书等。
租金查询模块:
车辆的租金和出租时间情况。
3.2数据库概念设计
图3.2.1管理员信息
图3.2.3客户信息
图3.2.4司机信息
管理员
3.3数据库逻辑设计
管理员(身份证号,姓名,电话,住址,登陆密码)司机(身份证号,姓名,年龄,地址,电话,驾驶证书)车辆(车辆名称,车辆类型,购买时间,车辆状况,租金标准,租金起始时间,租期)客户(身份证号,姓名,电话,住址,登陆密码)
3.4数据库物理设计
表3.4.1adminMessage(管理员信息表)
字段名称
数据类型
字段大小
姓名
Varchar
50
电话
Varchar
50
住址
Varchar
50
身份证
Varchar
50
登录密码
Varchar
50
表3.4.2carMessage(车辆信息表)
字段名称
数据类型
字段大小
车辆名车
Varchar
50
购买时间
Varchar
50
车辆状况
Varchar
50
租金标准
Varchar
50
租期起始时间
Varchar
50
租期
Varchar
50
表3.4.3userMessage(客户信息表)
字段名称
数据类型
字段大小
身份证
Varchar
50
姓名
Varchar
50
年龄
Varchar
50
地址
Varchar
50
电话
Varchar
50
登录密码
Varchar
50
表3.4.4driverMessage(司机信息表)
字段名称
数据类型
字段大小
身份证
varchar
50
姓名
varchar
50
年龄
varchar
50
地址
varchar
50
电话
varchar
50
驾驶证书
varchar
50
3.5
数据库表间联系
图3.5.1数据表间联系
4系统实现
4.1
登陆界面模块实现
本界面采用Flowlayout流式布局,其中通过JFrameframe=newJFrame("车辆租赁管理系统")给界面添加标题“车辆租赁管理系统”,通过newJlable来添加两个标签用户名和密码,通过label1.setFont(newjava.awt.Font("微软雅黑",0,16));给输入的字体建立长度大小和格式,通过newJButton建立3个按钮分别是管理员登陆、客户登陆和退出,通过newJTextField分别给用户名
和密码增加文本区,对于3个按钮通过采用newImageIcon给按钮增加图标,使用户更加清晰的辨认按钮,增加背景图片,使登陆界面更加美观。
本界面采用ActionListener接口,ActionListener用于接收操作事件的侦听器接口。
对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener方法向该组件注册。
在发生操作事件时,调用该对象的actionPerformed方法。
本界面采用actionPerformed方法调用的ActionEvente事件监听器来处理单击鼠标时发生的事件。
本界面采用getText()函数:
返回数据窗口控件中悬浮在当前行列之上的编辑框中的文本。
在用户修改数据窗口中某项的值时,实际上首先在悬浮在当前项上的编辑框中进行修改,当用户移动输入焦点或程序中使用AcceptText()函数接收用户输入时,用户修改的数据通过if((username.getText().equals("***")==true)&&(password.getText().equals("***")==true)来验证用户名密码是否正确,如果正确,则成功进入下一个界面,如果失败会在屏幕上显示
数据库课程实训(2017)登陆失败。
4.2司机信息模块实现
图4.2.1司机信息
本界面使用的Flowlayout流式布局,其中通过JFrameframe=newJFrame("司机信息")给界面添加标题“司机信息”,添加6个按钮分别是添加、修改、删除、查询所有、查询个人信息、返回,使用Jlable6个标签身份证号、姓名、年龄、地址、电话。
本界面采用ActionListener接口,ActionListener用于接收操作事件的侦听器接口。
对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener方法向该组件注册。
在发生操作事件时,调用该对象的actionPerformed方法。
本界面采用actionPerformed方法调用的ActionEvente事件监听器来处理单击鼠标时发生的事件。
本界面采用getText()函数:
返回数据窗口控件中悬浮在当前行列之上的编辑框中的文本。
在用户修改数据窗口中某项的值时,实际上首先在悬浮在当前项上的编辑框中进行修改,当用户移动输入焦点或程序中使用AcceptText()函数接收用户输入时,用户修改的数据通过if((username.getText().equals("***")==true)&&(password.getText().equals("***")==true)来验证用户名密码是否正确,如果正确,则成功进入下一个界面,如果失败会在屏幕上显示登陆失败。
数据库连接:
其中采用Connectioncon对象进行连接数据库con=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=bl","sa","123456");连接的数据库名为bl,用户名为sa,密码为123456.数据库连接之前要进行
车辆租赁管理系统一系列配置,例如系统程序功能中的启动Telnet客户端,将SQL配置管理器的TCP/IP启用,到之后的环境变量的配置,直至连接完成。
删除功能:
利用getText()采集用户所输入的字符,然后再利用sql语句SELECT*FROM司机信息orderby身份证号desc,进行删除,如果输入字符是数据库里存在的列名且相等的话则显示删除成功,如果不存在或不相等的话则显示删除失败,如果用户没有输入的话,用getText().compareTo("")==0)进行比对,如果等于0则表示用户没输入字符,提示:
请输入
“”。
添加,修改功能和删除功能类似。
4.3
客户租车信息模块实现
图4.3.1客户租车信息模块实现
本界面采用Flowlayout流式布局,其中通过JFrameframe=newJFrame("客户租车")给界面添加标题“客户租车”,采用JComboBox组件以及scrollpane下拉框,添加司机信息、租赁车辆、租赁、雇佣司机、注销等按钮,其中添加复选框日租和月租。
数据库连接同司机信息模块。
本模块可实现客户进行雇佣司机和租车。
5代码调试与功能测试
5.1测试方案
通过程序登陆窗口登陆进入界面对司机信息、客户信息、车辆信息、租金信息进行修改、删除等操作
5.2测试结果
图5.2.1登陆界面
图5.2.2系统界面
图5.2.3车辆信息界面
图5.2.4客户信息界面
图5.2.5司机信息界面
图5.2.6租金信息界面
图5.2.7系统统计界面
图5.2.8客户租车界面
图5.2.9删除信息界面
图5.2.10删除界面
6收获与体会
两周的时间很快就过去了,这两周我不敢说自己有多大的进步,获得多少知识,但起码了解了项目开发的部分过程。
虽说上过数据库相关的课程,但是没有亲身经历相关的设计工作细节。
这次课程设计给我提供了一个很好的机会。
通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们学习过的都只是皮毛。
这次实验让我明白了不管做什么事情,不要畏惧,不要怕遇到困难。
参考文献
[1]钱雪忠,王燕玲,林挺.数据库原理及技术[M].北京:
清华大学出版社,2011.
[2]钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:
清华大学出版社,2014.
[3]高飞,陆佳炜,徐俊,赵小敏.Java程序设计实用教程[M].北京:
清华大学出版社.2013.
[4]王珊,萨师道.数据库系统概论[M].北京:
高等教育出版社,2006.
[5]刘金岭,冯万利.数据库系统及应用教程[M].北京:
清华大学出版社,2013.
[6]刘金岭,冯万利,周泓.数据库系统及应用实验与课程设计指导[M].北京:
清华大学出版社,2013.
附录
附录1源程序部分清单
附录1.1登陆代码
importjava.awt.event.ActionListener;
importjava.awt.Color;
importjava.awt.Dimension;
importjava.awt.FlowLayout;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.io.IOException;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.Vector;
importjavax.swing.*;
publicclassdlimplementsActionListener{
JFrameframe=newJFrame("车辆租赁管理系统");
JLabellabel1=newJLabel("用户名");
JLabellabel2=newJLabel("密码");
ImageIconjbi1=newImageIcon("image/admin.png");
ImageIconjbi2=newImageIcon("image/admin2.png");
ImageIconjbi3=newImageIcon("image/quit.png");
JButtonloginButton1=newJButton("管理员登陆",jbi1);JButtonloginButton2=newJButton("客户登陆",jbi2);
JButtoncancelButton=newJButton("退出",jbi3);
JTextFieldt1=newJTextField(0);
JTextFieldt2=newJTextField(0);
ImageIconim=newImageIcon("image/10.jpg");
JLabela2=newJLabel(im);
JTextFieldusername=newJTextField(9);JPasswordFieldpassword=newJPasswordField(9);voidcreate(){
JPanelp=(JPanel)frame.getContentPane();
JPanelp1=newJPanel();p.setLayout(newFlowLayout());
p.add(label1);/*用户名*/label1.setFont(newjava.awt.Font("微软雅黑",0,16));p.setSize(5,5);
p.setLocation(4,8);
p.add(username);username.setFont(newjava.awt.Font("微软雅黑",0,14));System.out.println("\n");
p.setSize(100,200);p.setLocation(800,800);p.add(label2);/*密码*/label2.setFont(newjava.awt.Font("微软雅黑",0,16));p.setSize(50,20);
p.setLocation(60,80);
p.add(password);
p.setSize(100,20);
p.setLocation(80,120);loginButton1.setFont(newjava.awt.Font("微软雅黑",0,14));p.add(newJLabel(""));
p.add(newJLabel(""));
p.add(loginButton1);/*管理员登陆*/loginButton2.setFont(newjava.awt.Font("微软雅黑",0,14));
p.add(loginButton2);/*客户登陆*/
p.add(cancelButton);/*退出*/cancelButton.setFont(newjava.awt.Font("微软雅黑",0,14));
//p.add(t1);
//p.add(t2);
p.setBackground(newjava.awt.Color(255,255,255));
p.add(a2);
{
p.add(newJLabel(""));
}//p.setBackground(Color.red);
p.setVisible(true);loginButton1.addActionListener(this);loginButton2.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();
Toolkittoolkit=Toolkit.getDefaultToolkit();
Dimensiond=toolkit.getScreenSize();frame.setBounds(d.width/2-375,d.height/2-225,750,450);
//frame.setBounds(200,100,750,550);frame.setVisible(true);
}
publicstaticvoidmain(String[]args){
dldome=newdl();dome.create();
}
publicvoidactionPerformed(ActionEvente){if(cancelButton.equals(e.getSource())){
System.exit(0);
}if(loginButton1.equals(e.getSource())){
if((username.getText().equals(*)==true)&&(password.getText().equals("123")==true)){ZJMg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车辆 租赁 管理 系统