杭电信工微巴士功能技术设计
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,使頁面可以將從后臺獲取的數據展示出來。
總結
以上是生活随笔為你收集整理的杭电信工微巴士功能技术设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玩vr游戏的计算机配置要求,你的电脑能玩
- 下一篇: 文档服务器地址如何进入,如何登陆服务器地