《城市网约车系统的分析与设计(21页).doc》由会员分享,可在线阅读,更多相关《城市网约车系统的分析与设计(21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-城市网约车系统的分析与设计-第 14 页软件工程课程设计报告题 目城市网约车系统的分析与设计院 系班 级组 长组 员摘 要科技的进步衍生了一系列新兴的行业,网约车便是这些衍生物里的一种,它为人们的出行带来了方便,这种便捷,使得网约车的市场在短时间内蔓延出巨大的规模,恶意收费、脏乱的车内环境、不法分子的作案等负面产物也成为了人们担忧的因素;而目前一锅好汤里面的老鼠却依然存在,并且逍遥法外,腐朽如果不处理将导致正常态被波及从而被感染,手段有不少,而以一种良性的,最为有效且成本较小的是一种容易存活且被社会接受度高的一个理念,在系统前期的问题考虑中这些都已包括。网约车车诚信系统中主要容纳的有:网约车
2、系统管理员、车主、乘客四种人物。与之一一对应的功能详情,网约车系统诚信管理员:系统内的全部功能,车主:操纵自己的录入修改信息功能,乘客:操纵登录账户的数据信息,观车主的私密的以外信息,其余略。包含的技术:java语言去书写服务器端的功能,以EXT为基石描绘出绚丽的页面图像,以SpringMVC框架为桥梁管道连接服务器与页面,以ibatis框架为另一管道通向数据库,采用大家普遍接受却也性能较优的mysql作为数据储藏的仓库。工欲善其事必先利其器,性能较好的工具可以让整个系统的功能的书写,及页面亲和力有较强的展示,思维的区域定位使得我的选择成了如此:jdk1.7,ecplice,WEB容器tomc
3、at用7.0版本。合理性是系统寿命且保持活力年轻的必要因素,系统的惩罚制度在考虑到惩戒的本质即:惩戒的力度问题,如果力度太大,那么用户的减少速率可想而知,而反其道行之,惩戒本身有未有成果,在权衡之中系统采用交通法律法规这一硬性却又不受排斥的标准。【关键词】: 社会需求;方便;java,springMVC;快捷;诚信;价格合理ABSTRACThe progress of science and technology derived from a series of new industry, network about cars is one of these derivatives, brin
4、gs convenience for people to travel to this, it is convenient, the network about the car market spread a huge scale in a short period of time, malicious charges, dirty car environment, criminals crime the negative product has become a factor of concern; therefore an effective regulatory scheme is es
5、sential. Network about car management system is to achieve such a solution to the problem of a superior method.This system adopts B/S structure development model: the server and the browser mode, this is a lot of memory resources and efficient mode of operation does not require users to rely on the
6、browser will be able to complete the desired operation. The background of the development of the Java language, the main function is to: customer orders, customer complaints and suggestions of operation, information input driver, access control function of each role, regulators to view the driver in
7、formation and exposure function; the front interface using the EXT framework, combined with the native JS and jquery,Simplify the HTML and some of the higher reusability of the JS code, saving the development time to reduce the amount of development.This system can do a great deal of data collation
8、and organized display, and the operation is simple, suitable for different levels of user operation. Practical and cost-effective are very high.Key words: ,java;springMVC;traffic ;convenient,quick;目 录摘 要IABSTRACTII目 录III1绪论11.1 课题背景和意义11.2 研究现状11.3 研究内容21.4 论文结构22需求分析32.1 可行性分析32.1.1 技术可行性分析32.1.2 经
9、济可行性分析32.1.3 操作使用可行性分析32.1.4 系统安全的可行性分析32.2 系统功能需求32.2.1 功能需求32.2.2 性能需求42.2.3 用例分析42.2.4 业务流程分析7小结:83 系统设计93.1系统功能模块图设计93.2 登录模块的设计103.3 用户注册功能模块的设计113.4用户申请为乘客功能的设计123.5用户申请为司机模块的设计133.6乘客进行预约下单模块的设计143.7管理员审批功能设计153.8管理员用户管理功能的设计17小结:174 数据库分析184.1数据库184.2数据库的理念184.3数据库概念结构184.4网约车管理系统-数据库的逻辑分析20
10、4.5网约车管理系统-数据库的物理21小结:245 结论与展望251绪论1.1 课题背景和意义时代的进步催生了一些事物,网约车便是近年社会发展的衍生物,并且在不长的时间内占领了大批市场,规模的日益扩大,一些负面的东西也开始浮出水面,犹如一颗石子投入水中,涟漪不断扩张。中国有句古话,无规则不成方圆。在一 些丑陋的现象下一套用于监管网约车行业的规章制度和显得尤为重要:司机为多 赚钱拉顾客绕远路,乘客遗失在车内的物品不予归还,车内脏乱差的环境,网约车管理系统是一套方便通过社会各界人士来监管及规范网约车服务的系统,通过不同角色的评价可以很确切的给出很多真实的数据,通过这些数据可以对每一位网约车司机的行
11、为做一个中肯的判断,根据判断可以对司机做一些利益上、道德上、法律上的一些处理,从而对司机乃至这一市场的进行一个规范和约束。本系统采用了B/S架构的开发模式即:服务端与浏览器模式,这是一种快捷的操作方式不需要占用用户的很多的资源及内存依赖浏览器便可以完成想要的操作。后台的开发选用java语言,主要实现的功能为:客户对订单的操作,客户的投诉建议操作,司机的信息录入,各个角色的权限控制功能,监管人员对司机信息的查看以及曝光等功能;前台界面采用了EXT框架,结合原生的js和jquery,简化了html和一些复用性较高的JS的代码编写,节省了开发时间减轻了开发量。本系统以自身庞大的数据存储为基础,能够高
12、效而准确的计算和分析出大量数据所从而得出最为合理和真实的结果。最重要的是系统可以最大程度化的节省人力,真正意义上的做到一劳永逸的效果,程序不会随着时间的流逝而导致数据的遗失和损坏,如果说使用人力来完成这一项任务,那么这将是无比庞大的一个工程,还有大量人员的长期的工资花费,随着数据量的不断增加在一定时间后两种花费的比例将会成一个几何倍的增加,这其中还可能存在因人员失误所造成的数据错误和一些不可控事情的发生。对比之下系统所节省的资源是一极其庞大的。它的实用性和高效性已然不言而喻,我们已经从几个角度对于管理系统的优点做了突出,所以开发一套高效且实用性较高的管理系统是非常有必要的。1.2 研究现状国际
13、上对网约车行业政策的指向。在美国和英国对网约车代表Uber进行了限制,在欧洲大陆部分国家甚至完全判定Uber违法。可以看出整个国际社会对网约车行业还是以限制为主,这主要是考虑到出行行业其它从业者利益平衡、出行行业的社会责任属性、国家税收、行业监管等方面问题。中国国内政策指向。2016年7月28日出台的网络预约出租汽车经营服务管理暂行办法(以下简称网约车管理办法)虽然明确了网约车的合法地位,但是文章中提到监管层也做了清晰的定位:配套新政需要“以巡游出租车为主、约租车(网约车)为辅,在价格上要层次分明、竞争有序”。通过以上表述和各地相继出台的网约车管理办法实施细则来看,国家只会允许网约车作为辅助,
14、成为巡游出租车和公共交通的补充,国家并不希望网约车成为大众化的出行方式,所以各地实施细则做出的各方面限制也只是手段而已,目的是限制网约车发展的规模。1.3 研究内容主要实现的功能为:乘客对自己信息的编辑功能,乘客对司机信息的浏览功能,乘客对司机的投诉功能:根据司机是否绕路,是否恶意加价,乘客对司机的曝光功能:乘客对一些不良的现象进行曝光,乘客的建议功能,司机编辑自身信息功能,司机客户的投诉建议操作,司机的信息录入,管理员审核乘客投诉功能,管理员审核乘客订单信息并进行对订单的分配功能,交通执法者根据车主的交通违规情况进行对车主的诚信值进行增加或减少,交通执法者根据司机的信誉值已经乘客的投诉建议情
15、况进行对司机的管理警告或者取消其司机权限,管理员根据不同的角色的功能性分析和安全性分析对各个角色或者用户动态分配。1.4 论文结构本论文一共五章,其结构如下:第一章:绪论。主要提出了国内外的研究现状和要研究的内容与研究的背景。第二章:阐述了系统的需求分析。主要包括对系统的各种可行性分析和功能需求的分析,用例的分析以及对数据流程的分析。第三章:阐述了系统设计思想,模块设计。第四章:数据库的分析与设计。第五章:结论。2需求分析2.1 可行性分析本项目的开发、运行和维护对硬件和软件的需求不高,因此本项目将会根据如下的几点来分析判断现有条件下设计系统的价值。2.1.1 技术可行性分析前台界面采用了EX
16、T框架,结合原生的js和jquery,简化了html和一些复用性较高的JS的代码编写,节省了开发时间减轻了开发量。后台服务器端采用了springMVC+Spring+Mybatis,组合框架来作为系统的架构。2.1.2 经济可行性分析本系统从前台到后台全部使用了框架进行开发,这种开发模式无疑缩短了开发周期,加快了开发效率,在软件这个以程序员工资为主要开销的开发成本上无疑大大的减少了经济投入。2.1.3 操作使用可行性分析本系统采用简洁明了的图形化页面来进行系统的功能化视图,让操作变得直观明了,加之简单快捷的操作按钮,令系统的用户体验度非常的高,这无疑很好的表现了系统的操作使用可行性。2.1.4
17、 系统安全的可行性分析本系统在开发中利用以框架本身所封装的安全编码格式进行规范化的编码,从前期设计到正式编码安全问题都以通过健壮的代码进行了规避,所以在系统安全上具有可行性。2.2 系统功能需求2.2.1 功能需求本系统的主要功能有:1、色授权:根据不同角色,可给予不同权限来控制各个角色的操作范围。2、车型设置:司机所使用车辆车型。3、乘客信息编辑:乘客完善自己的个人信息。4、乘客信息审批:管理员浏览乘客信息,并根据乘客信息的完整程度给予相应操作权限。5、网约车信息编辑:司机根据如实填写自己的信息。6、网约车审批:管理员根据司机信息填写的真实度及完整度,给予审批通过与否。7、网约车公司信息:公
18、司申请网约车需要填写的公司相关信息。8、网约车公司审批:管理员根据网约车公司的状况及信息的真实程度进行给予通过或不通过。9、用户下订单:用户填写订单信息,预约车辆。10、订单审核:根据用户填写的订单进行审核。11、用户催单:如自己等待的车辆长时间未出现,用户可进行催单操作。12、曝光操作:用户可根据自己发现的网约车不法行为进行曝光。13、执法者对司机进行诚信管理,和吊销网约车经营资格。14、集成微信、QQ登录功能。15、网约车公司管理:公司实行对内部员工的奖惩制度。2.2.2 性能需求为了保证系统能够安全稳定的运行,本系统对其性能的要求如下:(1) 并发性能在系统设计和开发过程中充分考虑并应用
19、并发性,这一点十分重要,因此在开始阶段我们就已经考虑了大量用户并发访问这个问题,所以本系统可以实现这个功能需求10。 (2) 系统的兼容性在测试阶段,着重测试了本系统对各大主流浏览器的兼容问题,处理了IE8带来的小的bug目前系统可以很好的支持各大浏览器。 (3) 系统安全性系统的sql采用mybatis框架的占位方式,所以可以很好的解决sql拼接问题。系统的密码才用了MD5加密方式,可以避免密码的泄露问题,在安全问题上系统做到了放心、安全的层面。2.2.3 用例分析为更好的实现将系统的的实体和实体所对应的业务,以及实体与实体之间的关系的功能的描绘需要用到建模图,系统中建模图的使用主要对于类的
20、功能进行建模。1、网约车系统乘客用例,如图2-1所示。图2-1 网约车系统乘客用例图用户注册登录页面,根据分配的权限执行权限范围内的功能,一般注册用户只能具有浏览功能,可进行乘客注册或司机注册获取角色所具有的权限2、网约车系统司机用例,如图2-2所示。图2-2 网约车系统司机用例图3、 网约车系统执法者用例,如图2-3所示。图2-3 网约车系统执法者用例4、系统管理员用例,如图2-4所示。图2-4网约车系统管理员用例网约车系统管理员可操作所有模块信息以完成对系统信息的管理,主要操作为,为不同角色分配权限,审核各个用户所录入的信息等。3、网约车系统主要用例(1)乘客预约用例描述表,如表2-1所示
21、表2-1乘客预约用例描述用例名称:乘客预约用户:乘客简介:乘客执行预约操作,匹配可预约的司机前置条件:乘客登录,填写合法的预约信息用例功能:乘客预约成功司机后完成下单操作事件流:触发预约事件,完成下单操作。异常事件流:遇到不可控因素预约被取消。(2)乘客投诉用例,如表2-2所示。表2-2乘客投诉的用例描述用例名称:乘客投诉用例用户:乘客简介:乘客执行投诉操作,投诉信息等待管理员审核。前置条件:乘客登录,如实填写投诉信息。用例功能:乘客触发投诉功能,对司机进行投诉事件流:乘客触发投诉事件,投诉信息提交异常事件流:注册账号已存在,账号密码输入错误(3)系统管理员操作用例,如表2-3所示。表2-3
22、系统管理员操作用例用例名称:系统管理员操作用户:系统管理员简介:系统管理员登录获得系统所有操作权限前置条件:系统设置管理员账号为不拦截状态用例功能:系统管理员进入操作页面事件流:系统管理员账号密码校验成功异常事件流:系统管理员账号密码输入错误(4)网约车车主注册登录用例,如表2-4所示。表2-4 网约车车主注册登录用例用例名称:司机登录用户:网约车车主简介:网约车车主登录成功获得可操作权限前置条件:网约车车主信息已审核通过用例功能:网约车车主进入操作页面事件流:在注册登录页面成功执行登录操作异常事件流:账号密码在数据库中未查询到2.2.4 业务流程分析对于网约车管理系统的业务功能进行分析和整理
23、,梳理好系统的业务功能及相互之间的关联关系,然后以图像的形式将这种业务和逻辑上的关联关系及其具体业务功能刻画出来。图2-5 核心业务流程图小结:需求分析是程序设计最重要的部分,一个完整的需求分析是可以为后程序的功能以及作用奠定良好的基础。3 系统设计3.1系统功能模块图设计从整个系统整体来进行划分,可以清晰的划分出许多功能模块,在对这些功能模块进行图形化,便更能清晰明了的表现出系统的功能模块,下面列出了系统的管理、用户操作等功能模块图:管理界面的网站功能模块图如图3-1所示。图3-1 系统管理界面功能模块图用户界面的系统功能模块图如图3-2所示。图3-2 一般用户功能模块图司机界面的系统功能模
24、块图如图3-3所示。图3-3 司机界面功能模块图3.2 登录模块的设计本部分的实现采用一个性能良好且功能强大的SpringMVC框架,它将用户账户密码信息封装到一个器具中,跟随者请求的步伐一起迈向服务器端,服务器端将传递而来的数据进行处理然后进行通向数据库的流入,似水流一般的融入最终存储且又确定的容器数据库中。如若此次活动成功,返还给用户的将是与之所对应的操作界面,如若相反,则停留不到且给予用户友好且准确的提示。用户登录后台系统模块,类图如图所示图3-4用户登录后台系统模块类图用户登录后台系统模块序列图,如图所示图3-5登录模块序列图3.3 用户注册功能模块的设计我们用户在系统后台注册页面的类
25、图描述和说明。不是每一个的自由人都可以注册成为我们的乘户,比如该乘户有没有犯过刑事责任,是不是拥有自理能力的人,有没有单独乘车的能力,这都需要注册以后提交给我们的管理者进行审核之后确认。具体的是现实强大的数据层会把数据以JSON的格式发送到服务器的Servlet,请求数据会首先提交到Register类的register()方法然后在行云流水般的送到SendPost类的sendPost()方,最终经过数据的层层流向Servlet中,数据库中的数据表中插入相应的方法的逻辑系统中的客户,然后搬到登记 。用户注册模块的实现,类图如图所示图3-6用户注册模块的实现类图用户注册功能模块,用户进入注册页面填
26、写注册信息,前端页面会有部分校验,和ajax效验,当确定数据没问题,用户点击确认注册后向服务器发送请求,并把注册信息传入后台,后台接收数据,并将数据存入数据库中,当执行完成后,向前台返回成功信息,并跳转至登录页面。用户注册模块序图,如图所示。图3-7登录模块序列图3.4用户申请为乘客功能的设计当用户注册成功且登录后,服务器会返回给用户一个操作页面,用可以点击相应的功能按钮来执行相应操作,点击乘客申请时,跳转至乘客信息填写页面,用户根据自身信息如实填写后,当信息通过简单校验后会存入乘客表中,此时用户并为具有乘客的功能和权限,状态为未审批,当管理员审批完该用户的信息完全属实后,会为该用户执行审批操
27、作,此时用户角色从一般用户变为了乘客,具有了乘客的权限和可操作项,简单的实现逻辑为,用户提交乘客信息导数据库中save(),管理员查看find()信息后修改update()用户状态为乘客。用户申请为乘客模块类图如图所示。图3-8用户申请为乘客模块类图用户申请为乘客模块序图如图所示。图3-9用户申请为乘客模块序图3.5用户申请为司机模块的设计一般用户登录后,可选择申请为司机,在点击进入申请司机页面后,进行填写申请司机所需要的信息,再信息填写完成并通页面校验后可进行提交申请信息,这些信息会被存储到数据库中,但此时用户状态为未审核状态,当管理员审批通过后,用户方可成为司机,并具有司机权限。用户申请为
28、司机类图,如图所示图3-10用户申请为司机类图用户申请为司机序列图,如图所示图3-11用户申请为司机序列图3.6乘客进行预约下单模块的设计乘客登录系统后会具有预约下单功能,乘客进入下单页面,填写订单详细信息,并将通过效验后的信息在此会在前台页面利用Jquery和js对所输入的数据进行格式和类型进行交易,进行提交,预约信息将会存入数据库中,待系统确认及审核该信息后,改变该信息状态,司机便能够查看该信息,进行接单。乘客预约下单操作类图,如图所示。图3-12乘客预约下单操作类图乘客预约下单操作序列图,如图所示图3-13 乘客预约下单时序列图3.7管理员审批功能设计网约车系统管理员可对乘客及司机的申请
29、消息进行查看和审批操作,管理员查看申请信息后,可根据填写信息的真实性进行核实,核实完成后,根据核实情况分别给予不同的审批结果操作,管理员所进行的操作描述:调用查看方法进行查看,然后根据信息执行update()操作,提交信息状态被改变。管理员审批功能实现类图,如图所示。图3-14管理员审批功能实现类图管理员审批功能实现序列图,如图所示。图3-15管理员审批功能模块序列图3.8管理员用户管理功能的设计管理员可根据系统能用户的一些不良操作,来尽心取消其权限功能,或者取消其用户资格,比如车主违规太多,管理员便可收回其车主账号,以此来对其进行惩罚。管理员用户管理序列图,具体见图图3-16管理员用户管理序
30、列图小结:系统设计是程序设计的核心部分,在设计的过程中国将各个模块分隔开来进行设计,从而达到了设计的目的,简单明了,让自己的思路清晰。4 数据库分析4.1数据库数据库简单来说就是存储系统中数据的一个集合,当然它不单单只具有存储这一功能,其还包括了关系建立,数据划分及管理等相关功能。Error! Reference source not found.本系统所采用的数据时mysql.4.2数据库的理念榆林市网约车管理系统的业务关系是建立在规范且具有合理关系和逻辑的数据库表上的,所以数据库表所承载的便是业务上的逻辑关系。4.3数据库概念结构用户实体如图4-1所示。图4-1 用户实体信息车主实体图4-
31、2所示。图4-2车主实体信息订单实体图4-3所示。图4-3 订单实体信息订单详情表实体图4-4所示。图4-4 订单详情实体信息评论表实体图4-5所示。图4-5 评论实体信息预约实体图4-6所示。图4-6 预约实体信息投诉实体图4-7所示。图4-7 投诉实体信息车型实体图4-8所示。图4-8 车型实体信息4.4网约车管理系统-数据库的逻辑分析一个系统的实现,数据库的设计是整个系统业务功能的合理性和正确性的必要条件之一,在对真个系统的的业务功能进行分析和整理后,构建出如下所示的数据库设计(其中编号(id)为主键)(1) user用户表(编号,账号,密码,是否被删除,系统名称,账号类型,账号状态)(
32、2) driver车主表(编号,车主名称,所属公司,入职时间,车型,车辆描述,性别,年龄,身份证号,个人简介,操作编号)(3) order订单表(编号,订单号,司机,派单人,派单时间,拍单描述,附件,图片,操作编号,订单状态)(4) orderdatil订单详情表(编号,预约单号,订单时间,订单号,订单描述,审批状态,可操作编号)(5) evaluate评论表(编号,订单号,车主,评价等级,评价描述,评价人,评价日期,附件,图片,操作编号)(6) bespeak预约表(编号,预约人,预约时间,预约地点,预约备注,预约单号,审批,附件,图片,操作编号,下单时间,详情)(7) complain投诉
33、表(编号,投诉司机,投诉理由,投诉日期,投诉人,投诉描述,附件,图片)(8) whip车型表(编号,车型类型,操作编号,操作时间,详情,状态)4.5网约车管理系统-数据库的物理(1)user表展示详情见表4-1所示。表4-1 user表字段类型位数主键备注IdInt11是IDUserAcctvarchar50否账号userPassvarchar50否密码DeleteFlagInt1否是否删除userNamevarchar50否用户名称UserTypeint1否用户类型statusint1否状态(2) driver表结构展示,详情见表4-2所示。表4-2driver表字段类型位数是否主键备注id
34、Int20是IDdNameInt20否姓名corpvarchar20否所属公司timevarchar0否时间carTime0否车型(3) order表结构展示,详情见表4-3所示。表4-3order表字段类型位数是否主键备注idInt20是编号itemvarchar20否 订单号dName varchar20否司机姓名aNamevarchar20否时间timedespriuIdstatusTimevarcharintint20502020否否否否车型描述用户编号状态(4) orderdatil表结构展示,详情见表4-4所示。表4-4orderdatil表字段类型位数是否主键备注idInt20是
35、编号itemvarchar20否 预约单号time data20否订单时间nodevarchar20否订单号descristatusuIdstatusvarcharintintint5022020否否否否描述描述用户编号状态(5) evaluate表结构展示,详情见表4-5所示表4-5evaluate表字段类型位数是否主键备注idInt20是编号itemvarchar20否 预约单号dName varchar20否车主姓名gradevarchar5否等级descripNameuIddataevaluatevarcharintintdatafile5022020否否否否否描述描述用户编号日期附件
36、(6) bespeak表结构展示,详情见表4-6所示。表4-6bespeak表字段类型位数是否主键备注idInt20是编号namevarchar20否 预约人姓名time data20否预约时间locationvarchar20否地址descriitemstatusuIdiTimevarcharvarcharintvarchardata5020220否否否否否备注单号审批用户编号下单时间(7)complain表结构展示,详情见表4-7所示。表4-7 complain表字段类型位数是否主键备注idInt20是编号dNamevarchar20否 投诉司机reason varchar50否 投诉理由
37、 timedata20否时间descrinameuIdvarcharvarcharvarchar502020否否否投诉描述单号乘客编号(8) whip表结构展示,详情见表4-8所示。表4-8 whip表字段类型位数是否主键备注idInt20是编号styleint2否车型类型dIdint20否司机编号timedata10否时间descrivarchar50否详情小结:数据库的设计与分析直接影响项目的功能,让我们更加容易的理解整个项目的思路,数据的流向。5 结论与展望通过这次的课程设计让我体会到了团队合作的重要性,一个大项目的设计与实现单单靠一个人根本无法完成,一个项目从系统分析开始到整个项目的完善需要太多太多的细节方面的问题,就从分析开始,如何来实现项目的完整性以及从社会的需求角度的需求分析 整个项目的开发虽然不是多么顺利但也在一路的磕磕绊绊中完成了,在这其中查阅了不少资料,得到了不少朋友老师的指点,对一些实际开发中的流程也有了一定的认识,第一个自己独立完成的项目,虽然有些遗憾,但也算成功实现了大部分预期的功能,最为重要的是在整个过程中所遇到的问题无疑成了自己的一笔财富,增长了不少开发经验,为以后的开发打下了一定的基础。