1 平台需求分析
基于微信小程序的信工微巴士订票系统的用户角色分为普通用户(学生)和管理员用户俩类,在用户使用平台的过程中,管理员在管理页面发布新的线路,与该线路下的车次信息,用户通过个人账户下单,提交订单信息与该订单下的旅客信息,完成报名工作,管理员可在后台查看某班次的报名情况安排车辆。当用户遇到困难时可在意见反馈中提交个人信息与反馈信息。当长时间没有得到回复可在线联系客服人员。各用户功能需求如图所示。

1.1 学生用户需求分析
学生用户指试图在信工微巴士订票系统下单订票的用户,其主要功能包括:注册账号、修改密码、添加乘客信息、删除乘客信息、购票、退票、查看订单状态、查看车票信息、意见反馈、积分签到、应用推荐等功能。下图为学生用户用例图。

学生用户具体功能需求如下所述:
(1) 用户注册模块:用户最初登录时使用的是游客身份,无法进行添加旅客,下单,查看订单信息等操作,游客可通过注册模块注册个人账号。因为用户下单,添加旅客时需要提交用户的账户信息用于纪录账户信息。
(2) 登录模块: 在用户注册后,可以登入平台,登录后可以对我的旅客进行修改。选择路线后下单,查看我的订单信息等。
(3) 我的旅客模块:学生用户可以在我的旅客模块对我的旅客信息进行增删改查,在下单页面也可新增旅客。方便后续购票选择。
(4) 购票模块:用户可以在购票页面搜索后选择自己的路线,选择适合自己的时间班次,填写个人信息,选择乘车旅客,下单付款。
(5) 订单管理模块:用户可以在订单页面查看自己的历史订单纪录,包括已经退款,已经取消,已经完成或待出行的订单,同时可以对订单进行退款,取消,付款等操作。
(6) 意见反馈模块:已经登录的用户在体验程序,行程后,当对本次服务存在不满时可在意见反馈模块将本次服务中的不足之处提交,方便服务方提供更好的服务。
(7) 积分签到模块:为了提高小程序用户的使用率和带给用户更多的优惠,增加了签到功能,签到可获得积分,当下单时每满一定积分可抵扣部分金额。
(8) 其他功能模块:为用户提供小程序分享功能,关于我们,联系客服等功能。

1.2 管理员用户需求分析
管理员用户为,服务方为了管理各线路以及各班次选择出来的人员。作为平台的主要参与者,可以对线路,路线进行增删改查,方便服务方管理。下图为管理员用户用例图。

管理员用户具体功能需求如下所述:
(1) 线路管理模块:当服务方需要新增线路时(如当前线路无杭电信工至温州线路),管理员用户可以在线路管理模块填写信息新增一条线路。若线路新增错误,管理员用户可直接在当前模块内修改。
(2) 车次管理模块,管理员可在车次管理页面对某线路下的车次进行增删改查。修改发车时间。
(3) 订单信息管理模块:管理员可在当前页面下查看某班次下的旅客信息,打印生成xlsx文件,方便线路管理者进行人数点名。
2 数据库需求分析
设计数据库需要确定平台对哪些数据需要进行持久化操作,通过对基于微信小程序的信工微巴士订票系统的功能需求进行分析,可以得到该系统的数据需求。
(1) 用户最初进入微信小程序是以游客身份进入,无法进入下单页面,我的旅客页面与订单页面。因此需要一个用户表单(user_msg)来存放普通用户的账户信息。
(2) 一个用户下可能需要购买多个旅客的订单,所以需要一个旅客表单(passengers_msg)来存放旅客信息(姓名,手机号,身份证号),方便用户同时购买多人订单。
(3) 通常情况下,一条线路不会仅有一辆车次,因此需要一个线路表单(line_msg)来存放线路信息(出发地,目的地,线路价格等信息用于展示)
(4) 每个线路下需要安排多个不同时间的车次供学生选择,因此需要一个车次表单(bus_msg)来存放车次信息(发车时间,预计到达时间,金额等数据)。
(5) 当用户选择完线路以及车次后,需要一个订单表单(order_msg)来存放订单信息(对应的车次,订单金额,是否支付)。
(6) 一个订单下可以存在多个旅客,若在订单中存放旅客id,则会导致旅客信息修改,订单中的旅客信息也会跟着修改,所以需要一个单独的订单旅客表单(order_passengers)来存放订单下旅客的信息。
(7) 当旅客发现行程中的问题,需要投诉反馈是会提交反馈信息与用户信息,因此需要一个意见反馈表单来存放用户意见信息(opinion_msg)。
(8) 提交意见反馈时可能附带多张图片信息。因此需要一个意见图片表单(opinion_photo)来存放某反馈下对应的图片路径。
3平台技术分析
现今,为了使软件拥有更好的可维护性和可扩展性,提高系统性能的健壮性。架构师都会对软件系统进行分层,最常见到的就是MVC分层模式,基于微信小程序的信工微巴士订票系统采用的便是下图的分层模式。

