博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了2000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
文末下方有源码获取地址

4.1 系统总体模块图
汽车租赁管理系统主要设计了前台和后台等功能,满足用户在网站上面进行汽车租赁信息浏览与查看,具体功能模块图如4.1所示:

图4.1 系统总体模块图
4.2.1 概念模型设计
(2)系统中实体E-R图


一个实体型转换为一个关系模式的集合。实体的属性就是关系的属性,实体的码就是关系的码。
在汽车租赁管理系统中,实体有管理员实体,会员实体,车辆类型实体,车辆实体,留言实体,新闻实体,订单实体等实体,他们之间的关系如图4.13所示:

本章主要介绍的内容是总体设计或者概要设计,介绍了汽车租赁管理系统的设计,主要是在架构设计、总体模块设计和数据库设计的方面介绍的,为进一步的详细设计做准备。
详细设计阶段的任务就是把在总体设计阶段提出的比较抽象概括的解决问题的方法具体化,也就是“应该怎样具体地实现这个系统”。在本阶段将包括数据库的设计和每个模块的详细设计,确定实现模块功能所需要的算法和数据结构。
普通用户或管理员输入自己的用户账号、密码,通过身份验证后可以进入相应的管理界面首页。
当用户需要登录的时候,需要有响应的页面来实现这一功能。登录界面是用来支持用户进行登录功能操作的界面,当在界面中输入普通用户的用户名、密码,就可以通过身份验证进入该系统。 登录界面需要让用户输入用户名、密码。如果是错误登录信息造成的还要显示错误信息。否则,当信息输入和权限选择正确时,将分别将用户导入各自对应的操作界面首页。
用户分为普通用户和管理员两种。每种用户具有不同的权限,能完成不同的操作。普通用户具有查看信息权限夹功能等。管理员用户是系统的最高权限具有系统所有功能的操作。
5.2.1 逻辑结构设计
2 会员( 会员编号,用户名,密码,姓名,联系电话,联系地址 )
3 车辆类型( 车辆类型编号,类型 )
4 车辆( 车辆编号,车名称,类型,介绍,图片,价格,用户,状态,说明 )
5 留言( 留言编号,留言,用户,时间 )
6 新闻( 新闻编号,标题,内容,发布时间 )
7 订单( 订单编号,订单流水,用户,时间,开始时间,结束时间,天数,总价格,状态,车辆 )
由各个关系模式和根据需求分析阶段数据字典的数据项描述,给出各数据表结构。
(1)管理员信息表如表5.1所示:
表5.1 管理员信息表
| 
			 序号  | 
			 字段名称  | 
			 数据类型  | 
			 长度  | 
			 主键  | 
			 描述  | 
| 
			 1  | 
			 glyid  | 
			 INTEGER  | 
			 11  | 
			 是  | 
			 管理员编号  | 
| 
			 2  | 
			 yhm  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 用户名  | 
| 
			 3  | 
			 mm  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 密码  | 
| 
			 4  | 
			 xm  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 姓名  | 
(2)会员表如表5.2所示:
表5.2 会员信息表
| 
			 序号  | 
			 字段名称  | 
			 数据类型  | 
			 长度  | 
			 主键  | 
			 描述  | 
| 
			 1  | 
			 hyid  | 
			 INTEGER  | 
			 11  | 
			 是  | 
			 会员编号  | 
| 
			 2  | 
			 yhm  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 用户名  | 
| 
			 3  | 
			 mm  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 密码  | 
| 
			 4  | 
			 xm  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 姓名  | 
| 
			 5  | 
			 lxdh  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 联系电话  | 
| 
			 6  | 
			 lxdz  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 联系地址  | 
(3)车辆类型信息表如表5.3所示:
表5.3 车辆类型信息表
| 
			 序号  | 
			 字段名称  | 
			 数据类型  | 
			 长度  | 
			 主键  | 
			 描述  | 
| 
			 1  | 
			 cllxid  | 
			 INTEGER  | 
			 11  | 
			 是  | 
			 车辆类型编号  | 
| 
			 2  | 
			 lx  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 类型  | 
