封面:XX大学毕业设计(论文)题目:汽车租赁系统的设计与实现指导教师:职称:学生姓名:学号:专业:院(系):完成时间:年月日目录1.项目背景.......................................................................................................................................31.1项目开发目标.....................................................................................................................31.2项目来源.............................................................................................................................31.3开发目标.............................................................................................................................32.项目设计.......................................................................................................................................52.1项目总体设计.....................................................................................................................52.2技术框架设计...................................................................................................................162.3功能模块设计...................................................................................................................163.项目功能描述.............................................................................................................................183.1项目功能列表...................................................................................................................183.2项目功能实现...................................................................................................................194.项目总结.....................................................................................................................................344.1项目技术总结...................................................................................................................344.2技术创新及特点...............................................................................................................351.项目背景1.1项目开发目标通过开发该项目,加深自己对ssh框架的理解和应用,加强自己对jquery,json的使用,熟练掌握css来为页面进行美化,熟悉oracle数据库的配置和使用。使自己在学校中所学的技术融合在一起、使自己学的更加深入、更加直接,从而让自己能更好的完成项目的编写。1.2项目来源实训项目1.3开发目标1.3.1允许管理人员登录、使用该系统。1.3.2系统根据登录用户的权限生成不同的功能菜单。其中超级管理员的权限最大、可以使用全部功能菜单-----(1、用户管理2、客户管理3、汽车管理4、业务管理5、业务统计6、系统管理)。1.3.2允许超级管理员使用用户管理功能、对用户信息进行增、删、改、查等操作。1.3.3允许超级管理员及其他管理人员使用客户管理功能、对客户信息进行增、删、改、查等操作。1.3.4允许超级管理员及其他管理人员使用汽车管理功能、对汽车信息进行增、删、改、查等操作。1.3.5允许超级管理员及其他管理人员使用业务管理功能、对出租单、检查单信息进行增、删、改、查等操作。1.3.6允许超级管理员及其他管理人员使用业务统计功能、对当月应还汽车信息进行查看。同时还可查看汽车信息、出租单信息、用户信息等信息的统一预览。1.3.7允许超级管理员及其他管理人员使用系统管理功能、对角色、日志信息进行增、删、改、查等操作。1.3.8允许用户更改自己的密码。1.3.9没有登录的用户不能使用系统功能。1.3.10软件结构图示:图1:软件结构图汽车租赁系统用户管理客户管理汽车管理业务管理系统管理业务统计个人信息管理对用户信息的增、删、改、查操作修改自己的密码对日志信息的查看、修改操作对角色信息的增、删、改、查操作显示当月应还汽车相关信息对出租单管理对客户信息的增、删、改、查操作对汽车信息的增、删、改、查操作对检查单管理办理出租业务办理还车业务2.项目设计2.1项目总体设计2.1.1项目设计模式设计项目使用软件设计模式中的MVC设计模式;其中Model层是普通的java类,该类中只包含属性和属性的get和set方法,而且类中的每个属性均对应数据库表中的一个字段;View层为jsp页面,页面美化是html+css共同完成,为了提高客户体验度,项目中使用jquery框架。Controller层,有struts1框架负责控制,同时整合hibernate,spring框架,共同完成系统业务处理,流程控制。2.1.2项目包设计图2:包模块图图3:页面模块图commons包中放与分页相关的类和系统系统静态常量类。domain包中放系统的实体类。exception包放系统的异常处理类。persist包中放持久化操作类。service包中放业务处理类。web.actions包中放struts1的action类。web.filters包中放判断用户是否登录、用户是否有权限的过滤器类。web.listener包中放控制用户只能不能同时登录多台。web.resources包中放系统properties资源文件。js包中放js文件。css包中放css文件。images包中放项目使用的图片。2.1.3项目功能设计首先有用户登录功能,用户登录后系统根据权限控制功能,为用户生成不同的操作菜单,当用户的操作超出自己权限时系统能拒绝用户操作,并给用户友好的权限不足提示。对于超级管理员,它拥有系统全部的管理功能;包括:1)用户管理2)客户管理3)汽车管理4)业务管理5)业务统计6)系统管理7)修改密码对于其他普通管理员,它的系统权限则是通过超级管理员通过系统管理菜单中的角色管理功能给他授权。对于客户租车业务,系统提供租车人员信息录入、车辆信息查询。最后出租单生成入库,生成出租单等一系列功能。完成租车所需的全部功能。对于客户还车业务,系统提供出租单的信息显示,用户通过可以更改出租单状态、完成还车业务。系统中的车辆信息是用户通过汽车管理菜单中的添加汽车功能录入车辆信息的。同时提供车辆信息的删除、修改、查找等操作。系统中的用户信息是超级管理员通过用户管理菜单中的添加用户功能录入用户信息的。同时提供车辆信息的删除、修改、查找等操作。系统中的客户信息是超级管理员或用户通过客户管理菜单中的添加客户功能录入客户信息的。同时提供客户信息的删除、修改、查找等功能。2.1.4项目流程设计a)登录流程图:图4:登录流程图js验证登录信息是否通过登录页面开始结束登录action验证用户名/密码等是否正确否是否查询数据库中用户信息、并保持到session中是首页用户访问登录页面action跳转到首页登录流程结束b)用户、客户、汽车、出租单、检查单、角色、日志等信息的查询流程图:图5:查询流程图数据是否满足要求访问相应查询页面、完成查询查询结束、跳转到页面结束开始查询页面js判断查询条件是否都为空提交查询表单查询action,查询条件全为空时、查询全部;否则根据条件查询是否否是显示查询结果页面查询流程结束c)用户、客户、汽车、出租单、检查单、角色信息添加流程图:图6:添加流程图开始结束添加信息页面访问相应添加信息页面、完成添加功能js判断信息是否输入正确提交添加信息表单添加信息action、返回提示信息添加信息页面、显示添加结果信息否添加信息流程结束输出添加结果信息是d)用户、客户、汽车、出租单、检查单、角色信息修改流程图:图7:修改流程图修改信息页面结束开始信息显示页面输出信息js判断信息是否修改提交修改信息表单js判断修改信息是否符合要求修改信息action、返回提示信息、修改是否成功查询信息action显示查询结果页面是否否是是否返回修改信息、查询信息修改流程结束修改流程结束e)用户、客户、汽车、角色、日志信息删除流程图:图8:删除流程图结束开始删除信息action、返回删除结果信息查询信息action、返回查询结果查询结果显示页面提交删除信息的id跳转到查询action返回删除信息、查询信息删除流程结束f)用户权限控制流程图:图9:权限控制流程图g)用户退出流程图:开始权限控制filter、判断用户是否有权限没有权限提示页面结束权限控制拦截器拦截用户访问路径是、拦截器放行、权限控制流程结束否、拒绝用户范围并跳转权限控制流程结束开始结束用户退出action、清除session中用户信息并跳转登录页面访问退出action跳转到登录页面退出流程结束图10:退出流程图2.1.5系统数据库设计a)表之间的关联关系:图11:表关系图b)表字段说明表1:用户信息表表名USERS字段名类型长度是否为空主键/外键备注USERNAMEVARCHAR2()40否主键用户名IDENTITYVARCHAR2()40是用户身份证FULLNAMEVARCHAR2()40是全名SEXNUMBER1是性别0男、1女ADDRESSVARCHAR2()40是地址PHONENUMBER40是电话POSITIONVARCHAR2()40是职位名称USERLEVELNUMBER40是外键管理员id、外键关联ROLES表的ROLEIDUSERPWDVARCHAR2()40是密码表2:权限表表名ROLES字段名类型长度是否为空主键/外键备注ROLEIDNUMBER40否主键角色idROLENAMEVARCHAR2()40是角色名称表3:菜单表表名MENUS字段名类型长度是否为空主键/外键备注MENUIDNUMBER40否主键菜单idMENUNAMEVARCHA