一、 课程设计目的
1、综合运用Java程序设计课程和其他相关课程的理论和知识,掌握面向对象程序设计的一般方法、常用技术及技巧,树立良好的软件设计思想,培养分析问题和解决实际问题的能力;
2、学会从OOP程序设计的方法及要求出发,认真分析题目,做好总体设计,根据要求科学地设计包、类、接口等,正确设计算法,合理安排界面,规范开发过程,仔细调试程序,做好设计总结;
3、充分利用互联网资源,提高学生获取知识,实践知识的能力。
二、 课程设计内容
汽车信息租赁信息管理系统
要求:设计一个图形用户界面程序,实现以下功能:
前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)
管理员/用户登陆
2.汽车信息的录入、修改、查询、删除 3.客户的租用车辆查看浏览信息。
三、系统描述
需求分析是发现需求,分析求精,逻辑建模,需求规约的过程,其的目的是为了全面获取软件需求,准确理解业务逻辑。车辆租赁系统具有以下基本功能。
用户管理:
包括用户的注册,登陆等,没有账户的用户可以注册会员,登录,通过分类查询车辆,以及查看其详细信息。
车源管理:
包括车辆信息的删除,添加,修改等,管理员能够向数据库中发布车辆信息,包括车辆的车型,价格,车主等信息。
车源信息查找
用户可以在窗口上直接浏览车辆基本信息,也可以按照不同的要求方式对车辆信息进行查询,这样用户可以方便的找到自己想要的车源,人性化的查找方式为用户带来了极大的便利。
四、系统解决的问题
本系统主要完成前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)等功能。通过以上功能实现简单,便捷的租车系统。
车辆浏览:所有人都可以操作,顾客可以随意浏览车辆信息,按照车辆的序号排序,在点击按钮后,可以在表格中显示出可以租用车辆的信息,可以让用户选择。
车辆租用:顾客在浏览车辆信息后,可以根据自身需求选择所需租用的车辆,输入车辆的序号后,点击确定按钮,可以成功租用车辆,并且该车辆是否被租用的信息会自动更改为已被租用,如果用户租用已被租用的车辆则租用失败,无法租用成功。
车辆管理:该功能只能由管理员完成,由管理员完成对车辆信息的录入包括录入车辆的车主,价格,是否被租用等信息,并可以删除车辆信息。
会员管理:该功能由管理员完成,管理员可以注册其他的用户帐号,并将帐号密码录入数据库中。
五、数据库设计
六、运行结果
以下部分代码请忽略
public void connDB() { // 连接数据库 try { Class.forName("com.mysql.jdbc.Driver");//注册驱动 } catch (ClassNotFoundException e) { e.printStackTrace(); } try {//创建连接 con = DriverManager.getConnection(DbUtil.dbUrlString, DbUtil.dbUser, DbUtil.dbpassword); stmt = con.createStatement(); } catch (SQLException e) { e.printStackTrace(); } } public void closeDB() // 关闭连接 { try { stmt.close(); con.close(); } catch (SQLException e) { e.printStackTrace(); } } @Override public void actionPerformed(ActionEvent e) { Object source = e.getSource(); String username = null; String user_password = null; int success = 1;//如果已经存在了此账号,则赋值为0,作为进入创建账号方法的进入条件 if(source == buttonOfZhuce) { if (field1.getText().equals("") || field2.getText().equals("")||field3.getText().equals("") ) {// 判断是否输入了用户名和密码 JOptionPane.showMessageDialog(null, "请填写完整!"); } else//密码账号都不为空后 { try { this.connDB(); String sql = "select * from user where username ='"+field1.getText()+"'"; rs = stmt.executeQuery(sql); if(rs.next()) { JOptionPane.showMessageDialog(null, "此账号已经存在!"); field1.setText(""); success = 0; this.closeDB(); } } catch (HeadlessException e2) { e2.printStackTrace(); } catch (SQLException e2) { e2.printStackTrace(); }//这个trycatch模块用来判断 创建账号之前数据库有没有此账号!,如果有 success = 0,就进入不了下面创建账号的语句 if(field2.getText().equals(field3.getText())&&success==1) { String str = "insert into user values('" + field1.getText() + "','" +field2.getText()+"')"; try { stmt.executeUpdate(str); } catch (SQLException e1) { e1.printStackTrace(); } JOptionPane.showMessageDialog(null, "注册成功!"); this.dispose(); new Login(); } else { this.closeDB(); if(success == 1) { JOptionPane.showMessageDialog(null,"两次输入的密码不匹配!" ); } } } } else if(source == buttonOfFanhui) { this.dispose(); new Login(); } } }