基於12306售票系統的需求分析與概念原型


1. 前言

  本文在中科大軟件學院孟寧老師的指導下完成,是一個基於對工程實踐選題中的12306火車售票系統分析,從而進行數據庫建模、接口設計等分析過程,最終形成概念原型的過程。

 

2. 項目介紹

  該項目來自於學校與企業合作選題,意在模擬實現一個12306售票系統,盡可能覆蓋真實線上系統,要求實現但不限於以下功能:

  1. 用戶信息注冊
  2. 查詢余票
  3. 售票
  4. 退票
  5. 改簽

  並在此基礎上,對一些讀寫接口的延遲以及並發請求做出了要求。

 

3. 需求分析概述

  1. 用戶系統需求分析

    • 用戶注冊
    • 用戶登錄
    • 用戶信息維護
    • 查詢余票信息
    • 查詢訂單信息

  2. 車次查詢系統需求分析

    • 根據用戶提供的起始站與終點站、時間數據返回相關的車次信息
    • 根據用戶提供的車次、時間數據返回相關的車次信息
    • 根據用戶提供的車站、時間數據返回當天停留的車次信息

  3. 訂單系統需求分析  

    • 售票:根據用戶提交的信息生成訂單
    • 改簽:根據用戶提交的訂單信息與改簽信息對訂單進行修改
    • 退票:根據用戶提供的請求取消訂單
    • 候補:根據用戶提交的信息生成候補訂單

 

4. 用例建模設計

  用例是一個業務過程(business process),經過邏輯抽象得到的業務過程。而業務過程則是在軟件開發所處的領域內的一系列特定業務。

  用例建模的基本步驟如下:

  1. 從需求表述中找出用例,一般是動名詞短語表示的抽象用例。
  2. 描述用例的開始和結束狀態。
  3. 對用例按照子系統或不同的方面進行分類,描述用例與用例、用例與參與者的上下文關系。
  4. 逐一分析參與者的詳細交互過程,完成用例建模。

  在實現該項目時,考慮到方便分工合作降低耦合度,故而設計成三個大的模塊系統,得到以下用例:

  

 

5. 業務領域建模

  業務領域建模即時開發團隊用於獲取業務領域知識的過程。在不同的項目里,開發者們一般工作的領域並不太相同,業務領域建模可以幫助開發團隊形成統一的業務認知。

  業務領域建模的過程大致如下:

  1. 收集業務領域相關信息
  2. 執行團隊頭腦風暴
  3. 對業務領域相關的知識概念進行分類
  4. 用UML類圖將業務領域知識圖形化展示

  在該系統中,可以得到大致如下的UML類圖:

  

 

6. 數據模型設計

  數據模型是數據特征的抽象,從抽象層次上描述了系統的靜態特征、動態行為和約束條件,其為數據庫系統的信息表示與操作提宮了一個抽象框架。

  數據模型由三部分組成:數據結構、數據操作、數據約束。

  在本系統中,可以建立如下數據模型:

  1. 用戶表  
字段名稱 字段類型 字段描述
username varchar

用戶名稱

userid int 用戶id(主鍵)
password varchar 用戶密碼
name varchar 用戶姓名
sex varchar 用戶性別
email varchar 用戶郵箱

 

  2. 訂單表

字段名稱 字段類型 字段描述
orderid int 訂單id(主鍵)
userid int 用戶id(外鍵)
trianid varchar 火車id(外鍵)
sertid varchar 座位id
status varchar 訂單狀態
ordertime datetime 訂單生成時間

 

  3. 站點表

字段名稱 字段類型 字段描述
stationid int 站點id(主鍵)
city varchar 站點城市
name varchar 站點名字

 

  4. 列車表

字段名稱 類型 字段描述
trainid int 列車id(主鍵)
traintype varchar 列車類型
started_station varchar 起始站(外鍵)
arrived_station varchar 終點站(外鍵)

 

  5. 聯系人表

字段名稱  字段類型 字段描述
id int 聯系人信息id(主鍵)
userid int 用戶id(外鍵)
name varchar 姓名
id_number varchar 證件號碼

 

  6. 車票表

字段名稱 字段類型 字段描述
id int 車票id(主鍵)
traid_id int 車次id(外鍵)
started_station varchar 出發站名稱(外鍵)
arrived_station varchar 到達站名稱(外鍵)
startd_time datetime 出發時間
seat_number varchar 座位號

 

7. 總結

  本篇博客簡要地介紹了在實現12306系統過程中的概念模型分析、功能設計、概念原型設計的過程。在此過程中遇到了不少問題,通過解決這些問題對系統本身業務的理解上升了一個層次,也學習到了軟件工程的相關思想,在此感謝任課老師的指導。文中所涉及的具體實現細節仍待補充,擬在工程實踐的過程中不斷對其完善。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM