汽车租赁管理系统.docx

上传人:小飞机 文档编号:1860856 上传时间:2022-12-22 格式:DOCX 页数:45 大小:692.31KB
返回 下载 相关 举报
汽车租赁管理系统.docx_第1页
第1页 / 共45页
汽车租赁管理系统.docx_第2页
第2页 / 共45页
汽车租赁管理系统.docx_第3页
第3页 / 共45页
汽车租赁管理系统.docx_第4页
第4页 / 共45页
汽车租赁管理系统.docx_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《汽车租赁管理系统.docx》由会员分享,可在线阅读,更多相关《汽车租赁管理系统.docx(45页珍藏版)》请在三一办公上搜索。

1、数据库课程实训(2017)数据库课程实训报告题目: 汽车租赁管理系统 1目 录目 录21 课题内容和要求11.1课题描述11.2 课题要求12 需求分析12.1 功能需求分析12.2 数据需求分析13 系统设计33.1 功能模块设计33.2 数据库概念设计33.3 数据库逻辑设计43.4 数据库物理设计43.5 数据库表间联系44系统实现54.1 管理员模块实现54.2 车辆信息模块实现64.3客户信息模块实现74.4司机信息模块实现85 代码调试与功能测试95.1 测试方案95.2 测试结果96 收获与体会12参考文献13附录14附录1源程序部分清单14附录1.1登陆14附录1.2 车辆信息

2、16附录1.3 客户信息24附录1.4 司机信息33附录1.5 车辆租赁413汽车租赁管理系统设计1 课题内容和要求 1.1课题描述汽车租赁管理系统是可以通过对汽车基本信息进行增加、删除、修改,对租赁客户信息进行增加、删除、修改,实现汽车的租借、归还、续借的管理系统。1.2 课题要求1)可以对汽车基本信息进行增加、删除、修改2)可以对租赁客户信息进行增加、删除、修改3)可以实现汽车的租借、归还、续借4)可以按重要字段查询汽车、客户等基本信息5)可以实现租赁金额的计算6)可以查询汽车、客户租赁历史记录2 需求分析2.1 功能需求分析程序首先需要登录模块来实现管理员或者客户的登陆,在车辆信息模块中

3、来实现对汽车基本信息的增加、删除、修改,在客户信息模块中实现对客户信息的增加、删除、修改,租赁模块来实现对客户对汽车的租赁功能实现,车辆查询模块来实现对车辆信息的查询,系统统计模块实习对租金收入、租用时间的统计。2.2 数据需求分析 登陆模块:车辆信息模块客户信息模块管理员车辆租赁系统登陆客户租车模块客户司机信息模块管理员信息表系统统计模块租金信息模块添加汽车信息车辆信息模块:车辆信息模块车辆信息表查询信息添加客户信息客户信息模块:客户信息模块客户信息表查询信息客户租车信息客户租车模块:客户租车模块租车信息表查询信息司机信息司机信息模块:司机信息模块司机信息表查询信息系统统计信息系统统计模块:

4、系统统计模块系统统计表查询信息租金信息租金信息模块:租金信息模块租金信息表查询信息数据字典:编号:p1名字:车辆信息描述:管理员或用户对车辆的基本信息进行查询、删除或修改。编号:p2名字:客户信息描述:管理员或用户对客户的基本信息进行查询、删除或修改。编号:p3名字:租车信息描述:管理员或用户对客户租车时的信息进行录入。编号:p4名字:司机信息描述:管理员或用户对司机的基本信息进行录入。编号:p5名字:系统统计描述:管理员或用户对租金收入、租用时间的统计结果进行查询。编号:p6名字:租金信息描述:管理员或用户对租金收入、租用时间的统计结果进行查询。3 系统设计3.1 功能模块设计车辆信息模块车

5、辆信息模块可以实现对车辆名称、车辆类型、购买时间、车辆状况、租金标准(日)、租期起始时间、租期的添加、删除和修改,同时也可以查询这些信息。客户信息模块客户信息模块可以实现对客户身份证号、姓名、年龄、地址、电话、登录密码的添加、删除和修改,可以利用身份证号来删除指定客户的信息。客户租车模块客户租车模块可以实现对车辆的租赁管理,内包含有对于租赁车辆的车辆名称、车辆类型、购买时间、车辆状况、租金标准(日)、租期起始时间、租期,还有客户的身份证号、姓名、年龄、地址、电话、驾驶证书。司机信息模块司机信息模块可以实现对司机身份证号、姓名、年龄、地址、电话、驾驶证书的添加、删除和修改,同时也可以查询有关信息

