TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN

NGUYỄN NGỌC QUỲNH ANH – 0112170

TRƯƠNG CHÂU LIÊN NGỌC – 0112357

HỆ THỐNG QUẢN LÝ VÉ

ĐẶT THEO MÙA PHỤC VỤ

CÁC SỰ KIỆN THỂ THAO, VĂN HOÁ

KHÓA LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

PGS. TS. ĐỒNG THỊ BÍCH THUỶ

NIÊN KHÓA 2001 - 2005

Lời cảm ơn

Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Đại Học

Khoa Học Tự Nhiên, TpHCM đã tạo điều kiện cho chúng em thực hiện đề tài tốt

nghiệp này.

Chúng em xin chân thành cảm ơn Cô Đồng Thị Bích Thuỷ đã tận tình hướng

dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài. Trong thời gian làm

việc với Cô, chúng em không những học hỏi được nhiều kiến thức bổ ích mà còn

học tập được tinh thần làm việc và thái độ nghiên cứu khoa học nghiêm túc của Cô.

Những lời chỉ bảo, giảng giải và động viên đúng lúc của Cô đã giúp chúng em rất

nhiều trong quá trình hoàn thành luận văn này.

Chúng em cũng xin chân thành cảm ơn Ban giám đốc công ty ELCA Việt Nam,

các chị Thoa, chị Dao… những người đã tận tình dìu dắt, định hướng và giúp đỡ

chúng em rất nhiều thời gian thực tập tại công ty. Những kiến thức, kinh nghiệm

thực tế thu được trong quá trình thực tập tại công ty sẽ là hành trang quí báu cho

chúng em bước vào đời.

Chúng con luôn ghi nhớ công ơn sinh thành, dưỡng dục của Ba, Mẹ. Ba mẹ luôn

đem lại nguồn động viên to lớn giúp đỡ con vượt qua những khó khăn trong cuộc

sống.

Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nổ lực của bản thân, nhưng

luận văn chắc chắn không tránh khỏi những thiếu sót, kính mong quý Thầy Cô tận

tình chỉ bảo.

Một lần nữa, xin chân thành cảm ơn và luôn mong nhận được những tình cảm

chân thành của tất cả mọi người.

Tp. Hồ Chí Minh 06/2005

Nguyễn Ngọc Quỳnh Anh & Trương Châu Liên Ngọc.

i

Mục lục

Mục lục .....................................................................................................................1

Danh mục ký hiệu viết tắt.......................................................................................4

Danh mục các bảng ................................................................................................5

Danh mục các hình .................................................................................................7

Mở đầu ...................................................................................................................10

Chương 1. Giới thiệu............................................................................................12

1.1 Giới thiệu đề tài luận văn........................................................................................................................... 12 1.2 Giới thiệu bài toán ...................................................................................................................................... 14 1.3 Hướng tiếp cận ............................................................................................................................................ 15 1.4 Nội dung nghiên cứu của luận văn............................................................................................................ 17 1.5 Tóm tắt các kết quả đạt được của luận văn ............................................................................................. 18 1.6 Bố cục luận văn ........................................................................................................................................... 20

Chương 2. Phân tích hệ thống ............................................................................21

2.1 Vé theo mùa ................................................................................................................................................. 21 2.1.1 Định nghĩa............................................................................................................................................. 21 2.1.2 Ý nghĩa của vé theo mùa ...................................................................................................................... 23 2.1.3 Đặc điểm chính của vé theo mùa cho các sự kiện hồi quy .................................................................. 24 2.2 Các loại vé theo mùa ................................................................................................................................... 25 2.2.1 Vé mùa theo chủ đề .............................................................................................................................. 26 2.2.2 Vé mùa nhiều lần vào ........................................................................................................................... 27 2.2.3 Vé mời................................................................................................................................................... 28 2.2.4 Vé mùa giảm giá................................................................................................................................... 29 2.2.5 Vé mùa nhiều ngày ............................................................................................................................... 30 2.2.6 Vé mùa nhiều chương trình .................................................................................................................. 31 2.2.7 Tóm tắt đặc điểm của từng loại vé theo mùa ứng với các loại sự kiện ............................................... 32 2.3 Giá vé theo mùa........................................................................................................................................... 33 2.4 Quy trình đặt và sử dụng vé theo mùa ..................................................................................................... 34 2.4.1 Quy trình đặt vé theo mùa .................................................................................................................... 36 2.4.2 Khó khăn của việc kiểm soát vé và mẫu thiết kế của vé theo mùa cần xây dựng .............................. 38 2.4.3 Cách sử dụng vé theo mùa.................................................................................................................... 41 2.5 Hủy thông tin đặt và gia hạn vé theo mùa ............................................................................................... 42 2.5.1 Hủy vé theo mùa:.................................................................................................................................. 42 2.5.2 Gia hạn vé theo mùa: ............................................................................................................................ 42 2.6 Các loại vé theo mùa được áp dụng cho từng sự kiện cụ thể................................................................. 43

1

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

2.6.1 Phim chiếu ở rạp ................................................................................................................................... 45 2.6.2 Thể loại bóng đá Championship........................................................................................................... 46 2.7 Phần liên kết với REAS .............................................................................................................................. 47 2.8 Lược đồ use case cho hệ thống bán vé theo mùa ..................................................................................... 49 2.8.1 Phía người tổ chức................................................................................................................................ 49 2.8.2 Phía khách hàng.................................................................................................................................... 54

Chương 3. Tổng quan về kiến trúc sử dụng......................................................59

3.1 Các kỹ thuật sử dụng.................................................................................................................................. 59 3.2 Kiến trúc ...................................................................................................................................................... 59 3.2.1 Các mô hình kiến trúc trong ứng dụng Web........................................................................................ 59 3.2.2 Kiến trúc theo mẫu MVC ..................................................................................................................... 62 3.2.3 Giới thiệu về Strut Framework............................................................................................................. 64

Chương 4. Mô hình thiết kế tổng quát................................................................66

4.1 Kiến trúc hệ thống ...................................................................................................................................... 66 4.1.1 Ứng dụng mẫu thiết kế vào kiến trúc của Strut ................................................................................... 66 4.1.2 Kiến trúc hệ thống ................................................................................................................................ 69 4.2 Package Diagram ........................................................................................................................................ 71 4.2.1 Phần chung............................................................................................................................................ 71 4.2.2 Phim ...................................................................................................................................................... 74 4.2.3 Championship ....................................................................................................................................... 77 4.3 Mô hình đối tượng ...................................................................................................................................... 79 4.3.1 Phần chung............................................................................................................................................ 79 4.3.2 Phim ...................................................................................................................................................... 87 4.3.3 Championship ....................................................................................................................................... 90 4.4 Mô hình dữ liệu ........................................................................................................................................... 93

Chương 5. Mô hình cài đặt ..................................................................................96

5.1 Sơ đồ các màn hình chính .......................................................................................................................... 96 5.1.1 Người tổ chức hệ thống ........................................................................................................................ 96 5.1.2 Khách hàng ......................................................................................................................................... 102 5.2 Ràng buộc toàn vẹn................................................................................................................................... 110 5.3 Phần liên kết với REAS ............................................................................................................................ 112

Chương 6. Kết luận và hướng phát triển .........................................................113

6.1 Kết luận ...................................................................................................................................................... 113 6.2 Hướng phát triển....................................................................................................................................... 115

Tài liệu tham khảo...............................................................................................117

Phụ lục .................................................................................................................118

A. Đặc tả một số các Use Case chính............................................................................................................. 118

2

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

A.1 Phía người tổ chức ................................................................................................................................... 118 A.1.1 Sự kiện phim ...................................................................................................................................... 118 A.1.2 Sự kiện Championship....................................................................................................................... 120 A.2 Phía khách hàng ....................................................................................................................................... 122 A.2.1 Sự kiện phim ...................................................................................................................................... 122 A.2.2 Sự kiện Championship....................................................................................................................... 123 B. Sơ đồ tuần tự............................................................................................................................................... 125 C. Mô hình đối tượng...................................................................................................................................... 128 D. Sơ đồ lớp...................................................................................................................................................... 130 E. Mô hình dữ liệu........................................................................................................................................... 138 E.1 Mô tả chi tiết một số bảng trong mô hình dữ liệu: ............................................................................... 139 E.1.1 Bảng SEASON_TICKET: ................................................................................................................. 139 E.1.2 Bảng REDUCTION_TICKET:.......................................................................................................... 141 E.1.3 Bảng MULTIENTRY_TICKET:....................................................................................................... 141 E.1.4 Bảng MULTIDAY_TICKET: ........................................................................................................... 142 E.1.5 Bảng TOPIC_TICKET: ..................................................................................................................... 142 E.1.6 Bảng VIPSPONSOR_TICKET: ........................................................................................................ 143 E.1.7 Bảng VIPSPONSOR_TICKET_DETAIL:........................................................................................ 143 E.1.8 Bảng TT_PER_MP: ........................................................................................................................... 143 E.1.9 Bảng SEASON_TICKET_PRICE:.................................................................................................... 144 E.1.10 Bảng CARD: .................................................................................................................................... 144 F. Một số màn hình chính .............................................................................................................................. 147 F.1 Phim ........................................................................................................................................................... 147 F.1.1 Màn hình Login .................................................................................................................................. 147 F.1.2 Menu chức năng của hệ thống ........................................................................................................... 147 F.1.3 Màn hình tạo vé mùa giảm giá........................................................................................................... 148 F.2 Championship ........................................................................................................................................... 149 F.2.1 Màn hình Login .................................................................................................................................. 149 F.2.2 Menu chức năng của hệ thống ........................................................................................................... 149 F.2.3 Màn hình tạo vé mời........................................................................................................................... 150

3

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Danh mục ký hiệu viết tắt

Ký hiệu Diễn giải

• DTO Data Transfer Object – là một đối tượng chứa dữ liệu dùng để di

chuyển giữa các tầng (layers) .

• ERD Entity Relationship Diagram.

Java Server Page • JSP

• MVC Mô hình Model – View - Controller

• REAS Hệ thống tổ chức sự kiện có tính hồi quy (Recurrent Event System).

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa • STS

(Season Ticket System).

Season ticket. • ST

Use Case • UC

4

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Danh mục các bảng

Bảng 2-1 Ví dụ vé theo mùa cho sự kiện không có trước chương trình ...................22

Bảng 2-2 Ví dụ vé theo mùa cho sự kiện có sẵn chương trình .................................23

Bảng 2-3 Ví dụ cho loại vé xem nhiều chương trình trong tuần lễ chiếu phim Hàn

Quốc ..................................................................................................................31

Bảng 2-4 Tổng kết tính chất của các loại sự kiện của 6 loại vé theo mùa ................33

Bảng 2-5 Các đặc điểm chung của 6 loại vé theo mùa .............................................35

Bảng 2-6 Những đặc điểm riêng của từng loại vé về thời gian hiệu lực mới khi gia

hạn .....................................................................................................................43

Bảng 2-7 Sự khác nhau giữa sự kiện chiếu phim tại rạp và sự kiện thể loại bóng đá

Championship ...................................................................................................45

Bảng 2-8 Mô tả các chức năng chính của hệ thống bán vé mùa tổng quát phía người

tổ chức ...............................................................................................................51

Bảng 2-9 Mô tả các chức năng chính của hệ thống bán vé mùa cho phim phía người

tổ chức ...............................................................................................................52

Bảng 2-10 Mô tả các chức năng chính của hệ thống bán vé mùa cho Championship

phía người tổ chức.............................................................................................54

Bảng 2-11 Mô tả chức năng cho hệ thống bán vé theo mùa tổng quát về phía khách

hàng ...................................................................................................................55

Bảng 2-12 Mô tả chức năng của hệ thống bán vé theo mùa cho phim về phía khách

hàng ...................................................................................................................57

Bảng 2-13 Bảng mô tả chức năng của hệ thống bán vé theo mùa cho Championship

về phía khách hàng............................................................................................58

Bảng 4-1 Mô tả các package cho hệ thống bán vé theo mùa tổng quát....................73

Bảng 4-2 Mô tả các package cho hệ thống bán vé theo mùa tổng quát....................76

Bảng 4-3 Package Diagram của hệ thống vé theo mùa cho Championship .............79

Bảng 4-4 Mô tả các đối tượng DTO dùng chung......................................................86

Bảng 4-5 Mô tả các đối tượng DTO tổng hợp chứa thông tin của REAS cung cấp.86

5

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Bảng 4-6 Mô tả các đối tượng DTO dành riêng cho phim .......................................89

Bảng 4-7 Mô tả các đối tượng DTO dành riêng cho phim do REAS cung cấp........89

Bảng 4-8 Mô tả các đối tượng DTO dành riêng cho Championship ........................92

Bảng 4-9 Mô tả các đối tượng DTO dành riêng cho Championship do REAS cung

cấp .....................................................................................................................92

Bảng 4-10 Mô tả mô hình dữ liệu .............................................................................94

Bảng 4-11 Mô tả bảng do REAS để lấy thông tin sự kiện........................................95

Bảng 5-1 Mô tả các ràng buộc miền giá trị.............................................................110

Bảng 5-2 Mô tả các ràng buộc liên thuộc tính trên một quan hệ ............................111

Bảng 5-3 Mô tả các ràng buộc liên bộ liên quan hệ................................................111

Bảng 5-4 Mô tả ràng buộc miền giá trị cho hệ thống bán vé cho Championship...112

Bảng 6-1 Mô tả sơ đồ lớp cho tầng back-end .........................................................135

Bảng 6-2 Đặc tả hàm cho lớp interface của gói seasonticket .................................138

Bảng 7-3 Mô tả bảng SEASON_TICKET..............................................................141

Bảng 7-4 Mô tả bảng REDUCTION_TICKET ......................................................141

Bảng 7-5 Mô tả bảng MULTIENTRY_TICKET ...................................................141

Bảng 7-6 Mô tả bảng MULTIDAY_TICKET ........................................................142

Bảng 7-7 Mô tả bảng TOPIC_TICKET..................................................................142

Bảng 7-8 Mô tả bảng VIPSPONSOR_TICKET .....................................................143

Bảng 7-9 Mô tả bảng VIPSPONSOR_TICKET_DETAIL ....................................143

Bảng 7-10 Mô tả bảng TT_PER_MP......................................................................144

Bảng 7-11 Mô tả bảng SEASON_TICKET_PRICE...............................................144

Bảng 7-12 Mô tả bảng CARD.................................................................................145

6

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Danh mục các hình

Hình 1-1 Mô hình hệ thống tổ chức sự kiện .............................................................13

Hình 1-2 Quy trình hoạt động của hệ thống đặt vé theo mùa ...................................17

Hình 2-1 Tổng kết các đặc điểm chung và riêng của 6 loại vé theo mùa .................32

Hình 2-2 Quy trình chính cho việc đặt vé theo mùa của hệ thống............................36

Hình 2-3 Quy trình đặt vé mùa đơn ..........................................................................37

Hình 2-4 Cách trình bày vé theo mùa .......................................................................39

Hình 2-5 Cách trình bày vé mùa đơn ........................................................................41

Hình 2-6 Hướng giải quyết khi xây dựng hệ thống bán vé mùa trước cho những sự

kiện cụ thể .........................................................................................................44

Hình 2-8 Phần liên kết với REAS .............................................................................48

Hình 2-9 Lược đồ use case tổng quát của hệ thống đối với người quản lý ..............50

Hình 2-10 Lược đồ use case của hệ thống bán vé theo mùa cho phim đối với người

quản lý ...............................................................................................................51

Hình 2-11 Lược đồ use case của hệ thống bán vé theo mùa cho Championship đối

với người quản lý ..............................................................................................53

Hình 2-12 Lược đồ use case của hệ thống bán vé theo mùa tổng quát về phía khách

hàng ...................................................................................................................54

Hình 2-13 Lược đồ use case của hệ thống bán vé theo mùa cho phim về phía khách

hàng ...................................................................................................................56

Hình 2-14 Lược đồ use case của hệ thống bán vé theo mùa cho Championship về

phía khách hàng.................................................................................................57

Hình 3-1 Kiến trúc mô hình 1 ...................................................................................60

Hình 3-2 Kiến trúc mô hình 2 ...................................................................................61

Hình 4-1 Mô hình đối tượng của một cấu trúc Proxy tồn tại ở thời điểm thực thi ...67

Hình 4-2 Lược đồ UML biểu diễn cho mẫu Façade .................................................68

Hình 4-3 Kiến trúc hệ thống......................................................................................69

Hình 4-4 Sơ đồ package cho hệ thống bán vé theo mùa tổng quát...........................71

7

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 4-5 Package Diagram của hệ thống vé theo mùa cho phim .............................74

Hình 4-6 Package Diagram của hệ thống vé theo mùa cho Championship..............77

Hình 4-7 Mô hình đối tượng được thiết kế cho hệ thống bán vé theo mùa tổng quát

...........................................................................................................................80

Hình 4-8 Mô hình đối tượng được thiết kế cho hệ thống bán vé theo mùa xem phim

tại rạp.................................................................................................................88

Hình 4-9 Mô hình đối tượng được thiết kế cho hệ thống bán vé theo mùa

Championship ...................................................................................................91

Hình 4-10 Mô hình dữ liệu cho hệ thống bán vé theo mùa tổng quát ......................93

Hình 5-1 Sơ đồ màn hình ở mức trừu tượng.............................................................96

Hình 5-2 Sơ đồ màn hình của hệ thống bán vé cho phim .........................................97

Hình 5-3 Hai loại vé theo mùa của sự kiện chiếu phim ở rạp...................................97

Hình 5-4 Màn hình tạo vé vào nhiều lần (Multi-entry season ticket).......................98

Hình 5-5 Màn hình chọn thời điểm gia hạn vé cho mùa sau ....................................99

Hình 5-6 Sơ đồ màn hình trong hệ thống bán vé cho Championship.......................99

Hình 5-7 Hai loại vé theo mùa của sự kiện Championship ....................................100

Hình 5-8 Màn hình tạo vé mùa thành viên (Member season ticket).......................100

Hình 5-9 Các tiêu chí tìm kiếm thông tin vé theo mùa được đặt ............................101

Hình 5-10 Kết quả tìm kiếm thông tin vé đặt theo mùa..........................................102

Hình 5-11 Quy trình đặt vé chính ...........................................................................102

Hình 5-12 Màn hình chọn vé theo mùa...................................................................103

Hình 5-13 Màn hình điền thông tin khách hàng cho quy trình đặt vé thứ nhất của

phim.................................................................................................................103

Hình 5-14 Màn hình điền thông tin khách hàng cho quy trình đặt vé thứ nhất của

Championship .................................................................................................104

Hình 5-15 Màn hình xác nhận thông tin đặt vé mùa nhiều lần vào ........................104

Hình 5-16 Màn hình xác nhận thông tin và in vé....................................................105

Hình 5-17 Vé theo mùa cho sự kiện phim ..............................................................105

Hình 5-18 Vé theo mùa cho sự kiện Championship ...............................................106

8

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-19 Quy trình đặt vé mùa đơn ......................................................................106

Hình 5-20 Màn hình lịch chiếu phim tại Diamond Cinema....................................107

Hình 5-21 Màn hình nội dung của một phim..........................................................107

Hình 5-22 Màn hình nhập mã booking để đặt vé mùa đơn.....................................108

Hình 5-23 Màn hình chọn thông tin suất chiếu của một phim................................108

Hình 5-24 Màn hình xác nhận thông tin đặt vé mùa đơn .......................................109

Hình 5-25 Màn hình in vé mùa đơn trong quy trình đặt vé lần thứ hai ..................109

Hình 5-26 Vé theo mùa đơn dành cho sự kiện phim ..............................................110

Hình 7-6-1 Sơ đồ tuần tự tạo vé mùa nhiều lần vào (1)..........................................126

Hình 7-6-2 Sơ đồ tuần tự tạo vé mùa nhiều lần vào (2)..........................................127

Hình 7-6-3 Mô hình đối tượng chi tiết....................................................................129

Hình 7-6-4 Sơ đồ lớp cho tầng back-end ................................................................131

Hình 7-6-5 Mô hình dữ liệu chi tiết ........................................................................139

Hình 7-6-6 Mô hình đối tượng chi tiết....................................................................146

Hình 7-6-7 Màn hình đăng nhập vào hệ thống bán vé cho phim............................147

Hình 7-6-8 Màn hình tạo vé mùa giảm giá .............................................................148

Hình 7-6-9 Màn hình đăng nhập vào hệ thống bán vé Championship ...................149

Hình 7-6-10 Menu của hệ thống bán vé theo mùa..................................................149

Hình 7-6-11 Màn hình tạo vé mời...........................................................................150

9

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Mở đầu

Đất nước của chúng ta ngày nay đang trên đà hội nhập và phát triển rất

nhanh. Song song với tốc độ đó, cuộc sống của con người dần dần được cải thiện và

nâng cao hơn. Nhu cầu vui chơi giải trí của người dân từ đó cũng tăng lên. Vì lý do

này nên ngày càng có rất nhiều các sự kiện văn hóa thể thao, các lễ hội được tổ

chức nhằm thỏa mãn một cách tốt nhất nhu cầu tinh thần của mọi người. Xuất phát

từ thực tế đó, những hoạt động trên đòi hỏi các nhà tổ chức phải cần phải có một sự

chuyên nghiệp hóa trong các khâu như: tìm kiếm địa điểm, tìm kiếm nguồn tài trợ,

lên lịch cho các sự kiện, tính toán thời gian và chi phí, trong đó chiến lược

marketing nhằm thu hút một một lượng lớn khán giả đến tham gia là tiêu chí hàng

đầu được quan tâm. Để tất cả những công việc trên được tiến hành một cách khoa

học và chuyên nghiệp, việc tin học hóa là một điều cần thiết.

Với mục tiêu thực hiện những hoạt động trên hiệu quả, người tổ chức cần

phải có một nguồn kinh phí ban đầu trước khi một sự kiện diễn ra. Đồng thời việc

đáp ứng nhu cầu của khách hàng: có chỗ ngồi tốt, có nhiều ưu đãi, tiết kiệm thời

gian và tiền bạc....cũng không kém phần quan trọng. Làm sao để họ giải quyết vấn

đề khó khăn này? Đây là nguyên nhân mà hệ thống quản lý vé đặt trước theo mùa

(STS) ra đời. Nó không chỉ giúp các nhà tổ chức có thể chủ động hơn trong công tác

quản lý các sự kiện mà nó còn hỗ trợ nhiều mặt trong vấn đề tạo và quản lý vé, theo

dõi tình trạng các loại vé đặt của khách hàng.

Tiếp nhận dự án xây dựng và phát triển hệ thống này, những nhà phát triển

phần mềm bắt đầu đi vào phân tích và thiết kế với mong muốn tạo ra một chương

trình giúp đơn giản hóa những công việc phức tạp và tiết kiệm thời gian cho người

quản lý. Tuy nhiên vì những sự kiện này đều mang tính chu kỳ và quá trình tổ chức,

quản lý những loại vé theo mùa luôn có những thao tác và thành phần tương tự nhau

nên vấn đề làm sao tiết kiệm thời gian và chi phí từ những công việc đã làm được

những chuyên gia phần mềm đặt ra. Để giải quyết vấn đề này, người ta hướng đến

việc tìm kiếm các tính chất giống nhau trong từng sự kiện, đưa ra các loại vé phù

10

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

hợp với nhu cầu khách hàng, từ đó khái quát hóa những đặc điểm chung của chúng

nhằm tạo lập một hệ thống quản lý vé theo mùa tổng quát phục vụ cho bất kỳ một

sự kiện nào. Trên cơ sở chung nhất, hệ thống này sẽ được sử dụng để triển khai

