TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
ĐỒ ÁN TỐT NGHIỆP
Website quản lý chuỗi võ đường
Karate League Dojo
NGUYỄN VĂN ƯỚC
Ngành Cử nhân Công nghệ
Chuyên ngành Công nghệ thông tin
Giảng viên hướng dẫn:
TS. Vũ Thị Hương Giang
Bộ môn:
Viện:
Công nghệ phần mềm
Công nghệ thông tin – Truyền thông
HÀ NỘI, 06/2020
Lời cam kết
Họ và tên sinh viên: . . . Nguyễn Văn Ước. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Điện thoại liên lạc: . . . 0375933684. . . Email: . . . . .
Lớp: . . .CN CNTT 2 K61. . . . . . . . .. . Hệ đào tạo: . . . Cử nhân công nghệ. . . . . . .
Tôi – Nguyễn Văn Ước – cam kết Đồ án Tốt nghiệp (ĐATN) là cơng trình nghiên cứu của
bản thân tôi dưới sự hướng dẫn của TS. Vũ Thị Hương Giang. Các kết quả nêu trong ĐATN
là trung thực, là thành quả của riêng tôi, không sao chép theo bất kỳ cơng trình nào khác.
Tất cả những tham khảo trong ĐATN – bao gồm hình ảnh, bảng biểu, số liệu, và các câu từ
trích dẫn – đều được ghi rõ ràng và đầy đủ nguồn gốc trong danh mục tài liệu tham khảo.
Tơi xin hồn tồn chịu trách nhiệm với dù chỉ một sao chép vi phạm quy chế của nhà trường.
Hà Nội, ngày tháng
năm
Tác giả ĐATN
Họ và tên sinh viên
ii
Lời cảm ơn
“Cuộc sống luôn cho bạn lựa chọn con đường bạn sẽ đi.
Với tôi, tôi chọn sống theo đam mê của mình.”
Câu nói này chính là châm ngơn sống của tôi kể từ khi tôi bắt đầu bước sang tuổi trưởng
thành - tuổi 18. Xuất phát là một học sinh chuyên lý nhưng lại đam mê lập trình. Từ một
cậu học sinh chưa biết gì về máy tính, tơi được các thầy cô Trung học chỉ dạy cho biết thế
nào giải thuật, ngơn ngữ lập trình là gì và thế nào là code. Để rồi từ đó, tơi lại càng u
thích lập trình hơn và quyết định chọn ngành Cơng nghệ thơng tin là ngành để gắn bó với
qng đời sinh viên cũng có thể là cả sự nghiệp của mình.
Trở thành sinh viên ngành Cơng nghệ thơng tin của Đại học Bách Khoa Hà Nội – một
trong những ngơi trường danh tiếng bậc nhất Việt Nam có lẽ là cái duyên và cũng có lẽ là
may mắn. Đến giờ tơi vẫn cịn nhớ như in cái cảm giác trên tay cầm giấy báo nhập học
bước qua cánh cổng Parabol để đến tòa C1 để đăng ký nhập học. Cái cảm giác vui sướng,
hồi hộp pha lẫn chút choáng ngợp bởi sự hiện đại và rộng lớn của ngôi trường mà mình sẽ
gắn bó suốt qng đời sinh viên. Thật khó để diễn tả chính xác và đầy đủ hết được cảm xúc
của tơi lúc đó!
Ấy vậy mà thấm thốt cũng đã bốn năm trơi qua, tơi bây giờ khơng cịn là cậu tân sinh viên
non trẻ ngày nào nữa mà đang bước những bước đi cuối cùng của qng đời sinh viên của
mình. Bốn năm khơng phải một khoảng thời gian quá dài nhưng cũng là đủ để lại trong tôi
những kỷ niệm không thể phai nhạt về Bách Khoa.
“Bách Khoa trong bạn là gì?”
Đây là câu hỏi mà có lẽ sẽ khơng bao giờ đếm được có bao nhiêu câu trả lời bởi Bách
Khoa trong mỗi chúng ta đều có những nét riêng, kỉ niệm riêng và cảm nhận riêng. Với tôi,
Bách Khoa không quá ồn ào và sôi nổi. Bách Khoa trong tôi là những bài thí nghiệm vật lý
tỉ mỉ từng con số, là đồ án phải thức thông đêm để kịp báo cáo, là những lần trượt học
bổng vì khơng qua mơn Những ngun lý cơ bản của chủ nghĩa Mác-Lênin, là những lần
gào khản tiếng cổ vũ đội tuyển bóng đá của trường, là cảm giác lo lắng trước mỗi kỳ thi rồi
thở phào nhẹ nhõm khi xem được điểm ở sảnh D3 và là những rung động tuổi sinh viên.
Tất cả đã tạo nên một Bách Khoa trọn vẹn trong tôi.
iii
Để có thể đi được một chặng đường dài đến thời điểm hiện tại, tôi không thể không gửi lời
tri ân đến các thầy cô, cán bộ nhân viên Trường Đại học Bách Khoa nói chung và Viện
Cơng nghệ thơng tin và truyền thơng nói riêng đã giúp đỡ và truyền đạt kiến thức cả về
chuyên môn và kỹ năng làm việc để tơi hồn thiện bản thân và tự tin vững bước trên con
đường sự nghiệp sắp tới. Đặc biệt, tôi xin gửi lời cảm ơn chân thành đến TS. Vũ Thị
Hương Giang, giáo viên trực tiếp hướng dẫn đồ án tốt nghiệp của tôi. Người đã hướng dẫn
tôi bằng sự nhiệt huyết và tận tâm của mình. Cơ đã giúp tơi định hướng, chỉnh sửa và hồn
thiện đồ án tốt nghiệp một cách tốt nhất và chỉn chu nhất. Tôi cảm thấy thực sự may mắn
khi được cô hướng dẫn mình làm đồ án tốt nghiệp. Tơi xin cảm ơn anh Nguyễn Văn Hiệp,
anh trai tôi, người đã dẫn dắt tôi từ những bước đầu tiên và luôn giúp đỡ tôi giải quyết
những vấn đề vướng mắc trong q trình xây dựng đồ án này. Tơi xin cảm ơn thầy Trần
Mạnh Dũng, chủ nhiệm võ đường Karate League Dojo, người đã ươm mầm cho ý tưởng
của đề tài này, đã giúp đỡ và trao rất nhiều cơ hội cho tơi trong q trình tập luyện tại võ
đường. Tơi cũng xin cảm ơn các thành viên của võ đường Karate Nông Nghiệp – K.L.D đã
giúp đỡ tôi trong quá trình đóng góp ý kiến, phản hồi lỗi để tơi kịp thời chỉnh sửa và cải
tiến. Và đặc biệt, tôi xin cảm ơn các bạn Lê Anh Tuấn, Bùi Trần Phương Thảo, Lý Văn
Dưỡng đã luôn đồng hành và giúp đỡ tôi trong suốt 4 năm đại học vừa qua. Cảm ơn các
bạn rất nhiều!
iv
Tóm tắt
Ngày nay, song song với việc phát triển nhanh chóng của các cơng ty cả về số lượng và quy
mơ thì nhu cầu về quảng bá hình ảnh cũng như quản lý là rất lớn. Có khá nhiều cách để đáp
ứng nhu cầu nói trên như chạy quảng cáo trên Facebook, Youtube, phát tờ rơi, quản lý trên
giấy tờ hay ứng dụng offline….Tuy nhiên, trong thời đại internet phát triển như ngày nay thì
việc có một website riêng là điều tối ưu và cần thiết.
Hiện tại, võ đường Karate League Dojo đang quản lý mọi thứ trên giấy tờ và quảng bá hình
ảnh trên Facebook, Youtube với mỗi cơ sở lại có một trang Facebook riêng, điều này làm
cho việc quản lý bị phân mảnh và khó kiểm sốt. Quy trình đăng ký tập luyện cịn hạn chế,
khi võ sinh muốn đăng ký khơng tìm thấy thơng tin về quy trình đăng ký và các chương trình
khuyến mại ưu đãi. Võ sinh tập luyện cũng không nắm bắt được các thông tin của cá nhân
như lịch sử nộp học phí, thành tích thi đấu cá nhân, điểm thi…
Website quản lý chuỗi võ đường Karate League Dojo sẽ giúp quảng bá hình ảnh, thơng tin
các cơ sở một các tập trung khơng riêng rẽ, cung cấp một cách nhìn tổng quan về chuỗi võ
đường, giúp việc tìm kiếm thơng tin, tài liệu tập luyện dễ dàng. Quy trình đăng ký tập luyện
rõ ràng, thuận tiện. Giúp võ sinh nắm bắt được các thông tin cá nhân. Cung cấp các chức
năng quản lý tập trung, hạn chế rủi ro sai sót của việc quản lý trên giấy tờ truyền thống.
Ngoài ra bổ sung các chức năng nên có của một hệ thống tập luyện, giảng dạy như đăng ký
mượn phòng, xếp hạng thi đua rèn luyện, tích hợp việc nộp phí online.
Về vấn đề xây dựng một website, hiện nay cũng có rất nhiều hướng để phát triển với nhiều
ngơn ngữ khác nhau như C#, Java hay PHP… trên các framework đa dạng khác nhau. Trong
khuôn khổ của ĐATN, tôi sẽ trình bày các vấn đề về xây dựng một website bằng ngôn ngữ
PHP trên framework Laravel, một trong những ngôn ngữ phổ biến được nhiều lập trình viên
lựa chọn bởi sự tiện lợi, dễ dàng sử dụng và một cộng đồng hỗ trợ phát triển mạnh mẽ.
ĐATN sẽ cung cấp một cách đầy đủ về quy trình phát triển một website cụ thể từ bước thiết
kế đến bước triển khai thực tế.
Website hiện đang được triển khai thử nghiệm tại cơ sở Karate Nông Nghiệp – K.L.D tại
Học viện Nông nghiệp Việt Nam của hệ thống Karate League Dojo với số lượng người dùng
tham gia thử nghiệm, đóng góp phản hồi khoảng 50 người. Kết quả bước đầu chạy thử
nghiệm trong tháng đầu có khoảng 90% người dùng phản hồi tốt cho các chức năng của
website. Ngồi ra cũng có các góp ý chỉnh sửa chủ yếu về giao diện người sử dụng.
v
Mục lục
Lời cam kết ............................................................................................................... ii
Lời cảm ơn ............................................................................................................... iii
Tóm tắt .......................................................................................................................v
Mục lục ..................................................................................................................... vi
Danh mục hình vẽ......................................................................................................x
Danh mục bảng ....................................................................................................... xii
Danh mục các từ viết tắt ....................................................................................... xiii
Danh mục thuật ngữ ............................................................................................. xiv
Chương 1 Giới thiệu đề tài .......................................................................................1
1.1 Đặt vấn đề ........................................................................................................................ 1
1.2 Mục tiêu và phạm vi đề tài............................................................................................... 2
1.3 Định hướng giải pháp ...................................................................................................... 3
1.4 Bố cục đồ án .................................................................................................................... 3
Chương 2 Khảo sát và phân tích yêu cầu ...............................................................5
2.1 Khảo sát hiện trạng .......................................................................................................... 5
2.2 Tổng quan chức năng ....................................................................................................... 8
2.2.1 Biểu đồ use case tổng quan ................................................................................. 8
2.2.2 Biểu đồ use case phân rã Quản lý phòng tập ....................................................... 9
2.2.3 Biểu đồ use case phân rã Quản lý sự kiện ......................................................... 10
2.2.4 Biểu đồ use case phân rã Quản lý học phí ......................................................... 11
2.2.5 Biểu đồ use case phân rã Quản lý cơ sở dữ liệu ................................................ 12
vi
2.2.6 Biểu đồ use case phân rã Cấu hình ứng dụng .................................................... 12
2.3 Đặc tả chức năng............................................................................................................ 12
2.3.1 Đặc tả use case Đăng ký mượn phòng tập: ....................................................... 12
2.3.2 Đặc tả use case Xác nhận lịch mượn phòng: ..................................................... 13
2.3.3 Đặc tả use case Sửa thời gian hoạt động: .......................................................... 14
2.3.4 Đặc tả use case Thêm lịch sử học phí: .............................................................. 15
2.3.5 Đặc tả use case Nộp học phí online:.................................................................. 16
Chương 3 Cơng nghệ sử dụng ................................................................................18
3.1 Cổng thanh tốn điện tử Momo (MoMo Payment Platform API) ................................. 18
3.1.1 Phương thức thanh tốn ..................................................................................... 18
3.1.2 Quy trình tích hợp ............................................................................................. 18
3.1.3 Thơng tin cấu hình để kết nối với MoMo API .................................................. 19
3.1.4 Bảo mật.............................................................................................................. 19
3.2 Open Server Panel ......................................................................................................... 19
3.2.1 Yêu cầu hệ thống ............................................................................................... 20
3.2.2 Cài đặt................................................................................................................ 20
3.2.3 Sử dụng.............................................................................................................. 20
3.3 Laravel ........................................................................................................................... 22
3.3.1 Laravel là gì? ..................................................................................................... 22
3.3.2 Tại sao nên sử dụng Laravel? ............................................................................ 23
3.3.3 Yêu cầu server ................................................................................................... 26
3.3.4 Cài đặt................................................................................................................ 26
3.4 Voyager – The Missing Laravel Admin ........................................................................ 27
3.4.1 Yêu cầu .............................................................................................................. 27
3.4.2 Cài đặt................................................................................................................ 27
3.5 Các thư viện khác........................................................................................................... 29
Chương 4 Phát triển và triển khai ứng dụng .......................................................30
vii
4.1 Thiết kế kiến trúc ........................................................................................................... 30
4.1.1 Lựa chọn kiến trúc phần mềm ........................................................................... 30
4.1.2 Thiết kế tổng quan ............................................................................................. 32
4.1.3 Thiết kế chi tiết gói ............................................................................................ 32
4.2 Thiết kế chi tiết .............................................................................................................. 37
4.2.1 Thiết kế giao diện .............................................................................................. 37
4.2.2 Thiết kế lớp........................................................................................................ 41
4.2.3 Thiết kế cơ sở dữ liệu ........................................................................................ 47
4.3 Xây dựng ứng dụng ....................................................................................................... 53
4.3.1 Thư viện và công cụ sử dụng ............................................................................ 53
4.3.2 Kết quả đạt được................................................................................................ 55
4.3.3 Minh hoạ các chức năng chính .......................................................................... 55
4.4 Kiểm thử ........................................................................................................................ 59
4.4.1 Các kịch bản kiểm thử ....................................................................................... 59
4.4.2 Kiểm thử hộp đen .............................................................................................. 59
4.4.3 Kiểm thử hiệu năng ........................................................................................... 61
4.4.4 Tổng kết kiểm thử ............................................................................................. 62
4.5 Triển khai ....................................................................................................................... 63
4.5.1 Mơ hình kiến trúc dịch vụ hệ thống .................................................................. 63
4.5.2 Web Server ........................................................................................................ 63
4.5.3 Cài đặt môi trường............................................................................................. 69
4.5.4 Triển khai ứng dụng .......................................................................................... 70
Chương 5 Các giải pháp và đóng góp nổi bật.......................................................74
5.1 Chức năng quản lý học phí ............................................................................................ 74
5.1.1 Mã giảm giá ....................................................................................................... 74
5.1.2 Ưu đãi mặc định ................................................................................................ 75
5.1.3 Chính sách học phí ............................................................................................ 76
5.1.4 Quản lý nộp học phí .......................................................................................... 78
viii
5.1.5 Nộp học phí online ............................................................................................ 80
5.2 Tính điểm rèn luyện và xếp hạng thi đua....................................................................... 82
5.3 Chức năng mượn phịng tập ........................................................................................... 86
5.4 Online hóa các giấy tờ, biểu mẫu................................................................................... 88
5.5 Thiết kế trang video giống Youtube .............................................................................. 89
5.6 Chức năng bình luận ...................................................................................................... 93
Chương 6 Kết luận và hướng phát triển ...............................................................96
6.1 Kết luận .......................................................................................................................... 96
6.2 Hướng phát triển ............................................................................................................ 96
Tài liệu tham khảo ..................................................................................................97
ix
Danh mục hình vẽ
Hình 1 Biểu đồ usecase tổng quan ........................................................................................ 8
Hình 2 Biểu đồ phân rã usecase Book phịng tập.................................................................. 9
Hình 3 Biểu đồ usecase phân rã Quản lý sự kiện ................................................................ 10
Hình 4 Biểu đồ usecase phân rã Quản lý học phí ............................................................... 11
Hình 5 Biểu đồ usecase phân rã Quản lý cơ sở dữ liệu....................................................... 12
Hình 6 Biểu đồ usecase phân rã Cấu hình ứng dụng .......................................................... 12
Hình 7 Biểu đồ số lượng sao trên Github của Laravel và các framework khác .................. 23
Hình 8 Biểu đồ 15 framework miễn phí tốt nhất năm 2015................................................ 24
Hình 9 So sánh code khi sử dụng Blade của Laravel và code PHP thơng thường .............. 25
Hình 10 Mơ hình kiến trúc MVC ........................................................................................ 30
Hình 11 Sơ đồ vịng đời của request ................................................................................... 31
Hình 12 Biểu đồ gói tổng quan ........................................................................................... 32
Hình 13 Biểu đồ thiết kế gói Core Service ......................................................................... 33
Hình 14 Biểu đồ thiết kế gói User ....................................................................................... 34
Hình 15 Biểu đồ thiết kế gói Media .................................................................................... 34
Hình 16 Biểu đồ thiết kế gói Tuition .................................................................................. 35
Hình 17 Biểu đồ thiết kế gói Point Training ....................................................................... 36
Hình 18 Biểu đồ thiết kế gói Room .................................................................................... 37
Hình 19 Các kích thước màn hình điện thoại được tối ưu hiển thị ..................................... 38
Hình 20 Các kích thước màn hình máy tính bảng được tối ưu hiển thị .............................. 38
Hình 21 Vị trí các thơng điệp phản hồi và thơng báo với màn hình tiêu chuẩn.................. 39
x
Hình 22 Vị trí các thơng điệp phản hồi và thơng báo với màn hình kích thước nhỏ .......... 40
Hình 23 Biểu đồ thiết kế lớp của gói Tuition ...................................................................... 41
Hình 24 Biểu đồ trình tự usecase Nộp học phí ................................................................... 42
Hình 25 Biểu đồ trình tự usecase Thêm mới chính sách học phí ........................................ 43
Hình 26 Biểu đồ thiết kế lớp của gói Point Training .......................................................... 44
Hình 27 Biểu đồ trình tự usecase Đăng ký xác nhận sự kiện.............................................. 45
Hình 28 Biểu đồ trình tự usecase Xem điểm rèn luyện cá nhân ......................................... 45
Hình 29 Biểu đồ thiết kế lớp của gói Room ........................................................................ 46
Hình 30 Biểu đồ trình tự usecase đăng ký mượn phịng ..................................................... 47
Hình 31 Biểu đồ thực thể liên kết gói Core Service............................................................ 48
Hình 32 Sơ đồ liên kết SQL gói Core Service .................................................................... 49
Hình 33 Biểu đồ thực thể liên kết các gói User, Room, Point Training và Tuition ............ 50
Hình 34 Sơ đồ liên kết SQL các gói User, Room, Point Training, Tuition ........................ 51
Hình 35 Biểu đồ thực thể liên kết gói Media ...................................................................... 52
Hình 36 Sơ đồ liên kết SQL gói Media ............................................................................... 53
Hình 37 Những bản ghi của hành động truy cập trang tin tức ............................................ 61
Hình 38 Biểu đồ kết quả kiểm thử hiệu năng...................................................................... 62
Hình 39 Summary Report của hành động truy cập trang tin tức......................................... 62
xi
Danh mục bảng
Bảng 1 Các chức năng của website quản lý võ đường karate ............................................... 6
Bảng 2 Danh sách thư viện và công cụ sử dụng.................................................................. 54
Bảng 3 Bảng kiểm thử chức năng quản lý học phí.............................................................. 59
Bảng 4 Bảng kiểm thử chức năng mượn phòng tập ............................................................ 61
xii
Danh mục các từ viết tắt
Creat, Read, Update, Delete
CRUD
CSDL
Bốn tính năng quan trọng nhất để làm việc với Database
Cơ sở dữ liệu
HyperText Markup Language
HTML
Ngôn ngữ đánh dấu siêu văn bản
ĐATN
Đồ án tốt nghiệp
SV
Sinh viên
xiii
Danh mục thuật ngữ
BREAD
Giao diện cho các chức năng CRUD
Swap
Bộ nhớ RAM ảo
Mơ hình thiết kế phần mềm
MVC
Model – View - Controller
Application Programming Interface
API
Giao diện lập trình ứng dụng
xiv
Chương 1 Giới thiệu đề tài
1.1 Đặt vấn đề
Ngày nay, bên cạnh sự phát triển của thị trường, đời sống vật chất của con người cũng đã
được cải thiện và mọi người bắt đầu chú trọng đến sức khỏe hơn. Do đó các bộ mơn thể dục
thể thao hiện nay có cơ hội phát triển mạnh mẽ trong đó có các bộ mơn võ thuật, điển hình
là karate.
Với sự phát triển mạnh mẽ, ngày càng nhiều các cơ sở, võ đường tập luyện karate được mở
cửa thu hút rất đông các bạn võ sinh tham gia tập luyện đặc biệt là lứa tuổi học sinh, sinh
viên. Mặc dù phát triển như vậy nhưng cũng khơng ít võ đường rơi vào tình trạng thiếu hụt
võ sinh cũng như cơng tác quản lý yếu kém dẫn đến tình trạng chết yểu. Cơng tác quản lý là
đặc biệt quan trọng đối với sự phát triển và hoạt động của một hệ thống như Karate League
Dojo. Cần phải quản lý các thông tin của các cơ sở về phịng tập, học phí, võ sinh, điểm thi
lên kết các thơng tin đó với các loại giấy tờ, chứng chỉ, thẻ thi đấu…trích xuất dữ liệu và
báo cáo thống kê. Quan trọng như vậy, tuy nhiên các website của các võ đường hiện tại hoặc
chỉ dừng lại ở mức quản lý một cở sở nhỏ lẻ hoặc chỉ có chức năng đăng bài và hình ảnh mà
chưa có quản lý. Các cơng việc quản lý hồn tồn làm thủ cơng bằng việc lưu trữ các thơng
tin võ sinh, lịch sử học phí trên giấy tờ, mỗi lần cần một loại giấy tờ gì đó như giấy xác nhận
tập luyện, thẻ thi đấu hay giấy giới thiệu lại phải đi tìm trong tài liệu thơng tin của từng võ
sinh. Võ sinh cũng không nắm được các thông tin như lịch sử nộp học phí, thành tích, điểm
thi của mình hay những lần đổi học phí người quản lý phải ngồi tính tốn lại học phí của
từng võ sinh. Nói chung, việc quản lý khá bất tiện và dễ dẫn đến sai sót, nhầm lẫn cho người
quản lý, các thông tin được lưu trữ rời rạc và không có sự liên kết.
Điều này đặt ra một vấn đề là cần có một website để quảng bá hình ảnh hiệu quả đồng thời
cũng cần có một hệ thống quản lý, tương tác và kết nối giữa võ sinh và người quản lý cũng
như huấn luyện viên.
Giải quyết được vấn đề này không chỉ thúc đẩy sự phát triển của các võ đường karate mà
còn cho các hệ thống võ thuật khác nói riêng và các hệ thống tập luyện nói chung.
1
1.2 Mục tiêu và phạm vi đề tài
Hiện nay, trên thị trường đã có rất nhiều ứng dụng web với nhiều chức năng khác nhau cho
các đối tượng khác nhau từ cá nhân đến tổ chức. Tuy nhiên, nhu cầu về các ứng dụng web
vẫn còn rất cao, đặc biệt là các ứng dụng quản lý. Các ứng dụng web quản lý có thể kể đến
như quản lý nhân viên, quản lý sản phẩm, quản lý giáo dục…Xong các ứng dụng trên khơng
mang tính đặc thù và khơng cung cấp đầy đủ được các chức năng cần thiết cho hệ thống các
võ đường karate.
Hiện nay, có khoảng 80 – 90% võ đường có website riêng nhưng nhìn chung, các trang web
đó mới chỉ đáp ứng được các nhu cầu cơ bản như đăng bài, đăng ảnh, đăng tài liệu, chưa hỗ
trợ được nhiều cho việc tập luyện và giảng dạy của võ sinh và huấn luyện viên và việc quản
lý của võ đường của hệ thống. Ví dụ như website của võ đường Việt Nhật tại địa chỉ
Đây chỉ là website giới thiệu, không phải website quản lý. Trang
web đó mới chỉ đáp ứng được các nhu cầu cơ bản như đăng bài, đăng ảnh, đăng tài liệu, chưa
có sự tương tác giữa võ sinh với hệ thống.
Trong kỷ nguyên công nghệ số, với sự phát triển mạnh mẽ của internet thì một trang web
quản lý online sẽ thực sự hiệu quả cho vấn đề trên, nó sẽ giúp cho hệ thống võ đường vừa
quảng bá được hình ảnh, vừa giúp cho sự tương tác giữa võ sinh và người quản lý tốt hơn
đồng thời giúp cho việc quản lý cũng được thuận tiện và dễ dàng hơn.
Mục tiêu của ĐATN là xây dựng website cung cấp được các chức năng sau đây:
Tin tức: Các bài viết, video, tài liệu tập luyện, bình luận, thơng tin các cơ sở tập luyện
của hệ thống.
Đăng ký tập luyện, đăng ký chuyển cơ sở tập luyện.
Nộp học phí online.
Đăng ký mượn phịng tập: Võ sinh đăng ký lịch mượn các phòng tập của các cơ sở
với mục đích cá nhân để người quản lý sắp xếp và hỗ trợ phòng cho mượn.
Quản lý học phí: Lưu trữ lịch sử học phí, tính tốn lại học phí dư thừa khi võ sinh
chuyển cơ sở tập luyện hoặc thay đổi chính sách học phí hiện tại, áp dụng mã giảm
giá và các ưu đãi mặc định.
Tính điểm rèn luyện, xếp hạng thi đua: Thơng qua các sự kiện võ sinh tham gia, điểm
thi và các thành tích võ sinh đạt được trong q trình tập luyện, thi đấu sẽ xếp hạng
thi đua theo năm
Trang cá nhân: Tổng hợp các thông tin của cá nhân người dùng như thơng tin cá
nhân, thành tích thi đấu, sự kiện đã tham gia, điểm thi đua và thứ hạng hiện tại.
Quản lý dữ liệu: Dữ liệu về võ sinh, điểm thi, sự kiện, mã giảm giá, giấy tờ, chứng
chỉ…
2
Ghi log: Ghi lại các lỗi của hệ thống trong quá trình hoạt động theo file của từng
ngày và hoạt động truy cập của người dùng.
1.3 Định hướng giải pháp
Để xây dựng một website, có rất nhiều ngơn ngữ lập trình và nhiều framework khác nhau.
Tuy nhiên, trong nội dung ĐATN của mình tơi lựa chọn sử dụng ngơn ngữ PHP, framework
Laravel kết hợp với CSDL MySQL. PHP là một ngơn ngữ lập trình phổ biến được nhiều lập
trình viên lựa chọn bởi sự tiện lợi, dễ dàng sử dụng và một cộng đồng hỗ trợ phát triển mạnh
mẽ. Laravel – một framework hỗ trợ phát triển các ứng dụng web theo cấu trúc model- viewcontroller (MVC), đứng đầu về số lượt tải trên Packagist cũng như số lượng sao đạt được
trên Github.
Quy trình thực hiện:
Phân tích u cầu người sử dụng.
Phân tích quy trình nghiệp vụ
Thiết kế kiến trúc, cơ sở dữ liệu
Thiết kế giao diện
Xây dựng chức năng
Kiểm thử: Kiểm thử hiệu năng, lỗi phát sinh bằng các kịch bản người sử dụng, kiểm
thử hộp đen.
Triển khai ứng dụng: triển khai website trên VPS của Google, chạy thử nghiệp tại
một hoặc nhiều cơ sở.
1.4 Bố cục đồ án
Phần còn lại của báo cáo đồ án tốt nghiệp này được tổ chức như sau.
Chương 2 trình bày về kết quả khảo sát thị trường website hiện nay, đặc biệt là website quản
lý của các hệ thống giảng dạy Karate trên địa bàn Hà Nội nói riêng và Việt Nam nói chung.
Bên cạnh đó, chương này cũng sẽ tiến hành phân tích yêu cầu để làm rõ các đối tượng tham
gia và các tính năng cần có của ứng dụng.
Trong Chương 3, tôi giới thiệu về các công nghệ đã sử dụng để xây dựng phát triển website.
Đó là ngơn ngữ PHP trên nền tảng framework Laravel kết hợp với package quản lý admin
Voyager. Đây là một bộ công cụ phát triển web mạnh mẽ, tiện lợi, dễ dàng sử dụng và hiệu
quả.
Từ những phân tích yêu cầu về các chức năng và cơng nghệ sử dụng được trình bày ở Chương
2 và Chương 3, Chương 4 sẽ tiếp tục trình bày các thiết kế từ tổng quan đến chi tiết về kiến
3
trúc, giao diện, cơ sở dữ liệu. Đồng thời, trong chương này cũng sẽ trình bày về kết quả ứng
dụng thơng qua các minh họa các chức năng chính, kết quả kiểm thử và quá trình triển khai
ứng dụng thực tế.
Tiếp theo, Chương 5 sẽ tổng hợp các giải pháp và đóng góp nổi bật của ĐATN, lần lượt các
vấn đề khó khăn và các cách giải quyết vấn đề đó sẽ được trình bày trong chương này.
Cuối cùng, Chương 6 sẽ tổng kết lại các vấn đề, đánh giá ưu nhược điểm và nêu lên phương
hướng phát triển của ứng dụng trong tương lai.
4
Chương 2 Khảo sát và phân tích yêu cầu
2.1 Khảo sát hiện trạng
Hiện nay, trên thị trường đã có rất nhiều loại website với nhiều chức năng khác nhau cho
các đối tượng khác nhau từ cá nhân đến tổ chức như website giới thiệu, website thương mại
điện tử (lazada, shopee, tiki…), mạng xã hội (Facebook, Twitter,...), website tin tức (báo
Tuổi trẻ, báo Thanh niên, báo Người lao động,…), website giáo dục (W3School,..), web-app
(ứng dụng web). Trong số đó, nhu cầu về các ứng dụng web là cao hơn cả, đặc biệt là các
ứng dụng quản lý. Lý do mà các ứng dụng web quản lý phát triển như vậy là bởi sự phát
triển của nền kinh tế dẫn đến sự xuất hiện nhiều hơn của các cơng ty, xí nghiệp. Đặc biệt
trong thời đại số hóa hiện nay, xu hướng chuyển dần các tác vụ quản lý từ hình thức truyền
thống sang hình thức online đang được ưa chuộng. Do đó, trong q trình phát triển của
mình thì một ứng dụng quản lý là cần thiết đối với một công ty. Và các hệ thống giảng dạy
karate cũng cần hòa mình vào xu hướng đó để phát triển. Các ứng dụng web quản lý có thể
kể đến như quản lý nhân viên, quản lý sản phẩm, quản lý kho – bán sỉ lẻ, quản lý trường học,
giảng viên, sinh viên, học sinh, học viên,…Xong nhìn chung, các ứng dụng web này hoặc
không phù hợp, hoặc không cung cấp đầy đủ các chức năng mang tính đặc thù của loại hình
giảng dạy karate. Ứng dụng web có thể phù hợp nhất là ứng dụng quản lý trường học, giảng
viên, sinh viên, học sinh. Tuy nhiên, giữa học văn hóa và tập luyện karate tại các võ đường
khác nhau rất nhiều. Ví dụ như quá trình học tập của học sinh sẽ theo lộ trình của từng mơn
học nhưng karate khơng có môn học nào cả, việc thi, kiểm tra và đánh giá điểm thi cũng
khác nhau dẫn đến việc quản lý điểm cũng khác nhau. Ngồi việc thi, kiểm tra thơng thường,
các võ sinh còn tham gia các giải thi đấu, đạt được thành tích, tham gia các hoạt động của
võ đường dẫn đến nhu cầu cần lưu giữ kỉ niệm, thành tích cá nhân trong sự nghiệp karate
của mình. Chính sách học phí giữa học văn hóa và tập luyện karate cũng khác nhau…
Các hệ thống giảng dạy karate ở Việt Nam hiện nay nói chung và trên địa bàn Hà Nội nói
riêng có thể kể đến như võ đường Uy Sơn do thầy Trần Anh Sơn – huyền đai đệ tứ đẳng,
trọng tài Karate Quốc gia chủ nhiệm, võ đường Karate League Dojo do thầy Trần Mạnh
Dũng – huyền đai đệ tam đẳng, kiện tướng Karate Quốc gia chủ nhiệm, câu lạc bộ võ thuật
Việt Nhật, câu lạc bộ Karatedo Bách Khoa,…và rất nhiều các câu lạc bộ khác. Tuy phát triển
và có nhiều võ đường lớn cũng như nhu cầu cần thiết có một ứng dụng quản lý như vậy
nhưng hầu hết các võ đường, câu lạc bộ hiện nay chưa có một website quản lý, quảng bá của
riêng mình mà mới chỉ dừng lại ở việc hoạt động trên Facebook bằng các fanpage, số lượng
5
võ đường có trang web riêng là rất ít. Trong 4 võ đường kể trên thì chỉ câu lạc bộ võ thuật
Việt Nhật có website riêng tại địa chỉ Tuy nhiên cũng chỉ là website
giới thiệu, không phải website quản lý. Trang web đó mới chỉ đáp ứng được các nhu cầu cơ
bản như đăng bài, đăng ảnh, đăng tài liệu, chưa có sự tương tác giữa võ sinh với hệ thống,
chưa hỗ trợ được nhiều cho việc tập luyện và giảng dạy của võ sinh và huấn luyện viên tại
các võ đường của hệ thống.
Bảng 1 Các chức năng của website quản lý võ đường karate
Các website karate hiện nay
Website ĐATN sẽ xây dựng
Đăng tải bài viết, ảnh, tài liệu, video…
Đăng tải bài viết, ảnh, tài liệu, video…
Bình luận bài viết
Bình luận các đối tượng: bài viết, video,
tài liệu, cơ sở tập luyện
Giới thiệu võ đường
Giới thiệu võ đường
Đăng ký tập luyện
Đăng ký chuyển cơ sở tập luyện
Đăng ký mượn phịng tập
Quản lý học phí
Nộp học phí online
Tính điểm rèn luyện, xếp hạng thi đua
Trang cá nhân
Ghi log
Quản lý dữ liệu
6
Từ những phân tích trên có thể thấy, ứng dụng web quản lý võ đường karate mang tính khả
dụng và thực tế cao, cung cấp các chức năng sau:
Tin tức: Các bài viết, video, tài liệu tập luyện, bình luận, thông tin các cơ sở tập luyện
của hệ thống.
Đăng ký tập luyện, đăng ký chuyển cơ sở tập luyện.
Nộp học phí online.
Đăng ký mượn phịng tập: Võ sinh đăng ký lịch mượn các phòng tập của các cơ sở
với mục đích cá nhân để người quản lý sắp xếp và hỗ trợ phịng cho mượn.
Quản lý học phí: Lưu trữ lịch sử học phí, tính tốn lại học phí dư thừa khi võ sinh
chuyển cơ sở tập luyện hoặc thay đổi chính sách học phí hiện tại, áp dụng mã giảm
giá và các ưu đãi mặc định.
Tính điểm rèn luyện, xếp hạng thi đua: Thông qua các sự kiện võ sinh tham gia, điểm
thi và các thành tích võ sinh đạt được trong quá trình tập luyện, thi đấu sẽ xếp hạng
thi đua theo năm
Trang cá nhân: Tổng hợp các thông tin của cá nhân người dùng như thông tin cá
nhân, thành tích thi đấu, sự kiện đã tham gia, điểm thi đua và thứ hạng hiện tại.
Quản lý dữ liệu: Dữ liệu về võ sinh, điểm thi, sự kiện, mã giảm giá, giấy tờ, chứng
chỉ…
Ghi log: Ghi lại các lỗi của hệ thống trong quá trình hoạt động theo file của từng
ngày và hoạt động truy cập của người dùng.
7
2.2 Tổng quan chức năng
2.2.1 Biểu đồ use case tổng quan
Hình 1 Biểu đồ usecase tổng quan
8
Các tác nhân tham gia trong biểu đồ usecase tổng quan gồm có: Visitor (khách), Member
(thành viên), Student (võ sinh), Editor (biên tập viên), Manager (quản lý) và admin. Trong
đó, tác nhân Visitor là người dùng truy cập vào trang web nhưng khơng đăng ký tài khoản,
chỉ có mục đích đọc tin tức và tài liệu, tác nhân Member là tác nhân Visitor đã có tài khoản
để truy cập vào trang web có những chức năng và nhiệm vụ riêng tùy theo từng loại quyền
truy cập của tác nhân đó, tác nhân Student là tác nhân Member đã đăng ký tập luyện và đã,
đang, sẽ tập luyện tại các cơ sở của hệ thống, tác nhân Editor là tác nhân Student có quyền
truy cập trang admin, có nhiệm vụ đăng tải các bài viết, tài liệu, video, xác nhận lịch mượn
phòng và sự kiện đã tham gia cũng như các thành tích của võ sinh, tương ứng với vai trị lớp
trưởng, tác nhân Manager là tác nhân Member có quyền truy cập trang admin quản lý các
thông tin về võ sinh, tài khoản, học phí,.. tương ứng với vai trị huấn luyện viên, tác nhân
admin là tác nhân thành viên nắm tồn quyền kiểm sốt trang web, cấu hình ứng dụng, quản
lý cơ sở dữ liệu của hệ thống.
2.2.2 Biểu đồ use case phân rã Quản lý phịng tập
Hình 2 Biểu đồ phân rã usecase Book phòng tập
Võ sinh là tác nhân thực hiện đăng ký mượn phòng tập và hủy mượn phòng còn quản lý,
biên tập viên là người xác nhận hoặc từ chối cho mượn phòng mà võ sinh đã đặt. Bên cạnh
đó, admin và quản lý là người quản lý hệ thống phòng tập về địa điểm phòng, thời gian hoạt
động. Biên tập viên cũng quản lý thời gian hoạt động của phòng tập cùng với quản lý.
9
2.2.3 Biểu đồ use case phân rã Quản lý sự kiện
Hình 3 Biểu đồ usecase phân rã Quản lý sự kiện
Quản lý sự kiện cùng với quản lý điểm thi, quản lý thành tích và nhập số ngày nghỉ là những
usecase quan trọng của chức năng tổng hợp điểm rèn luyện và xếp hạng thi đua của ứng
dụng, Biên tập viên là tác nhân chính trong usecase này. Võ sinh là tác nhân thực hiện
usecase đăng ký xác nhận các sự kiện đã tham gia để tích lũy điểm rèn luyện của mình và
biên tập viên là tác nhân sẽ xác nhận hoặc từ chối điều đó.
10
2.2.4 Biểu đồ use case phân rã Quản lý học phí
Hình 4 Biểu đồ usecase phân rã Quản lý học phí
Tham gia vào usecase gồm tác nhân quản lý là tác nhân chính. Usecase Quản lý học phí bao
gồm các usecase Quản lý ưu đãi mặc định, Quản lý mã giảm giá, Quản lý chính sách học
phí, Quản lý đăng ký chuyển cơ sở, Thêm lịch sử phọc phí. Trong đó, tác nhân võ sinh thực
hiện usecase Đăng ký chuyển cơ sở và tác nhân quản lý sẽ xác nhận hoặc từ chối điều đó.
Khi chuyển cơ sở tập luyện, do mức chênh lệch học phí nên cần phải tính tốn lại học phí.
Các usecase Quản lý ưu đãi mặc định, Quản lý mã giảm giá, Quản lý chính sách học phí
mục đích để bổ trợ cho usecase thêm lịch sử học phí.
11