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
vé
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