thành các hệ thống bán vé mùa cho một sự kiện cụ thể. Từ ý tưởng trên, hệ thống

tổng quát mà chúng tôi xây dựng sẽ chứa những thành phần (component) chung

nhất cho các loại vé tạo nền móng cho việc xây dựng những hệ thống quản lý vé

theo mùa có thể kế thừa và tái sử dụng nó.

Tuy nhiên những phần chung tổng quát này vẫn chưa đủ để giải quyết một

bài toán cụ thể: Đó là tạo ra các loại vé theo mùa có thể áp dụng cho một sự kiện

xác định. Vì đối với mỗi sự kiện đều có những đặc điểm riêng đòi hỏi các loại vé áp

dụng cho nó cần có thêm những đặc điểm phù hợp. Để minh họa cho điều này,

chúng tôi chọn xây dựng 2 hệ thống quản lý vé cho phim và hệ thống quản lý vé

cho thể loại bóng đá Championship – là 2 ứng dụng phổ biến trong cuộc sống dựa

trên những đặc điểm chung này.

Trong quá trình xây dựng và phát triển, STS cần phải dựa trên những thông tin

do hệ thống tổ chức sự kiện (REAS) cung cấp để có thể phân tích, thiết kế các loại

vé theo mùa phù hợp và in ra vé thực sự cho khách hàng. Do đó STS cần có một

interface với REAS để có thể sử dụng thông tin về sự kiện được cung cấp.

Chúng tôi đặt rất nhiều niềm tin và công sức cho đề tài này. Chúng tôi hy vọng

bài toán bán vé theo mùa được xây dựng phần nào sẽ mang lại lợi ích thiết thực khi

được ứng dụng vào đời sống thực tế.

11

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Chương 1. Giới thiệu

1.1 Giới thiệu đề tài luận văn

heo thông lệ, các sự kiện thể thao, văn hoá lớn thường được tổ chức định

kỳ và lặp lại theo từng chu kỳ thời gian, có thể là theo từng năm, từng

mùa, từng tháng, từng tuần hoặc từng ngày. Giải vô địch cúp bóng đá thế

T

giới, cúp vô địch châu Âu, giải Seria, Championship, liên hoan phim Cannes,

Festival Huế, Festival hoa Đà lạt… là những ví dụ điển hình cho các sự kiện thuộc

loại này. Trong luận văn này, chúng tôi gọi nó là các sự kiện hồi qui (recurrent

event). Thoạt nhìn có thể tưởng rằng việc tổ chức cho các sự kiện như vậy không

mấy khó khăn và phức tạp nhưng trên thực tế, dưới góc độ chuyên môn, để tổ chức

thành công các sự kiện như vậy đòi hỏi một sự chuẩn bị, phối hợp nhuần nhuyễn

giữa rất nhiều các bộ phận khác nhau, đòi hỏi phải được lên kế hoạch chi tiết và chu

đáo. Như vậy, hướng đến mục tiêu tổ chức thành công các sự kiện thông qua việc

quản lý tốt và hiệu quả những đầu tư cần và đủ về mặt con người, phương tiện, kinh

phí luôn là một bài toán khó cho người tổ chức sự kiện (event organiser). Trong

chuỗi liên hoàn các công việc của bài toán phức tạp này nổi lên hai module lớn là hệ

thống tổ chức quản lý sự kiện và hệ thống bán vé phục vụ sự kiện như mô tả qua

Hình 1-1 sau:

12

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 1-1 Mô hình hệ thống tổ chức sự kiện

Như thể hiện ở Hình 1-1, hai module quản lý thông tin sự kiện và hệ thống bán vé

phục vụ sự kiện sẽ tương tác và trao đổi thông tin nghiệp vụ để giúp đơn giản hoá

công việc của người tổ chức sự kiện.

Bối cảnh của đề tài luận văn:

Lấy ý tưởng từ dự án xây dựng hệ thống bán vé theo mùa cho các sự kiện văn

hóa, thể thao của công ty ELCA, chúng tôi thấy việc đưa ra một mô hình đặt vé theo

mùa khái quát là cần thiết và có ý nghĩa. Song song với dự án này, một dự án khác

cũng được ELCA đưa ra và phát triển. Đó là hệ thống quản lý các sự kiện hồi quy

(Recurrent Event Administrator System). Hệ thống này được giao cho một nhóm

sinh viên thực tập xây dựng. REAS có nhiệm vụ lên lịch cho các chương trình trước

khi sự kiện diễn ra. Và dựa trên những thông tin do REAS cung cấp, chúng tôi sẽ

thiết kế để tạo ra những loại vé phù hợp với sự kiện được tổ chức.

Ví dụ: đối với sự kiện chiếu phim ở rạp Cinébox, người tổ chức sẽ đưa ra vé

theo mùa cho phép đi xem 5 bộ phim vào ngày thứ Hai trong 2 tháng; đối với giải

13

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

bóng đá V-League, vé đi xem những trận đấu của đội Hòa Phát Hà Nội thi đấu tại

sân Mỹ Đình cho cả giải đấu sẽ được áp dụng.

Các vé được tạo ra có thời gian hợp lệ trong suốt một mùa sự kiện hoặc trong

một khoảng thời gian nào đó. Vì vậy, khách hàng chỉ cần mua vé này một lần là có

thể tham gia cho cả mùa. Bên cạnh đó hệ thống còn hỗ trợ cho người dùng đặt vé

trực tuyến trước khi sự kiện diễn ra. Sau đó hệ thống STS sẽ xuất ra vé thật sự để họ

có thể sử dụng nó tham gia vào các chương trình đã đặt.

Lý do xây dựng Hệ thống quản lý vé đặt theo mùa:

- Phía người tổ chức: Việc đưa ra các loại vé theo mùa mang nhiều ý nghĩa đối

với người tổ chức sự kiện. Khi một sự kiện diễn ra thì chi phí bỏ ra thường

rất lớn và người tổ chức khó có thể chuẩn bị tốt được phần này. Do đó STS

cần tìm hiểu để đưa ra các loại vé theo mùa phù hợp với sự kiện, phù hợp với

nhu cầu của khách hàng. Sau đó các vé này sẽ được bán trên mạng trước khi

một sự kiện diễn ra. Công việc trên giúp đem lại nguồn thu để người quản lý

có đủ kinh phí tổ chức tốt một sự kiện nào đó.

- Phía khách hàng: Họ mong muốn có một chỗ ngồi tốt trong suốt một mùa sự

kiện. Việc đi mua vé một lần mà được đến xem những buổi biểu diển trong

một mùa giúp họ tiết kiệm được nhiều thời gian và tiền bạc. Khi mua vé theo

mùa trên mạng khách hàng không còn lo việc hết vé, xếp hàng để chờ…đặc

biệt là vé theo mùa có giá cả phù hợp giứp họ tiết kiệm tiền so với việc mua

vé lẻ. Ví dụ: Nếu khách hàng mua vé có số lượng chương trình nhiều thì giá

tiền cho một chương trình sẽ được giảm so với giá của vé lẻ.

- Tổng quát hóa những bài toán bán vé riêng cho từng sự kiện (đã nói ở phần

Mở đầu).

1.2 Giới thiệu bài toán

Hình 1-1 ở trên đã cho chúng ta thấy việc tổ chức một sự kiện là một công

việc rất khó khăn và phức tạp. Mỗi sự kiện khi được tổ chức và bán vé nhìn bề

14

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

ngoài chúng ta tưởng chừng chúng độc lập với nhau, khác biệt nhau về mặt nghiệp

vụ, công việc thực hiện nhưng nếu tập trung phân tích và thiết kế cho những ứng

dụng hệ thống thông tin như vậy chúng ta sẽ nhận ra những điểm tương đồng trong

từng ứng dụng. Do đó việc tiếp nhận xây dựng những dự án phát triển các ứng dụng

này đã tạo ra không ít lãng phí về thời gian và tiền bạc cho các nhà phát triển phần

mềm nếu họ cứ tập trung phân tích chúng lại từ đầu. Làm thế nào xây dựng một hệ

thống thông tin tổ chức và bán vé cho một sự kiện bất kỳ để những người phát triển

không phải bắt đầu lại những công việc gần giống nhau như vậy? Đây chính là tham

vọng mà những người xây dựng chương trình quản lý vé cho hệ thống tổ chức sự

kiện đặt ra cũng như là tham vọng của đề tài luận văn tốt nghiệp này.

Do vậy để có thể giảm bớt thời gian và chi phí đồng thời tận dụng phương

pháp phân tích thiết kế hệ thống thông tin hướng đối tượng một cách hiệu quả,

người phát triển phần mềm hướng đến việc tìm kiếm các vấn đề mang tính chất lặp

lại giữa các sự kiện. Từ những đặc điểm giống nhau này chúng ta sẽ tổng quát hóa

nhiều bài toán phức tạp khác nhau thành một bài toán chung và sử dụng nó cho

nhiều dự án có cùng bản chất như thế.

Chính vì thế mục tiêu của đề tài đặt ra ở đây là xây dựng một hệ thống thông

tin tổng quát cho công việc quản lý vé đặt theo mùa phục vụ các sự kiện thể thao,

văn hóa. Từ đó nó có thể được sử dụng lại nhằm hỗ trợ các ứng dụng bán vé theo

mùa cho từng sự kiện cụ thể một cách có hiệu quả hơn.

1.3 Hướng tiếp cận

Mục tiêu của đề tài là tổng quát hóa những bài toán phức tạp có những điểm

tương đồng thành một bài toán chung. Bài toán chung này sẽ giúp cho việc xây

dựng ứng dụng hệ thống thông tin bán vé trước theo mùa hiệu quả hơn, tiết kiệm

nhiều công sức và chi phí hơn. Đây là một ưu điểm của cách tiếp cận đi từ phần

chung. Theo hướng này, đề tài sẽ tập trung tìm kiếm và xây dựng một bài toán bán

vé theo mùa cho bất kỳ sự kiện nào. Đó là nhắm đến việc tìm hiểu, phân tích, thiết

15

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

kế để đưa ra những loại vé theo mùa dựa trên những đặc điểm của từng sự kiện

khảo sát được.

Tuy nhiên, để xây dựng một hệ thống bán vé theo mùa cho một sự kiện cụ thể

thì việc đưa toàn bộ bài toán chung này vào có thể là không đủ hoặc quá nhiều. Bởi

vì mỗi sự kiện đều có những đặc điểm riêng và bài toán chung này cũng không thể

tổng quát hết được cho từng sự kiện cho nên chúng ta cần thêm những đặc điểm

riêng hoặc chọn lọc lại từ nó những phần cần thiết để sử dụng lại.

Trên hai bài toán cụ thể, chúng tôi chọn cài đặt hai hệ thống vé cho sự kiện

chiếu phim ở rạp và cho sự kiện thể loại bóng đá Championship vì những lý do sau:

- Thứ nhất, vì hai sự kiện này là hai ví dụ điển hình trong số các sự kiện diễn ra

hằng ngày có hai đặc điểm chung nhất (sẽ được phân tích trong phần 2.1.3) và

nó mang tính lặp đi lặp lại.

- Thứ hai, đây cũng là hai sự kiện hồi quy mà nhóm thực tập ở công ty ELCA tổ

chức và xây dựng (đã giới thiệu trong phần 1.1) . Việc chọn cài đặt hai hệ thống

này giúp cho phần demo của hai chương trình quản lý bán vé về sau trở nên

thuận lợi hơn vì khi đó hệ thống tổ chức sự kiện trên sẽ hỗ trợ những thông tin

cần thiết về phim và giải bóng đá Championship thông qua một interface chung

sẽ được xây dựng. Thông tin này dùng cho việc thiết lập ứng dụng Web cho

khách hàng đặt mua vé đã tạo ra.

16

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

REAS

Người tổ chức tạo vé theo mùa

Thông tin sự kiện, lịch chiếu, tiêu chí định giá ...

Thông tin các loại vé theo mùa đã tạo

Khách hàng in vé theo mùa trực tuyến

Khách hàng đặt vé theo mùa

Vé theo mùa đã đặt

Dùng vé theo mùa để đặt vé đơn cho chương trình cụ thể

Sử dụng vé theo mùa ngay khi sự kiện diễn ra

Hình 1-2 Quy trình hoạt động của hệ thống đặt vé theo mùa

1.4 Nội dung nghiên cứu của luận văn

Luận văn hướng đến các mục tiêu sau:

(cid:190) Đối với công việc của người tổ chức hệ thống:

• Tìm hiểu đặc điểm của những sự kiện diễn ra trong đời sống hàng

ngày, đặc điểm các loại vé ứng với từng sự kiện, phân tích và tổng

hợp các đặc điểm chung của các loại vé này, từ đó tổng quát hóa mô

hình các loại vé theo mùa. Mô hình này sẽ được áp dụng cho bất kỳ sự

kiện cụ thể nào được tổ chức.

• Tìm hiểu đặc điểm chi tiết cho hai sự kiện cụ thể là phim và

Championship để phục vụ cho công việc cài đặt sau này.

• Tìm hiểu về giá vé bán lẻ, các lợi ích của vé theo mùa, từ đó đưa ra

giá cho từng loại vé theo mùa.

• Phân tích và áp dụng những loại vé theo mùa đã tìm được vào từng sự

kiện cụ thể: phim và thể loại bóng đá Championship.

17

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

• Quản lý thông tin (tạo, xóa và cập nhật) các vé theo mùa được tạo ra

ứng với hai sự kiện: phim và thể loại bóng đá Championship.

• Quản lý thông tin vé đặt của khách hàng cho hai sự kiện: phim và thể

loại bóng đá Championship.

• Xây dựng adapter với REAS để lấy thông tin về sự kiện do họ cung

cấp.

(cid:190) Đối với phần giao tiếp với khách hàng:

• Tạo ứng dụng web để khách hàng có thể đặt vé theo mùa mà người tổ

chức tạo ra.

• Minh họa việc sử dụng vé theo mùa của khách hàng đối với từng sự

kiện khác nhau.

Những chức năng không xây dựng cho hệ thống vé theo mùa:

• Quản lý việc đặt vé của khách hàng.

• Quản lý việc thanh toán từ khách hàng.

• Kiểm soát việc thay đổi chương trình từ bên REAS.

Tuy nhiên, để minh họa cho việc sử dụng vé theo mùa của khách hàng thì

phần đặt vé sẽ được chúng tôi cài đặt như một phần mô phỏng cho quá trình này.

1.5 Tóm tắt các kết quả đạt được của luận văn

Luận văn đã đạt được một số kết quả như sau:

Về mặt phân tích và thiết kế tổng quan:

(cid:190) Tìm hiểu đặc điểm chung và xây dựng mô hình tổng quát cho các loại vé

theo mùa.

(cid:190) Ứng với từng sự kiện chúng tôi tìm ra được những đặc điểm riêng của các

loại vé theo mùa.

(cid:190) Tìm hiểu và đưa ra giá vé theo mùa dựa trên loại khách hàng, chỗ ngồi, giá

vé bán lẻ, mùa… cho mỗi sự kiện cụ thể.

(cid:190) Tìm hiểu quy trình mua vé và sử dụng vé theo mùa đối với phần giao tiếp với

18

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

khách hàng.

(cid:190) Tìm hiểu công việc kiểm soát vé của người tổ chức trong quá trình sử dụng

vé của khách hàng. Từ đó thiết kế mẫu cho vé theo mùa.

Về mặt kỹ thuật:

(cid:190) Tìm hiểu và áp dụng mô hình MVC (Model – View - Controller) cho ứng

dụng Web.

(cid:190) Tìm hiểu công nghệ lập trình Web bằng JSP cho phần View, Strut

Framework cho Controller và Java cho Model.

(cid:190) Áp dụng các mẫu thiết kế Façade để tạo ra một interface chung cho phần

back-end.

(cid:190) Áp dụng mẫu thiết kế Proxy để kết nối front-end và back-end.

(cid:190) Tìm hiểu thư viện in file PDF: iText dùng để in vé theo mùa trực tuyến hoặc

tại nhà.

Về mặt thực nghiệm:

(cid:190) Xây dựng adapter với REAS để lấy thông tin của sự kiện được tổ chức.

(cid:190) Xây dựng hai ứng dụng Web cho hai hệ thống quản lý vé theo mùa cho phim

và giải bóng đá Championship để hiện thực hóa mô hình đã phân tích và thiết

kế.

(cid:190) Xây dựng hai ứng dụng Web cho hai hệ thống phục vụ khách hàng đối với sự

kiện phim và giải bóng đá Championship.

(cid:190) In vé theo mùa ứng với từng loại để minh họa quy trình đặt vé và sử dụng vé

của khách hàng đối với mỗi sự kiện cụ thể.

19

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

1.6 Bố cục luận văn

Luận văn được tổ chức thành 6 chương:

• Chương 1: Giới thiệu tổng quan

• Chương 2: Định nghĩa vé theo mùa, phân tích các loại vé theo mùa cho hệ

thống vé, áp dụng từng loại cho mỗi sự kiện cụ thể, các chức năng của hệ thống

và đưa ra adapter với REAS.

• Chương 3: Giới thiệu các kỹ thuật sử dụng và kiến trúc áp dụng.

• Chương 4: Mô hình thiết kế tổng quát

• Chương 5: Mô hình cài đặt

• Chương 6: Kết luận về những kết quả đạt được của đề tài, những vấn đề còn tồn

đọng và hướng phát triển của đề tài trong tương lai.

20

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Chương 2. Phân tích hệ thống

Để có thể thấy rõ những đặc điểm chung của việc tổ chức đặt vé theo mùa và

tính linh động của nó khi áp dụng vào những hệ thống quản lý vé cho sự kiện cụ

thể, chúng tôi sẽ đi vào phân tích bản chất của loại vé này, những đặc điểm tương

đồng giữa các loại vé theo mùa ứng với các sự kiện hồi quy cụ thể nổi bật.

2.1 Vé theo mùa

2.1.1 Định nghĩa

Season ticket – được gọi là vé theo mùa – là một loại vé dành cho những sự

kiện có tính lặp đi lặp lại hoặc kéo dài trong một khoảng thời gian nhất định. Ngoài

ra, vé theo mùa là một loại vé mà khách hàng chỉ cần mua một lần là có thể đến

xem những buổi diễn, các trận đấu, hoặc các buổi hòa nhạc… trong suốt một mùa

sự kiện kéo dài trong một tháng, trong vài tháng hoặc một năm. Và vì mục đích

chuẩn bị kinh phí cho việc tổ chức nên người quản lý hệ thông thường bán vé theo

mùa trước khi sự kiện diễn ra.

Đối với các sự kiện không biết trước chương trình, ví dụ như: sự kiện chiếu

phim tại một rạp chiếu phim nào đó, hoặc sự kiện các vở kịch được trình diễn tại

Nhà hát Thành phố hoặc sự kiện các buổi hòa nhạc diễn ra tại Sydney Opera House

(Autralia)…vé theo mùa có thể được bán trước khi chương trình được lên lịch cụ

thể. Nhờ đó những người tổ chức sự kiện có thể thu được tiền vé trước khi một bộ

phim được trình chiếu hoặc một vở kịch được trình diễn.

Ví dụ:

Tên vé theo mùa Giải thích

- Vé theo mùa cho phép đi xem 5 bộ Vé này sẽ cho phép khách hàng đi xem 5

phim tại Cinébox Cinema vào ngày thứ phim bất kỳ tại Cinébox Cinema vào

Hai trong 2 tháng ngày thứ Hai trong thời gian 2 tháng. Tại

21

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

thời điểm vé được bán, Cinébox Cinema

vẫn chưa có lịch chiếu phim cụ thể.

Vé này sẽ cho phép khách hàng đi 4 - Vé theo mùa cho phép xem 4 chương

chương trình ca nhạc bất kỳ tại sân Lan trình ca nhạc tại sân Lan Anh trong 3

Anh trong 3 tháng. tháng

Bảng 2-1 Ví dụ vé theo mùa cho sự kiện không có trước chương trình

Đối với các sự kiện có chương trình trước khi nó diễn ra, ví dụ như: sự kiện tổ

chức một giải bóng đá V-League hàng năm hoặc sự kiện tổ chức tuần lễ Festival

Huế hoặc sự kiện tổ chức một buổi hòa nhạc tại Hòa Bình định kỳ…, vé theo mùa

cũng được bán trước, ngay khi sự kiện đã có lịch cụ thể. Khi đó vé theo mùa sẽ

được tạo ra dựa trên những chương trình có sẵn của người tổ chức sự kiện.

Ví dụ:

Tên vé theo mùa Giải thích

Vé này sẽ cho phép khách hàng đi xem - Vé theo mùa Manchester United –

những trận đấu của đội Manchester HomeCard cho giải bóng đá Primier

United tại sân nhà trong suốt một mùa League.

giải Primier League.

Vé này sẽ cho phép khách hàng đi xem - Vé theo mùa cho phép xem 5 chương

trình tại Festival Huế 2004: 5 chương trình đã có sẵn (in trên vé) tại

Festival Huế 2004 trong suốt một (cid:131) Nam Giao Festival.

tháng. (cid:131) Áo dài Festival.

(cid:131) Môn thi đấu cổ truyền.

(cid:131) Giới thiệu nghệ thuật cây cảnh.

(cid:131) Triển lãm tranh của các nghệ sĩ.

Vé này cho phép khách hàng đến xem - Vé theo mùa cho phép xem những

22

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

chương trình hòa nhạc cổ điển tại Nhà hát những chương trình hòa nhạc cổ điển

Thành phố vào các ngày: tại Nhà hát Thành phố vào các ngày

xác định. Tên chương trình sẽ được in (cid:131) 11/10/2006.

trên vé do đó khách hàng có thể biết (cid:131) 21/10/2006. chính xác nội dung được diễn vào các

(cid:131) 30/10/2006. ngày đó.

(cid:131) 1/11/2006.

Bảng 2-2 Ví dụ vé theo mùa cho sự kiện có sẵn chương trình

2.1.2 Ý nghĩa của vé theo mùa

Trong phần 2.1.1 ở trên ta có thể nhận thấy được những ý nghĩa của vé theo

mùa đối với người tổ chức: nó giúp những người tổ chức có thể bán vé trước khi

một sự kiện diễn ra và doanh thu từ công việc này sẽ giúp họ có trước kinh phí để tổ

chức tốt những sự kiện.

Bên cạnh đó, khác với vé bán lẻ, vé theo mùa còn có những ưu đãi riêng cho

khách hàng, ví dụ:

- Có chỗ ngồi tốt trên khu vực ngồi mà họ chọn lựa.

- Có thể đổi vé dễ dàng trong một mùa.

- Thường xuyên nhận được chương trình của sự kiện mà mình tham gia

trong mùa đó.

- Được giảm giá trên số lượng lần tham gia vào các chương trình trong suốt

một mùa.

- Được thanh toán thành nhiều đợt.

- Được ưu tiên đi vào tự do trước buổi diễn.

- Được là khách mời trong suốt mùa đặt vé.

- Được biết trước chương trình của mùa đó.

- …

23

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

2.1.3 Đặc điểm chính của vé theo mùa cho các sự kiện hồi quy

Vì lý do vé theo mùa là loại vé dành cho những sự kiện có tính lặp đi lặp lại và nó được bán trước khi sự kiện diễn ra1 cho nên để xác định được đặc điểm của nó

chúng tôi cần tìm hiểu và phân tích đặc điểm của những sự kiện mà vé theo mùa có

thể áp dụng vào. Sau khi tham khảo trên Internet và bên REAS – hệ thống tổ chức sự kiện2, chúng tôi nhận thấy bất kỳ một sự kiện hồi quy nào cũng có hai tính chất

chính sau:

- Loại 1: Sự kiện hồi quy xác định thời gian diễn ra cụ thể. Do sự kiện có

được thời gian bắt đầu và thời gian kết thúc nên người tổ chức dễ dàng đưa

ra chương trình cụ thể trong suốt một mùa.

Ví dụ: sự kiện giải bóng đá Primier League của Anh, Festival Huế 2004, tuần

lễ chiếu phim Pháp từ 6/7/2005 đến 13/7/2005.....

- Loại 2: Sự kiện hồi quy diễn ra hàng ngày và không xác định được khoảng

thời gian cụ thể. Do sự kiện diễn ra hàng ngày nên khách hàng sẽ chỉ quan

tâm đến lịch trình chiếu hay lịch biểu diễn khi họ muốn đến xem. Do sự

kiện không xác định được khoảng thời gian diễn ra cụ thể nên người tổ

chức chỉ có thể lên lịch cho một thời gian ngắn mà thôi.

Ví dụ: sự kiện chiếu phim tại Cinébox Cinema, sự kiện những buổi hòa nhạc

tại nhà hát Opera Sydney, sự kiện những vở diễn tại sân khấu Idecaf...

Từ hai tính chất trên vé theo mùa cũng mang hai đặc điểm sau: vé mùa xác

định trước chương trình và vé mùa không xác định trước chương trình. Đặc điểm

1 Tham khảo ví dụ về đặc điểm này ở phần 2.1.1 2 Hệ thống này là do một nhóm thực tập khác xây dựng (đã giới thiệu trong phần 1.1)

này sẽ được giải thích rõ hơn trong phần 2.4.

24

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Tóm lại vé mùa có những thuộc tính chính như sau:

- Tên vé.

- Thời gian hiệu lực của vé: là thời gian diễn ra của sự kiện loại 1 hoặc là

một khoảng thời gian (đối với vé mùa áp dụng sự kiện loại 2)

→ Nếu vé áp dụng cho loại sự kiện 1: Thời gian hiệu lực của vé có thêm

hai giá trị là: ngày bắt đầu và ngày kết thúc sự kiện.

→ Nếu vé áp dụng cho loại sự kiện 2: Thời gian của vé có thêm giá trị là:

khoảng thời gian hiệu lực của vé.

- Tính hiệu lực của vé: vé mùa dành cho cá nhân hay cho nhiều người, vé

mùa có được phép gia hạn cho mùa sau không, vé mùa có chỗ ngồi dành

riêng hay không.

- Giá vé.

- Những ưu đãi hoặc lợi ích của vé.

2.2 Các loại vé theo mùa

Sau khi tham khảo những loại vé mùa cũng như vé lẻ trên Internet cùng với tìm

hiểu nhu cầu của khách hàng khi tham gia một sự kiện, chúng tôi đề xuất 6 loại vé

tổng quát sau đây:

- Topic season ticket (Vé mùa theo chủ đề).

- Mutti-entry season ticket (Vé mùa nhiều lần vào).

- VIP-Sponsor season ticket (Vé mời).

- Reduction season ticket (Vé mùa giảm giá).

- Multi-day season ticket (Vé mùa nhiều ngày).

- Multi-performance season ticket (Vé mùa nhiều chương trình).

25

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Ghi chú: Việc chúng tôi không đưa tên 6 loại vé trên thành tiếng Việt là muốn đảm

bảo ý nghĩa của từng loại được hiểu đầy đủ hơn.

2.2.1 Vé mùa theo chủ đề

- Định nghĩa:

Topic season ticket - còn được gọi là vé mùa theo chủ đề – là loại vé cho phép

xem những buổi diễn hay những trận thi đấu có cùng một chủ đề. Chủ đề ở đây có

thể là một thể loại nhạc, một nghệ sĩ biểu diễn, một đội bóng, một vận động viên,

hoặc một hạng cân trong một môn thể thao nào đó...

Để khách hàng có thêm nhiều lựa chọn khi đặt mua loại vé này, người tổ chức

cung cấp thêm hai lựa chọn kèm theo:

(cid:131) Vé mùa theo chủ đề chỉ đi xem một số buổi diễn hoặc một số buổi thi đấu

thuộc chủ đề đã chọn.

(cid:131) Vé mùa theo chủ đề xem tất cả các buổi diễn hoặc tất cả buổi thi đấu

thuộc chủ đề đã chọn.

- Ví dụ: Vé mùa theo chủ đề xem các buổi thi đấu của Cao Ngọc Phương Trinh,

vé mùa theo chủ đề xem tất cả các trận thi đấu của nữ quần vợt Venus William

(không có một số trận vòng ngoài)

- Đặc điểm:

Vé mùa theo chủ đề chỉ dành cho các sự kiện có thời gian diễn ra cụ thể đã có

sẵn chương trình, và chương trình phải có rất nhiều buổi diễn hoặc trận thi đấu

thuộc nhiều chủ đề khác nhau.

- Thuộc tính:

Ngoài những thuộc tính chung đã nêu, vé mùa theo chủ đề còn có thêm những

thuộc tính sau:

26

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:131) Tên chủ đề của vé.

(cid:131) Tất cả các chương trình: là thuộc tính dùng để xác định vé mùa theo chủ

đề cho phép xem tất cả các chương trình hoặc xem một số chương trình

thuộc chủ đề của vé

Tóm lại, vé mùa theo chủ đề chỉ dành cho những sự kiện có thời gian diễn ra cụ

thể (loại 1), có sẵn chương trình và những chương trình này chứa rất nhiều buổi

diễn hoặc buổi thi đấu thuộc nhiều chủ đề khác nhau.

2.2.2 Vé mùa nhiều lần vào

- Định nghĩa:

Multi-entry season ticket – còn được gọi là vé mùa nhiều lần vào – là loại vé có

số lần tham gia chương trình xác định vào một hoặc nhiều thứ trong tuần3.

- Ví dụ: Vé mùa xem 5 buổi ca nhạc bất kỳ ở sân vận động Lan Anh, vé mùa xem

4 vở kịch tại sân khấu Idecaf vào thứ 7.

- Đặc điểm:

(cid:131) Loại vé này rất linh động vì nó không phụ thuộc vào việc sự kiện có sẵn

chương trình hay không. Nó vừa áp dụng được cho những sự kiện thuộc loại

1 vừa áp dụng được cho những sự kiện thuộc loại 2.

(cid:131) Khi vé mùa nhiều lần vào được áp dụng cho sự kiện loại 1 thì thời gian hợp lệ

của vé sẽ là thời gian bắt đầu và kết thúc của sự kiện đó.

(cid:131) Khi vé mùa nhiều lần vào được áp dụng cho sự kiện loại 2 thì thời gian hợp lệ

của vé sẽ được tính trong một khoảng thời gian nào đó bắt đầu từ ngày vé

3 Thứ 2, Thứ 3, Thứ 4, Thứ 5, Thứ 6, Thứ 7 hoặc Chủ nhật

được mua.

27

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Thuộc tính:

Ngoài những thuộc tính chung đã nêu, vé mùa theo chủ đề còn có thêm những

thuộc tính sau:

(cid:131) Số lần tham gia sự kiện

(cid:131) Danh sách các thứ: xác định vé mùa nhiều lần vào hợp lệ vào những thứ

nào trong tuần.

(cid:131) Loại sự kiện được áp dụng: xác định vé được bán cho loại sự kiện nào.

→ Nếu vé được bán cho sự kiện loại 1 thì thời gian hiệu lực của nó sẽ tính

theo thời gian diễn ra sự kiện.

→ Nếu vé được bán cho sự kiện loại 2 thì thời gian hiệu lực của nó sẽ

được tính từ thời điểm khách hàng lấy vé và kéo dài trong một khoảng

thời gian định trước.

Tóm lại, vé mùa nhiều lần vào là một loại vé mở. Người tổ chức có thể áp dụng

nó cho bất kỳ một sự kiện nào mà không quan tâm đến việc sự kiện đó đã được lên

lịch hay chưa.

2.2.3 Vé mời

- Định nghĩa:

VIP-Sponsor season ticket – còn được gọi là vé mời – là loại vé chỉ dành cho

những khách mời đặc biệt và quan trọng, ví dụ như: nhà tài trợ, những người trong

ban tổ chức, những nhân vật nổi tiếng...

- Ví dụ: Vé mời nhà tài trợ đến tham gia các trận đấu của đội Hoàng Anh Gia Lai

tại giải V-League 2006.

- Đặc điểm:

(cid:131) Vé mời được áp dụng cho những sự kiện loại 1, được tổ chức với quy mô khá

lớn với sự đầu tư của nhiều nhà tài trợ. Những người được gửi vé mời sẽ

28

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

không trả bất kỳ một chi phí nào cả và được hưởng tất cả những ưu đãi tốt

nhất: ngồi những hàng ghế đầu, có chỗ đậu xe riêng, vào cổng riêng.... Hệ

thống sẽ gửi vé cho những khách mời của sự kiện bằng email và cung cấp cho

họ một tài khoản riêng để sử dụng vé.

(cid:131) Vé mời chỉ sử dụng cho cá nhân và không được gia hạn vào mùa sau

(cid:131) Khách mời sử dụng account của mình để đăng nhập vào hệ thống để

download vé mời.

(cid:131) Vé có thời hạn sử dụng trong suốt một mùa.

- Thuộc tính:

Ngoài những thuộc tính chung đã nêu, vé mùa theo chủ đề còn có thêm những

thuộc tính sau:

(cid:131) Khu vực ngồi dành riêng: quy định những khu vực ngồi đặc biệt cho khách

mời.

Tóm lại, vé mời là loại vé dành cho sự kiện loại 1, có hiệu lực trong suốt một

mùa sự kiện và không được phép gia hạn vào mùa sau.

2.2.4 Vé mùa giảm giá

- Định nghĩa:

Reduction season ticket – còn gọi là vé mùa giảm giá – là một loại vé phụ được

dùng kết hợp với vé bán lẻ để được giảm giá khi khách hàng mua vé lẻ. Vé mùa

giảm giá này sẽ tiết kiệm cho khách hàng rất nhiều nếu họ mua vé lẻ để tham gia sự

kiện một cách thường xuyên.

- Ví dụ: Vé mùa giảm giá 10% trên vé lẻ, vé mùa giảm giá 2% trên vé lẻ.

- Đặc điểm:

(cid:131) Vé mùa giảm giá có thể áp dụng được cho những sự kiện thuộc loại 1 và loại

2.

29

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:131) Vé mùa giảm giá phải được dùng chung với vé lẻ thì mới có ý nghĩa

(cid:131) Người tổ chức sẽ tạo ra nhiều vé mùa giảm giá với các tỉ lệ giảm giá và thời

hạn sử dụng khác nhau.

(cid:131) Khác với các loại vé theo mùa còn lại, khách hàng có thể chọn lựa ngày bắt

đầu vé mùa giảm giá có hiệu lực (thay vì là ngày nhận vé).

- Thuộc tính:

Ngoài những thuộc tính chung đã nêu, vé mùa theo chủ đề còn có thêm những

thuộc tính sau:

(cid:131) Thời hạn của vé: là một khoảng thời gian xác định được tính từ ngày khách

hàng chọn bắt đầu hiệu lực.

(cid:131) Tỉ lệ giảm giá: là phần trăm giảm giá vé bán lẻ.

Tóm lại, vé mùa giảm giá là một loại vé phụ và phải dùng chung với vé bán lẻ.

Khách hàng mua loại vé này sẽ được chọn ngày bắt đầu hiệu lực cho vé của mình.

2.2.5 Vé mùa nhiều ngày

- Định nghĩa:

Multi-day season ticket – còn được gọi là vé mùa nhiều ngày – là loại vé mùa

cho phép khách hàng xem những chương trình của một sự kiện vào nhiều ngày khác

nhau. Ngày ở đây chính là các thứ trong tuần.

- Ví dụ: vé dành đi xem các buổi hòa nhạc tại Sydney Opera vào ngày thứ hai và

thứ ba.

- Đặc điểm:

(cid:131) Vé mùa nhiều ngày được áp dụng cho các sự kiện loại 1.

(cid:131) Người tổ chức sẽ dựa trên chương trình đã có sẵn để đưa ra các loại vé mùa

nhiều ngày hợp lệ trong các thứ trong tuần. Vé mùa nhiều ngày có đặc điểm

30

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

giống như vé mùa nhiều lần trong trường hợp sự kiện đã có sẵn chương trình

nhưng nó không quy định số lần vào tham gia của khách hàng.

- Thuộc tính:

Ngoài những thuộc tính chung đã nêu, vé mùa theo chủ đề còn có thêm những

thuộc tính sau:

(cid:131) Danh sách các thứ: xác định vé mùa nhiều ngày vào hợp lệ vào những thứ nào

trong tuần.

Tóm lại, vé mùa nhiều ngày là loại vé dùng cho các sự kiện loại 1, cho phép

khách hàng tham gia những chương trình vào các ngày cụ thể dưa trên lịch đã có

sẵn

2.2.6 Vé mùa nhiều chương trình

- Định nghĩa:

Multi-performance season ticket – còn gọi là vé mùa nhiều chương trình – là

loại vé theo mùa cho phép khách hàng đến xem nhiều buổi diễn hay các trận thi đấu

trong một sự kiện. Người tổ chức sẽ dựa trên lịch chương trình đã được lên trước

của sự kiện mà sắp xếp số lượng chương trình trong mỗi vé cho phù hợp.

- Ví dụ: Vé xem những chương trình của sự kiện tuần lễ chiếu phim Hàn Quốc.

Card 1

Thurs, 05-05-2005

The days After Tomorrow

Fri, 06-05-05

A Moment to Remember

Sat, 07-05-05

My Sassy Girl

Mon, 08-05-05

My Boyfriend is Type B

Tue, 09-05-05

Everybody Has a Little Secret

Bảng 2-3 Ví dụ cho loại vé xem nhiều chương trình trong tuần lễ chiếu phim Hàn

Quốc

31

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Đặc điểm:

Vé mùa nhiều chương trình được áp dụng cho các sự kiện loại 1. Trên mỗi vé sẽ

được in sẵn những chương trình mà khách hàng đến tham dự.

- Thuộc tính:

Ngoài những thuộc tính chung đã nêu, vé mùa theo chủ đề còn có thêm những

thuộc tính sau:

(cid:131) Danh sách các chương trình

- Ví dụ: Vé xem những chương trình của sự kiện tuần lễ chiếu phim Hàn Quốc.

Tóm lại, vé mùa nhiều chương trình được áp dụng cho các sự kiện thuộc loại 1

và cho phép khách hàng tham dự nhiều chương trình (có danh sách xác định) đã có

lịch cụ thể của sự kiện.

2.2.7 Tóm tắt đặc điểm của từng loại vé theo mùa ứng với các loại

sự kiện

(cid:190) Sau đây là hình tổng kết các thuộc tính chung và riêng của các loại vé mùa đã

được giới thiệu ở trên:

Hình 2-1 Tổng kết các đặc điểm chung và riêng của 6 loại vé theo mùa

32

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:190) Tổng kết các loại sự kiện được áp dụng của vé theo mùa

Loại vé Sự kiện loại 1 Sự kiện loại 2

(cid:57) Vé mùa theo chủ đề (Topic season

ticket)

(cid:57) (cid:57) Vé mùa nhiều lần vào (Multi-entry

season ticket)

(cid:57) Vé mời (VIP-Sponsor season ticket)

(cid:57) (cid:57) Vé mùa giảm giá (Reduction season

ticket)

(cid:57) Vé mùa nhiều ngày (Multi-day season

ticket)

(cid:57) Vé mùa nhiều chương trình (Multi-

performance season ticket)

Bảng 2-4 Tổng kết tính chất của các loại sự kiện của 6 loại vé theo mùa

2.3 Giá vé theo mùa

Giá vé theo mùa được xem là một ưu đãi cho khách hàng sử dụng. Giá của vé

theo mùa được xác định dựa trên nhiều yếu tố khác nhau:

- Loại sự kiện: tức là quy mô tổ chức sự kiện lớn hay nhỏ, kinh phí để tổ

chức có nhiều hay không…..

- Nơi diễn ra sự kiện: chẳng hạn như các nhà hát lớn, các sân vận động, các

sân khấu lớn….

- Thể loại, tính chất của mỗi chương trình: chẳng hạn như buổi liveshow ca

nhạc có sự tham dự của Mỹ Tâm, Hồ Quỳnh Hương, Mỹ Linh….hoặc là

tuần lễ chiếu chùm phim Pháp có Alain Delon tham gia hoặc là những

trận đấu của câu lạc bộ Real Mandrid…..

33

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Loại khách hàng: bao gồm trẻ em, người lớn, người già, người tàn tật,

sinh viên, gia đình với số lượng xác định.

- Loại chỗ ngồi hoặc khu vực ngồi: ví dụ như trong bóng đá Khán đài A sẽ

có giá vé cao hơn những khán đài còn lại, hoặc trong các rạp hát, rạp

chiếu phim, dãy ghế hàng đầu sẽ có giá cao nhất….

- Giá vé bán lẻ.

- …

Các yếu tố này xuất phát từ những đặc điểm của sự kiện mà nó áp dụng và

luôn phụ thuộc lẫn nhau hình thành sự đa dạng cho giá của vé theo mùa. Sự khác

biệt của vé theo mùa với vé lẻ là nó giúp cho khách hàng tiết kiệm được tiền bởi vì

giá cả của vé mùa bao giờ cũng thấp hơn vé bán lẻ trong suốt một mùa sự kiện.

Khách hàng càng đặt mua vé mùa có số lượng chương trình nhiều thì càng tiết kiệm

hơn vì số tiền phải trả cho một chương trình sẽ giảm so với những khách hàng mua

với số lượng ít. Tỉ lệ giảm giá vé mùa từ những yếu tố kể trên cũng được tính theo

cách này. Ngoài ra đơn vị tính của giá vé theo mùa cũng thay đổi: USD, EUR,

VND….

2.4 Quy trình đặt và sử dụng vé theo mùa

Quy trình đặt vé và sử dụng vé theo mùa có những đặc điểm khác nhau tùy

vào đặc thù của từng sự kiện cụ thể và tính chất của vé được sử dụng. Như đã phân

tích ở 2.1.3, chúng ta có hai loại sự kiện chính:

- Sự kiện loại 1 có thời gian diễn ra cụ thể và có trước chương trình cho

suốt một mùa.

- Sự kiện loại 2 diễn ra thường nhật và chỉ có sẵn chương trình trong một

khoảng thời gian ngắn.

34

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Do đó 6 loại vé mùa chung cũng có cùng tính chất tương tự như thế. Tuy

được chia làm 6 loại nhưng về bản chất của chúng cũng đều có một trong hai đặc

điểm sau:

- Đặc điếm 1:

Vé theo mùa có sẵn những chương trình cụ thể. Loại vé này chỉ được áp

dụng cho các sự kiện thuộc loại 1. Do đó loại vé này khi được đặt mua rồi thì có thể

sử dụng để tham gia sự kiện ngay khi sự kiện diễn ra.

- Đặc điểm 2:

Vé theo mùa không có (hoặc không biết) trước những chương trình sẽ được

tổ chức. Loại vé này chỉ được áp dụng cho các sự kiện thuộc loại 2. Khi loại vé này

được đặt mua, khách hàng vẫn chưa sử dụng chúng ngay được mà phải theo dõi trên

mạng để biết khi nào sự kiện đã có chương trình cụ thể. Khi đó, khách hàng mới sử

dụng vé mùa đã mua được để đặt những chương trình mà mình thích xem phù hợp

với quy định của vé theo mùa. Trong lần đặt mua thứ hai này hệ thống sẽ in ra vé

mùa đơn để khách hàng có thể tham gia chương trình yêu thích của mình.

Tên vé theo mùa Đặc điểm 1 Đặc điểm 2

(cid:57) Vé mùa theo chủ đề (Topic season ticket)

(cid:57) (cid:57) Vé mùa nhiều lần vào (Multi-entry

season ticket)

(cid:57) Vé mời (VIP-Sponsor season ticket)

(cid:57) (cid:57) Vé mùa giảm giá (Reduction season

ticket)

(cid:57) Vé mùa nhiều ngày (Multi-day season

ticket)

(cid:57) Vé mùa nhiều chương trình (Multi-

performance season ticket)

Bảng 2-5 Các đặc điểm chung của 6 loại vé theo mùa

35

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

2.4.1 Quy trình đặt vé theo mùa

Từ những phân tích ở trên ta có thể thấy được bài toán chung cần xây dựng

sẽ có hai quy trình và cách sử dụng vé theo mùa khác nhau tùy theo từng loại sự

kiện và đặc điểm mà vé theo mùa được áp dụng.

- Quy trình đặt vé chính:

Quy trình này áp dụng cho 6 loại vé theo mùa đã phân tích.

Hình 2-2 Quy trình chính cho việc đặt vé theo mùa của hệ thống

Theo mô hình trên các quy trinh đặt vé theo mùa sẽ gồm những bước sau:

1/ Tìm kiếm vé theo mùa phù hợp trên website dành cho khách hàng của hệ

thống sự kiện cụ thể.

2/ Trong lúc tìm kiếm có thể xem thông tin của vé về nội dung chương trình

của vé hoặc thông tin về sự kiện.

3/ Chọn vé mùa muốn đặt.

4/ Điền vào các thông tin của khách hàng và các thông tin khác của vé yêu

cầu (nếu có). Điều này tùy thuộc vào đặc điểm của vé.

5/ Hệ thống xác nhận thông tin đặt vé của khách hàng.

6/ Thanh toán điện tử. Tuy nhiên do giới hạn của luận văn nên bước này đã

được chúng tôi bỏ qua trong phần cài đặt chương trình

7/ In vé mùa đã đặt.

36

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Ghi chú: Kết thúc quy trình đặt vé chính, khách hàng sẽ được hệ thống cung cấp

một số - gọi là mã booking. Con số này sẽ là đại diện cho vé theo mùa mà khách

hàng đã đặt. Do đó mọi sự thay đổi về thông tin vé đặt sau này đều dựa trên mã

booking được cung cấp.

- Quy trình đặt vé mùa đơn4 bằng vé theo mùa:

Quy trình này chỉ áp dụng cho các loại vé có đặc điểm thứ hai. Đây là quy

trình sử dụng vé theo mùa đã mua để đổi lấy vé mùa đơn xem một chương trình cụ

thể.

Hình 2-3 Quy trình đặt vé mùa đơn

Theo mô hình trên các quy trinh đặt vé theo mùa sẽ gồm những bước sau:

1/ Xem thông tin các chương trình của sự kiện trên website.

2/ Chọn chương trình muốn đặt.

3/ Nhập vào mã booking của vé mùa đã mua trước đây của cùng sự kiện.

4/ Nếu mã booking nhập đúng thì hệ thống xác nhận.

Nếu mã booking nhập sai hoặc không tồn tại thì hệ thống không xác nhận.

Khách hàng có thể bắt đầu lại từ bước 1

5/ Điền thông tin chọn lựa của mình theo chương trình: ví dụ: số ghế ngồi, giờ

chiếu, phòng chiếu…. Thông tin được yêu cầu này nhiều hay ít là tùy thuộc

4 Single season ticket

vào các đặc điểm quản lý của từng sự kiện cụ thể

37

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

6/ Hệ thống xác nhận thông tin đặt vé của khách hàng.

7/ In vé mùa đơn đã đặt.

Ghi chú: Riêng đối với vé mời thì khách mời sẽ được cung cấp một account để đăng

nhập vào hệ thống download vé về mà không cần thanh toán điện tử.

2.4.2 Khó khăn của việc kiểm soát vé và mẫu thiết kế của vé theo

