摘 要本文對在線劇院預(yù)訂系統(tǒng)進(jìn)行了分析研究。
【關(guān)鍵詞】劇院 預(yù)訂系統(tǒng) 數(shù)據(jù)庫
羅德莎劇團(tuán)是一個地區(qū)性的演員團(tuán)體,通常在一個劇院里演出,而且在三個州的鄰近城市的幾個劇院里演出戲劇和綜藝節(jié)目。這個劇團(tuán)每年有幾十個活躍的演員,數(shù)百個捐助者和近20個新的節(jié)目,發(fā)現(xiàn)自己需要一個數(shù)據(jù)庫應(yīng)用程序。但是,像許多藝術(shù)機(jī)構(gòu)一樣,它幾乎沒有錢。事實上,有幾種商業(yè)系統(tǒng)可以處理票務(wù)銷售,但是主要的劇院仍然依靠票房銷售票據(jù),因為業(yè)務(wù)經(jīng)理不愿花錢購買電子系統(tǒng)。如果它能夠以合理的成本建立起來,并且可以在最小干預(yù)的情況下可靠運行,那么業(yè)務(wù)經(jīng)理就有興趣談?wù)撘粋€簡單的基于Web的系統(tǒng)來銷售演出門票。但是,目前最重要的項目是跟蹤個人演出,演員和時間表的系統(tǒng)。
這個劇團(tuán)是一個非盈利性的公司,由一個總經(jīng)理來管理,由一個董事會來管理。大多數(shù)董事會成員都是對劇院感興趣的捐助者,但是其中包括商界人士。業(yè)務(wù)經(jīng)理負(fù)責(zé)處理金錢和會計。公司還設(shè)有營銷經(jīng)理,與新聞界保持聯(lián)系,幫助設(shè)計宣傳活動,并與其他影院進(jìn)行互動。每個節(jié)目都會雇傭個人制片人和導(dǎo)演。在這個組織中,制片人負(fù)責(zé)組織業(yè)務(wù)細(xì)節(jié),并幫助將該項目推廣到其他影院。
對于一個小劇場來說,每個表演可以以不同的價格處理200個座位的銷售,這可能是一件非常乏味的事情。考慮到績效銷售,一個錯位的機(jī)票存根可能會造成嚴(yán)重破壞。適當(dāng)?shù)碾娔X使用可以減少完成這些工作所需的時間,并減少人力成本,使劇場更具競爭力。
1 傳統(tǒng)的劇院預(yù)訂系統(tǒng)
劇院提供基礎(chǔ)設(shè)施和演出設(shè)施,同時讓觀眾享受這個收費。預(yù)訂系統(tǒng)用于確保顧客可以提前購買特定演出的門票,并避免在最后一刻被拒絕。劇院管理層也希望門票盡早出售,無論是出于經(jīng)濟(jì)原因(Hillenbrand 2001),還是為了避免表演即將開始前的長長的隊伍。劇院票房是預(yù)定的部分,是劇院與公眾之間的第一個聯(lián)系點(Schneider&Ford; 1993;Grippo 2002,Hillenbrand 2001)。
前電子時代票房包括一個劇院售票點,一個顧客可以購買一張或多張門票,并有一些座位位置的偏好。票房掌柜會為每場演出制作一個票房的紙質(zhì)圖紙,并附有相應(yīng)的票券。贊助人可以獲得劇院圖表來指示優(yōu)選的座位,但是通常不允許實際看到司庫的計劃,因為司庫的一部分工作是在劇場周圍分發(fā)觀眾以增加舒適感(并非所有的顧客在同一個角落,而其他許多席位空缺),并為了宣傳的原因給人印象深刻的演出(即使劇場不滿)(Reid 1983;Langley 1980)。在這個過程中,財務(wù)主管會首先嘗試出售高價位的座位(Langley,1980)。以這種方式預(yù)訂座位并購買機(jī)票將是顧客和掌柜之間的面對面談判。財務(wù)主管也應(yīng)該對所涉及的表現(xiàn)有所了解,以便能以積極的態(tài)度處理顧客的問題(Sweeting 1969)。贊助者最終將支付商定的座位,并獲得印有各自座位號的票。司庫必須仔細(xì)標(biāo)記出售的每張票的劇院座位計劃上的座位,以避免錯誤地出售兩次同一座位的可能性。
2 軟件模塊設(shè)計
2.1 用例設(shè)計說明
2.1.1 用于注冊的用例
用例名稱:注冊;
參與者:終端用戶;
用例說明:用戶在訪問系統(tǒng)之前使用的用例;
常規(guī)事件流程:
(1)用戶點擊鏈接注冊會員;
(2)會員在屏幕上輸入會員資格;
(3)系統(tǒng)檢查用戶名的可用性;
(4)系統(tǒng)生成會員ID;
(5)系統(tǒng)在數(shù)據(jù)庫中記錄會員信息;
備用流程:如果用戶沒有填寫所有必填字段,則會提示填寫;
前提:用戶未登錄劇院預(yù)訂網(wǎng)站;
后置條件:系統(tǒng)必須記錄新成員的會員信息。
2.1.2 用于登錄的用例
用例名稱:登錄;
參與者:管理員/終端用戶;
用例說明:這個用例被參與者用來訪問系統(tǒng);
常規(guī)事件流程:
(1)管理員/用戶通過單擊“登錄”按鈕來調(diào)用用例;
(2)管理員/用戶輸入登錄名和密碼;
(3)系統(tǒng)驗證并驗證登錄名和密碼;
(4)用例實例終止;
備用流程:如果登錄名和密碼無效,則管理員/用戶必須重新輸入有效的用戶名或密碼;
前提:管理員/用戶必須是注冊了的;
后置條件:管理員/用戶可以訪問系統(tǒng)或只是退出;
假設(shè):管理員不在線。
2.1.3 驗證帳戶的用例
用例名稱:驗證賬戶
參與者:終端用戶;
用例說明:這個用例被參與者用來驗證創(chuàng)建的帳戶;
常規(guī)事件流程:
(1)用戶需要點擊驗證帳戶鏈接;
(1)用戶將使用創(chuàng)建的電子郵件地址和密碼;
(3)系統(tǒng)驗證并驗證電子郵件和密碼;
(4)用例實例將查看帳戶詳細(xì)信息;
備用流程:用戶需要記住注冊的細(xì)節(jié),尤其是電子郵件地址,以驗證帳戶;
前提:用戶已經(jīng)創(chuàng)建了了一個帳戶;
后置條件:用戶需要驗證帳戶才能確認(rèn)并激活帳戶;
假設(shè):用戶完成注冊。
2.1.4 查看節(jié)目的用例
用例名稱:查看節(jié)目;
參與者:終端用戶;
用例說明:這個用例被參與者用來查看顯示細(xì)節(jié);
常規(guī)事件流程:
(1)用戶必須正確輸入用戶名和密碼;
(2)系統(tǒng)驗證并驗證登錄名和密碼;
(3)系統(tǒng)將顯示顯示菜單的主頁;
(4)用戶現(xiàn)在可以選擇顯示可用并查看顯示詳細(xì)信息;
備用流程:如果用戶還沒有選擇節(jié)目,系統(tǒng)會提示錯誤信息或系統(tǒng)終止;
前提:用戶必須注冊并成功創(chuàng)建了一個帳戶;
后置條件:系統(tǒng)必須在會員登錄時顯示“顯示詳細(xì)信息”;
假設(shè):用戶不在線;
2.1.5 查看演員的用例
用例名稱:查看演員;
參與者:終端用戶;
用例說明:這個用例被參與者用來查看演員的詳細(xì)信息;
常規(guī)事件流程:
(1)用戶必須正確輸入用戶名和密碼;
(2)系統(tǒng)驗證并驗證登錄名和密碼;
(3)系統(tǒng)將顯示顯示菜單的主頁;
(4)用戶現(xiàn)在可以選擇演員并查看演員計劃和演出;
備用流程:如果用戶還沒有選擇演員,系統(tǒng)會提示錯誤信息或系統(tǒng)終止;
前提:用戶必須注冊并成功創(chuàng)建了一個帳戶;
后置條件:用戶現(xiàn)在可以繼續(xù)觀看或只是退出;
假設(shè):用戶在線。
2.1.6 查看時間表的用例
用例名稱:查看時間表;
參與者:終端用戶;
用例說明:這個用例被參與者用來查看時間表;
常規(guī)事件流程:
(1)用戶必須正確輸入用戶名和密碼;
(2)系統(tǒng)驗證并驗證登錄名和密碼;
(3)系統(tǒng)將顯示顯示菜單的主頁;
(4)用戶現(xiàn)在可以選擇特定的時間表和相應(yīng)的演員;
備用流程:如果用戶選擇了時間表,用戶現(xiàn)在將進(jìn)入查找剩余的座位;
前提:用戶必須注冊并成功創(chuàng)建了一個帳戶;
后置條件:系統(tǒng)必須在用戶登錄時顯示計劃;
假設(shè):用戶在線。
2.1.7 查找剩余座位的用例
用例名稱:查找剩余座位;
參與者:終端用戶;
用例說明:這個用例可以被參與者用來查找剩余座位;
常規(guī)事件流程:
(1)用戶必須正確輸入用戶名和密碼;
(2)系統(tǒng)驗證并驗證登錄名和密碼;
(3)系統(tǒng)將顯示顯示菜單的主頁;
(4)用戶現(xiàn)在將尋找剩余的座位;
備用流程:如果用戶選擇了座位,則用戶現(xiàn)在將繼續(xù)支付票據(jù);
前提:用戶必須是注冊了的;
后置條件:確認(rèn)座位后,繼續(xù)支付車票;
假設(shè):用戶在系統(tǒng)上并選擇一個時間表。
2.1.8 購買票的用例
用例名稱:購買票;
參與者:終端用戶;
用例說明:這個用例可以被參與者用來對購買的票進(jìn)行查看;
常規(guī)事件流程:
(1)用戶必須正確輸入用戶名和密碼;
(2)系統(tǒng)驗證并驗證登錄名和密碼;
(3)用戶將通過點擊“購買”按鈕選擇付款方式;
(4)系統(tǒng)將在付款后顯示票務(wù)詳情;
備用流程:如果用戶已經(jīng)核實了所有的細(xì)節(jié),票將被發(fā)送和打印;
前提:用戶必須注冊并創(chuàng)建了一個帳戶;
后置條件:系統(tǒng)必須在采購單中顯示詳細(xì)信息;
假設(shè):用戶正在系統(tǒng)上確認(rèn)一個剩余的座位。
2.1.9 用于注銷的用例
用例名稱:注銷;
參與者:終端用戶;
用例說明:這個用例可以被參與者用來注銷系統(tǒng)賬戶;
常規(guī)事件流程:
(1)用戶通過單擊“注銷”按鈕調(diào)用用例;
(2)用戶將關(guān)閉所有使用的窗口;
(3)系統(tǒng)確認(rèn)用戶是否繼續(xù)注銷;
(4)用例實例終止;
備用流程:用戶只需點擊注銷按鈕,系統(tǒng)會確認(rèn)用戶是否繼續(xù)注銷;
前提:用戶必須是注冊了的;
后置條件:用戶將離開系統(tǒng);
假設(shè):用戶在線。
2.1.10 修改節(jié)目的用例
用例名稱:修改節(jié)目;
參與者:管理員;
用例說明:這個用例被參與者用來在系統(tǒng)中修改節(jié)目;
常規(guī)事件流程:
(1)管理員選擇修改節(jié)目選項;
(2)管理員現(xiàn)在將更改節(jié)目詳細(xì)信息;
(3)系統(tǒng)驗證對節(jié)目的更改,如果有效,它將被保存;
(4)系統(tǒng)更新節(jié)目,并從詳細(xì)信息中更改;
備用流程:節(jié)目的任何改變將被保存在數(shù)據(jù)庫中;
前提:管理員必須通過身份驗證;
后置條件:節(jié)目被修改并保存在數(shù)據(jù)庫中;
假設(shè):管理員在線。
2.1.11 修改參與者的用例
用例名稱:修改參與者;
參與者:管理員;
用例說明:這個用例可以被參與者用來修改參與者信息;
常規(guī)事件流程:
(1)管理員選擇修改參與者選項;
(2)管理員現(xiàn)在將更改參與者的詳細(xì)信息;
(3)系統(tǒng)驗證對參與者的更改,如果有效,它將被保存;
(4)系統(tǒng)更新從參與者的詳細(xì)信息中更改;
備用流程:任何對參與者數(shù)據(jù)的更改都會保存在數(shù)據(jù)庫中;
前提:管理員必須是注冊了的;
后置條件:管理員可以訪問系統(tǒng)或只是退出;
假設(shè):管理員在線。
2.1.12 修改時間表的用例
用例名稱:修改時間表;
參與者:管理員;
用例說明:這個用例可以被參與者用來修改時間表;
常規(guī)事件流程:
(1)管理員選擇修改計劃選項;
(2)管理員現(xiàn)在將更改計劃詳細(xì)信息;
(3)系統(tǒng)驗證對時間表的更改,它將被保存;
(4)系統(tǒng)將更新計劃詳細(xì)信息中的更改;
備用流程:任何對時間表的修改都會保存在數(shù)據(jù)庫中;
前提:管理員必須是注冊了的;
后置條件:管理員可以訪問系統(tǒng)或只是退出;
假設(shè):管理員在線。
2.1.13 修改價目表的用例
用例名稱:修改價目表;
參與者:管理員;
用例說明:參與者使用該用例來修改節(jié)目的價目表;
常規(guī)事件流程:
(1)管理員選擇每個節(jié)目的修改價格列表;
(2)管理員現(xiàn)在將更改價目表詳情;
(3)系統(tǒng)驗證價目表的變化,它將被保存;
(4)系統(tǒng)將更新價目表詳細(xì)信息;
備用流程:價目表的任何更改都將保存在數(shù)據(jù)庫中;
前提:管理員必須是注冊了的;
后置條件:管理員可以訪問系統(tǒng)或只是退出;
假設(shè):管理員在線。
2.1.14 修改費用的用例
用例名稱:修改費用;
參與者:管理員;
用例說明:這個用例被參與者用來訪問系統(tǒng);
常規(guī)事件流程:
(1)管理員選擇每個節(jié)目的修改費用;
(2)管理員現(xiàn)在將更改費用明細(xì);
(3)系統(tǒng)驗證費用的變化,它將被保存;
(4)系統(tǒng)將更新費用明細(xì)的更改;
備用流程:費用的任何變化都將被保存在數(shù)據(jù)庫中;
前提:管理員必須是注冊了的;
后置條件:管理員可以訪問系統(tǒng)或只是退出;
假設(shè):管理員在線。
2.1.15 修改捐助者的用例
用例名稱:修改捐助者;
參與者:管理員;
用例說明:這個用例被參與者用來訪問系統(tǒng);
常規(guī)事件流程:
(1)管理員選擇每個節(jié)目的修改捐助者;
(2)管理員現(xiàn)在將更改捐助者的詳細(xì)信息;
(3)系統(tǒng)驗證捐助者的變化,它將被保存;
(4)系統(tǒng)將更新來自捐贈者詳細(xì)信息的更改;
備用流程:捐助者的任何變化將被保存在數(shù)據(jù)庫中;
前提:管理員必須是注冊了的;
后置條件:管理員可以訪問系統(tǒng)或只是退出;
假設(shè):管理員在線。
2.1.16 修改員工的用例
用例名稱:修改員工;
參與者:管理員;
用例說明:這個用例可以讓參與者來修改員工信息;
常規(guī)事件流程:
(1)管理員選擇每個節(jié)目的修改人員;
(2)管理員現(xiàn)在將更改員工詳細(xì)信息;
(3)系統(tǒng)驗證員工的變化,并將被保存;
(4)系統(tǒng)將更新員工詳細(xì)信息中的更改;
備用流程:工作人員細(xì)節(jié)的任何變化都將被保存在數(shù)據(jù)庫中;
前提:管理員必須是注冊了的;
后置條件:管理員可以訪問系統(tǒng)或只是退出;
假設(shè):管理員在線。
2.1.17注銷用例(管理員端)
2 數(shù)據(jù)E-R圖
如圖1所示。
3 結(jié)論及概要
對于功能齊全的劇院預(yù)訂系統(tǒng),數(shù)據(jù)庫表格設(shè)計需要進(jìn)一步的工作。已經(jīng)發(fā)現(xiàn)易于使用和有效的查詢和報告應(yīng)該保留,盡管在調(diào)整表格結(jié)構(gòu)時必須對其進(jìn)行修改。應(yīng)該保持精簡有效程序的努力。只有這樣,系統(tǒng)才能適合試用實際的實施。
盡管在這種情況下不能充分表現(xiàn)出來,但從前面章節(jié)討論的工作中可以得出結(jié)論,一個200座的劇院預(yù)訂系統(tǒng)可以使用MYSQL數(shù)據(jù)庫來構(gòu)建。數(shù)據(jù)庫設(shè)計原則必須實施,以確保所有表間關(guān)系的正確和充分建立,以便所有MYSQL功能可以不受限制地執(zhí)行。劇院座位的合適的圖形表示可能超出了Access的能力,因此不構(gòu)成系統(tǒng)的一部分,因此仍然必須使用傳統(tǒng)的紙面計劃。由于它使用了一個通用的,低成本的數(shù)據(jù)庫軟件包,以及快速和準(zhǔn)確的信息輸出,結(jié)合在線預(yù)訂功能,預(yù)算有限的小型劇院通過實施完整的系統(tǒng)版本將有很大的收獲。
作者簡介
石澤宏,男,河北省保定市人。江西省南昌大學(xué)軟件學(xué)院學(xué)生。主要研究方向為機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘。
作者單位
南昌大學(xué) 江西省南昌市 330031