(1)Model层
①实体类对象存放与数据库中的属性值基本保持一致。
②成员变量+get/set方法把数据库字段映射为对象属性。
(2)Mapper层
①数据持久化,将数据存放到持久化的介质中,同时增加增删改查等方法。
②通过src/main/resources文件中的*.xml文件和model层中的数据对数据库进行操作。
(3)Service层
①用于存放业务逻辑处理,和一些关于数据库的操作,但并非直接对数据库进行操作。Service层中有接口,也有接口的实现方法,在接口的实现方法中需要(@Autowired)导入Mapper层,Mapper层才是直接对数据库进行操作的。
②Impl是把Service层和Mapper层进行整合操作,通过调用Mapper中的方法实现对数据的操作。
(4)Controller层
响应客户请求,截取每个URL请求,将前端传递的数据传递给响应的方法进行处理。
(5)View层
微信小程序界面采用了Mustache模板引擎。该引擎支持Javascript、PHP、Python、Perl 等多种编程语言。在小程序中,该引擎用于在WXML代码中嵌入JavaScript,使页面可以将从后台获取的数据展示出来。

杭电信工微巴士功能技术设计相关推荐

  1. 杭电信工计算机专业浙江省排名第几,2017杭州电子科技大学专业排名_杭州电子科技大学专业排行榜(2)...

    杭州电子科技大学怎么样,到底好不好 杭州电子科技大学是一所电子信息特色突出,经管学科优势明显,工.理.经.管.文.法.艺等多学科相互渗透的教学研究型大学.2015年被列为浙江省重点建设高校.学校现有下 ...

  2. 杭电信工--大数据期末考试试题

    CAP是指一致性.可用性.分区容忍性. T CAP是指在一个分布式系统中,不可能同时满足可用性.一致性.分区容忍性. T NoSQL数据库的BASE特性是指基本可用.持续性.软状态.最终一致性. F ...

  3. 杭电信工2018期末c语言试卷,2018C程序设计期末试卷(2018杭电A卷).doc

    PAGE 杭州电子科技大学学生考试卷(A)卷 考试课程 C语言程序设计 考试日期 2018年1 月 日 成绩 课 程 号 教 师 号 任课教师姓名 考生姓名 学号(8位) 年级 专业 座位号 说明: ...

  4. 微巴士阳光出行---竞品分析

    微巴士&阳光出行-竞品分析 一.首页 微巴士:[微巴士-首页] 阳光出行: 1.标题栏 微巴士:页面色调主要以淡黄色为主,给人一种很舒服的感觉:主要服务功能并列展示,除专线功能外,其他功能模块 ...

  5. ping32终端安全管理系统_通过Ping32工单管理功能使用教程

    越大的企业中使用的电脑就越多,当员工电脑出现了问题,需要运维人员维修.运维去处理问题势必会用掉大量的时间和精力,占用运维人员和问题电脑的员工的工作时间.Ping32终端管理系统的工单管理功能可有效减少 ...

  6. 杭电 2016 计算机组成原理,杭电计算机组成原理多功能ALU设计实验

    <杭电计算机组成原理多功能ALU设计实验>由会员分享,可在线阅读,更多相关<杭电计算机组成原理多功能ALU设计实验(6页珍藏版)>请在人人文库网上搜索. 1.杭州电子科技大学计 ...

  7. php微砍价源码,轻晓云微砍价功能热门上线!

    砍价小程序我想大家都有被亲朋好友强迫性的参与过,想到那句经典话术"帮我砍一刀呗".砍价活动的盛行还是得从某微电商品牌的发展带来的,从原价到最低价的诱惑力促使用户在各个微信渠道传播, ...

  8. 客服工单系统的工单管理功能

    客服工单系统是常见的企业信息应用软件,促进企业降低运营成本.有效提升客户留存,企业管理中占据举足轻重的作用.今天小编主要来介绍一下客服工单系统的工单管理功能. 工单管理功能: 首先为大家展示工单系统界 ...

  9. 【泛微E9功能点】考勤管理-应用设置

    [泛微E9功能点]考勤管理-应用设置

最新文章

  1. 今天下棋,结合以前一些技巧的总结
  2. Python_二叉树定义与遍历
  3. 解决Ubuntu下 Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
  4. Tomcat内部结构及工作原理学习
  5. 有向无环图拓扑排序(python实现)
  6. Kettle连接Mysql数据库异常
  7. 昨天添加的clustrMaps,忘了截屏,今天补上,就作为我在园子里的奠基。
  8. LeetCode 1382. 将二叉搜索树变平衡(中序遍历+二分递归)
  9. 高斯拟合 vc++代码_使用python+sklearn实现核岭回归和高斯回归的比较
  10. 快速理解孤儿进程和僵尸进程
  11. LeetCode 144. 二叉树的前序遍历(递归)(迭代)(颜色标记法)
  12. 新手学习Linux——搭建个人论坛
  13. android: PendingIntent的使用
  14. 微信小程序wxParse富文本解析
  15. 基于Java生鲜蔬菜食品商城系统详细设计和实现
  16. HttpClient 4 和 HttpClient 3 设置超时
  17. php imap gmail,php,imap,gmail和dreaded无法连接到'{imap.gmail.com:993 / imap / ssl}'
  18. cp -r命令 linux什么意思,linux命令 $- 是什么意思
  19. 学习java数组的练习代码
  20. HTML基础,大三老学姐在线总结

热门文章

  1. 如何用html布天猫页面,天猫前端系列教材 (四十七)- 其他页面 - 登录页面
  2. 如何在HomePod上更改Siri语音和口音?
  3. 如何系统化学Python?
  4. go 语言zip压缩包 读取
  5. 个人微信小程序云开发总结心得
  6. Transformer(“变形金刚”)
  7. 外网访问8080以及80端口失败问题解决
  8. 百度云直播的操作流程
  9. ASP+Access的安全隐患及对策(转)
  10. 【算法提高—蓝桥杯】阮小二买彩票