mùa cần xây dựng

(cid:190) Lợi ích của người dùng đối với giải pháp đặt vé theo mùa trên mạng

Việc đặt vé theo mùa trên Internet có nhiều lợi ích cho khách hàng. Đó là:

- Khách hàng có thể tự chọn vé theo sở thích của mình.

- Khách hàng tự đặt vé và thanh toán trực tiếp trên mạng.

- Khách hàng tự in vé theo mùa để sử dụng thông qua email của hệ thống

gửi đến hoặc in trực tiếp trên trang web.

(cid:190) Khó khăn của công việc kiểm soát vé

Vì vé theo mùa có thể được người dùng in trực tiếp trên mạng hoặc tại nhà

nên thông tin đặt vé của khách hàng đã không còn đảm bảo là riêng tư nữa. Vấn đề

này không do việc hệ thống gửi email vì việc gửi email này là hoàn toàn bảo mật.

Khó khăn chính trong vấn đề này là vé được in trực tuyến. Các thông tin của nó rất

dễ được sao chép và sử dụng lại. Chính vì vậy, công việc kiểm soát vé trong quá

trình diễn ra sự kiện là hết sức quan trọng. Vé theo mùa cần được thiết kế như thế

nào để giảm thiểu tối đa tổn thất cho người tổ chức và giúp khách hàng sử dụng vé

một cách dễ dàng? Sau đây là phần thiết kế của vé theo mùa mà chúng tôi đề nghị

và được chấp nhận. Nó đã đáp ứng được hai vấn đề nêu trên.

(cid:190) Phân tích mẫu thiết kế của vé theo mùa đã xây dựng

(cid:153) Vé theo mùa (cid:23) Hình 5-18 Vé theo mùa cho sự kiện Championship

(cid:23) Hình 5-17 Vé theo mùa cho sự kiện phim

Đây là kết quả của quy trình đặt vé theo mùa thứ nhất (Quy trình chính)

38

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 2-4 Cách trình bày vé theo mùa

*** Giải thích ý nghĩa của các phần đã thiết kế:

- Phần 1:

→ Bên trái là tên sự kiện, cho biết khách hàng đã đăng ký tham gia sự kiện nào.

Nó có đúng là sự kiện dang diễn ra khi khách hàng vào cổng hay không.

→ Bên phải là hàng chữ “Season Ticket – Next step in e-Ticket” cho biết vé

đang được sử dụng là vé theo mùa.

- Phần 2: là phần hình ảnh của sự kiện. Hình ảnh này kết hợp với tên sự kiện ở

phần 1 giúp những người kiểm soát vé nhận biết rõ hơn về sự kiện khách hàng

đã đăng ký.

39

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Phần 3:

→ Bên trái là các thông tin của vé mua (mã booking, tên vé, thời gian hiệu lực)

nhằm giúp người tổ chức dễ dàng kiếm soát tính hợp lệ của vé. Vé này còn

hiệu lực không và vé có sử dụng cho sự kiện này hay không.

Mã booking được in trên vé nhằm giúp cho khách hàng có thể ghi nhớ để dễ

dàng hủy hoặc gia hạn vé. Vì mã booking sẽ là đại diện cho vé được đặt. Mọi

thay đổi về thông tin vé đặt sẽ thông qua mã booking này.

→ Bên phải là các thông tin về khách hàng: tên, tên của yếu tố mà sự kiện dựa

vào đó định giá (ví dụ: đối với ca nhạc, phim thì nó là loại khách hàng; đối

với thể thao thì nó sẽ là chỗ ngồi hay các khu vực ngồi), giá vé.

- Phần 4:

→ Bên trái là phần barcode. Đây chính là phần quan trọng nhất cho việc kiểm

soát vé. Khi khách hàng cầm vé này vào cổng, người soát vé sẽ dùng máy

quét (scanner) để quét phần barcode này. Khi đó hệ thống kiểm tra sẽ ghi

nhớ con số này. Điều này ngăn chặn việc một người khác cũng sử dụng vé

tương tự để vào tham gia chương trình.

→ Bên phải là những thông tin ưu đãi cho khách hàng khi sử dụng vé. Nó giúp

cho khách hàng dễ dàng nhận được những lợi ích từ ban tổ chức (ví dụ tặng

quà, tặng áo đi kèm....)

- Phần 5:

→ Đây là phần thông tin về chương trình mà khách hàng đã đặt. Nó sẽ gồm

danh sách các chương trình hợp lệ mà khách hàng được phép xem.

(cid:153) Vé mùa đơn (cid:23) Hình 5-26 Vé theo mùa đơn dành cho sự kiện phim

Đây là kết quả của quy trình đặt vé theo mùa thứ hai.

40

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 2-5 Cách trình bày vé mùa đơn

*** Giải thích ý nghĩa của các phần đã thiết kế:

- Phần 1: Tương tự trong phần giải thích ở trên.

- Phần 2: Tương tự trong phần giải thích ở trên.

- Phần 3:

→ Bên trái: Do vé mùa đơn là loại vé được tạo ra từ vé theo mùa ở trên (đã giải

thích ở phần 2.4.1) nên nó phải có thông tin của vé chính (tên vé, tên khách

hàng, loại khách hàng ). Điều này để biết vé đơn này có hợp lệ hay không.

→ Bên phải: vé mùa đơn là vé dành cho một sự kiện cụ thể nên thông tin của

nó sẽ gồm: tên chương trình, thời gian diễn ra chương trình, nơi tham dự

(phòng...), chỗ ngồi.

- Phần 4: Tương tự trong phần giải thích ở trên

2.4.3 Cách sử dụng vé theo mùa

Sau khi thực hiện xong các quy trình đặt vé đã phân tích ở 2.4.1, khách hàng

sẽ tự in vé theo mùa trực tiếp trên website hoặc thông qua email do hệ thống gửi tới.

Đến khi sự kiện diễn ra, họ sẽ mang vé in được để vào tham gia chương trình mình

41

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

đã đặt. Việc kiểm soát tính hợp lệ của vé sẽ dựa trên phần barcode và một số thông

tin khác trên vé: tên họ khách hàng... (tham khảo cách trình bày của vé theo mùa ở

Hình 2-4)

2.5 Hủy thông tin đặt và gia hạn vé theo mùa

2.5.1 Hủy vé theo mùa:

Khách hàng có thể hủy thông tin đặt vé của mình thông qua hệ thống bán vé mùa

trước của sự kiện. Quy trình hủy vé bao gồm những bước sau:

1/ Khách hàng cần nhập đúng mã booking của khách để tiến hành hủy thông tin đặt

vé theo mùa.

2/ Khi đó hệ thống sẽ kiểm tra những thông tin sau:

i. Mã booking có hợp lệ hay không?

ii. Thời gian hủy vé có hợp lệ không? Tức là thời điểm hủy vé phải trước thời

điểm đặt vé là 24 tiếng.

(cid:131) Nếu hợp lệ thì hệ thống sẽ xác nhận lại thông tin đặt vé của khách.

(cid:131) Nếu không hợp lệ thì hệ thống sẽ thông báo là lỗi

3/ Nếu nhận được thông tin xác nhận, khách hàng sẽ xác nhận yêu cầu hủy vé. Khi

đó tất cả thông tin về quá trình đặt vé của khách sẽ được xóa khỏi cơ sở dữ liệu

của hệ thống.

Nếu nhận được thông báo lỗi, khách hàng có thể thực hiện lại bước hủy vé từ đầu

hoặc kết thúc.

Khách cũng có thể hủy thông tin đặt chỗ của mình qua điện thoại. Khi đó khách

cần đọc đúng mã booking và họ tên của khách, nhân viên phụ trách sẽ thực hiện

chức năng hủy thông tin đặt vé theo mùa của khách.

2.5.2 Gia hạn vé theo mùa:

Sau khi kết thúc một mùa sự kiện, vé mùa mà khách hàng đặt có thể giữ lại

để gia hạn cho mùa sau. Khi mùa sau bắt đầu, khách hàng sẽ lên trang web của hệ

thống đặt vé mùa của sự kiện này để thực hiện gia hạn vé của mình. Khách hàng

42

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

cũng có thể thực hiện công việc này qua điện thoại. Khi đó khách cần đọc đúng mã

booking và họ tên của khách, nhân viên phụ trách sẽ thực hiện chức năng gia hạn

thông tin đặt vé theo mùa của khách. Đối với tất cả 6 loại vé chung đã phân tích ở

trên, mỗi loại đều có yêu cầu chung và riêng về thời gian gia hạn và thời gian hiệu

lực mới của vé:

• Chung: Khách hàng phải nhập mã booking của mình

• Riêng:

Loại vé theo mùa Thời gian hiệu lực mới

Vé theo mùa có đặc điểm 1 Thời gian bắt đầu và kết thúc của mùa

sự kiện mới. Thông thường hệ thống sẽ

tự cập nhật lại thời hạn mới của vé khi

có yêu cầu gia hạn từ khách hàng.

Vé theo mùa có đặc điểm 2 Vẫn là thời gian hiệu lực cũ của vé. Tuy

nhiên thời điểm bắt đầu vé có hiệu lực sẽ

tính theo thời điểm mà khách hàng lựa

chọn.

Bảng 2-6 Những đặc điểm riêng của từng loại vé về thời gian hiệu lực mới khi gia hạn

2.6 Các loại vé theo mùa được áp dụng cho từng sự kiện

cụ thể

Từ những ý tưởng phân tích tổng quát 6 loại vé theo mùa trên, bài toán tổng

quát hóa cho hệ thống bán vé mùa trước đã được giải quyết một phần. Tuy nhiên để

xây dựng một hệ thống bán vé mùa cụ thể cho một sự kiện cụ thể thì việc đưa bài

toán chung vào để giải quyết thì vẫn chưa đủ để hình thành một ứng dụng hoàn hảo.

Bởi vì mỗi sự kiện có những đặc thù riêng đòi hỏi người xây dựng chương trình

phải thêm vào những đối tượng và thuộc tính riêng thì bài toán cụ thể mới giải

quyết được. Ngoài ra để xét xem loại vé nào được áp dụng cho sự kiện nào thì việc

khảo sát nhu cầu khách hàng cũng là một yếu tố quan trọng.

43

Hệ thống đặt vé theo mùa cho lễ hội văn hóa

Hệ thống đặt vé theo mùa cho các buổi hoà nhạc

Một hoặc nhiều loại vé theo mùa của 6 loại

Một hoặc nhiều loại vé theo mùa của 6 loại

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

...

Mở rộng (extend)

Mở rộng (extend)

Mở rộng (extend)

Mô hình thiết kế tống quát cho 6 loại vé theo mùa cho mọi sự kiện

Hệ thống đặt vé theo mùa cho bóng đá

Hệ thống đặt vé theo mùa cho phim

Mở rộng (extend)

Mở rộng (extend)

Một hoặc nhiều loại vé theo mùa của 6 loại

Một hoặc nhiều loại vé theo mùa của 6 loại

Hình 2-6 Hướng giải quyết khi xây dựng hệ thống bán vé mùa trước cho những sự

kiện cụ thể

Để có thể thấy được điều này đối với 2 hệ thống chúng tôi chọn để minh họa

là: hệ thống vé mùa cho phim và hệ thống vé mùa cho giải bóng đá Championship,

chúng ta phải phân tích những điểm tương đồng và khác biệt giữa 2 sự kiện: sự kiện

chiếu phim tại rạp và sự kiện thể thao Championship.

Điểm giống nhau giữa sự kiện chiếu phim ở rạp và sự kiện thể thao

Championship:

- Đều là những sự kiện hồi quy.

44

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Điểm khác nhau:

Phim Championship

- Là sự kiện loại 1, có quy mô tổ chức - Là sự kiện loại 2, diễn ra hàng ngày và

lớn và thời gian diễn ra sự kiện xác định. không có chương trình trong một thời

Do đó lịch về các trận thi đấu được lên gian dài.

trước khi sự kiện diễn ra.

- Championship là một sự kiện có - Phim chiếu ở rạp có nhiều thể loại

khoảng 20 đội bóng tham gia, các đội đá khác nhau. Tuy nhiên, số lượng phim

theo thể thức vòng tròn hai lượt tính chiếu mỗi tuần là không nhiều.

điểm.

- Yếu tố xác định giá vé bán lẻ dựa trên - Yếu tố xác định giá vé bán lẻ dựa trên

loại khách hàng. khu vực ngồi.

Bảng 2-7 Sự khác nhau giữa sự kiện chiếu phim tại rạp và sự kiện thể loại bóng đá

Championship

Từ những điểm giống và khác nhau giữa 2 sự kiện trên, kết hợp với nhận xét về tính

chất sự kiện ở Bảng 2-3, chúng tôi đã sử dụng lại một số loại vé mùa trong 6 loại

chung cho từng sự kiện như sau:

2.6.1 Phim chiếu ở rạp

(cid:190) Vé mùa nhiều lần vào (Multi-entry season ticket)

Đối với sự kiện chiếu phim tại rạp, thông thường người tổ chức chỉ lên lịch

chiếu trước trong khoảng vài tháng. Trong khi đó vé theo mùa được bán trước cho

cả năm. Đặc điểm này phù hợp với đặc điểm của sự kiện đi kèm với vé mùa nhiều

lần vào. Chính vì lý do đó người tổ chức đã chọn loại vé này dành cho phim.

Vé mùa nhiều lần vào có các đặc điểm và thuộc tính như đã nêu ở 2.2.2. Khi

tạo vé mùa nhiều lần vào, người tổ chức vẫn chưa có lịch chiếu phim tại một rạp cụ

thể nên họ chỉ có thể quy định trước số lần xem phim của vé. Việc xác định các thứ

trong tuần cũng rất dễ dàng vì đây là sự kiện diễn ra hàng ngày.

45

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Do sự kiện này là sự kiện thuộc loại 2 nên thời gian hiệu lực của vé sẽ được

tính từ thời điểm khách hàng lấy vé và kéo dài trong một khoảng thời gian định

trước.

(cid:190) Vé mùa giảm giá (Reduction season ticket)

Tương tự như vé mùa nhiều ngày, vé mùa giảm giá được đưa vào sử dụng

cho sự kiện chiếu phim tạp rạp vì sự kiện này phù hợp với tính chất của nó. Mặt

khác vì sự kiện này là sự kiện thu hút khách hàng hàng ngày nên họ có nhu cầu mua

vé xem phim rất nhiều. Vé mùa giảm giá sẽ là một giải pháp giúp họ tiết kiệm chi

phí hơn.

Vé mùa giảm giá có những đặc điểm và tính chất giống như 2.2.4.

2.6.2 Thể loại bóng đá Championship

(cid:190) Vé mùa theo chủ đề (Topic season ticket)

Vé này được áp dụng cho Championship một phần vì sự kiện này phù hợp

với tính chất của nó, phần khác do nhu cầu khách hàng mong muốn xem những trận

đấu của đội bóng mà họ yêu thích. Thông thường những người này đều là những

người hâm mộ bóng đá đặc biệt là một đội bóng nào đó. Chính vì lý do này khi đưa

vé theo chủ đề vào sử dụng, chúng tôi đã đổi tên vé thành vé mùa thành viên

(Member season ticket).

Do tính chất đá vòng tròn hai lượt của Championship, nghĩa là một đội bóng

sẽ thi đấu trên sân nhà và sân khách, cho nên số lượng trận đấu mà một đội thi đấu

là rất nhiều. Nhưng nhu cầu khách hàng thường mong muốn xem những trận đấu

trên sân nhà hoặc sân khách hoặc cả hai. Vì lý do đó nên vé mùa thành viên cho

Championship cần thêm một thuộc tính:

(cid:131) Sân nhà/Sân khách: thuộc tính này sẽ xác định vé mùa thành viên dành

cho những trận trên sân nhà hoặc sân khách hoặc cả hai.Vé mời (VIP-

Sponsor season ticket)

Vé mùa thành viên dành cho sự kiện bóng đá Championship sẽ có những thuộc tính

và đặc điểm như đã nêu ở 2.2.1và thêm thuộc tính nêu trên. Trong đó:

46

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:131) Chủ đề của loại vé này là tên đội bóng trong mùa.

(cid:131) Tất cả các chương trình: là thuộc tính dùng để xác định vé mùa thành

viên cho phép xem tất cả các trận thi đấu hoặc xem một số trận thi đấu

của đội bóng mà vé chỉ định

(cid:131) Sân nhà/Sân khách

(cid:190) Vé mời (VIP-Sponsor season ticket)

Vé mời được áp dụng cho Championship vì đây là sự kiện diễn ra trong một khoảng

thời gian xác định, có quy mô tổ chức lớn với sự đầu tư của nhiều nhà trợ....Do sự

kiện có rất nhiều khách VIP nên vé mời được đưa vào sử dụng là hợp lý.

Vé mời sẽ có thuộc tính và đặc điểm giống như 2.2.3 đã nêu ở trên.

2.7 Phần liên kết với REAS

Sự cần thiết phải liên kết với REAS – Hệ thống quản lý sự kiện có tính hồi

(cid:190) Phía người tổ chức:

quy

Việc xây dựng hệ thống quản lý vé đặt theo mùa để phục vụ các sự kiện thể

thao, văn hóa đóng một vai trò rất quan trọng. Nó là một giải pháp giúp các nhà

quản lý giải quyết vấn đề khó khăn về mặt kinh phí nhằm để chuẩn bị tốt cho việc tổ

chức một sự kiện cụ thể. Hệ thống vé đặt theo mùa này có nhiệm vụ thiết kế và đưa

ra các loại vé mùa phù hợp với sự kiện và nhu cầu của khách hàng. Sau đó các vé

theo mùa này sẽ được đưa lên Internet và bán trước khi một sự kiện diễn ra. Công

việc cuối cùng của hệ thống là in ra vé thực sự cho khách hàng. Để hệ thống quản lý

vé đặt theo mùa hoạt động tốt, REAS cần phải cung cấp những thông tin và đặc thù

(cid:190) Phía khách hàng:

về sự kiện được tổ chức trong mùa.

Những thông tin cần thiết do REAS cung cấp sẽ được đưa lên Internet giúp cho

khách hàng hiểu rõ hơn về sự kiện sắp diễn ra đồng thời dễ dàng hơn trong việc

chọn lựa các loại vé theo mùa có sẵn.

47

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Vì 2 nguyên nhân chính trên nên sự cần thiết có một interface giữa 2 hệ thống con

STS và REAS được đặt ra. Do nhu cầu của mỗi hệ thống bán vé cho mỗi sự kiện

luôn thay đổi tùy theo đặc thù của từng sự kiện cụ thể và loại vé do hệ thống cung

cấp, chúng tôi đã xây dựng một interface chung cho 2 sự kiện cụ thể Championship

và phim như sau:

Phần liên kết với REAS đã được xây dựng

Hệ thống quản lý sự kiện theo chu kỳ

Hệ thống quản lý vé theo mùa Output :

Input : tên rạp chiếu, tên phim, thứ...

PHIM

Danh sách suất chiếu của một phim Thông tin của phim Danh sách loại khách hàng Danh sách phòng chiếu Thông tin rạp chiếu phim

PHIM

GIAO DIỆN

Output :

Input : Tên mùa giải, tên câu lạc bộ, tên sân bóng...

Danh sách trận đấu của một câu lạc bộ Danh sách câu lạc bộ Danh sách khu vực ngồi Thông tin của mùa giải Thông tin của câu lạc bộ

CHAMPIONSHIP

CHAMPIONSHIP

Hình 2-7 Phần liên kết với REAS

(cid:190) Yêu cầu của hệ thống bán vé theo mùa cho sự kiện chiếu phim tại rạp:

Đối với sự kiện này, hệ thống bán vé theo mùa cần phải có những thông tin sau:

- Thông tin về rạp chiếu phim: Tên, Địa chỉ.

- Thông tin về danh sách các phim được chiếu tại một rạp cụ thể trong

một khoảng thời gian xác định: ngày chiếu, danh sách tên phim được

chiếu.

- Thông tin về các suất chiếu của một phim tại một rạp cụ thể vào một

ngày xác định: Phòng, danh sách giờ chiếu.

- Thông tin về một phim được chiếu tại một rạp cụ thể: Tên, thời lượng

chiếu, nội dung, danh sách diễn viên, thể loại, nhà sản xuất, quốc gia.

- Thông tin về danh sách các phòng có suất chiếu tại một rạp vào một

48

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

số thứ (days Of Week) trong tuần: thứ trong tuần, danh sách phòng,

danh sách giờ chiếu ứng với một phòng.

- Thông tin về phòng của 1 rạp cụ thể: Tên, hướng dẫn.

(cid:190) Yêu cầu của hệ thống bán vé theo mùa cho sự kiện bóng đá Championship:

Đối với sự kiện này, hệ thống bán vé theo mùa cần phải có những thông tin sau:

- Danh sách của những câu lạc bộ trong mùa: Tên, sân vận động, quốc

gia, logo.

- Danh sách trận đấu của một câu lạc bộ trong mùa: 2 câu lạc bộ tham

gia, sân vận động, thời gian thi đấu.

- Loại ghế ngồi: Tên.

- Thông tin của mùa giải: Tên, ngày bắt đầu, ngày kết thúc.

- Thông tin của sân vận động của một câu lạc bộ (sân nhà): Tên, địa

chỉ, ảnh.

Kết quả của phần liên kết với REAS đã xây dựng:

- Sử dụng thông tin do REAS cung cấp để tạo vé theo mùa.

- Xây dựng website cho từng hệ thống bán vé theo mùa cho sự kiện cụ

thể.

2.8 Lược đồ use case cho hệ thống bán vé theo mùa

Sau khi tìm hiểu và phân tích những điểm giống và khác nhau về mặt nghiệp

vụ của hệ thống bán vé đặt theo mùa phục vụ cho các sự kiện thể thao văn hóa,

chúng tôi đã tìm những chức năng chính và chung cho hệ thống bán vé tổng quát

đồng thời cụ thể hóa những chức năng này trong hệ thống bán vé cho 2 sự kiện cụ

thể là phim và Championship.

2.8.1 Phía người tổ chức

(cid:190) Lược đồ use case tổng quát

Đối với hệ thống bán vé theo mùa tổng quát về phía tổ chức những chức năng

này được cung cấp bởi actor có tên là Organiser (Người quản lý).

49

Manage season tickets

Manage season ticket prices

Cancel season tickets

Organiser

Renew season tickets

Search orders

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 2-8 Lược đồ use case tổng quát của hệ thống đối với người quản lý

Tên Use Case Giải thích

Quản lý vé theo mùa. Bao gồm: (1) Manage season tickets

- Tạo vé theo mùa

- Cập nhật vé theo mùa

- Xóa vé theo mùa

Quản lý giá vé theo mùa. Bao gồm: (2) Manage season ticket prices

- Tạo giá cho vé theo mùa

- Cập nhật giá cho vé theo mùa

- Xóa giá cho vé theo mùa

(3) Cancel season tickets Hủy thông tin vé đặt theo mùa

(4) Renew season tickets Gia hạn vé đặt theo mùa cho mùa sự

kiện sau

50

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(5) Search orders Tìm kiếm thông tin vé đặt theo mùa từ

các tiêu chí: tên khách hàng, khoảng thời

gian đặt, loại vé….

Bảng 2-8 Mô tả các chức năng chính của hệ thống bán vé mùa tổng quát phía người

tổ chức

(cid:190) Lược đồ use case cho hệ thống quản lý vé theo mùa cho sự kiện chiếu phim

tại rạp

Các chức năng trừu tượng trên sẽ được cụ thể thành những chức năng dành riêng

cho hệ thống bán vé mùa cho phim. Các chức năng này được cung cấp bởi actor cụ