(4)车龄信息表如表5.4所示:
表5.4 车辆信息表
| 
			 序号  | 
			 字段名称  | 
			 数据类型  | 
			 长度  | 
			 主键  | 
			 描述  | 
| 
			 1  | 
			 clid  | 
			 INTEGER  | 
			 11  | 
			 是  | 
			 车辆编号  | 
| 
			 2  | 
			 cmc  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 车名称  | 
| 
			 3  | 
			 lx  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 类型  | 
| 
			 4  | 
			 js  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 介绍  | 
| 
			 5  | 
			 tp  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 图片  | 
| 
			 6  | 
			 jg  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 价格  | 
| 
			 7  | 
			 yh  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 用户  | 
| 
			 8  | 
			 zt  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 状态  | 
| 
			 9  | 
			 sm  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 说明  | 
(5)留言表如表5.5所示:
表5.5 留言
| 
			 字段名称  | 
			 数据类型  | 
			 长度  | 
			 主键  | 
			 描述  | |
| 
			 1  | 
			 lyid  | 
			 INTEGER  | 
			 11  | 
			 是  | 
			 留言编号  | 
| 
			 2  | 
			 ly  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 留言  | 
| 
			 3  | 
			 yh  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 用户  | 
| 
			 4  | 
			 sj  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 时间  | 
(6)新闻表如表5.6所示:
表5.6新闻表
| 
			 序号  | 
			 字段名称  | 
			 数据类型  | 
			 长度  | 
			 主键  | 
			 描述  | 
| 
			 1  | 
			 xwid  | 
			 INTEGER  | 
			 11  | 
			 是  | 
			 新闻编号  | 
| 
			 2  | 
			 bt  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 标题  | 
| 
			 3  | 
			 nr  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 内容  | 
| 
			 4  | 
			 fbsj  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 发布时间  | 
(7)订单信息表如表5.7所示:
表5.7订单信息表
| 
			 序号  | 
			 字段名称  | 
			 数据类型  | 
			 长度  | 
			 主键  | 
			 描述  | 
| 
			 1  | 
			 ddid  | 
			 INTEGER  | 
			 11  | 
			 是  | 
			 订单编号  | 
| 
			 2  | 
			 ddls  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 订单流水  | 
| 
			 3  | 
			 yh  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 用户  | 
| 
			 4  | 
			 sj  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 时间  | 
| 
			 5  | 
			 kssj  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 开始时间  | 
| 
			 6  | 
			 jssj  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 结束时间  | 
| 
			 7  | 
			 ts  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 天数  | 
| 
			 8  | 
			 zjg  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 总价格  | 
| 
			 9  | 
			 zt  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 状态  | 
| 
			 10  | 
			 cl  | 
			 VARCHAR  | 
			 40  | 
			 否  | 
			 车辆  | 
本章主要是在上一章的总体设计的基础之上对系统进行详细设计,主要分为两个方面来设计,分别为后台设计和数据库设计,在后台设计方面,主要是设计的系统的权限分配,角色登录的验证;在数据库方面是设计系统的物理结构的设计和逻辑结构的设计。
6.1 登录模块界面
登录系统首页,出现用户名、密码的输入框,填写用户名和密码点击【提交】按钮,即可登录;也可以点击【重置】按钮,进行重新录入。具体的登录页面如图6.1所示:

图6.2 登录界面图