6、。系统统计模块系统统计模块中可以对已录入的信息进行统计汇总,包括租金最高的车、租用时间最长的车、今日收入、累计收入。租金信息模块租金信息模块可以车辆名称、车辆类型、租金标准、车辆起始时间、租期进行查询。3.2 数据库概念设计车辆信息模块E-R图:车辆状况购买时间车辆类型车辆名称车辆租期租期起始时间租金标准客户信息模块E-R图:年龄姓名身份证号客户电话地址登录密码司机信息模块E-R图:年龄姓名身份证号司机电话电话驾驶证书3.3 数据库逻辑设计(1)车辆(车辆名称;车辆类型;购买时间;车辆状况;租金标准;租期起始时间;租期)(2)客户(身份证号;姓名;年龄;地址;电话;登录密码)(3)司机(身份证

7、号;姓名;年龄;地址;电话;驾驶证书)3.4 数据库物理设计管理员信息:客户信息:司机信息:3.5 数据库表间联系 4系统实现4.1 管理员模块实现jLabel_IL1 = new JLabel(身份证号);p.add(jLabel_IL1);jLabel_IL1.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf1);jLabel_IL2 = new JLabel(姓名);p.add(jLabel_IL2);jLabel_IL2.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf2);jLabel_IL3 = n

8、ew JLabel(年龄);p.add(jLabel_IL3);jLabel_IL3.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf3);jLabel_IL4 = new JLabel(地址);p.add(jLabel_IL4);jLabel_IL4.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf4);jLabel_IL5 = new JLabel(电话);p.add(jLabel_IL5);jLabel_IL5.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf5)

9、;jLabel_IL6 = new JLabel(登录密码);p.add(jLabel_IL6);jLabel_IL6.setFont(new java.awt.Font(微软雅黑,0,14);可以实现对客户身份证号、姓名、年龄、地址、电话、登录密码的添加、删除和修改4.2 车辆信息模块实现jLabel_IL2 = new JLabel(车辆类型);p.add(jLabel_IL2);jLabel_IL2.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf2);jLabel_IL3 = new JLabel(购买时间);p.add(jLabel_IL3)

10、;jLabel_IL3.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf3);jLabel_IL4 = new JLabel(车辆状况);p.add(jLabel_IL4);jLabel_IL4.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf4);jLabel_IL5 = new JLabel(租金标准);p.add(jLabel_IL5);jLabel_IL5.setFont(new java.awt.Font(华文彩云,0,14);可以实现对车辆名称、车辆类型、购买时间、车辆状况、租金标准(日)、租期起始

11、时间、租期的添加、删除和修改,同时也可以查询这些信息。4.3客户信息模块实现p.add(new JLabel();jLabel_IL1 = new JLabel(身份证号);p.add(jLabel_IL1);jLabel_IL1.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf1);jLabel_IL2 = new JLabel(姓名);p.add(jLabel_IL2);jLabel_IL2.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf2);jLabel_IL3 = new JLabel(年龄);p.a

12、dd(jLabel_IL3);jLabel_IL3.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf3);jLabel_IL4 = new JLabel(地址);p.add(jLabel_IL4);jLabel_IL4.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf4);jLabel_IL5 = new JLabel(电话);p.add(jLabel_IL5);jLabel_IL5.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf5);jLabel_IL6 = new

13、 JLabel(登录密码);p.add(jLabel_IL6);jLabel_IL6.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf6);jLabel_IL7 = new JLabel( 在此输入身份证号点击查询删除);p.add(jLabel_IL7);jLabel_IL7.setFont(new java.awt.Font(微软雅黑,0,14);可以实现对客户身份证号、姓名、年龄、地址、电话、登录密码的添加、删除和修改4.4司机信息模块实现p.add(new JLabel();jLabel_IL1 = new JLabel(身份证号);p.add

14、(jLabel_IL1);jLabel_IL1.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf1);jLabel_IL2 = new JLabel(姓名);p.add(jLabel_IL2);jLabel_IL2.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf2);jLabel_IL3 = new JLabel(年龄);p.add(jLabel_IL3);jLabel_IL3.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf3);jLabel_IL4 = new J

