汽车租赁管理系统.docx
《汽车租赁管理系统.docx》由会员分享,可在线阅读,更多相关《汽车租赁管理系统.docx(72页珍藏版)》请在冰点文库上搜索。
汽车租赁管理系统
汽车租赁管理系统
题目:
汽车租赁治理系统
汽车租赁治理系统设计
1课题内容和要求
1.1课题描述
汽车租赁治理系统是能够通过对汽车差不多信息进行增加、删除、修改,对租赁客户信息进行增加、删除、修改,实现汽车的租借、归还、续借的治理系统。
1.2课题要求
1)能够对汽车差不多信息进行增加、删除、修改
2)能够对租赁客户信息进行增加、删除、修改
3)能够实现汽车的租借、归还、续借
4)能够按重要字段查询汽车、客户等差不多信息
5)能够实现租赁金额的运算
6)能够查询汽车、客户租赁历史记录
2需求分析
2.1功能需求分析
程序第一需要登录模块来实现治理员或者客户的登陆,在车辆信息模块中来实现对汽车差不多信息的增加、删除、修改,在客户信息模块中实现对客户信息的增加、删除、修改,租赁模块来实现对客户对汽车的租赁功能实现,车辆查询模块来实现对车辆信息的查询,系统统计模块实习对租金收入、租用时刻的统计。
2.2数据需求分析
登陆模块:
车辆信息模块:
客户信息模块:
客户租车模块:
司机信息模块:
系统统计模块:
租金信息模块:
数据字典:
3系统设计
3.1功能模块设计
车辆信息模块
车辆信息模块能够实现对"车辆名称"、"车辆类型"、"购买时刻"、"车辆状况"、"租金标准(日)"、"租期起始时刻"、"租期"的添加、删除和修改,同时也能够查询这些信息。
客户信息模块
客户信息模块能够实现对客户"身份证号"、"姓名"、"年龄"、"地址"、""、"登录密码"的添加、删除和修改,能够利用身份证号来删除指定客户的信息。
客户租车模块
客户租车模块能够实现对车辆的租赁治理,内包含有关于租赁车辆的"车辆名称"、"车辆类型"、"购买时刻"、"车辆状况"、"租金标准(日)"、"租期起始时刻"、"租期",还有客户的"身份证号"、"姓名"、"年龄"、"地址"、""、"驾驶证书"。
司机信息模块
司机信息模块能够实现对司机"身份证号"、"姓名"、"年龄"、"地址"、""、"驾驶证书"的添加、删除和修改,同时也能够查询有关信息。
系统统计模块
系统统计模块中能够对已录入的信息进行统计汇总,包括"租金最高的车"、"租用时刻最长的车、"今日收入"、"累计收入"。
租金信息模块
租金信息模块能够"车辆名称"、"车辆类型"、"租金标准"、"车辆起始时刻"、"租期"进行查询。
3.2数据库概念设计
车辆信息模块E-R图:
客户信息模块E-R图:
司机信息模块E-R图:
3.3数据库逻辑设计
〔1〕车辆〔车辆名称;车辆类型;购买时刻;车辆状况;租金标准;租期起始时刻;租期〕
〔2〕客户〔身份证号;姓名;年龄;地址;;登录密码〕
〔3〕司机〔身份证号;姓名;年龄;地址;;驾驶证书〕
3.4数据库物理设计
治理员信息:
客户信息:
司机信息:
3.5数据库表间联系
4系统实现
4.1治理员模块实现
{
jLabel_IL1=newJLabel("身份证号");
p.add(jLabel_IL1);
jLabel_IL1.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf1);
{
jLabel_IL2=newJLabel("姓名");
p.add(jLabel_IL2);
jLabel_IL2.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf2);
{
jLabel_IL3=newJLabel("年龄");
p.add(jLabel_IL3);
jLabel_IL3.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf3);
{
jLabel_IL4=newJLabel("地址");
p.add(jLabel_IL4);
jLabel_IL4.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf4);
{
jLabel_IL5=newJLabel("");
p.add(jLabel_IL5);
jLabel_IL5.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf5);
{
jLabel_IL6=newJLabel("登录密码");
p.add(jLabel_IL6);
jLabel_IL6.setFont(newjava.awt.Font("微软雅黑",0,14));
}
能够实现对客户"身份证号"、"姓名"、"年龄"、"地址"、""、"登录密码"的添加、删除和修改
4.2车辆信息模块实现
{
jLabel_IL2=newJLabel("车辆类型");
p.add(jLabel_IL2);
jLabel_IL2.setFont(newjava.awt.Font("华文彩云",0,14));
}
p.add(tf2);
{
jLabel_IL3=newJLabel("购买时刻");
p.add(jLabel_IL3);
jLabel_IL3.setFont(newjava.awt.Font("华文彩云",0,14));
}
p.add(tf3);
{
jLabel_IL4=newJLabel("车辆状况");
p.add(jLabel_IL4);
jLabel_IL4.setFont(newjava.awt.Font("华文彩云",0,14));
}
p.add(tf4);
{
jLabel_IL5=newJLabel("租金标准");
p.add(jLabel_IL5);
jLabel_IL5.setFont(newjava.awt.Font("华文彩云",0,14));
}
能够实现对"车辆名称"、"车辆类型"、"购买时刻"、"车辆状况"、"租金标准(日)"、"租期起始时刻"、"租期"的添加、删除和修改,同时也能够查询这些信息。
4.3客户信息模块实现
p.add(newJLabel(""));
{
jLabel_IL1=newJLabel("身份证号");
p.add(jLabel_IL1);
jLabel_IL1.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf1);
{
jLabel_IL2=newJLabel("姓名");
p.add(jLabel_IL2);
jLabel_IL2.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf2);
{
jLabel_IL3=newJLabel("年龄");
p.add(jLabel_IL3);
jLabel_IL3.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf3);
{
jLabel_IL4=newJLabel("地址");
p.add(jLabel_IL4);
jLabel_IL4.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf4);
{
jLabel_IL5=newJLabel("");
p.add(jLabel_IL5);
jLabel_IL5.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf5);
{
jLabel_IL6=newJLabel("登录密码");
p.add(jLabel_IL6);
jLabel_IL6.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf6);
{
jLabel_IL7=newJLabel("在此输入身份证号点击查询删除");
p.add(jLabel_IL7);
jLabel_IL7.setFont(newjava.awt.Font("微软雅黑",0,14));
}
能够实现对客户"身份证号"、"姓名"、"年龄"、"地址"、""、"登录密码"的添加、删除和修改
4.4司机信息模块实现
p.add(newJLabel(""));
{
jLabel_IL1=newJLabel("身份证号");
p.add(jLabel_IL1);
jLabel_IL1.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf1);
{
jLabel_IL2=newJLabel("姓名");
p.add(jLabel_IL2);
jLabel_IL2.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf2);
{
jLabel_IL3=newJLabel("年龄");
p.add(jLabel_IL3);
jLabel_IL3.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf3);
{
jLabel_IL4=newJLabel("地址");
p.add(jLabel_IL4);
jLabel_IL4.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf4);
{
jLabel_IL5=newJLabel("");
p.add(jLabel_IL5);
jLabel_IL5.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf5);
{
jLabel_IL6=newJLabel("驾驶证书");
p.add(jLabel_IL6);
jLabel_IL6.setFont(newjava.awt.Font("微软雅黑",0,14));
}
p.add(tf6);
{
jLabel_IL7=newJLabel("在此输入身份证号点击查询删除");
p.add(jLabel_IL7);
jLabel_IL7.setFont(newjava.awt.Font("微软雅黑",0,14));
}
能够实现对司机"身份证号"、"姓名"、"年龄"、"地址"、""、"驾驶证书"的添加、删除和修改,同时也能够查询有关信息。
5代码调试与功能测试
5.1测试方案
登陆测试:
输入用户名qh密码123,点击治理员登陆。
车辆信息添加测试:
添加车辆名称1车辆类型1购买时刻1905-07-10车辆状况1租金标准100,点击添加。
客户信息添加测试:
输入身份证号6435235322姓名科比年龄0地址苏州45252登录密码434,点击添加。
司机信息添加测试:
输入身份证号4783292姓名哒哒哒年龄43地址常州4562542驾驶证书A,点击添加。
5.2测试结果
车辆租赁系统:
车辆信息:
客户信息:
司机信息:
租金信息:
信息统计:
登陆界面:
6收成与体会
这次课程设计我设计的是一个汽车租赁治理系统,通过这次课程设计,我了解了一个完整的数据库系统设计的步骤,把握了租车公司汽车租赁系统的业务流程及治理,巩固了我在课堂上所学的理论知识,开拓了自己的知识面,同时也让我看到了自己的不足,专门多东西单独用能够做出来,但是连贯起来就显现了专门多错,还有专门多不足,需要努力。
因此在我同学的关心下,见证了一个系统的产生,尽管不复杂,但它能够实现一些差不多的功能,专门有成就感,是理论与实践的一次完美的结合,而且也学到专门多课本上没有涉及到的知识,对编程体会也起到了累积作用,也是第一次了解了一个系统产生所要通过的流程,前期、设计、完成、后期一个也不能少,不像平常只用编一个程序,至于需求和爱护没有涉及,这次课程设计就像一次工作的体验,从头到尾不遗余力的把它完成。
体会确实是自己在这次设计当中遇到了专门多问题,一开始的时候全然无从下手、什么都可不能,然而通过和同学成的讨论,查阅资料、网上查询等有了差不多了解,使得问题得以一一解决。
总之,在这次程序设计中,学会到了专门多往常没有了解到的知识,因此系统还有专门多不足,比如主界面的缩放功能没有专门好的实现等,这还需要在以后的学习中慢慢改进。
回想我在这段时刻的课程设计,感到专门的充实。
因为有了同学的关心,我才能完满完成了那个课程设计。
在以后的学习中我还会更努力的学习,把自己学到的知识运用到的以后的学习和工作中去。
参考文献
[1]钱雪忠,王燕玲,林挺.数据库原理及技术[M].北京:
清华大学出版社,2020.
[2]钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:
清华大学出版社,2021.
附 录
附录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/5.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));
p.setSize(100,200);
p.setLocation(800,800);
p.add(label2);
label2.setFont(newjava.awt.Font("华文彩云",0,16));
p.setSize(50,20);
p.setLocation(40,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("qh")==true)&&(password.getText().equals("123")==true)){
ZJMgz=newZJM();
gz.create();
frame.setVisible(false);
}
else
JOptionPane.showMessageDialog(null,"登录失败!
");
}
if(loginButton2.equals(e.getSource())){
System.out.print("123123");
if((username.getText().equals("121")==true)&&(password.getText().equals("123")==true)){
KHZCgz=newKHZC();
gz.create();
frame.setVisible(false);
}
else
JOptionPane.showMessageDialog(null,"登录失败!
");
}
}
}
附录1.2车辆信息
importjava.awt.Color;
importjava.awt.Dimension;
importjava.awt.FlowLayout;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.Vector;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JSplitPane;
importjavax.swing.JTable;