1、汽车租赁管理系统方案数据库课程实训报告题目:汽车租赁管理系统汽车租赁管理系统设计1 课题容和要求1.1课题描述汽车租赁管理系统是可以通过对汽车基本信息进行增加、删除、修改,对租赁客户信息进行增加、删除、修改,实现汽车的租借、归还、续借的管理系统。1.2课题要求1) 可以对汽车基本信息进行增加、删除、修改2) 可以对租赁客户信息进行增加、删除、修改3) 可以实现汽车的租借、归还、续借4) 可以按重要字段查询汽车、客户等基本信息5) 可以实现租赁金额的计算6) 可以查询汽车、客户租赁历史记录2需求分析2.1功能需求分析程序首先需要登录模块来实现管理员或者客户的登陆,在车辆信息模块中来实现对汽车基本
2、信息的增加、删除、修改,在客户信息模块中实现对客户信息的增加、删除、修改,租赁模块来实现对客户对汽车的租赁功能实现,车辆查询模块来实现对车辆信息的查询,系统统计模块实习对租金收入、租用时间的统计。2.2数据需求分析登陆模块:车辆信息模块:客户信息模块:客户租车模块:司机信息模块:系统统计模块:租金信息模块:数据字典:3系统设计3.1功能模块设计车辆信息模块车辆信息模块可以实现对车辆名称、车辆类型、购买时间、车辆状况、租金标准(日)、租期起始时间、租期的添加、删除和修改,同时也可以查询这些信息。客户信息模块客户信息模块可以实现对客户号、年龄、地址、登录密码的添加、删除和修改,可以利用号来删除指定
3、客户的信息。客户租车模块客户租车模块可以实现对车辆的租赁管理,包含有对于租赁车辆的车辆名称、车辆类型、购买时间、车辆状况、租金标准(日)、租期起始时间、租期,还有客户的号、年龄、地址、驾驶证书。司机信息模块司机信息模块可以实现对司机号、年龄、地址、驾驶证书的添加、删除和修改,同时也可以查询有关信息。系统统计模块系统统计模块中可以对已录入的信息进行统计汇总,包括租金最高的车、租用时间最长的车、今日收入、累计收入。租金信息模块租金信息模块可以车辆名称、车辆类型、租金标准、车辆起始时间、租期进行查询。3.2数据库概念设计车辆信息模块E-R图:客户信息模块E-R图:司机信息模块E-R图:3.3 数据库
4、逻辑设计(1)车辆(车辆名称;车辆类型;购买时间;车辆状况;租金标准;租期起始时间;租期)(2)客户(号;年龄;地址;登录密码)(3)司机(号;年龄;地址;驾驶证书)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
5、.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 JLabel(地址); p.add(jLabel_IL4); jLabel_IL4.setFont(new java.awt.Font(微软雅黑,0,14); p.add(tf4); jLabel_IL5 = new JLabel(); p.ad
6、d(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); 可以实现对客户号、年龄、地址、登录密码的添加、删除和修改4.2车辆信息模块实现 jLabel_IL2 = new JLabel(车辆类型); p.add(jLabel_IL2); jLabel_IL2.setFont(new java.awt.Fon
7、t(华文彩云,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 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); jLa
8、bel_IL5.setFont(new java.awt.Font(华文彩云,0,14); 可以实现对车辆名称、车辆类型、购买时间、车辆状况、租金标准(日)、租期起始时间、租期的添加、删除和修改,同时也可以查询这些信息。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); jLab
9、el_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 JLabel(地址); p.add(jLabel_IL4); jLabel_IL4.setFont(new java.awt.Font(微软雅黑,0,14); p.add(tf4); jLabel_IL5 = new JLabel()
10、; 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); jLabel_IL7 = new JLabel( 在此输入号点击查询删除); p.add(jLabel_IL7); jLabel_IL7.setFont(new java.awt.Font(微软雅黑,0,14);
11、可以实现对客户号、年龄、地址、登录密码的添加、删除和修改4.4司机信息模块实现 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(年
12、龄); 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);
13、jLabel_IL6 = new 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); 可以实现对司机号、年龄、地址、驾驶证书的添加、删除和修改,同时也可以查询有关信息。5代码调试与功能测试5.1 测试方案登陆测试:输入用户名qh密码123,点击管理员
14、登陆。车辆信息添加测试:添加车辆名称1车辆类型1购买时间1905-07-10车辆状况1租金标准100,点击添加。客户信息添加测试:输入号6435235322科比年龄0地址45252登录密码434,点击添加。司机信息添加测试:输入号4783292哒哒哒年龄43地址4562542驾驶证书A,点击添加。5.2 测试结果车辆租赁系统:车辆信息:客户信息:司机信息:租金信息:信息统计:登陆界面:6 收获与体会这次课程设计我设计的是一个汽车租赁管理系统,通过这次课程设计,我了解了一个完整的数据库系统设计的步骤,掌握了租车公司汽车租赁系统的业务流程与管理,巩固了我在课堂上所学的理论知识,开拓了自己的知识面,
15、同时也让我看到了自己的不足,很多东西单独用可以做出来,可是连贯起来就出现了很多错,还有很多不足,需要努力。当然在我同学的帮助下,见证了一个系统的诞生,虽然不复杂,但它可以实现一些基本的功能,很有成就感,是理论与实践的一次完美的结合,而且也学到很多课本上没有涉与到的知识,对编程经验也起到了累积作用,也是第一次了解了一个系统诞生所要经过的流程,前期、设计、完成、后期一个也不能少,不像平时只用编一个程序,至于需求和维护没有涉与,这次课程设计就像一次工作的体验,从头到尾不遗余力的把它完成。体会就是自己在这次设计当中遇到了很多问题,一开始的时候根本无从下手、什么都不会,但是通过和同学成的讨论,查阅资料、
16、网上查询等有了基本了解,使得问题得以一一解决。总之,在这次程序设计中,学会到了很多以前没有了解到的知识,当然系统还有很多不足,比如主界面的缩放功能没有很好的实现等,这还需要在以后的学习中慢慢改进。回想我在这段时间的课程设计,感到非常的充实。因为有了同学的帮助,我才能完满完成了这个课程设计。在以后的学习中我还会更努力的学习,把自己学到的知识运用到的以后的学习和工作中去。参考文献1钱雪忠,王燕玲,林挺.数据库原理与技术M.:清华大学,2011.2钱雪忠,罗海驰,国俊.数据库原理与技术课程设计M.:清华大学,2014.附录附录1源程序部分清单附录1.1登陆import java.awt.event.
17、ActionListener;import java.awt.Color;import java.awt.Dimension;import 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.s
18、ql.Statement;import java.util.Vector;import javax.swing.*;public class dl implements ActionListener JFrame frame=new JFrame(客户/管理员登陆); JLabel label1=new JLabel(用户名); JLabel label2=new JLabel(密码); ImageIcon i1=new ImageIcon(image/admin.png); ImageIcon i2=new ImageIcon(image/admin2.png); ImageIcon i3=
19、new ImageIcon(image/quit.png);utton loginButton1=new utton(管理员登陆,i1); utton loginButton2=new utton(客户登陆,i2); utton cancelButton=new utton(退出,i3); JTextField t1=new JTextField(0); JTextField t2=new JTextField(0); ImageIcon im=new ImageIcon(image/5.jpg); JLabel a2=new JLabel(im); JTextField username=n
20、ew JTextField(9); JPasswordField password=new JPasswordField(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.setFo
21、nt(new java.awt.Font(华文彩云,0,14); p.setSize(100,200); p.setLocation(800,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 J
22、Label( ); p.add(new JLabel( ); p.add(loginButton1); loginButton2.setFont(new java.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( );
23、 /p.setBackground(Color.red); p.setVisible(true); loginButton1.addActionListener(this); loginButton2.addActionListener(this); cancelButton.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); Toolkit toolkit=Toolkit.getDefaultToolkit(); Dimension d=toolkit.get
24、ScreenSize(); frame.setBounds(d.width/2-375, d.height/2-225, 750, 450); /frame.setBounds(200,100,750,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(
25、loginButton1.equals(e.getSource() if(username.getText().equals(qh)=true)&(password.getText().equals(123)=true) ZJM gz=new ZJM(); gz.create(); frame.setVisible(false); else JOptionPane.showMessageDialog(null,登录失败!); if(loginButton2.equals(e.getSource() System.out.print(123123); if(username.getText().
26、equals(121)=true)&(password.getText().equals(123)=true) KHZC gz=new KHZC(); gz.create(); frame.setVisible(false); else JOptionPane.showMessageDialog(null,登录失败!); 附录1.2车辆信息importjava.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Toolkit;importjava.awt.event.ActionEven
27、t;import java.awt.event.ActionListener;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.ImageIcon;import javax.swing.utton;import javax.swing.JFrame;import javax.swing.
28、JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;publicclass CLXX implements ActionListener JFrame f=new JFrame(车辆信息); ImageIcon i1=new ImageIcon(image/ad.png); ImageIcon i2=new ImageIcon(