thể là người quản lý vé cho phim (Cinema Manager).

Hình 2-9 Lược đồ use case của hệ thống bán vé theo mùa cho phim đối với người

quản lý

Tên Use Case Giải thích

Nhóm (1): Manage season tickets

Quản lý vé mùa nhiều lần vào Manage Multi-entry season tickets

51

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Quản lý vé mùa giảm giá Manage Reduction season tickets

Nhóm (2): Manage season ticket prices

Manage Multi-entry season ticket price Quản lý giá vé mùa nhiều lần vào

Manage Reduction season ticket price Quản lý giá vé mùa giảm giá

(Nhóm 3): Cancel season tickets

Cancel Multi-entry season tickets Hủy vé đặt theo mùa nhiều lần vào

Cancel Reduction season tickets Hủy vé đặt theo mùa giảm giá

Nhóm (4): Renew season tickets

Renew Multi-entry season tickets Gia hạn vé đặt theo mùa nhiều lần vào.

Trong chức năng này người tổ chức phải

chọn ngày bắt đầu hiệu lực mới của vé

như trong 2.5.1.

Renew Reduction season tickets Gia hạn vé đặt theo mùa giảm giá.Trong

chức năng này người tổ chức phải chọn

ngày bắt đầu hiệu lực mới của vé như

trong 2.5.2.

Nhóm (5): Search orders

Search orders Tìm kiếm thông tin vé đặt theo mùa

nhiều lần vào và vé theo mùa giảm giá.

Bảng 2-9 Mô tả các chức năng chính của hệ thống bán vé mùa cho phim phía người tổ

chức

(cid:190) Lược đồ use case cho hệ thống quản lý vé theo mùa cho sự kiện

Championship

Các chức năng trừu tượng trên sẽ được cụ thể thành những chức năng dành riêng

52

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

cho hệ thống bán vé mùa cho Championship. Các chức năng này được cung cấp bởi

actor cụ thể là người quản lý vé cho phim (Championship Manager).

Hình 2-10 Lược đồ use case của hệ thống bán vé theo mùa cho Championship đối với

người quản lý

Tên Use Case Giải thích

Nhóm (1): Manage season tickets

Quản lý vé mùa thành viên Manage Member season tickets

Quản lý vé mời Manage VIP-Sponsor season tickets

Nhóm (2): Manage season ticket prices

Quản lý giá vé mùa thành viên Manage Member season ticket price

(Nhóm 3): Cancel season tickets

Cancel Member season tickets Hủy vé đặt theo mùa thành viên

53

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Nhóm (4): Renew season tickets

Renew Member season tickets Gia hạn vé đặt theo mùa thành viên.

Trong chức năng này người tổ chức

KHÔNG CẦN chọn ngày bắt đầu hiệu

lực mới của vé (2.5.2).

Nhóm (5): Search orders

Search orders Tìm kiếm thông tin vé đặt theo mùa

thành viên và vé mời.

Bảng 2-10 Mô tả các chức năng chính của hệ thống bán vé mùa cho Championship

phía người tổ chức

2.8.2 Phía khách hàng

(cid:190) Lược đồ use case tổng quát

Đối với hệ thống bán vé theo mùa tổng quát về phía khách hàng những chức

Buy season tickets

Use season ticket to get single season ticket

Customer

(from A ctors)

View event information

Cancel season tickets

Renew season tickets

năng này được cung cấp bởi actor có tên là Customer (Khách hàng).

Hình 2-11 Lược đồ use case của hệ thống bán vé theo mùa tổng quát về phía khách

hàng

54

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Tên Use Case Giải thích

Đặt mua vé theo mùa. Chức năng này có (1) Buy season tickets

đề cập 2.4.1. Đây là quy trình chính của

hệ thống

Dùng vé theo mùa để đặt vé mùa đơn (2) Use season ticket to get single

cho chương trình cụ thể. Chức năng này seasont ticket

có đề cập 2.4.1.

(3) View event information Xem thông tin của sự kiện.

(4) Renew season tickets Gia hạn vé đặt theo mùa cho mùa sự

kiện sau

(5) Cancel season tickets Hủy thông tin vé đặt theo mùa

Bảng 2-11 Mô tả chức năng cho hệ thống bán vé theo mùa tổng quát về phía khách

hàng

(cid:190) Lược đồ use case cho hệ thống quản lý vé theo mùa cho sự kiện chiếu phim

tại rạp

Các chức năng trừu tượng trên sẽ được cụ thể thành những chức năng dành riêng

cho hệ thống bán vé mùa cho phim. Các chức năng này được cung cấp bởi actor cụ

thể là khách hàng xem phim (Cinema Customer).

55

<>

Buy season tickets

Cancel season tickets

Buy Multi-entry season ticket

Cinema Customer

<>

Renew season tickets

Buy Reduction season ticket

<>

Use season ticket to get single season ticket

Use Multi-entry season ticket to get sing...

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 2-12 Lược đồ use case của hệ thống bán vé theo mùa cho phim về phía khách

hàng

Tên Use Case Giải thích

Nhóm (1): Buy season tickets

Mua vé mùa nhiều lần vào Buy Multi-entry season tickets

Mua vé mùa giảm giá Buy Reduction season tickets

Nhóm (2): Use season ticket to get single seasont ticket

Sử dụng vé mùa nhiều lần vào để đặt vé Use Multi-entry season ticket to get

mùa đơn cho một phim cụ thể. single season ticket

(Nhóm 3): View event information

View event information Xem thông tin của rạp chiếu, phim, suất

chiếu, phòng chiếu….

Nhóm (4): Renew season tickets

Renew season tickets Gia hạn vé đặt theo mùa cho mùa sự

kiện sau: gồm vé mùa nhiều lần vào và

56

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

vé mùa giảm giá. Trong chức năng này

khách hàng phải chọn ngày bắt đầu

hiệu lực mới của vé (2.5.2).

Nhóm (5): Cancel season tickets

Cancel season tickets Hủy thông tin vé đặt theo mùa, gồm vé

mùa nhiều lần vào và vé mùa giảm giá.

Bảng 2-12 Mô tả chức năng của hệ thống bán vé theo mùa cho phim về phía khách

hàng

(cid:190) Lược đồ Use Case cho hệ thống quản lý vé theo mùa cho sự kiện

Championship

Các chức năng trừu tượng trên sẽ được cụ thể thành những chức năng dành riêng

cho hệ thống bán vé mùa cho Championship. Các chức năng này được cung cấp bởi

Buy season tickets

Cancel season tickets

ChampionShip Cust omer

<>

Renew season tickets

Buy Member season ticket

Login for VIP

actor cụ thể là khách hàng của Championship (Championship Customer).

Hình 2-13 Lược đồ use case của hệ thống bán vé theo mùa cho Championship về phía

khách hàng

Tên Use Case Giải thích

Nhóm (1): Buy season tickets

Mua vé mùa thành viên. Đối với loại vé Buy Member season tickets

này, bước 4 trong quy trình phân tích

57

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

chính sẽ có thêm phần chọn khu vực

ngồi và số ghế ngồi.

Khách mời login vào hệ thống để Login VIP

download vé mời.

Nhóm (2): Use season ticket to get single seasont ticket

X

(Nhóm 3): View event information

View event information Xem thông tin của mùa giải, câu lạc

bộ….

Nhóm (4): Renew season tickets

Renew season tickets Gia hạn vé đặt theo mùa cho mùa sự

kiện sau: gồm vé mùa thành viên. Trong

chức năng này khách hàng KHÔNG

CẦN phải chọn ngày bắt đầu hiệu lực

mới của vé (2.5.2).

Nhóm (5): Cancel season tickets

Cancel season tickets Hủy thông tin vé đặt theo mùa, gồm vé

mùa thành viên.

Bảng 2-13 Bảng mô tả chức năng của hệ thống bán vé theo mùa cho Championship về

phía khách hàng

58

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Chương 3. Tổng quan về kiến trúc sử dụng

3.1 Các kỹ thuật sử dụng

(cid:190) Những kỹ thuật sử dụng để lập trình:

(cid:131) JSP/Struts cho front-end.

(cid:131) Java cho back-end.

(cid:131) Mô hình MVC.

(cid:131) Proxy pattern cho front-end và Façade cho back-end.

(cid:131) Resource bundle.

(cid:190) Công cụ thiết kế và phát triển:

(cid:131) Rational Rose.

(cid:131) Eclipse with StrutsStudio 6.3.2.

(cid:131) PowerDesigner 9.

(cid:190) Hệ quản trị cơ sở dữ liệu sử dụng:

(cid:131) Oracle.

3.2 Kiến trúc

3.2.1 Các mô hình kiến trúc trong ứng dụng Web

Trước đây, các ứng dụng web sử dụng công nghệ JSP thường thực hiện theo

một trong hai kiến trúc: mô hình 1 (model 1) và mô hình 2 (model 2).

Mô hình 1:

Trong kiến trúc này, các trang JSP sẽ có nhiệm vụ xử lý mọi yêu cầu từ phía

người dùng (client). Người dùng ở đây có thể là các trình duyệt hoặc các lời gọi từ

xa thông qua một giao thức như là XML-RPC hay SOAP. Sau đó, các trang JSP này

59

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

sẽ thực hiện các yêu cầu đó như là kiểm tra dữ liệu nhập, thực hiện truy xuất dữ

liệu, định dạng dữ liệu trả về, … bằng cách tạo ra các JavaBean để thực hiện. Cuối

cùng, các trang JSP này cũng sẽ chịu trách nhiệm hiển thị kết quả cho phía người

dùng. Mô hình này có thể được biểu diễn thông qua hình sau:

Hình 3-1 Kiến trúc mô hình 1

Giải thích:

1) Yêu cầu từ phía người dùng cuối từ trình duyệt tới trang JSP để xử lý.

2) Trang JSP sẽ thực hiện kiểm tra dữ liệu nhâp, kiểm tra ràng buộc bằng cách

tạo ra các JavaBean. Trang JSP đồng thời cũng thực hiện chuyển hướng

(forward) tới cho trang JSP đích.

3) Các lớp Java này sẽ thực hiện việc truy xuất CSDL và nhận kết quả trả về

cho trang JSP.

4) Đối tượng response được trả về cho trình duyệt để hiển thị.

Khuyết điểm của mô hình này đó là các trang JSP phải làm mọi công việc từ

nhận yêu cầu đến xử lý yêu cầu rồi hiển thị kết quả. Xây dựng bằng cách này sẽ

không thể thực hiện được mục tiêu dễ bảo trì, tái sử dụng và mở rộng – Một yêu cầu

tất yếu đối với việc xây dựng phần mềm hướng đối tượng. Do đó mô hình này

không còn được sử dụng trong các ứng dụng thực tế.

60

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Mô hình 2:

Trong mô hình 2, vấn đề đã được giải quyết. Trong mô hình này, các yêu cầu

từ phía người dùng sẽ không còn được gởi trực tiếp xuống cho các trang JSP để xử

lý mà thay vào đó, các lớp java sẽ thực hiện nhận yêu cầu từ phía người dùng, tạo ra

các JavaBean khác để thực hiện các yêu cầu (như kiểm tra dữ liệu, ràng buộc, truy

xuất CSDL, …). Cuối cùng, các lớp java này sẽ chuyển kết quả về cho các trang

JSP. Công nghệ này được gọi là công nghệ Servlet.

Với công nghệ này, việc phân chia trách nhiệm được thực hiện một cách rõ ràng.

Các trang JSP sẽ hiển thị kết quả cho người dùng, các lớp java – còn được gọi là các

controller servlet – sẽ nhận yêu cầu từ người dùng và tạo ra các JavaBean xử lý các

yêu cầu đó. Các lớp JavaBean này tới lượt nó sẽ xử lý các yêu cầu, thực hiện các

thao tác đọc/ghi dữ liệu và trả kết quả cho controller servlet. Controller servlet sẽ

nhận kết quả và chuyển về cho trang JSP để hiển thị. Hình 3-2 mô tả kiến trúc này:

Hình 3-2 Kiến trúc mô hình 2

Giải thích:

1) Yêu cầu từ phía người dùng cuối từ browser tới. Controller servlet sẽ nhận

yêu cầu

2) Controller servlet sẽ thực hiện kiểm tra dữ liệu nhâp, kiểm tra ràng buộc và

chuyển đổi định dạng bằng cách tạo ra các JavaBean. Các lớp này sẽ thực

hiện việc đọc/ghi dữ liệu.

61

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

3) Controller servlet xác định trang JSP nào là trang JSP đích chứa thông tin kết

quả.

4) Các JavaBean sau khi nhận kết quả sẽ chuyển sang cho trang JSP để hiển thị.

5) Đối tượng response được trả về cho trình duyệt để hiển thị.

Vì mô hình này phân chia trách nhiệm cho các đối tượng một cách rõ ràng nên nó

đã khắc phục được các khuyết điểm của mô hình 1. Các mô hình mới sau này cũng

được phát triển theo hướng này.

3.2.2 Kiến trúc theo mẫu MVC

(cid:190) Giới thiệu

Như đã trình bày ở phần trước, mô hình 2 đã phân chia được trách nhiệm một

cách rõ ràng cho các đối tượng khác nhau trong ứng dụng web sử dụng công nghệ

JSP. Mô hình này đã tuân theo một mẫu thiết kế (pattern) là Model-View-Controller

(gọi tắt là MVC). Một số ưu điểm và thuận lợi khi sử dụng mô hình này:

• Các thành phần xử lý nghiệp vụ và thành phần hiển thị (giao diện)

được tách rời, cho phép hệ thống có thể thay đổi giao diện một cách dễ

dàng mà không làm ảnh hưởng tới việc xử lý nghiệp vụ bên dưới.

• Khả năng tái sử dụng và mở rộng cao nhờ sự tách biệt đó, cho phép có

thể có nhiều kiểu ứng dụng khác nhau (ví dụ như ứng dụng web, desktop

hay là các ứng dụng dành cho các loại máy xách tay, máy sử dụng công

nghệ không dây, …) sử dụng cùng một thành phần xử lý nghiệp vụ.

• Thời gian phát triển hệ thống cũng được rút ngắn khi công việc thiết kế

giao diện và thực hiện xử lý nghiệp vụ được phân chia rõ ràng.

(cid:190) Các thành phần:

Mẫu thiết kế MVC là một mẫu thiết kế chung và không phải chỉ sử dụng cho các

ứng dụng web. Các ứng dụng sử dụng mẫu này sẽ được chia thành 3 thành phần

chính:

62

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Model

Thực hiện công việc xử lý yêu cầu từ View thông qua Controller. Các

yêu cầu sẽ được xử lý bao gồm kiểm tra dữ liệu nhập một lần nữa (một phần

đã được thực hiện trong Controller), kiểm tra ràng buộc toàn vẹn và thực

hiện các thao tác đọc/ghi dữ liệu. Sau đó kết quả được gởi về cho View cũng

thông qua Controller. Model cũng có nhiệm vụ thông báo tình trạng hiện

thời của mình cho View biết để cập nhật lại cách thức hiển thị. Các đối

tượng dữ liệu dùng để chứa kết quả trả về hoặc tình trạng hiện thời của

Model được gọi là các đối tượng truyền dữ liệu (data transfer object – DTO)

hay là các đối tượng chứa giá trị (value object)

- View

Việc hiển thị dữ liệu cung cấp từ Model được thực hiện trong thành

phần này. Khi View nhận được thông báo (notify message) từ phía Model,

nó sẽ phải cập nhật lại cách thực hiển thị.

- Controller

Chịu trách nhiệm nhận yêu cầu từ người dùng và chuyển yêu cầu đó cho

Model xử lý. Controller này cũng sẽ thực hiện một số thao tác kiểm tra dữ

liệu nhập trước khi chuyển dữ liệu và yêu cầu xuống cho Model.

(cid:190) MVC và ứng dụng Web

Tuy nhiên, mẫu thiết kế MVC nguyên thuỷ không thể áp dụng hoàn toàn cho các

ứng dụng web vì các ứng dụng web không duy trì một kết nối thường trực xuống

các đối tượng trong thành phần Model. Do đó, việc thông báo trạng thái hiện hành

giữa các đối tượng trong Model và View không thể thực hiện được một cách dễ

dàng.

63

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Trong các ứng dụng web sử dụng công nghệ JSP và Java, các thành phần của

mẫu thiết kế MVC được phân chia như sau:

(cid:190) Thành phần Model : sẽ chứa các đối tượng dùng để thực hiện xử lý yêu cầu.

Các đối tượng này có thể là các JavaBean có các chức năng kết nối với

CSDL thông qua JDBC hoặc là các đối tượng Java phức tạp theo công nghệ

EJB, …

(cid:190) Thành phần View : sẽ là các trang JSP và HTML. Các trang HTML sẽ chứa

các dữ liệu tĩnh còn JSP thì chứa dữ liệu động. JavaScript cũng có thể được

sử dụng.

(cid:190) Thành phần Controller : sẽ là các controller servlet có nhiệm vụ nhận yêu

cầu và chuyển tiếp xuống cho Model sau khi đã thực hiện một số thao tác

kiểm tra và định dang dữ liệu cho phù hợp với định dạng dữ liệu từ phía

Model. Sau đó, nó sẽ quyết định trang JSP nào sẽ được hiển thị kế tiếp.

Ngoài ra, nhằm giảm chi phí bảo trì, tăng khả năng tái sử dụng, khả năng mở

rộng của các ứng dụng web, các mẫu thiết kế khác cũng được sử dụng kết hợp với

MVC. Lựa chọn mẫu nào để đáp ứng được yêu cầu của ứng dụng bán vé theo mùa?

Điều này sẽ được chúng tôi giới thiệu rõ hơn trong Chương 4.

3.2.3 Giới thiệu về Strut Framework

(cid:190) Tổng quan:

Struts là một framework mã nguồn mở được tài trở bởi tổ chức Apache Software