查看车辆信息页面,包括车辆价格,等基本信息,同时如果登录后可以对该车进行订购
	@Resource cheliangDao cheliangdao;
	@RequestMapping(value="/addPage")
	public String addPage(cheliang cheliang,HttpServletRequest request){
		Map<String,Object> map= new HashMap<String,Object>();
		
		System.out.println("addPageok");
		return "cheliang/cheliangadd";
	}
	
	@RequestMapping(value="/add")
	public String add(cheliang cheliang,HttpServletRequest request){
		Map<String,Object> map= new HashMap<String,Object>();
		//String name=(String)request.getParameter("name");
		map.put("clid", cheliang.getClid());//车辆编号
		map.put("cmc", cheliang.getCmc());//车名称
		map.put("lx", cheliang.getLx());//类型
		map.put("js", cheliang.getJs());//介绍
		map.put("tp", cheliang.getTp());//图片
		map.put("jg", cheliang.getJg());//价格
		map.put("yh", cheliang.getYh());//用户
		map.put("zt", cheliang.getZt());//状态
		map.put("sm", cheliang.getSm());//说明
		String clid=(String)cheliang.getClid();//车辆编号
		String cmc=(String)cheliang.getCmc();//车名称
		String lx=(String)cheliang.getLx();//类型
		String js=(String)cheliang.getJs();//介绍
		String tp=(String)cheliang.getTp();//图片
		String jg=(String)cheliang.getJg();//价格
		String yh=(String)cheliang.getYh();//用户
		String zt=(String)cheliang.getZt();//状态
		String sm=(String)cheliang.getSm();//说明
		String sql="";
		ResultSet rs=null;
		DBO db=new DBO();
		int num=0;
		try{
			sql="select count(1) as num from cheliang where cmc='"+cmc+"'";
			rs=db.query(sql);
			if(rs.next()){
				num=rs.getInt("num");
			}
			if(num>0){
				request.setAttribute("msg", "<script>alert('添加失败、车名称重复');</script>");
			}else{
				cheliangdao.save(map);
				
				
				request.setAttribute("msg", "<script>alert('添加成功');</script>");
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	
		System.out.println("addok");
		return "cheliang/cheliangadd";
	}
	
	/**删除 
	 * 
	 */
	@RequestMapping(value="/del")
	public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
	//	Map<String,Object> map= new HashMap<String,Object>();
		String a=(String)request.getParameter("keyid");
		id=Integer.parseInt(a);
		request.setAttribute("msg", "<script>alert('删除成功');</script>");
		cheliangdao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改cheliang信息
	 */
	@RequestMapping(value="/update")
	public String update(cheliang cheliang,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("clid", cheliang.getClid());//车辆编号
		map.put("cmc", cheliang.getCmc());//车名称
		map.put("lx", cheliang.getLx());//类型
		map.put("js", cheliang.getJs());//介绍
		map.put("tp", cheliang.getTp());//图片
		map.put("jg", cheliang.getJg());//价格
		map.put("yh", cheliang.getYh());//用户
		map.put("zt", cheliang.getZt());//状态
		map.put("sm", cheliang.getSm());//说明
		String clid=(String)cheliang.getClid();//车辆编号
		String cmc=(String)cheliang.getCmc();//车名称
		String lx=(String)cheliang.getLx();//类型
		String js=(String)cheliang.getJs();//介绍
		String tp=(String)cheliang.getTp();//图片
		String jg=(String)cheliang.getJg();//价格
		String yh=(String)cheliang.getYh();//用户
		String zt=(String)cheliang.getZt();//状态
		String sm=(String)cheliang.getSm();//说明
		request.setAttribute("msg", "<script>alert('操作成功');</script>");
		cheliangdao.update(map);
		return selectall(null,map1,request);
	}

查看自己已经提交过的订单,可以进行取消,续借,归还等操作

该功能用于实现对系统车辆信息的管理。可以添加、删除和更改车辆信息,以及车辆信息列表展现,在添加车辆信息时,系统会自动查询系统中车辆表中的车辆编号字段,系统自动将车辆表中最大值加1作为该车辆表车辆记录的车辆编号,同时将车辆编号,车名称,类型,介绍,图片,价格,用户,状态,说明 信息添加到车辆信息表中;在删除一条车辆记录时,先选中一条车辆记录,将该条车辆记录中的车辆编号作为查询条件在车辆信息表中进行查询,弹出“确定要删除吗?”的对话框,若是,则执行删除操作,否则退出删除操作;在更改车辆记录时,先选中一条车辆记录,将车辆信息显示在相应的修改页面中,然后更改后保存到车辆信息表中;查看车辆信息记录时,选中要查看的车辆记录,系统根据用户选择车辆信息,在详细页面显示车辆信息
大家点赞、收藏、关注、评论啦 其他的定制服务 商务合作 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者
                  
                  
                  
                  
                            
                    
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
                    
              
            
                  
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
					
					
					


            