15、Label(地址);p.add(jLabel_IL4);jLabel_IL4.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf4);jLabel_IL5 = new JLabel(电话);p.add(jLabel_IL5);jLabel_IL5.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf5);jLabel_IL6 = new JLabel(驾驶证书);p.add(jLabel_IL6);jLabel_IL6.setFont(new java.awt.Font(微软雅黑,0,14);p.add(tf6);j

16、Label_IL7 = new JLabel( 在此输入身份证号点击查询删除);p.add(jLabel_IL7);jLabel_IL7.setFont(new java.awt.Font(微软雅黑,0,14);可以实现对司机身份证号、姓名、年龄、地址、电话、驾驶证书的添加、删除和修改,同时也可以查询有关信息。5 代码调试与功能测试5.1 测试方案登陆测试:输入用户名qh密码123,点击管理员登陆。车辆信息添加测试:添加车辆名称1车辆类型1购买时间1905-07-10车辆状况1租金标准100,点击添加。客户信息添加测试:输入身份证号6435235322姓名科比年龄0地址苏州电话45252登录密

17、码434,点击添加。司机信息添加测试:输入身份证号4783292姓名哒哒哒年龄43地址常州电话4562542驾驶证书A,点击添加。5.2 测试结果车辆租赁系统:车辆信息:客户信息:司机信息:租金信息:信息统计:登陆界面:6 收获与体会这次课程设计我设计的是一个汽车租赁管理系统,通过这次课程设计,我了解了一个完整的数据库系统设计的步骤,掌握了租车公司汽车租赁系统的业务流程及管理,巩固了我在课堂上所学的理论知识,开拓了自己的知识面,同时也让我看到了自己的不足,很多东西单独用可以做出来,可是连贯起来就出现了很多错,还有很多不足,需要努力。当然在我同学的帮助下,见证了一个系统的诞生,虽然不复杂,但它可

18、以实现一些基本的功能,很有成就感,是理论与实践的一次完美的结合,而且也学到很多课本上没有涉及到的知识,对编程经验也起到了累积作用,也是第一次了解了一个系统诞生所要经过的流程,前期、设计、完成、后期一个也不能少,不像平时只用编一个程序,至于需求和维护没有涉及,这次课程设计就像一次工作的体验,从头到尾不遗余力的把它完成。体会就是自己在这次设计当中遇到了很多问题,一开始的时候根本无从下手、什么都不会,但是通过和同学成的讨论,查阅资料、网上查询等有了基本了解,使得问题得以一一解决。总之,在这次程序设计中,学会到了很多以前没有了解到的知识,当然系统还有很多不足,比如主界面的缩放功能没有很好的实现等,这还

19、需要在以后的学习中慢慢改进。回想我在这段时间的课程设计,感到非常的充实。因为有了同学的帮助,我才能完满完成了这个课程设计。在以后的学习中我还会更努力的学习,把自己学到的知识运用到的以后的学习和工作中去。43参考文献1 钱雪忠,王燕玲,林挺.数据库原理及技术M.北京:清华大学出版社,2011.2 钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计M.北京:清华大学出版社,2014. 附录附录1源程序部分清单附录1.1登陆import java.awt.event.ActionListener;import java.awt.Color;import java.awt.Dimension;impor

20、t java.awt.FlowLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Vector;import javax.swing.*;public cla

21、ss dl implements ActionListener JFrame frame=new JFrame(客户/管理员登陆);JLabel label1=new JLabel(用户名);JLabel label2=new JLabel(密码);ImageIcon jbi1=new ImageIcon(image/admin.png);ImageIcon jbi2=new ImageIcon(image/admin2.png);ImageIcon jbi3=new ImageIcon(image/quit.png);JButton loginButton1=new JButton(管理员登

22、陆,jbi1);JButton loginButton2=new JButton(客户登陆,jbi2);JButton cancelButton=new JButton(退出,jbi3);JTextField t1=new JTextField(0);JTextField t2=new JTextField(0);ImageIcon im=new ImageIcon(image/5.jpg);JLabel a2=new JLabel(im);JTextField username=new JTextField(9);JPasswordField password=new JPasswordFi

23、eld(9);void create()JPanel p=(JPanel)frame.getContentPane();JPanel p1=new JPanel();p.setLayout(new FlowLayout();p.add(label1);label1.setFont(new java.awt.Font(华文彩云,0,16);p.setSize(5,5);p.setLocation(4,8);p.add(username);username.setFont(new java.awt.Font(华文彩云,0,14);p.setSize(100,200);p.setLocation(8

24、00,800);p.add(label2);label2.setFont(new java.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(new java.awt.Font(华文彩云,0,14);p.add(new JLabel( );p.add(new JLabel( );p.add(loginButton1);loginButton2.setFont(new jav

25、a.awt.Font(华文彩云,0,14);p.add(loginButton2);p.add(cancelButton);cancelButton.setFont(new java.awt.Font(华文彩云,0,14);/p.add(t1);/p.add(t2);p.setBackground(new java.awt.Color(255,255,255);p.add(a2);p.add(new JLabel( );/p.setBackground(Color.red);p.setVisible(true);loginButton1.addActionListener(this);logi

26、nButton2.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();Toolkit toolkit=Toolkit.getDefaultToolkit();Dimension d=toolkit.getScreenSize();frame.setBounds(d.width/2-375, d.height/2-225, 750, 450);/frame.setBounds(200,100,75

27、0,550);frame.setVisible(true);public static void main(String args) dl dome=new dl(); dome.create(); public void actionPerformed(ActionEvent e)if(cancelButton.equals(e.getSource()System.exit(0);if(loginButton1.equals(e.getSource()if(username.getText().equals(qh)=true)&(password.getText().equals(123)=

28、true)ZJM gz=new ZJM();gz.create();frame.setVisible(false);elseJOptionPane.showMessageDialog(null,登录失败!);if(loginButton2.equals(e.getSource()System.out.print(123123);if(username.getText().equals(121)=true)&(password.getText().equals(123)=true)KHZC gz=new KHZC();gz.create();frame.setVisible(false);els

29、eJOptionPane.showMessageDialog(null,登录失败!);附录1.2 车辆信息import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Resu

30、ltSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Vector;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.

31、JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;public class CLXX implements ActionListenerJFrame f=new JFrame(车辆信息);ImageIcon jbi1=new ImageIcon(image/ad.png);ImageIcon jbi2=new ImageIcon(image/del.png);ImageIcon jbi3=new ImageIcon(image/ser.png);ImageIcon jbi4=new ImageIcon(imag

32、e/up.png);private JLabel jLabel_IL5;private JLabel jLabel_IL4;private JLabel jLabel_IL3;private JLabel jLabel_IL2;private JLabel jLabel_IL1;JButton b1=new JButton(添加,jbi1);JButton b2=new JButton(修改,jbi4);JButton b3=new JButton(删除,jbi2);JButton b4=new JButton(查询所有,jbi3);JButton b5=new JButton(查询个人信息,

33、jbi3);JButton b6=new JButton(返回);JTextField tf1=new JTextField(4);JTextField tf2=new JTextField(4);JTextField tf3=new JTextField(4);JTextField tf4=new JTextField(4);JTextField tf5=new JTextField(4);JTextField tf6=new JTextField(4);String cloum=车辆名称,车辆类型,购买时间,车辆状况,租金标准(日),租期起始时间,租期;Object row=new Obj

34、ect507;JTable table=new JTable(row,cloum);JScrollPane scrollpane=new JScrollPane(table);JSplitPane splitpane=new JSplitPane(JSplitPane.VERTICAL_SPLIT);private JLabel jLabel_IL6;void create()JPanel p=(JPanel)f.getContentPane();p.setLayout(new FlowLayout();/p.add(scrollpane);p.add(splitpane);JPanel p1

35、=new JPanel();p1.add(b1);b1.setFont(new java.awt.Font(华文彩云,0,14);p1.add(b2);b2.setFont(new java.awt.Font(华文彩云,0,14);p1.add(b3);b3.setFont(new java.awt.Font(华文彩云,0,14);p1.add(b4);b4.setFont(new java.awt.Font(华文彩云,0,14);p1.add(b5);b6.setFont(new java.awt.Font(华文彩云,0,14);p1.add(b6);b5.setFont(new java.

36、awt.Font(华文彩云,0,14);JPanel p2=new JPanel();p2.setBackground(new java.awt.Color(132, 112, 255);/p2.setBackground(Color.red);p2.add(scrollpane);scrollpane.setPreferredSize(new java.awt.Dimension(580, 424);JPanel p3=new JPanel();p.setLayout(new FlowLayout();p.add(new JLabel();jLabel_IL1 = new JLabel(车辆

37、名称);p.add(jLabel_IL1);jLabel_IL1.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf1);jLabel_IL2 = new JLabel(车辆类型);p.add(jLabel_IL2);jLabel_IL2.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf2);jLabel_IL3 = new JLabel(购买时间);p.add(jLabel_IL3);jLabel_IL3.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf3);jLabe

38、l_IL4 = new JLabel(车辆状况);p.add(jLabel_IL4);jLabel_IL4.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf4);jLabel_IL5 = new JLabel(租金标准);p.add(jLabel_IL5);jLabel_IL5.setFont(new java.awt.Font(华文彩云,0,14);p.add(tf5);jLabel_IL6 = new JLabel( 在此输入车辆名称点击查询删除);p.add(jLabel_IL6);jLabel_IL6.setFont(new java.awt.

39、Font(华文彩云,0,14);p.add(tf6);splitpane.add(p1,splitpane.TOP);splitpane.add(p2,splitpane.BOTTOM);p2.setPreferredSize(new java.awt.Dimension(611, 408);splitpane.setDividerLocation(50);/p.setBackground(Color.CYAN);p.setBackground(new java.awt.Color(173, 216, 250);b1.addActionListener(this);b2.addActionLi

40、stener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);Toolkit toolkit=Toolkit.getDefaultToolkit();Dimension d=toolkit.getScreenSize();f.setBounds(d.width/2-325, d.height/2-285, 650, 570);f.setResizable(true);/调整截面大小f.setVisible(true);public void actionPerformed(ActionEvent e)if(b1.equals(e.getSource()/ 添加Connection con;Statement sql;ResultSet rs;tryClass.forName(com.microsoft.sq

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号