Foundation (http://jakarta.apache.org/struts/) . Struts được thiết kế dành cho các ứng

dụng web sử dụng công nghệ JSP và Java. Dựa trên các công nghệ chuẩn như

servlet, JavaBean, XML và ResourceBundle, Struts cung cấp các thành phần cần

thiết và đầy đủ cho việc xây dựng các ứng dụng web chuyên nghiệp trên qui mô lớn

ứng dụng mô hình 2 (trình bày trong phần trước) và áp dụng mẫu thiết kế MVC.

(cid:190) Mục tiêu của Strut:

64

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Mục tiêu chính của một framework là xây dựng một khung sườn chính cho các

ứng dụng. Các ứng dụng sau đó chỉ cần dựa trên nền tảng này và xây dựng tiếp các

thành phần khác. Với việc sử dụng framework, các nhà phát triển sẽ tiết kiệm được

rất nhiều thời gian và chi phí để phát triển các ứng dụng khi chúng sử dụng chung 1

framework. Các thành phần trong framework sẽ được đóng gói hoàn chỉnh và được

tái sử dụng lại nhằm giảm thời gian đóng gói cho ứng dụng dựa trên nền tảng này

đồng thời làm giảm chi phí triển khai ứng dụng. Struts cũng hướng đến mục tiêu đó.

Các thành phần, các gói (package) trong Struts tạo nên một bộ khung cho các ứng

dụng web sử dụng công nghệ servlet (Struts dựa trên nền tảng chính là servlet). Các

ứng dụng web sử dụng Struts vì thế sẽ được phát triển nhanh hơn và tốn ít chi phí

hơn.

(cid:190) Strut và mẫu thiết kế MVC

Struts áp dụng mẫu thiết kế MVC trong việc xây dựng framework. Như đã nói ở

phần trước, việc sử dụng mẫu thiết kế MVC giúp cho việc phát triển hệ thống được

thực hiện nhanh hơn, ít tốn chi phí cài đặt, triển khai và bảo trì đồng thời làm tăng

tính tái sử dụng, dễ mở rộng và dễ mang chuyển. Struts áp dụng mẫu này cũng với

mục tiêu giúp cho việc phát triển ứng dụng web nhanh hơn và ít tốn kém hơn.

Tóm lại:

Struts là một framework mạnh mẽ hỗ trợ đắc lực cho các nhà phát triển trong

việc xây dựng các ứng dụng web chuyên nghiệp với qui mô vừa và lớn. Struts xây

dựng các taglib cho việc hiển thị nội dung và dữ liệu động lên các trang JSP nhằm

giúp tránh việc nhúng mã JSP vào trong mã HTML. Các lớp ActionForm, Action,

ActionForward … đóng vai trò là các controller servlet thực hiện việc tiếp nhận yêu

cầu và chuyển yêu cầu cho thành phần Model xử lý. Ngoài ra, Struts cũng hỗ trợ rất

nhiều các công nghệ truy cập dữ liệu như JDBC, EJB, … Ứng dụng Struts trong

việc xây dựng ứng dụng web sẽ giúp cho việc phát triển nhanh hơn, ít tốn kém hơn,

đảm bảo tính tái sử dụng, dễ mở rộng và dễ bảo trì.

65

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Chương 4. Mô hình thiết kế tổng quát

4.1 Kiến trúc hệ thống

4.1.1 Ứng dụng mẫu thiết kế vào kiến trúc của Strut

Dựa vào mẫu MVC (Model –View - Controller) được Strut sử dụng, chúng

tôi nhận thấy rằng đây là một kiến trúc 3 lớp để xây dựng ứng dụng web ổn định.

Mỗi tầng View, Controller hay Model đều chứa các lớp và đối tượng trừu tượng mà

chúng tôi tạo ra phục vụ cho việc tạo lập những hệ thống bán vé cho các sự kiện.

Tuy nhiên vấn đề đặt ra là làm thế nào để hoàn thiện sự phát triển của các hệ thống

bán vé thông qua việc tái sử dụng code và thiết kế các thành tố này? Làm thế nào để

việc bảo trì và phát triển ứng dụng tốn ít chi phí nhất? Hướng đối tượng là một

phương án giải quyết nhưng chưa hẳn là một thuận lợi vì nó vẫn còn nhiều khó

khăn trong việc xây dựng các đối tượng dùng lại, xác định đối tượng nào được sử

dụng lại và những hướng dẫn để làm sao có thể sử dụng lại các đối tượng này.

Kỹ thuật thiết kế có sử dụng mẫu (design pattern) mở ra một hướng mới

nhiều hứa hẹn đạt đến một mức độ cao của việc thiết kế và sử dụng lại code. Sử

dụng mẫu nào để đáp ứng yêu cầu thiết kế một hệ thống bán vé khái quát phù hợp

với kiến trúc của Strut, đó là:

- Tăng tính độc lập giữa các tầng Model, View, Controller nghĩa là cung

cấp một giao diện đơn giản giữa front-end (View + Controller) và back-

end (Model).

- Tăng tính mở rộng, bảo trì, tương thích của hệ thống: mọi thay đổi trên

front-end (về giao diện,…) thì sẽ không ảnh hưởng đến back-end và

ngược lại.

- Tăng tính tái sử dụng các lớp và đối tượng đã được tạo lập.

66

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Qua thời gian tìm hiểu, chúng tôi nhận thấy rằng mẫu Proxy và Façade là hai

mẫu đáp ứng tốt các yêu cầu trên. Hai mẫu này thuộc về nhóm mẫu có cấu trúc

(Strutural Pattern).

(cid:190) Đặc tính của nhóm mẫu có cấu trúc

Các mẫu cấu trúc mô tả cách tổ chức các lớp và đối tượng để kết hợp thành các

cấu trúc lớn hơn, cùng phối hợp thực hiện một chức năng mới. Trong mẫu cấu trúc,

tính linh động của các cấu trúc lớn này được thể hiện ở khả năng thay đổi các thành

phần vào thời điểm thi hành phần mềm.

(cid:190) Mục đích và cách thức áp dụng Proxy

Mẫu Proxy điều khiển một cách gián tiếp việc truy xuất một đối tượng thông

qua một đối tượng được ủy nhiệm. Một lý do điều khiển truy cập tới một đối tượng

là trì hoãn toàn bộ hao phí của việc tạo và gán giá trị ban đầu cho tới khi thực sự cần

dùng. Do đó, Proxy thích hợp mỗi khi cần một tham chiếu linh hoạt hơn hay phức

tạp hơn một con trỏ đơn giản

Hình 4-1 Mô hình đối tượng của một cấu trúc Proxy tồn tại ở thời điểm thực thi

Mẫu Proxy giới thiệu cách gián tiếp để truy cập đối tượng. Trong ứng dụng này,

chúng tôi áp dụng mẫu Proxy cho tầng Controller.

(cid:190) Mục đích và cách thức áp dụng Façade

Mẫu Façade cung cấp một giao diện (interface) thuần nhất cho một tập hợp các

giao diện trong một hệ thống con (subsystem) . Façade định nghĩa một giao diện ở

67

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

mức cao để cho các hệ thống con dễ dàng sử dụng.

Hình 4-2 Lược đồ UML biểu diễn cho mẫu Façade

Giải thích mô hình:

- Façade: nhận biết các lớp của hệ thống con có trách nhiệm với một yêu cầu; gán

các yêu cầu của client đến các đối tượng của hệ thống con.

- Subsystem classes: thực thi các chức năng của hệ thống con, điều khiển công

việc được gán bởi đối tượng Façade. Chúng không biết tri thức của lớp Façade

và không giữ một tham chiếu nào đến nó.

Mục đích chính của mẫu Façade là làm giảm khả năng truy xuất trực tiếp từ

client đến hệ thống con. Trong ứng dụng này chúng tôi áp dụng Façade vào tầng

Model.

68

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4.1.2 Kiến trúc hệ thống

Hình 4-3 Kiến trúc hệ thống

69

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Mô hình trên đây là mô hình dùng để xây dựng hệ thống Season Ticket

System được chia thành 3 lớp riêng biệt.

- Model: đây là tập hợp các lớp java có nhiệm vụ:

o Nhận các yêu cầu từ View thông qua Controller (lớp Service được

áp dụng mẫu Façade)

o Thi hành các yêu cầu đó: xử lý nghiệp vụ bao gồm việc tính toán,

kiểm tra kiểm tra dữ liệu nhập, các ràng buộc toàn vẹn (lớp

Process)

o Kết nối với CSDL: đọc và ghi (lớp Manager)

o Trả về các giá trị tính toán cho View thông qua lớp Service

- View: Bao gồm các mã tương tự như JSP để hiển thị form nhập liệu, các

kết quả trả về Model.

- Conttroller: đồng bộ hóa giữa View và Model. Tức là với một trang JSP

này thì sẽ tương ứng với một hoặc nhiều lớp java để xử lý nó và ngược

lại, kết quả sẽ trả về trang jsp xác định. Các lớp java này chính là

ActionForm, Action và các lớp điều khiển bên trong tương ứng với mỗi

trang JSP. Như vậy, chúng ta có thể tách biệt được các mã java ra khỏi

mã HTML. Conttroller giao tiếp với Model thông qua một lớp gọi là

Proxy (vì lớp này được chúng tôi sử dụng Proxy Pattern)

Hướng đến việc xây dựng một hệ thống bán vé đa ngôn ngữ, chúng tôi sử

dụng lớp PropertyResourceBundle là lớp con của ResourceBundle để quản lý

các tài nguyên (hình ảnh, văn bản.....) của chương trình thông qua những chuỗi

hằng chứa trong những tập tin .properties. Sau này khi đổi ứng dụng sang một

ngôn ngữ khác, hệ thống sẽ được chỉ định sử dụng những nhóm tập tin

.properties chứa các tài nguyên thuộc ngôn ngữ chỉ định.

70

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4.2 Package Diagram

4.2.1 Phần chung

Hình 4-4 Sơ đồ package cho hệ thống bán vé theo mùa tổng quát

Trong phần này, chúng tôi đã xây dựng những lớp trừu tượng để phục vụ cho

mọi hệ thống bán vé theo mùa. Những lớp này được chứa trong 2 gói

«sts.application» và «sts.business» nằm trong gói «sts» của ứng dụng.

Tên package Giải thích

recurrentevent Package của ứng dụng tổ chức sự kiện

sts Package của ứng dụng bán vé theo mùa

sts.business Package chứa các gói và lớp phục vụ cho việc xử lý phần

71

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

back-end

sts.business.common Package chứa các lớp cung cấp những chức năng dùng

chung cho toàn hệ thống và tái sử dụng khi xây dựng một

hệ thống mới.

sts.business.user Package chứa các lớp liên quan đến thông tin của người

dùng và xử lý việc xác nhận quyền đối với hệ thống.

Package này có liên hệ với package

«sts.business.common» .

sts.business.event Package chứa các lớp liên quan đến thông tin của sự kiện.

Package này có liên hệ với package

«sts.business.common» và «recurrentevent».

sts.business.seasonticket Package chứa các lớp liên quan đến thông tin của 6 loại

vé. Package này có liên hệ với package

«sts.business.common» và «sts.business.event».

sts.business.order Package chứa các lớp liên quan đến vé theo mùa được

đặt.. Package này có liên hệ với package

«sts.business.common» và «sts.business.event» và

«sts.business.seasonticket»

sts.application Package chứa các lớp và gói phục vụ cho việc xử lý phần

front-end

sts.application.film Package chứa các lớp và gói có liên quan đến sự kiện

chiếu phim ở rạp.

sts.application.championship Package chứa các lớp và gói có liên quan đến sự kiện

bóng đá Championship.

sts.application.music Package chứa các lớp và gói có liên quan đến sự kiện ca

nhạc.

sts.application.festival Package chứa các lớp và gói có liên quan đến sự kiện lễ

72

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

hội văn hóa dân gian.

Bảng 4-1 Mô tả các package cho hệ thống bán vé theo mùa tổng quát

Việc phân chia các gói như vậy giúp cho việc quản trị các phần tử trong ứng

dụng trở nên dễ dàng hơn. Điều này cũng làm tăng tính mở rộng cho chương trình.

Khi cần xây dựng một hệ thống bán vé cho một sự kiện mới ta chỉ cần sử dụng lại

package «sts.business» và phát triển thêm một package ứng với sự kiện đó trong gói

«sts.application».

73

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4.2.2 Phim

Hình 4-5 Package Diagram của hệ thống vé theo mùa cho phim

74

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Như đã giải thích ở phần chung, gói «sts.application.film» sẽ chứa các lớp liên quan

đến thông tin của sự kiện chiếu phim ở rạp. Tương tự như cách tổ chức ở package

«sts.business», «sts.application.film» cũng bao gồm 5 gói mang thông tin giống như

Bảng 4-1 nhưng mỗi gói sẽ có những thông tin cụ thể hơn ứng với sự kiện chiếu

phim tại rạp.

Tên package Giải thích

recurrentevent Package của ứng dụng tổ chức sự kiện

sts Package của ứng dụng

sts.application.film Package chứa các lớp và gói phục vụ cho việc xử lý phần

front-end

sts.business.common Package chứa các lớp cung cấp những chức năng dùng

chung cho hệ thống chiếu phim tại rạp.

sts.business.user Package chứa các lớp liên quan đến thông tin của người

dùng và xử lý việc xác nhận quyền đối với hệ thống chiếu

phim tại rạp. Package này có liên hệ với package

«sts.business.common» .

sts.business.event Package chứa các lớp liên quan đến thông tin của sự kiện

chiếu phim tại rạp. Package này có liên hệ với package

«sts.business.common».

sts.business.seasonticket Package chứa các lớp liên quan đến thông tin của 2 loại

vé theo mùa được áp dụng cho sự kiện này: vé mùa vào

nhiều lần và vé mùa giảm giá. Package này có liên hệ với

package «sts.business.common» và «sts.business.event».

sts.business.order Package chứa các lớp liên quan đến vé theo mùa được

đặt.. Package này có liên hệ với package

«sts.business.common» và «sts.business.event» và

«sts.business.seasonticket»

75

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

sts.business Package này chứa các gói và lớp đối tượng xử lý back-

end, đồng thời có liên hệ với 2 gói «recurrentevent.film»

và «recurrentevent.film» để lấy thông tin sự kiện

Bảng 4-2 Mô tả các package cho hệ thống bán vé theo mùa tổng quát

76

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4.2.3 Championship

Hình 4-6 Package Diagram của hệ thống vé theo mùa cho Championship

77

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Như đã giải thích ở phần chung, gói «sts.application.championship» sẽ chứa các lớp

liên quan đến thông tin của sự kiện chiếu phim ở rạp. Tương tự như cách tổ chức ở

package «sts.business», «sts.application.championship» cũng bao gồm 5 gói mang

thông tin giống như Bảng 4-1 nhưng mỗi gói sẽ có những thông tin cụ thể hơn ứng

với sự kiện Championship.

Tên package Giải thích

recurrentevent Package của ứng dụng tổ chức sự kiện

sts Package của ứng dụng

sts.application.championship Package chứa các lớp và gói phục vụ cho việc xử lý phần

front-end

sts.business.common Package chứa các lớp cung cấp những chức năng dùng

chung cho hệ thống Championship.

sts.business.user Package chứa các lớp liên quan đến thông tin của người

dùng và xử lý việc xác nhận quyền đối với hệ thống

Championship. Package này có liên hệ với package

«sts.business.common» .

sts.business.event Package chứa các lớp liên quan đến thông tin của sự kiện

Championship. Package này có liên hệ với package

«sts.business.common».

sts.business.seasonticket Package chứa các lớp liên quan đến thông tin của 2 loại

vé theo mùa được áp dụng cho sự kiện này: vé mùa thành

viên và vé mời. Package này có liên hệ với package

«sts.business.common» và «sts.business.event».

sts.business.order Package chứa các lớp liên quan đến vé theo mùa được

đặt.. Package này có liên hệ với package

«sts.business.common» và «sts.business.event» và

«sts.business.seasonticket»

78

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

sts.business Package này chứa các gói và lớp đối tượng xử lý back-

end, đồng thời có liên hệ với 2 gói «recurrentevent.film»

và «recurrentevent.film» để lấy thông tin sự kiện.

Bảng 4-3 Package Diagram của hệ thống vé theo mùa cho Championship

4.3 Mô hình đối tượng

Dưới đây chỉ là mô hình thiết kế đã được chúng tôi lược bỏ các thuộc tính

trong từng đối tượng để mô hình nhìn đơn giản hơn. Mô hình đầy đủ được đặt trong

phần C. Mô hình đối tượng của Phụ lục.

4.3.1 Phần chung

Như trên Chương 2 đã phân tích, 6 loại vé theo mùa có những thuộc tính

chung và những thuộc tính riêng tương ứng với đặc điểm mỗi loại. Hình 4-7 là mô

hình đối tượng được thiết kế cho hệ thống bán vé theo mùa tổng quát. Đây là những

đối tượng chứa thông tin chuyển tiếp từ Model (Façade, Process và Manager) đến

View (trang JSP) thông qua Controller (Action, Proxy) và ngược lại để các lớp này

sử dụng. Chúng đều có chứa những thuộc tính đặc trưng.

79

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 4-7 Mô hình đối tượng được thiết kế cho hệ thống bán vé theo mùa tổng quát

80

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:190) Mô tả:

Chú ý: Các lớp được in nghiêng là các lớp trừu tượng.

STT Tên lớp Thuộc tính Phương thức của các service Lớp cơ sở

liên quan

addSeasonTicket() 1 - name AbstractSeason-TicketDTO

updateSeasonTicket() - description

getSeasonTicket() - createdDate

getTicketList() - owner

getSeasonTicketPerformances() - validity

- prices

Các phương thức liên quan tới - renewal 2 AbstractValidity

các đối tượng vé. - reservation

- replacement

81

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

3 - value addSeasonTicket() AbstractPrice

- currencyUnit updateSeasonTicket()

getSeasonTicket()

getTicketList()

getSeasonTicketPerformances()

removeSeasonTickets()

4 UserDTO - username authenticate()

- password changePassword()

registerNewUser()

insertDefaultUsers()

82

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

addSeasonTicketCard() 5 CardDTO - cardID

getSeasonTicketCard() - orderDate

printCard() - cancelDate

renewSeasonTicketCard() renewStartDate -

renewSeasonTicketCards() renewEndDate -

cancelSeasonTicketCards() ticketPrice -

- ticketPriceCurrency

- eventName

- selectedSeat

- selectedCategoryName

- previewedTicketURL

- customerFirstName

- customerLastName

- customerEmailAddress

- status

- ticket

83

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

addSeasonTicket() 6 TopicSeasonTicket - topic AbstractSeason-TicketDTO

updateSeasonTicket() - hasAll-Performances

getSeasonTicket() - excluded-Performances

getTicketList()

getSeasonTicketPerformances()

7 MultiPerformance- addSeasonTicket() AbstractSeason-TicketDTO

SeasonTicketDTO updateSeasonTicket()

getSeasonTicket()

getTicketList()

getSeasonTicketPerformances()

addSeasonTicket() 8 MultiEntrySeasonTicketDTO - entryCount AbstractSeason-TicketDTO

updateSeasonTicket() - daysOfWeek

getSeasonTicket() - isFixed

getTicketList()

getSeasonTicketPerformances()

9 VIPSponsor-SeasonTicketDTO getFirstVIPSpr- AbstractSeason-TicketDTO

SeasonTicketName()

84

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

10 ReductionSeasonTicketDTO - discountedRate addSeasonTicket() AbstractSeason-TicketDTO

updateSeasonTicket()

getSeasonTicket()

getTicketList()

getSeasonTicketPerformances()

11 MultiDaySeasonTicketDTO - daysOfWeek addSeasonTicket() AbstractSeason-TicketDTO

updateSeasonTicket()

getSeasonTicket()

getTicketList()

getSeasonTicketPerformances()

12 OrganizerAccountDTO - roles authenticate() AbstractSeason-TicketDTO

changePassword()

registerNewUser()

insertDefaultUsers()

13 ReductionCardDTO - startDate addSeasonTicketCard() CardDTO

getSeasonTicketCard()

printCard()

renewSeasonTicketCard()

renewSeasonTicketCards()

cancelSeasonTicket-Cards()

85

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

14 FixedValidityDTO Các phương thức liên quan tới - startDate AbstractValidity

- endDate các đối tượng vé.

15 OpenValidityDTO - validityNumber Các phương thức liên quan tới AbstractValidity

- validityType các đối tượng vé.

Bảng 4-4 Mô tả các đối tượng DTO dùng chung

Sau đây là phần mô tả cho các lớp và đối tượng tổng hợp chứa thông tin do REAS cung cấp:

STT Tên lớp Thuộc tính

1 PerformanceDTO - date

- time

- venue

- changeStatus

- changeDate

- name AbstractEventDTO 2

- description

3 AbstractCategoryDTO - name

- description

Bảng 4-5 Mô tả các đối tượng DTO tổng hợp chứa thông tin của REAS cung cấp

86

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4.3.2 Phim

87

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 4-8 Mô hình đối tượng được thiết kế cho hệ thống bán vé theo mùa xem phim tại rạp

88

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:190) Mô tả:

Chú ý: Các đối tượng sử dụng riêng cho sự kiện phim đều kế thừa từ các lớp trong phần chung nên chúng thừa hưởng các

phương thức từ các service liên quan.

STT Tên lớp Thuộc tính Lớp cơ sở

1 FilmPriceDTO - customerCategory AbstractPriceDTO

2 FilmMultiEntryCardDTO - remainEntry CardDTO

Bảng 4-6 Mô tả các đối tượng DTO dành riêng cho phim

Sau đây là phần mô tả cho các lớp và đối tượng tổng hợp chứa thông tin do REAS cung cấp:

STT Tên lớp Thuộc tính Lớp cơ sở

1 FilmDTO - address AbstractEventDTO

2 FilmCustomerCategoryDTO - defaultCategory AbstractEventDTO

Bảng 4-7 Mô tả các đối tượng DTO dành riêng cho phim do REAS cung cấp

89

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4.3.3 Championship

90

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 4-9 Mô hình đối tượng được thiết kế cho hệ thống bán vé theo mùa Championship

91

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:190) Mô tả:

STT Tên lớp Thuộc tính Lớp cơ sở

ChampionShipPriceDTO - seatZone 1 AbstractPriceDTO

ChampionShipVIPSponsor- - dedicatedZoneName VIPSponsorSeasonTicketDTO 2

SeasonTicketDTO - invitationEmails

InvitationEmailDTO - emailAddress 3

- sendDate

MemberSeasonTicketDTO ChampionShipMemberSeason- - homeVisit 4

TicketDTO - topic (có ý nghĩa là đội

bóng).

Bảng 4-8 Mô tả các đối tượng DTO dành riêng cho Championship

Sau đây là phần mô tả cho các lớp và đối tượng tổng hợp chứa thông tin do REAS cung cấp:

STT Tên lớp Thuộc tính Lớp cơ sở

ChampionShipDTO - startDate 1 AbstractEventDTO

- endDate

ChampionShipPerformanceDTO - homeTeam PerformanceDTO 2

- visitTeam

ChampionShipSeatZoneDTO 3 AbstractCategory-DTO

Bảng 4-9 Mô tả các đối tượng DTO dành riêng cho Championship do REAS cung cấp

92

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4.4 Mô hình dữ liệu

Dưới đây chỉ là mô hình thiết kế đã được chúng tôi lược bỏ các thuộc tính

trong từng bảng để mô hình nhìn đơn giản hơn. Mô hình đầy đủ được đặt trong

phần E. Mô hình dữ liệu của Phụ lục.

Hình 4-10 Mô hình dữ liệu cho hệ thống bán vé theo mùa tổng quát

(cid:190) Mô tả:

STT Tên bảng Giải thích

Season_Ticket Chứa thông tin chính (đặc điểm chung) của vé 1

theo mùa.

Topic_Ticket Chứa thông tin đặc trưng của vé mùa theo chủ 2

93

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

đề.

MultiEntry_Ticket Chứa thông tin đặc trưng của vé mùa nhiều 3

lần vào.

Reduction_Ticket Chứa thông tin đặc trưng của vé mùa giảm 4

giá.

VIPSponsor_Ticket Chứa thông tin đặc trưng của vé mời. 5

MultiDay_Ticket Chứa thông tin đặc trưng của vé mùa nhiều 6

ngày.

MultiPerformance_Ticket Chứa thông tin đặc trưng của vé mùa nhiều 7

chương trình.

VIPSponsor_Ticket_Detail Chứa thông tin chi tiết của vé mời 8

SeasonTicketPrice Chứa thông tin về giá ứng với một vé theo 9

mùa.

10 TT_PER_MP Chứa các chương trình của vé mùa nhiều

chương trình và các chương trình không được

tham gia của vé mùa theo chủ đề.

Card Chứa thông tin về các vé theo mùa được đặt. 11

Reference Bảng tham số 12

Bảng 4-10 Mô tả mô hình dữ liệu

Sau đây là những bảng sử dụng để lấy thông tin sự kiện của hệ thống REAS.

STT Tên bảng Giải thích

EVENT Chứa các thông tin về sự kiện 1

CATEGORY Chứa các thông tin về tiêu chí định giá: loại khách hàng 2

(phim) và chỗ ngồi (Championship)

OCCURRENCE Chứa các thông tin về chương trình mà sự kiện tổ chức. 3

PARTICIPANT Chứa các thông tin về đối tượng quản lý chính của sự 4

94

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

kiện: phim, câu lạc bộ

5 PLACE Chứa các thông tin về nơi diễn ra các chương trình

Bảng 4-11 Mô tả bảng do REAS để lấy thông tin sự kiện

95

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Chương 5. Mô hình cài đặt

5.1 Sơ đồ các màn hình chính

5.1.1 Người tổ chức hệ thống

(cid:190) Sơ đồ màn hình ở mức trừu tượng

Hình 5-1 Sơ đồ màn hình ở mức trừu tượng

(cid:190) Sơ đồ màn hình của hệ thống bán vé cho phim

96

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-2 Sơ đồ màn hình của hệ thống bán vé cho phim

Đối với sự kiện chiếu phim ở rạp, hệ thống bán vé theo mùa hỗ trợ 2 loại vé sau:

Hình 5-3 Hai loại vé theo mùa của sự kiện chiếu phim ở rạp

Do đó ứng với nhóm màn hình thứ 2, hệ thống vé cho phim có hai nhóm màn hình

cho việc quản lý hai loại vé này. Vì sự kiện này thuộc về loại 2 nên người tổ chức

không cần chờ đến lúc lịch chiếu được lên mới có thể tạo vé. Sau đây là màn hình

tạo và cập nhật vé mùa nhiều lần vào (Multi-entry season ticket).

97

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-4 Màn hình tạo vé vào nhiều lần (Multi-entry season ticket)

Trong màn hình trên, quy trình tạo vé sẽ gồm có 3 bước chính:

- Nhập các thông tin chính của vé theo mùa: Tên, thời gian hiệu lực, các tính

hợp lệ khác, số lần vào, ngày trong tuần được tham gia chương trình.

- Nhập giá cho vé theo mùa. Giá vé theo mùa sẽ được tính dựa trên giá vé bán

lẻ (bên trái) và số phần trăm giảm giá (bên phải) trên vé bán lẻ.

- Nhập những ưu đãi khi mua vé này.

Các thông tin này sẽ được in trên vé cho khách hàng.

Riêng màn hình tạo vé mùa giảm giá, chúng tôi sẽ trình bày ở phần F.1.3.

Như đã phân tích trong 2.5, khi vé theo mùa cho phim được gia hạn, người dùng

98

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

có thể chọn ngày bắt đầu hiệu lực mới của vé. Do đó nhóm màn hình thứ 3 có

thêm một màn hình để chọn thời điểm hợp lệ của vé.

Hình 5-5 Màn hình chọn thời điểm gia hạn vé cho mùa sau

Màn hình tìm kiếm thông tin các vé được đặt dựa trên các tiêu chí tương tự như

Championship.

(cid:190) Sơ đồ màn hình trong hệ thống bán vé cho Championship

Hình 5-6 Sơ đồ màn hình trong hệ thống bán vé cho Championship

Đối với sự kiện Championship, hệ thống bán vé theo mùa hỗ trợ 2 loại vé sau:

99

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-7 Hai loại vé theo mùa của sự kiện Championship

Do đó ứng với nhóm màn hình thứ 2, hệ thống vé cho Championship có hai nhóm

màn hình cho việc quản lý hai loại vé này. Vì sự kiện này thuộc về loại 1 nên ngay

khi lịch thi đấu trong mùa đã có, người tổ chức sẽ tạo vé ngay. Sau đây là màn hình

tạo và cập nhật vé mùa thành viên (Member season ticket).

Hình 5-8 Màn hình tạo vé mùa thành viên (Member season ticket)

Trong màn hình này, quy trình tạo vé phức tạp và người tổ chức phải thực hiện

nhiều bước hơn.

- Nhập các thông tin của vé: Tên, Tên đội bóng là chủ đề của vé, Giá vé (Giá vé

này sẽ được tính dựa trên giá vé bán lẻ, không được tính theo phần trăm giảm

giá như vé mùa nhiều lần vào), chọn thuộc tính sân nhà/sân khách cho vé.

- Nhập thời gian hiệu lực và tính hợp lệ cho vé.

100

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Nhập những ưu đãi khi mua vé này.

Các thông tin này sẽ được in trên vé cho khách hàng.

