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