Riêng màn hình tạo vé mời, chúng tôi sẽ trình bày ở phần F.2.3.

Khi vé tạo ra đã được đặt, người quản lý có nhu cầu tìm kiếm để theo dõi thông tin

của chúng. Đây là màn hình tìm kiếm thông tin vé đặt trong nhóm màn hình thứ 3.

Hình 5-9 Các tiêu chí tìm kiếm thông tin vé theo mùa được đặt

Các tiêu chí tìm kiếm bao gồm: Tên khách hàng, thông tin của vé được đặt (loại vé,

tên vé, khoảng thời gian đặt, chọn xem những vé đã được gia hạn). Kết quả tìm

kiếm sẽ xuất ra màn hình sau:

101

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-10 Kết quả tìm kiếm thông tin vé đặt theo mùa

Như đã phân tích trong 2.5, khi vé theo mùa cho Championship được gia hạn, người

dùng không cần chọn ngày bắt đầu hiệu lực mới của vé. Do đó nhóm màn hình thứ

3 không có màn hình để chọn thời điểm hợp lệ của vé như đối với vé nhiều lần vào.

5.1.2 Khách hàng

Đây là phần giao diện hiện thực quy trình đặt vé theo mùa, sử dụng vé và kết quả

của việc liên kết với REAS.

Như trong phần 2.4.1 đã phân tích, tùy theo đặc điểm của từng loại vé, chúng ta sẽ

có 2 quy trình đặt vé.

(cid:190) Quy trình đặt vé chính

Hình 5-11 Quy trình đặt vé chính

102

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Như Hình 5-11 mô tả quy trình đặt vé chính, khách hàng phải trải qua 7 bước để

mua vé theo mùa.

1/ & 2/ khách hàng sẽ vào trang web của sự kiện mình quan tâm để chọn loại vé mà

mình muốn đặt.

3/ Chọn vé mùa muốn đặt

Hình 5-12 Màn hình chọn vé theo mùa

4/ Điền thông tin khách hàng. Như đã trình bày đây là bước tùy thuộc vào loại vé

mà khách hàng chọn lựa, khách hàng sẽ phải nhập những thông tin khác nhau. Ví

dụ:

Hình 5-13 Màn hình điền thông tin khách hàng cho quy trình đặt vé thứ nhất của

phim

103

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-14 Màn hình điền thông tin khách hàng cho quy trình đặt vé thứ nhất của

Championship

5/ Xác nhận thông tin đặt vé

Hình 5-15 Màn hình xác nhận thông tin đặt vé mùa nhiều lần vào

104

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

6/ Thanh toán điện tử: bước này được bỏ qua trong phần cài đặt.

7/ In vé. Kết thúc quy trình đặt vé thứ nhất.

Hình 5-16 Màn hình xác nhận thông tin và in vé

Vé sau khi được in sẽ có dạng như sau:

Hình 5-17 Vé theo mùa cho sự kiện phim

Hoặc:

105

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-18 Vé theo mùa cho sự kiện Championship

(cid:190) Quy trình đặt vé đơn (dành cho sự kiện phim)

Hình 5-19 Quy trình đặt vé mùa đơn

Trong quy trình đặt vé thứ hai, như ở Hình 5-19 đã mô tả sẽ gồm 6 bước sau:

1/ Khi sự kiện đã có lịch chiếu cụ thể, khách hàng sẽ lên trang web xem thông tin

về các sự kiện.

106

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-20 Màn hình lịch chiếu phim tại Diamond Cinema

2/ Nếu chọn phim yêu thích khách hàng sẽ được xem nội dung của phim.

Hình 5-21 Màn hình nội dung của một phim

3/ Nhập mã booking của vé theo mùa đã mua

107

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-22 Màn hình nhập mã booking để đặt vé mùa đơn

4/ Nếu nhập mã booking đúng, khách hàng điền thông tin để tham gia một chương

trình cụ thể. Ví dụ: Đối với sự kiện chiếu phim tại rạp, khách hàng sẽ chọn lịch

chiếu (ngày, giờ, phòng chiếu) và chọn ghế ngồi cho mình.

Hình 5-23 Màn hình chọn thông tin suất chiếu của một phim

5/ Xác nhận thông tin đã đặt một lần nữa

108

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-24 Màn hình xác nhận thông tin đặt vé mùa đơn

6/ In vé mùa đơn. Kết thúc quy trình đặt vé thứ hai.

Hình 5-25 Màn hình in vé mùa đơn trong quy trình đặt vé lần thứ hai

Kết quả của quy trình này là vé theo mùa đơn, sẽ có dạng như sau:

109

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 5-26 Vé theo mùa đơn dành cho sự kiện phim

5.2 Ràng buộc toàn vẹn

Do tính phức tạp của ứng dụng đồng thời kết hợp các đặc điểm mà chúng tôi

đã trình bày rõ về 6 loại vé chung, về quy trình đặt vé theo mùa... trong phần phân

tích và thiết kế, nên trong phần này chúng tôi sẽ mô tả những ràng buộc toàn vẹn

quan trọng của bài toán tổng quát này.

Ràng buộc miền giá trị

Mã số Mô tả Bảng liên quan

R1 Ngày đặt vé phải lớn hơn hoặc bằng ngày CARD

hiện tại

R2 Ngày bắt đầu hiệu lực của vé mùa giảm giá CARD

phải lớn hơn hoặc bằng ngày hiện tại

Bảng 5-1 Mô tả các ràng buộc miền giá trị

110

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Ràng buộc liên thuộc tính trên một quan hệ

Mã số Mô tả Bảng liên quan

R3 Ngày bắt đầu gia hạn phải nhỏ hơn ngày kết thúc CARD

gia hạn

CARD R4 Trạng thái của vé đặt là “R” nếu vé được gia hạn

(Khi ngày bắt đầu gia hạn và ngày kết thúc gia hạn

có giá trị)

R5 Ngày bắt đầu hiệu lực của vé có đặc điểm 1 phải SEASON_TICKET

nhỏ hơn hoặc bằng ngày kết thúc hiệu lực

Bảng 5-2 Mô tả các ràng buộc liên thuộc tính trên một quan hệ

Ràng buộc liên bộ liên quan hệ

Mã số Mô tả Bảng liên quan

SEASON_TICKET, R6 Khi xóa một vé (trong bảng

SEASONTICKETPRICE, SEASON_TICKET) theo mùa loại vé theo chủ

TT_PER_MP, đề thì giá của vé, những chương trình cụ thể của

TOPIC_TICKET. vé, thông tin vé trong bảng TOPIC_TICKET sẽ

bị xóa theo.

CARD, R7 Khi thêm một dòng vào bảng CARD ứng với

SEASON_TICKET. một tên vé theo mùa thì các thuộc tính của vé

theo mùa phải là tập con của các thuộc tính

tương ứng với bảng SEASON_TICKET.

Bảng 5-3 Mô tả các ràng buộc liên bộ liên quan hệ

Ứng với mỗi sự kiện riêng cài đặt, ứng dụng có những ràng buộc riêng. Ví dụ:

hệ thống bán vé theo mùa cho bóng đá Championship.

111

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Ràng buộc miền giá trị

Mã số Mô tả Bảng liên quan

R8 Thuộc tính sân nhà/sân khách phải có giá trị TOPIC_TICKET

Bảng 5-4 Mô tả ràng buộc miền giá trị cho hệ thống bán vé cho Championship

5.3 Phần liên kết với REAS

Như trong 2.7 đã phân tích, đối với mỗi sự kiện cụ thể, những hệ thống bán vé

theo mùa sẽ yêu cầu những thông tin về sự kiện khác nhau. Từ đó giao diện

(interface) liên kết với REAS sẽ khác nhau.

(cid:190) Phương pháp kết nối:

Trong thời gian hiện tại, hai hệ thống bán vé và tổ chức sự kiện liên kết với

nhau qua một giao diện do REAS cung cấp. Với cách làm này, hệ thống bán vé

theo mùa sẽ import những service có chứa các hàm yêu cầu từ REAS. Những

service này sẽ được chúng tôi biến đổi thành những service của riêng mình bằng

cách gói chúng lại một lần nữa. Điều này làm giảm sự lệ thuộc của STS với

REAS. Khi cần lấy thông tin về các sự kiện, chúng tôi chỉ cần dùng những lời

gọi từ Proxy đến Façade như cách thức thực hiện thông thường.

Và trong thời gian sắp tới, chúng tôi mong muốn thay thế phương pháp này

bằng cách sử dụng Web Service làm giao diện liên kết để hai hệ thống có thể

thực hiện lời gọi từ xa (remote call). Điều này sẽ tăng tính độc lập giữa hai hệ

thống với nhau vì khi đó các hệ thống con này sẽ không còn quan tâm về kiến

trúc của nhau nữa.

112

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Chương 6. Kết luận và hướng phát triển

6.1 Kết luận

Trong quá trình thực hiện đề tài, chúng tôi luôn cố gắng tìm ra những đặc tính

chung nhất của một số sự kiện nổi bật có tính lặp đi lặp lại, từ đó phân tích, thiết kế

và cài đặt những điểm chung giữa các hệ thống quản lý vé cụ thể cho các sự kiện

này với mong muốn tổng quát hóa nhiều bài toán phức tạp nhỏ thành một bài toán

chung. Bài toán này sẽ được sử dụng lại trong những ứng dụng cụ thể. Khi đó

chúng ta có thể chọn lọc lại hoặc thêm vào những đặc điểm riêng đối với từng

trường hợp để việc xây dựng một hệ thống thông tin cụ thể có hiệu quả hơn, tiết

kiệm được nhiều thời gian và chi phí hơn vì bài toán chung này không thể nào tổng

quát hết được những đặc thù này.

Và với kết quả đạt được hôm nay, chúng tôi đã tiếp cận và học hỏi được một

phương pháp xây dựng hệ thống thông tin mới, có hiệu quả: đó là nhắm đến việc

tìm kiếm sự tương đồng về bản chất giữa nhiều hệ thống thông tin khác nhau, từ đó

trừu tượng hóa chúng để có thể dùng lại trong quá trình phân tích thiết kế. Phần

chung này sẽ giúp các nhà phân tích thiết kế nhận biết và áp dụng chúng một cách

dễ dàng. Đến khi xây dựng một hệ thống cụ thể thì ta chỉ cần đưa thêm vào những

đặc thù riêng hoặc chọn lọc ra từ phần chung để tái sử dụng.

Qua quá trình thực hiện luận văn, chúng tôi đã áp dụng được những kiến thức

về phân tích thiết kế một ứng dụng hệ thống thông tin đã học trên trường đồng thời

thu thập được rất nhiều kiến thức rất bổ ích về mẫu thiết kế, phân tích và thiết kế

hướng đối tượng cùng với các kỹ thuật lập trình Java, sử dụng Strut Framework với

mô hình MVC....Tuy chỉ có bốn tháng ngắn ngủi thực tập tại công ty ELCA, nhưng

chúng tôi cũng đã kịp trang bị cho mình được những hiểu biết đủ để có thể tiếp tục

theo đuổi hướng nghiên cứu này trong tương lai. Về cơ bản, luận văn đã đạt được

các mục tiêu đề ra ban đầu và sau đây là một số kết quả mà chúng tôi đạt được:

113

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Về mặt phân tích và thiết kế tổng quan:

(cid:190) Tìm hiểu đặc điểm chung và xây dựng mô hình tổng quát cho các loại vé

theo mùa.

(cid:190) Ứng với từng sự kiện chúng tôi tìm ra được những đặc điểm riêng của các

loại vé theo mùa.

(cid:190) Tìm hiểu và đưa ra giá vé theo mùa dựa trên loại khách hàng, chỗ ngồi, giá

vé bán lẻ, mùa… cho mỗi sự kiện cụ thể.

(cid:190) Tìm hiểu quy trình mua vé và sử dụng vé theo mùa đối với phần giao tiếp với

khách hàng.

(cid:190) Tìm hiểu công việc kiểm soát vé của người tổ chức trong quá trình sử dụng

vé của khách hàng. Từ đó thiết kế mẫu cho vé theo mùa.

Về mặt kỹ thuật:

(cid:190) Tìm hiểu và áp dụng mô hình MVC (Model – View - Controller) cho ứng

dụng Web.

(cid:190) Tìm hiểu công nghệ lập trình Web bằng JSP cho phần View, Strut

Framework cho Controller và Java cho Model.

(cid:190) Áp dụng các mẫu thiết kế Façade để tạo ra một interface chung cho phần

back-end.

(cid:190) Áp dụng mẫu thiết kế Proxy để kết nối front-end và back-end.

(cid:190) Tìm hiểu thư viện in file PDF: iText dùng để in vé theo mùa trực tuyến hoặc

tại nhà.

Về mặt thực nghiệm:

(cid:190) Xây dựng adapter với REAS để lấy thông tin của sự kiện được tổ chức.

(cid:190) Xây dựng hai ứng dụng Web cho hai hệ thống quản lý vé theo mùa cho phim

và giải bóng đá Championship để hiện thực hóa mô hình đã phân tích và thiết

kế.

(cid:190) Xây dựng hai ứng dụng Web cho hai hệ thống phục vụ khách hàng đối với sự

kiện phim và giải bóng đá Championship.

114

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

(cid:190) In vé theo mùa ứng với từng loại để minh họa quy trình đặt vé và sử dụng vé

của khách hàng đối với mỗi sự kiện cụ thể.

6.2 Hướng phát triển

Hướng đến mục tiêu xây dựng nên một hệ thống bán vé mùa tổng quát, trong

quá trình phân tích, thiết kế và cài đặt những phần chung và phần đặc thù chúng

tôi đã luôn tuân thủ theo phương pháp hướng đối tượng, sử dụng mô hình MVC

(đã đề cập ở trên). Nhờ vậy việc tái sử dụng các thành phần (component) chung

trở nên dễ dàng, ứng dụng xây dựng đáp ứng đươc ba yêu cầu: dễ bảo trì, tăng

tính mở rộng và khả năng tương thích cao.

Tuy nhiên, do thời gian làm luận văn hạn chế và sự khó khăn trong quá trình tìm

hiểu nghiệp vụ nên đề tài của chúng tôi vẫn còn một số vấn đề cần mở rộng như:

- Hoàn thiện những chức năng vẫn chưa được cài đặt xong của chương

trình: Gửi mail cho khách hàng với nội dung về quá trình đặt vé, thông

tin của khách hàng và đường dẫn để khách hàng có thể download vé;

thống kê vé đặt trong một khoảng thời gian xác định. Riêng chức năng

hủy vé đặt và gia hạn vé cho mùa sau sẽ được nâng cao hơn hiện nay.

- Xây dựng thêm nhiều hệ thống bán vé mùa trước cho những sự kiện phổ

biến như: ca nhạc, kịch, hòa nhạc, các môn thể thao như: bơi lội, bóng

chuyền....từ những phần chung đã xây dựng. Đặc biệt xây dựng hệ thống

bán vé mùa trước cho những sự kiện thuộc loại 1 để có thể sử dụng 2

loại vé còn lại là: vé mùa nhiều ngày (Multi-day season ticket) và vé

mùa nhiều chương trình (Multi-performance season ticket).

- Do nghiệp vụ phức tạp nên hệ thống chỉ cung cấp ở mức giả lập quá

trình đặt vé trong phần giao tiếp với khách hàng nhưng chưa giải quyết

được các trường hợp ràng buộc trong khi đặt vé....Do đó cần có nghiệp

vụ quy định rõ ràng về những trường hợp này để có thể tin học hóa

115

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

chúng đem vào sử dụng trong thực tế. Trong tương lai hệ thống tạo vé

mùa sẽ được phát triển thành một hệ thống đặt vé mùa trước hoàn chỉnh.

- Xây dựng những interface hoàn hảo hơn giữa các hệ thống con thông

qua Web Service để tăng tính độc lập giữa các hệ thống con vì kỹ thuật

này không đòi hỏi chúng phải hiểu kiến trúc lẫn nhau.

- Xây dựng ứng dụng đa ngôn ngữ.

116

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Tài liệu tham khảo

[1]

James Rumbaugh, Ivar Jacobson, Grandy Booch, The Unified Modeling

[2]

Language Reference Manual, Addison-Wesley, 1998.

[3] Chuck Cavaness, Programming Jakarta Struts, O’Reilly, 2002

[4] Ted Husted, Cedric Dumoulin, George Franciscus, David Winterfeldt, Struts

James Goodwill, Mastering Jakarta Struts, Wiley Publishing, Inc., 2002

in action, Manning Publications Co., 2003

117

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Phụ lục

A. Đặc tả một số các Use Case chính

A.1 Phía người tổ chức

A.1.1 Sự kiện phim

(cid:190) Quản lý vé mùa nhiều lần vào (Multi-entry season ticket)

Công việc quản lý các vé mùa nhiều lần gồm 3 use-case là thêm 1 vé, xoá 1 vé, hiệu

chỉnh thông tin 1 vé và hiển thị thông tin chi tiết của vé mùa nhiều lần vào.

Thêm 1 vé

Use-case này bắt đầu khi người dùng chọn nút “Add new” trong màn hình hiển thị

danh sách các vé mùa nhiều lần vào.

Pre-condition:

- Người dùng phải đăng nhập thành công vào hệ thống

Luồng chính:

1) Hệ thống hiển thị màn hình thông tin chi tiết vé.

2) Người dùng nhập thông tin vào form trên trang.

3) Người dùng chọn “Save”.

4) Hệ thống kiểm tra dữ liệu nhập và các ràng buộc toàn vẹn khác.

5) Hệ thống thêm vé vào CSDL.

6) Hệ thống quay về màn hình danh sách vé mùa nhiều lần vào.

Luồng phụ:

1) Người dùng nhập dữ liệu sai:

a. Hệ thống thông báo lỗi cho người dùng

b. Hệ thống trả focus về cho control gây lỗi

2) Hệ thống không thể thêm vé thành công:

a. Hệ thống chuyển sang màn hình thông báo lỗi

118

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

3) Người dùng nhập phần “Benefits” vượt quá 5 dòng hoặc 4 dòng cuối dài hơn

40 kí tự:

a. Hệ thống hiển thị lại màn hình thông tin chi tiết vé

b. Hệ thống hiển thị thông báo lỗi

Xoá 1 vé

Use-case này bắt đầu khi người dùng chọn một số vé muốn xoá và chọn nút

“Remove” trong màn hình danh sách vé mùa nhiều lần vào.

Pre-condition:

- Người dùng đăng nhập thành công vào hệ thống

Luồng chính:

1) Hệ thống hiển thị thông báo hỏi người dùng có muốn xoá hay không

2) Người dùng chấp nhận xoá

3) Hệ thống xoá các vé được chọn khỏi CSDL

4) Hệ thống hiển thị lại màn hình danh sách vé mùa nhiều lần

Luồng phụ:

1) Người dùng không chấp nhận xoá:

a. Use-case kết thúc

2) Hệ thống không thể xoá vé vì vé đã có người đặt (khách hàng đặt):

a. Hệ thống nạp lại màn hình danh sách vé mùa nhiều lần vào.

b. Hệ thống hiển thị thông báo lỗi

3) Lỗi hệ thống không thể xoá thành công:

a. Hệ thống hiển thị màn hình thông báo lỗi

Hiệu chỉnh 1 vé

Use-case này bắt đầu khi người dùng chọn vé tương ứng trong màn hình hiển thị

danh sách các vé mùa nhiều lần vào.

Pre-condition:

- Người dùng đăng nhập thành công vào hệ thống

Luồng chính:

119

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

1) Hệ thống hiển thị màn hình thông tin chi tiết vé với dữ liệu được nạp từ

CSDL.

2) Người dùng hiệu chỉnh thông tin vào form trên trang.

3) Người dùng chọn “Save”.

4) Hệ thống kiểm tra dữ liệu nhập và các ràng buộc toàn vẹn khác.

5) Hệ thống cập nhật thông tin mới của vé vào CSDL.

6) Hệ thống quay về màn hình danh sách vé mùa nhiều lần vào.

Luồng phụ:

1) Người dùng nhập dữ liệu sai:

a. Hệ thống thông báo lỗi cho người dùng

b. Hệ thống trả focus về cho control gây lỗi

2) Vé đang hiệu chỉnh đã được khách hàng đặt mua:

a. Hệ thống nạp lại màn hình thông tin chi tiết vé

b. Hệ thống hiển thị thông báo lỗi cho người dùng

3) Người dùng nhập phần “Benefits” vượt quá 5 dòng hoặc 4 dòng cuối dài hơn

40 kí tự:

a. Hệ thống nạp lại màn hình thông tin chi tiết vé

b. Hệ thống hiển thị thông báo lỗi cho người dùng

4) Hệ thống không thể thêm vé thành công:

a. Hệ thống chuyển sang màn hình thông báo lỗi

A.1.2 Sự kiện Championship

(cid:190) Quản lý vé mùa thành viên (Member season ticket)

Use-case này bắt đầu khi người dùng chọn nút “Add new” trong màn hình danh

sách các vé mùa thành viên.

Pre-condition:

- Người dùng đăng nhập thành công vào hệ thống

Luồng chính:

120

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

1) Hệ thống hiển thị màn hình thông tin chi tiết vé.

2) Người dùng nhập thông tin vào form trên trang.

3) Người dùng mở màn hình nhập giá vé.

4) Người dùng nhập giá vé cho các khu vực ngồi.

5) Người dùng chọn nút “Save”.

6) Hệ thống kiểm tra dữ liệu nhập và đóng màn hình nhập giá vé, quay về màn

hình thông tin chi tiết vé.

7) Người dùng chọn “Continue” trong màn hinh này.

8) Hệ thống kiểm tra dữ liệu nhập trong form và các ràng buộc toàn vẹn khác..

9) Hệ thống hiển thị màn hình chọn các trận đấu mà vé đó không hỗ trợ trong

mùa hiện tại.

10) Người dùng chọn các trận đấu trong danh sách nạp lên và chọn “Save”

11) Hệ thống thêm vé vào CSDL.

12) Hệ thống quay về màn hình danh sách vé mùa nhiều lần vào.

Luồng phụ:

1) Người dùng nhập dữ liệu sai trong màn hình thông tin chi tiết:

a. Hệ thống thông báo lỗi cho người dùng

b. Hệ thống trả focus về cho control gây lỗi

2) Người dùng không nhập giá vé trong màn hình nhập giá vé:

a. Hệ thống thông báo lỗi cho người dùng

b. Hệ thống trả focus về cho control gây lỗi

3) Người dùng nhập dữ liệu sai trong màn hình nhập giá vé:

a. Hệ thống thông báo lỗi cho người dùng

b. Hệ thống trả focus về cho control gây lỗi

121

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4) Người dùng nhập ngày bắt đầu và kết thúc không nằm trong thời gian diễn ra

mùa giải:

a. Hệ thống nạp lại màn hình thông tin chi tiết vé

b. Hệ thống hiển thị thông báo lỗi cho người dùng

5) Người dùng nhập phần “Benefits” vượt quá 5 dòng hoặc 4 dòng cuối dài hơn

40 kí tự:

a. Hệ thống nạp lại màn hình thông tin chi tiết vé

b. Hệ thống hiển thị thông báo lỗi cho người dùng

6) Hệ thống không thể nạp được danh sách trận đấu của đội bóng được chọn:

a. Hệ thống chuyển sang màn hình thông báo lỗi

7) Hệ thống không thể thêm vé vào CSDL:

Hệ thống chuyển sang màn hình thông báo lỗi

(cid:190) Hủy vẻ mùa thành viên

A.2 Phía khách hàng

A.2.1 Sự kiện phim

(cid:190) Gia hạn vé mùa nhiều lần vào

Use-case này bắt đầu khi người dùng chọn chức năng “Renew & Cancel”.

Pre-condition:

Không

Luồng chính:

1) Hệ thống hiển thị màn hình nhập mã số của vé đặt

2) Người dùng nhập mã số vé vào

3) Người dùng chọn “Renew”

122

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4) Hệ thống kiểm tra tính hợp lệ của vé

5) [Nếu không có lỗi] Hệ thống hiển thị màn hình thông tin cũ của vé đặt.

6) Người dùng chọn ngày bắt đầu cho việc gia hạn có hiệu lực

7) Người dùng chọn “Continue”

8) Hệ thống lưu thông tin gia hạn vào CSDL

9) Hệ thống hiển thị màn hình thông báo việc gia hạn đã được thực hiện

Luồng phụ:

1) Khách hàng nhập mã số vé sai qui định:

a. Hệ thống thông báo lỗi cho người dùng

b. Hệ thống trả focus về cho control gây lỗi

2) Vé của khách hàng không được phép gia hạn:

a. Hệ thống nạp lại màn hình nhập mã số vé

b. Hệ thống hiển thị thông báo lỗi cho người dùng

3) Ngày bắt đầu gia hạn bé hơn ngày hiện hành:

a. Hệ thống nạp lại màn hình nhập mã số vé

b. Hệ thống hiển thị thông báo lỗi cho người dùng

4) Hệ thống không thể cập nhật thông tin gia hạn vào CSDL:

a. Hệ thống chuyển sang màn hình thông báo lỗi

A.2.2 Sự kiện Championship

(cid:190) Mua vé thành viên

Use-case này bắt đầu khi khách hàng chọn 1 vé trong danh sách vé và chọn “Buy”

trong màn hình liệt kê danh sách vé mùa thành viên.

Pre-condition:

123

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Hệ thống nạp được danh sách vé mùa thành viên

Luồng chính:

1) Hệ thống hiển thị màn hình thông tin chi tiết vé được chọn

2) Khách hàng chọn khu vực ngồi cho mình.

3) [Nếu vé của khách hàng là cho đội đá trên sân nhà] Người dùng chọn nút

“Get seat” để lấy 1 số ghế.

4) Hệ thống chọn chỗ ngồi cho khách hàng và hiển thị trong khung nhập bên

dưới

5) Khách hàng chọn “Continue”

6) Hệ thống hiển thị màn hình nhập thông tin khách hàng (gồm tên, họ và

email)

7) Khách hàng nhập các thông tin này

8) Khách hàng chọn “Continue”.

9) [Nếu thông tin nhập là hợp lệ] Hệ thống hiển thị màn hình chứa các thông tin

khách hàng vừa chọn và nhập.

10) Khách hàng chọn “Submit order”.

11) Hệ thống thêm vé đặt vào CSDL và tạo vé in (dạng .PDF).

12) [Nếu việc tạo vé in thành công] Hệ thống hiển thị màn hình tải vé

(download).

13) Khách hàng chọn vào liên kết để tải vé về và in.

Luồng phụ:

1) Nếu vé của khách hàng chứa các trận đấu mà đội bóng là đội khách:

a. Qui trình thực hiện tiếp bước 5:

2) Nếu thông tin khách hàng không hợp lệ:

124

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

a. Hệ thống nạp lại màn hình nhập thông tin khách hàng

b. Hệ thống hiển thị thông báo lỗi cho người dùng

3) Hệ thống không thể thêm vé đặt vào CSDL:

a. Hệ thống chuyển sang màn hình thông báo lỗi

4) Nếu việc tạo vé in không thành công:

a. Hệ thống chuyển sang màn hình thông báo lỗi

B. Sơ đồ tuần tự

Tạo một vé mùa nhiều lần vào

125

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 7-6-1 Sơ đồ tuần tự tạo vé mùa nhiều lần vào (1)

126

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 7-6-2 Sơ đồ tuần tự tạo vé mùa nhiều lần vào (2)

127

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

C. Mô hình đối tượng

128

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 7-6-3 Mô hình đối tượng chi tiết

129

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

D. Sơ đồ lớp

130

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 7-6-4 Sơ đồ lớp cho tầng back-end

131

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

STT Tên lớp Mô tả

Các lớp interface (cung cấp các dịch vụ)

1 UserStartupService Cung cấp các phương thức tạo các

người (user) trong hệ thống khi khởi

động hệ thống.

2 UserService Cung cấp các phương thức cho việc

đăng nhập, thêm người dùng mới và

truy xuất thông tin người dùng hệ

thống.

3 SeasonTicketManagementService Cung cấp các phương thức thực hiện

quản lý các loại vé (gồm 6 loại như đã

phân tích) và giá bán các loại vé này.

4 OrderRegistrationService Cung cấp các phương thức cho việc

đăng kí mua vé theo mùa.

5 OrderRenewCancelService Cung cấp các phương thức cho việc gia

hạn và huỷ vé đã được đặt trước đó.

6 SearchService Cung cấp các phương thức cho việc tìm

kiếm các vé đặt, từ đó thực hiện gia hạn

hay huỷ vé.

7 EventService Cung cấp các phương thức lấy thông tin

sự kiện từ REAS.

8 FilmService Cung cấp các phương thức lấy các

thông tin riêng cho sự kiện phim từ

REAS như danh sách các loại khách

hàng, danh sách các phim trong tuần,

132

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

9 ChampionShipService Cung cấp các phương thức lấy thông tin

riêng cho sự kiện Championship từ

REAS như danh sách các đội bóng,

danh sách trận đấu của 1 đội bóng trên

sân nhà, sân khách, …

Các lớp xử lý nghiệp vụ

10 UserServiceImpl Lớp xử lý nghiệp vụ cho interface số 1

và số 2.

11 SeasonTicketServiceImpl Lớp chuyển tiếp yêu cầu từ interface số

3 xuống cho lớp xử lý thực sự là

SeasonTicketProcess.

12 SeasonTicketProcess Lớp xử lý nghiệp vụ cho interface số 3.

13 OrderServiceImpl Lớp chuyển tiếp yêu cầu từ interface số

4, số 5, số 6 xuống cho lớp xử lý thực

sự là OrderProcess.

14 OrderProcess Lớp xử lý nghiệp vụ cho interface số 4,

số 5, số 6.

15 FilmServiceImpl Lớp xử lý nghiệp vụ cho interface số 8.

Lớp này sẽ gọi các phương thức từ

interface FilmSTSSupport-Service được

cung cấp từ REAS.

16 ChampionShipServiceImpl Lớp xử lý nghiệp vụ cho interface số 9.

Lớp này sẽ gọi các phương thức từ

interface ChampionShip-

STSSupportService được cung cấp từ

133

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

REAS.

Các lớp quản lý kết nối và truy xuất dữ liệu

17 UserManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 13.

18 AbstractSeasonTicketManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 12. Các phương thức đọc/ghi dữ

liệu trong lớp này đều là các phương

thức trừu tường và sẽ được cài đặt cụ

thể trong các lớp dẫn xuất.

19 TopicSeasonTicketManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 12 và dành riêng cho vé theo chủ

đề (trong sự kiện Championship vé này

được đổi tên thành vé mùa theo chủ

đề). Các phương thức đọc/ghi trong lớp

này cũng là trừu tượng và sẽ được cài

đặt trong lớp dẫn xuất

20 ChampionShipTopicSeasonTicket Lớp đọc/ghi dữ liệu cho các yêu cầu từ

Manager lớp số 12 và dành riêng cho vé mùa

theo chủ đề dùng cho sự kiện

Championship.

21 ReductionSeasonTicketManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 12 và dành riêng cho vé mùa

giảm giá

22 MultiEntrySeasonTicketManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 12 và dành riêng cho vé mùa

nhiều lần vào.

134

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

23 VIPSprSeasonTicketManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 12 và dành riêng cho vé mùa

dành cho V.I.P và nhà tài trợ.

24 OrderManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 13, 14. Các phương thức đọc/ghi

dữ liệu dành cho vé đặt chung (không

lệ thuộc vào sự kiện) sẽ được cài đặt.

25 ReductionOrderManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 13, 14 dành cho vé mùa giảm

giá. Lớp này sẽ override lại các phương

thức đọc/ghi chính trong lớp cơ sở của

nó nhằm thực hiện các thao tác riêng.

26 FilmMultiEntryOrderManager Lớp đọc/ghi dữ liệu cho các yêu cầu từ

lớp số 13, 14 dành cho vé mùa nhiều

lần vào. Lớp này sẽ override lại các

phương thức đọc/ghi chính trong lớp cơ

sở của nó nhằm thực hiện các thao tác

riêng.

Phần liên kết với REAS

27 recevent.stssupport Gói chứa các lớp interface cung cấp các

phương thức cần thiết cho hệ thống vé

theo mùa.

Bảng 6-1 Mô tả sơ đồ lớp cho tầng back-end

(cid:190) Đặc tả hàm cho các lớp interface

Gói seasonticket: Interface SeasonTicketManagementService

135

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

STT addSeasonTicket(AbstractSeasonTicketDTO ticket)

Input

1 - Ticket: AbstractSeasonTicketDTO

Output - String

Exception - DataInputException

- TicketAlreadyExistException

Mô tả Thêm 1 vé vào CSDL. Vé này được biểu diễn trừu tượng trong

đối tượng AbstractSeasonTicketDTO. Đối với từng loại vé, đối

tượng tương ứng sẽ được sử dụng. Các đối tượng vé cụ thể (kế

thừa trực tiếp/gián tiếp) trong hệ thống cài đặt gồm:

• ChampionShipTopicSeasonTicketDTO

• ChampionShipVIPSponsorSeasonTicketDTO

• MultiEntrySeasonTicketDTO

• ReductionSeasonTicketDTO

STT removeSeasonTickets(String[] ticketsName)

Input

2 - ticketsName: String[]

Output - Boolean

Exception - DataInputException

- SomeTicketsAlreadyOrderedException

Mô tả Xoá một số vé khỏi CSDL của hệ thống theo tên. Trong CSDL,

tên vé phải là duy nhất.

STT updateSeasonTicket(String ticketName, AbstractSeasonTicketDTO

newTicketData)

Input

3 - ticketName: String

- newTicketData: AbstractSeasonTicketDTO

Output - Boolean

Exception - DataInputException

- SomeTicketsAlreadyOrderedException

- TicketAlreadyExistException

136

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Mô tả

Cập nhật thông tin 1 vé đã tồn tại vào CSDL. Tên vé xác định trong tham số 1st dùng để xác định vé tồn tại. Thông tin mới được chứa trong đối tượng ở tham số 2nd.

STT getSeasonTicket(String ticketName)

Input

4 - ticketName: String

Output - AbstractSeasonTicketDTO

Exception

Mô tả Truy xuất thông tin 1 vé. Thông tin này gồm thông tin chung,

thông tin riêng của từng loại vé cụ thể xác định bởi tên vé và

thông tin giá theo từng loại (chỗ ngồi cho sự kiện Championship

hoặc loại khách hàng cho sự kiện Cinema).

STT getTicketList(TicketQueryInfo query)

Input

5 - Query: TicketQueryInfo

Output - AbstractSeasonTicketDTO[]

Exception

Mô tả Truy vấn thông tin các vé theo điều kiện chỉ định trong tham số

query. Thông tin truy vấn chỉ gồm các thông tin chung, không

bao gồm thông tin riêng và thông tin giá. Phương thức này sử

dụng trong các tình huống nạp danh sách.

STT getSeasonTicketPerformances(AbstractSeasonTicketDTO ticket)

Input

6 - Ticket: AbstractSeasonTicketDTO

Output - PerformanceDTO[]

Exception

Mô tả Lấy danh sách các performance của 1 vé xác định bởi tham số

ticket. Chỉ có vé topic season ticket và multi-performance season

ticket là có thể sử dụng hàm này. Đối với sự kiện Championship,

mỗi performance là 1 trận đấu.

STT getFirstVIPSprSeasonTicketName()

137

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Input

7

Output - String

Exception

Mô tả Lấy ra tên vé VIP-sponsor season ticket đầu tiên trong CSDL.

Đối với Championship, chỉ có 1 VIP-sponsor season ticket được

phép tồn tại trong CSDL. Do đó, phương thức này sẽ cho tên vé

duy nhất đó.

STT getSeasonTicketCount(TicketQueryInfo query)

Input

8 - query: TicketQueryInfo

Output - int

Exception

Mô tả Lấy tổng số vé có trong CSDL theo điều kiện lọc định nghĩa

trong tham số query.

Bảng 6-2 Đặc tả hàm cho lớp interface của gói seasonticket

E. Mô hình dữ liệu

138

VIPSponsor_Ticket_Detail

User

VipSponsor_T icket

Reduction_Ticket

0..*

seasonTicketID INTEGER

seasonTicketID discountRate

INTEGER FLOAT

VARCHAR(50) INTEGER DATE

email seasonTicketID sendDate

VARCHAR(50) VARCHAR(12) VARCHAR(10)

username password role

1..1

1..1

CATEGORY

SeasonTicketPrice

MultiEntry_Ticket

1..*

Season_T icket

0..*

INT VARCHAR(10) VARCHAR2(500)

CategoryID CategoryName Description

0..*

1..1

INT EGER INT EGER VARCHAR(7) CHAR(1)

seasonTicketID entrycount daysOfWeek fixedEvent

0..*

INTEGER INT INT INT FLOAT CHAR(3)

seasonTicketID CategoryID EventID ParticipantID value currency

1..1

MultiDay_Ticket

0..*

seasonT icketID daysOfWeek

INTEGER CHAR(7)

1..1

1..1

EVENT

MultiPerformance_Ticket

Topic_Ticket

INTEGER VARCHAR(50) VARCHAR(10) VARCHAR2(1000) CHAR(1) CHAR(1) VARCHAR(20) DAT E DAT E INTEGER VARCHAR(6) DAT E VARCHAR(30)

seasonT icketID name owner description renewal replacement reservation startDate endDate validityNumber validityType createDate category

seasonTicketID INTEGER

INT VARCHAR(30) VARCHAR(20) VARCHAR2(500)

EventID EventName Country Description

0..*

INTEGER VARCHAR(30) CHAR(1) CHAR(1)

seasonTicketID topic homeVisit all_Per

0..*

TT _PER_MP

0..*

Card

OCCURENCE

ID topicST _ID multiPerformanceST_ID OccurenceID

INT EGER INT EGER INT EGER INT

0..*

PARTICIPANT

0..*

OccurenceID EventID ParticipantID PlaceID Datetime

INT INT INT INT DATE

ParticipantID ParticipantName Description

INT VARCHAR(50) VARCHAR2(500)

Reference

0..*

PLACE

name value type note

VARCHAR(20) VARCHAR(20) INTEGER VARCHAR(100)

bookingID ticketName orderDate cancelDate renewStartDate renewEndDate selectedCate selectedSeat startDate ticketPrice ticketURL remainEntry eventName holderFirstName holderLastName holderEmail status

INT EGER VARCHAR(50) DATE DATE DATE DATE VARCHAR(10) VARCHAR(3) DATE FLOAT VARCHAR2(1000) INT EGER VARCHAR(20) VARCHAR(10) VARCHAR(10) VARCHAR(50) CHAR(1)

PlaceID PlaceName Capacity Address Country

INT VARCHAR(30) INT VARCHAR(50) VARCHAR(20)

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 7-6-5 Mô hình dữ liệu chi tiết

E.1 Mô tả chi tiết một số bảng trong mô hình dữ liệu:

E.1.1 Bảng SEASON_TICKET:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

1 seasonTicketID INTEGER Mã vé mùa. Là 1 số nguyên

tăng dần từ 1 và không có vị

trí bị khuyết

2 name VARCHAR(50) Tên vé

3 owner VARCHAR(10) Tên đăng nhập của người dùng

tạo ra vé

139

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

4 description VARCHAR2(1000) Mô tả và các thuận lợi khi mua

5 renewal CHAR(1) Cho phép vé được gia hạn hay

không.

6 replacement CHAR(1) Vé có được quyền chuyển cho

người khác sử dụng hay

không.

7 reservation VARCHAR(20) Khách hàng có được giữ chỗ

hay không.

8 startDate DATE Ngày bắt đầu có hiệu lực của

vé, áp dụng cho các loại vé có

đặc điểm 1.

9 endDate DATE Ngày kết thúc có hiệu lực của

vé, áp dụng cho các loại vé có

đặc điểm 1.

10 validityNumber INTEGER Số lượng thời gian hiệu lực

của vé tương ứng với loại thời

gian chỉ định trong thuộc tính

validityType. Áp dụng cho vé

có đặc điểm 2.

11 validityType VARCHAR(6) Loại thời gian giúp xác định

khoảng thời gian hiệu lực của

vé. Có 3 giá trị là DAY,

MONTH, YEAR. Áp dụng

cho vé có đặc điểm 2.

140

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

12 createDate DATE Ngày tạo vé

13 category VARCHAR(30) Loại vé

Bảng 7-3 Mô tả bảng SEASON_TICKET

E.1.2 Bảng REDUCTION_TICKET:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

seasonTicketID INTEGER Mã vé 1

discountRate FLOAT Tỉ lệ giảm giá. Giá trị tính từ 0 tới 2

100.

Bảng 7-4 Mô tả bảng REDUCTION_TICKET

E.1.3 Bảng MULTIENTRY_TICKET:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

seasonTicketID INTEGER Mã vé 1

entrycount INTEGER Số lần mà khách hàng được vào 2

khi sử dụng vé

3 daysOfWeek VARCHAR(7) Các ngày trong tuần mà khách

hàng có thể sử dụng vé để xem

buỗi diễn.

4 fixedEvent CHAR(1) Cho biết vé này đang mang đặc

điểm 1 hay đặc điểm 2.

Bảng 7-5 Mô tả bảng MULTIENTRY_TICKET

141

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

E.1.4 Bảng MULTIDAY_TICKET:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

seasonTicketID INTEGER Mã vé 1

daysOfWeek VARCHAR(7) Các ngày trong tuần mà khách 2

hàng có thể sử dụng vé để xem

buỗi diễn.

Bảng 7-6 Mô tả bảng MULTIDAY_TICKET

E.1.5 Bảng TOPIC_TICKET:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

seasonTicketID INTEGER Mã vé 1

Topic VARCHAR(30) Chủ đề. Đối với sự kiện 2

Championship, thuộc tính này

chứa tên đội bóng của vé.

3 homeVisit CHAR(1) Trạng thái cho biết các trận đấu

của vé sẽ gồm các trận đấu của

đội chọn trong thuộc tính topic thi

đấu trên sân nhà hay sân khách

hay một trong 2.

4 All_per CHAR(1) Cho biết vé sẽ chứa mọi trận đấu

của đội bóng chọn trong thuộc

tính topic hay không.

Bảng 7-7 Mô tả bảng TOPIC_TICKET

142

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

E.1.6 Bảng VIPSPONSOR_TICKET:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

1 seasonTicketID INTEGER Mã vé

Bảng 7-8 Mô tả bảng VIPSPONSOR_TICKET

E.1.7 Bảng VIPSPONSOR_TICKET_DETAIL:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

1 seasonTicketID INTEGER Mã vé

2 email VARCHAR(50) Địa chỉ email

3 sendDate DATE Ngày gởi

Bảng 7-9 Mô tả bảng VIPSPONSOR_TICKET_DETAIL

E.1.8 Bảng TT_PER_MP:

STT Tên thuộc tính Kiểu dữ Mô tả

liệu

1 topicST_ID INTEGER Mã vé mùa chủ đề. Nếu giá trị

này khác NULL thì buổi diễn sẽ

là trận đấu bị loại khỏi danh sách

trận đấu hợp lệ của vé.

2 MultiPerformanceST_ID INTEGER Mã vé mùa nhiều buổi diễn. Nếu

giá trị này khác NULL buổi diễn

sẽ là buổi diễn được cho vào

trong danh sách các buổi diễn

hợp lệ của vé.

3 ID INTEGER ID của dòng, là 1 số

143

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

SEQUENCE.

4 OccurenceID INT Mã buổi diễn. đối với sự kiện

Championship, đây là mã trận

đấu.

Bảng 7-10 Mô tả bảng TT_PER_MP

E.1.9 Bảng SEASON_TICKET_PRICE:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

seasonTicketID INTEGER Mã vé 1

categoryID INT Mã loại 2

sendDate DATE Ngày gởi 3

Bảng 7-11 Mô tả bảng SEASON_TICKET_PRICE

E.1.10 Bảng CARD:

STT Tên thuộc tính Kiểu dữ liệu Mô tả

bookingID INTEGER Mã của vé đặt 1

ticketName VARCHAR(50) Tên vé mà khách hàng đặt 2

orderDate DATE Ngày tạo ra vé đặt 3

cancelDate DATE Ngày huỷ vé đặt 4

renewStartDate DATE Ngày bắt đầu gia hạn vé đặt 5

renewEndDate DATE Ngày kết thúc gia hạn vé đặt 6

selectedCate VARCHAR(10) Loại (có thể là loại khách 7

hàng hoặc khu vực ngồi) mà

144

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

khách hàng chon.

8 selectedSeat VARCHAR(3) Chỗ ngồi mà khách hàng

chọn

9 startDate DATE Ngày bắt đầu có hiệu lực của

vé đặt, áp dụng cho vé mùa

giảm giá

10 ticketPrice FLOAT Giá vé

11 ticketURL VARCHAR2(1000) Liên kết để tải vé đặt

12 remainEntry INTEGER Số lượng lần vào còn lại của

vé đặt, áp dụng chon vé mùa

nhiều lần vào dành cho sự

kiện phim.

13 eventName VARCHAR(20) Tên sự kiện.

14 holderFirstName VARCHAR(10) Tên khách hàng

15 holderLastName VARCHAR(10) Họ khách hàng

16 holderEmail VARCHAR(50) Địa chỉ e-mail của khách

hàng sẽ chứa liên kết để

download vé.

17 status CHAR(1) Trạng thái vé hiện tại

Bảng 7-12 Mô tả bảng CARD

145

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Hình 7-6-6 Mô hình đối tượng chi tiết

146

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

F. Một số màn hình chính

F.1 Phim

F.1.1 Màn hình Login

Hình 7-6-7 Màn hình đăng nhập vào hệ thống bán vé cho phim

F.1.2 Menu chức năng của hệ thống

Hai hệ thống bán vé theo mùa cho phim và Championship đều có cùng chức năng.

Tham khảo thêm ở phần G.2.2

147

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

F.1.3 Màn hình tạo vé mùa giảm giá

Hình 7-6-8 Màn hình tạo vé mùa giảm giá

Không như cách tạo vé nhiều lần vào, giá của vé mùa giảm giá không dựa trên giá

bán lẻ. Người tạo vé phải nhập số phần trăm giảm giá của vé.

148

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

F.2 Championship

F.2.1 Màn hình Login

Hình 7-6-9 Màn hình đăng nhập vào hệ thống bán vé Championship

F.2.2 Menu chức năng của hệ thống

Hình 7-6-10 Menu của hệ thống bán vé theo mùa

- Home: là trang danh sách các vé theo mùa đã được tạo

- Season tickets: quản lý thông tin của vé theo mùa được hệ thống hỗ trợ

- Renew & cancel season cards: Tìm kiếm và quản lý (hủy và gia hạn) vé được

đặt

149

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

F.2.3 Màn hình tạo vé mời

Hình 7-6-11 Màn hình tạo vé mời

Đối với việc tạo ra vé mời người tổ chức thực hiện những công việc sau:

- Quản lý account của khách mời

- Nhập thông tin của vé bao gồm: tên, các khu vực ngồi dành riêng.

- Thông tin ưu đãi đối với khách mời.

150