Tải bản đầy đủ (.docx) (33 trang)

Đồ án xây dựng hệ thống giới thiệu và quản lý sự kiện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 33 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CƠNG NGHỆ THƠNG TIN

BÁO CÁO CUỐI KÌ

ĐỒ ÁN 2
ĐỀ TÀI: Xây dựng hệ thống giới thiệu và quản lý sự kiện.

Giáo viên hướng dẫn: ThS. Nguyễn Thị Thanh Trúc.
Sinh viên thực hiện: Hà Minh Hồng - 17520506

Tp. Hồ Chí Minh, ngày 16 tháng 01 năm 2021

1


NHẬN XÉT CỦA GIẢNG VIÊN
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................


..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................

2


Mục lục

3


LỜI CẢM ƠN
Lời đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc đến cô Nguyễn Thị Thanh Trúc
– Giảng viên hướng dẫn môn Đồ án 2 SE122.L11.PMCL, người đã cùng đồng
hành và tận tình hướng dẫn cho em qua những buổi thảo luận. Chính nhờ sự
giúp đỡ hết lịng của cơ mà em mới có thể hồn thiện được được đồ án này một
cách suôn sẻ nhất.

Mặc dù kiến thức của em vẫn cịn hạn hẹp nên khơng thể tránh khỏi những thiếu
sót nhưng em đã cố gắng hoàn thiện đồ án đúng thời hạn, hạn chế mắc lỗi nhất
có thể. Vì vậy, em ln mong đợi nhận được những ý kiến đóng góp q báu từ
cơ và qua đó lắng nghe, tiếp thu để rút kinh nghiệm, tự sửa chữa, hồn thiện bản
thân mình trên tinh thần nghiêm túc, tự giác học hỏi.
Trong quá trình làm đề tài báo cáo, chắc không tránh khỏi nhiều điều thiếu sót,
rất mong nhận được phản hồi từ cơ và các bạn để góp phần làm cho bản báo cáo
thêm hồn thiện hơn.
Em xin chân thành cảm ơn !
TP. Hồ Chí Minh, ngày 16 tháng 01 năm 2021
Hà Minh Hoàng

4


Chương 1: Tổng quan
1.1

Lý do chọn đề tài

Ngày nay, với sự phát triển không ngừng của công nghệ nhất là ngành công
nghệ thông tin. Công nghệ thông tin được ứng dụng trong rất nhiều lĩnh vực
khác nhau. Với khả năng ứng dụng rơng rãi đó cùng với những chính sách
phát triển ngành công ngệ của Nhà nước, cùng với việc không ngừng nâng
cáo chất lượng dịch vụ cũng như chương trình quản lý các ngành dịch vụ.
Với khả năng ứng dụng rộng rãi của ngành công nghệ thông tin, việc đựa tin
học vào hỗ trợ các công việc quản lý sự kiện cho ngành dịch vụ. Ứng dụng
này nhằm giảm tải được công việc của những người quản lý. Xuất phát từ
nhu cầu đó, em thực hiện đề tài Xây dựng hệ thống giới thiệu và quản lý sự
kiện. Hệ thống này nhầm nâng cao chất lượng quản lý và quảng bá sự kiện.

1.2

Mục tiêu đề tài.
- Xây dựng hệ thống website quản lý thông tin về tổ chức sự kiện,
khách hàng, nhân viên.
- Xây dựng website giới thiệu để cung cấp một kênh để quảng bá sự
kiện để người dùng sử dụng
- Sử dụng công nghệ mới vào hệ thống. Tạo nền tảng để hệ thống đáp
ứng tốt cho hiện tại cũng như tương lai. Hệ thống phải đảm bảo dễ
dàng bảo trì và nâng cấp.

1.3

Hệ thống liên quan
1.3.1 Hệ thống Odoo Event.

5


Odoo còn được gọi là Open ERP được thành lập bởi Fabien Pinckaers
vào năm 2005. Odoo là một bộ sưu tập lớn cung cấp hàng loạt các ứng
dụng liên quan đến các mô-đun như CRM, Quản lý bán hàng, Thương
mại điện tử, Quản lý kho, Quản lý mua hàng, Kế tốn, Quản lý nhân sự,
… Tất cả các mơ-đun cơ bản này được gọi chung là phần mềm Lập kế
hoạch nguồn lực doanh nghiệp.
Phần mềm Odoo / Open ERP có sẵn trên đám mây hoặc tại chỗ phù hợp
với tất cả các loại hình doanh nghiệp Việt Nam. Với hơn một nghìn lượt
tải xuống / cài đặt mỗi ngày, Phần mềm Odoo / Open ERP là một trong
những giải pháp nguồn mở được sử dụng nhiều nhất trên thế giới. Odoo
Event là một module trong hệ thống Odoo.

Công nghệ: Odoo hỗ trợ cả website và mobile. Odoo sử dụng ngôn ngữ
Python, server Nginx, framework Event Schema.
1.3.2

Hệ thống sansukien.com

6


Săn Sự Kiện là website tạo ra một mạng lưới kết nối bền chặt giữa người
tổ chức sự kiện và những người tham dự. Chúng tôi mang đến giải pháp
công nghệ tối ưu cho tồn bộ q trình quản lý, mua bán vé sự kiện trực
tuyến nhằm mục tiêu mang sự kiện đến gần hơn với công chúng.
Công nghệ: Framework: WordPress, PHP7. Server: CloudFlare,
LiteSpeed.

Chương 2: Cơ sở lý thuyết
2.1 Tìm hiểu về cơng nghệ.
2.1.1 Python.
Là một ngơn ngữ lập trình mã nguồn mở đa mục đích, một loại ngơn ngữ bậc
cao, thông dịch và hướng đối tượng. Đây là một ngơn ngữ lập trình thơng dịch
được tạo ra bởi Guido van Rossum vào năm 1990.
Điểm đặc biệt của ngôn ngữ Lập trình Python có cú pháp khá dễ hiểu, dễ đọc và
dễ học. Trong việc phát triển ứng dụng thì ngôn ngữ này cũng rất linh hoạt.
Python hỗ trợ mẫu đa lập trình, bao gồm lập trình hướng đối tượng, lập trình
hàm và mệnh lệnh hoặc là các phong cách lập trình theo thủ tục.
Python là ngơn ngữ lập trình động nên không cần sử dụng các kiểu dữ liệu khai
báo.
Ưu điểm:
- Đơn giản: Là một ngơn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, cú pháp

ngắn gọn giúp người lập trình dễ dàng đọc và tìm hiểu.
7


- Tốc độ xử lý khá nhanh, và được đánh giá nhanh hơn so với ngôn ngữ PHP.
Với tốc độ xử lý cực nhanh, Python có thể tạo ra những chương trình từ những
script siêu nhỏ tới những phần mềm cực lớn như Biender 3D.
- Chất lượng: Thư viện có tiêu chuẩn cao, Python có khối cơ sở dữ liệu khá lớn
nhằm cung cấp giao diện cho tất cả các CSDL thương mại.
- Thuận tiện: Python được biên dịch và chạy trên tất cả các nền tảng lớn. Nó có
trên tất cả các nền tảng hệ điều hành từ UNIX, MS – DOS, Mac OS, Windows
và Linix và các OS khác thuộc họ Unix.
Tương thích mạnh mẽ với Unix, hardware, thirt-party software với số lượng thư
viện khổng lồ (400 triệu người sử dụng)
- Mở rộng: Với tính năng này, Python cho phép người lập trình có thể thêm
hoặc tùy chỉnh các cơng cụ nhằm tối đa hiệu quả có thể đạt được trong công
việc.
- GUI Programming: Giúp cho việc thực hiện ảnh minh họa di động một cách
tự nhiên và sống động hơn.
Hạn chế: Python khơng có các thuộc tính như :protected,private hay public,
khơng có vịng lặp do…while và switch….case.
2.1.2 NGINX
NGINX chính thức ra đời vào tháng 10/2014. Đây là phần mềm giúp server có
tốc độ và khả năng mở rộng lớn nhất, đồng thời, xử lý và thao tác trên hàng
nghìn kết nối cùng lúc. Do đó, rất nhiều “ông lớn” công nghệ hiện nay đều lựa
chọn NGINX như Google, Adobe, Netflix, WordPress…
NGINX là một web server mạnh mẽ mã nguồn mở. Nginx sử dụng kiến trúc
đơn luồng, hướng sự kiện vì thế nó hiệu quả hơn Apache server. Nó cũng có thể
làm những thứ quan trọng khác, chẳng hạn như load balancing, HTTP caching,
hay sử dụng như một reverse proxy. Nginx là kiến thức không thể thiếu đối với

một web developer, system administrator hay devops.
Những tính năng của máy chủ HTTP Nginx:







Có khả năng xử lý hơn 10.000 kết nối cùng lúc với bộ nhớ thấp.
Phục vụ tập tin tĩnh (static files) và lập chỉ mục tập tin.
Tăng tốc reverse proxy bằng bộ nhớ đệm (cache), cân bằng tải đơn giản
và khả năng chịu lỗi.
Hỗ trợ tăng tốc với bộ nhớ đệm của FastCGI, uwsgi, SCGI, và các máy
chủ memcached.
Kiến trúc modular, tăng tốc độ nạp trang bằng nén gzip tự động.
Hỗ trợ mã hoá SSL và TLS.
8













Cấu hình linh hoạt; lưu lại nhật ký truy vấn
Chuyển hướng lỗi 3XX-5XX
Rewrite URL (URL rewriting) dùng regular expressions
Hạn chế tỷ lệ đáp ứng truy vấn
Giới hạn số kết nối đồng thời hoặc truy vấn từ 1 địa chỉ
Khả năng nhúng mã PERL
Hỗ trợ và tương thích với IPv6
Hỗ trợ WebSockets
Hỗ trợ truyền tải file FLV và MP4

Những tính năng máy chủ mail proxy của Nginx
Các phương pháp xác thực :





POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
Hỗ trợ SSL, STARTTLS và STLS

2.1.3 Schema Event
Event Schema là một loại dữ liệu có cấu trúc được Google và các bên tìm
kiếm khác như Bing, Yahoo và Yandex nghiên cứu. Schema event sẽ hiển thị
những sự kiện sẽ được tổ chức trong tương lai. Bao gồm các thông tin như
tên sự kiện, thời gian diễn ra sự kiện, địa điểm diễn ra sự kiện… Chúng là
một trong số các loại schema như Sản phẩm, FAQ, bài viết, công thức nấu
ăn, review…
Tác dụng của Schema Event



Giúp Google hiểu website của bạn hơn
Schema Event cũng vậy, sự xuất hiện của chúng giúp Google nắm bắt được những
Event/sự kiện liên quan tới website và dịch vụ của doanh nghiệp của bạn. Khi đó
sẽ không mất thời gian để tự thu thập những thông tin trên website nữa. Và từ đó
có thể nâng cao thứ hạng tìm kiếm.



Giúp Google index nhanh hơn
Việc có thể hiểu website của webmaster tốt hơn sẽ làm cho Google Index nhanh
hơn. Việc nắm rõ được các thông tin trên website, bao gồm các thông tin sự kiện sẽ
khiến nội dung nhanh được index. Tăng sức mạnh của website một cách tốt nhất.
Tăng lợi thế cạnh tranh từ khóa.



Nổi bật trên Google làm tăng CTR
Với việc nổi bật 3 link trên Google thì nó cũng gần giống như 1 cái “site link”.
Giúp nổi bật hơn trên bộ máy tìm kiếm. Hơn nữa, việc chiếm diện tích nhiều hơn
trên Google cũng là 1 lợi thế để tăng tỉ lệ CTR. Từ đó giúp tăng khả năng lên top
từ khóa hơn.



Giúp khách hàng nắm bắt sự kiện tốt hơn
9



Nếu như website của bạn có đăng tải những dịch vụ của cơng ty, tổ chức của các
bạn thì sẽ rất thuận lợi để khách hàng biết tới. Và như thế sẽ tăng khả năng thành
công hơn khi tổ chức các sự kiện liên quan.
2.1.4 WordPress
Khởi đầu của sự phát triển bắt đầu vì sự phát triển của phần mềm viết blog
b2/cafelog (hiện tại nhà phát triển đã ngừng cung cấp). Vào năm 2003,hai người
dùng phần mềm viết, Matt Mullegweg và Mike Little đã quyết định xây dựng nên
tảng mới trên đỉnh của b2/cafelog. Vào ngày 27 tháng 5 năm 2003, Matt đã quyết
định công bố phiên bản đầu tiên của WordPress.
WordPress là hệ thống mã nguồn mở và miễn phí cho mọi người. Nó có tác dụng
xuất bản blog hoặc website bằng cách sử dụng PHP và MySQL, hai thành phần
được hỗ trợ trên mọi webhosting.
Ưu điểm:
• Dễ sử dụng: Dùng WordPress khi thiết kế trang web là dễ sử dụng. Thao
tác đơn giản rất đơn giản, dễ hiểu và dễ vận hành nên người sử dụng không
cần biết kiến thức lập trình nâng cao.
• Dễ quản lý: Hệ thống quản trị rất dễ dàng, tất cả các mục như bài đăng,
giao diện, cài đặt, … được sắp xếp dễ hiểu, khoa học và hợp lý cho người
mới bắt đầu sử dụng.
• Nguồn mở miễn phí: Thiết kế trang web miễn phí.
• Tối ưu hóa SEO: Có các cơng cụ mặc định để giúp SEO trang web dễ dàng
hơn và nhanh hơn.
• Thiết kế trang web Mã nguồn mở hỗ trợ người dùng thiết kế trang web
nhanh không cần phải biết q nhiều kiến thức lập trình.
• Hỗ trợ nhiều ngôn ngữ WordPress hỗ trợ 52 ngôn ngữ trong đó có tiếng
Việt. Vì vậy người dùng có thể dễ dàng làm việc và thao tác trên đó.
Nhược điểm:
Bảo mật không tốt:Sự phổ biến của CMS WordPress khiến các trang
web dễ dàng bị tấn cơng bởi những kẻ phá hoại
• Cài đặt template và plugin: Cài đặt không đơn giản nếu hoạt động

khơng đúng cách có thể dẫn đến nhiều xung đột xảy ra khi sử dụng
• Phù hợp với doanh nghiệp nhỏ: Chỉ phù hợp với doanh nghiệp vừa và
nhỏ. Đây không phải là giải pháp tối ưu đối với các cơng ty lớn


2.1.5 CloudFlare
CloudFlare trước đây là một đơn vị cung cấp dịch vụ DNS (Domain Name
System) trung gian có hỗ trợ CDN (Cloud Delivery Network). Hiện nay,
Cloudflare cịn cung cấp rất nhiều dịch vụ khác ngồi DNS trung gian như SSL,
anti DDOS, chống Spam, Firewall, HTTP/2, SPDY, IP Geo,…và cịn rất nhiều
dịch vụ khác miễn phí lẫn có phí.
10


Dịch vụ mà nhiều người quan tâm và thường dùng nhất của CloudFlare là DNS
trung gian. DNS là một dịch vụ phân giải tên miền thành địa chỉ IP. Có nghĩa là
khi bạn mua một tên miền và hosting để chạy website, về bản chất thì tên miền
và hosting này khơng liên quan gì đến nhau. Tuy nhiên, khi mua hosting bạn sẽ
nhận được một địa chỉ IP của server chứa hosting đó, và ở phần quản lý tên
miền, bạn phải cấu hình DNS của tên miền trỏ về IP hosting đã mua. Điều này
giúp cho việc khi bạn gõ tên miền lên thanh địa chỉ của trình duyệt thì nó tự
động chạy tới đúng hosting mà bạn đang dùng để chứa website và từ đó truy cập
được web. Dịch vụ DNS trung gian của CloudFlare có nhiệm vụ làm cầu nối
trung gian giữa Tên miền và hosting.
Những lợi ích khi dùng DNS CloudFlare
Dịch vụ DNS trung gian sẽ làm điều hướng mọi truy xuất tên miền phải đi qua
CloudFlare trước khi đến được hosting. Điều này chắc hẳn sẽ làm truy xuất
chậm hơn vì phải đi vịng thay vì đi thẳng. Tuy nhiên, CloudFlare hẳn phải có
giải pháp và tính năng hay thì mới buộc người ta phải dùng dịch vụ DNS trung
gian được.








Vì là DNS trung gian nên Cloudflare có mạng lưới hơn 120 data center
tại hơn 100 thành phố, nằm ở 49 nước trên khắp thế giới. Điều này giúp
cho mỗi truy xuất đều có thể tìm đến server CloudFlare gần nhất để giảm
thời gian chờ đợi.
CloudFlare có trang bị các máy chủ CDN, và sẽ lưu bản cache (bộ nhớ
đệm) của website trên các máy chủ này và phân phối lại cho các trình
duyệt ở gần. Điều này sẽ giúp cho việc truy xuất nội dung website nhanh
hơn rất nhiều đồng thời làm giảm băng thông cho hosting. Chẳng hạn như
một người dùng ở Singapore truy xuất website có domain dùng
CloudFlare và hosting được đặt tại server Halink, thì khi họ truy cập vào
tên miền bằng trình duyệt, thơng tin u cầu sẽ được chuyển đến
CloudFlare gần nhất. Lúc này, CloudFlare phát hiện dữ liệu khách cần
truy xuất từ website có sẵn trên server, nó sẽ truyền lại thẳng đến trình
duyệt khách mà khơng cần đi qua hosting đặt tại Halink. Nếu website của
bạn load chậm, hoặc do hosting yếu thì điều này sẽ giúp ích rất nhiều cho
website của bạn.
Do mọi hoạt động của website đều thông qua DNS trung gian, nên
CloudFlare trang bị rất nhiều tính năng đặc biệt để hỗ trợ website. Chẳng
hạn như tăng khả năng bảo mật dữ liệu, hạn chế hacker, chống tấn công
DDOS, hạn chế spam, ngăn các traffic xấu,… Điều này giúp website ln
trong tình trạng hoạt động tốt, an toàn và bảo mật. Do bạn trỏ tên miền
11



giá rẻ về CloudFlare nên hacker không thể biết được IP hosting thật là gì
và khơng thể tấn cơng được.
Một vài nhược điểm của CloudFlare






CloudFlare hiện chưa có máy chủ tại Việt Nam, nên nếu website của
bạn nằm trên hosting có máy chủ đặt tại Việt Nam, phục vụ khách
hàng ở Việt Nam thì khơng nên dùng CloudFlare. Vì mọi truy cập đều
phải qua CloudFlare ở nước ngoài trước khi quay lại hosting Việt
Nam, sẽ làm giảm tốc độ tải trang, vì cơ bản đường truyền internet của
Việt Nam khá chậm mà dữ liệu phải đi ra đi vào tới 2 lần.
Hoạt động của website phụ thuộc hoàn toàn vào CloudFlare. Tức là
nếu Server CloudFlare bị down thì việc truy xuất vào website của bạn
sẽ bị gián đoạn theo. Trong quá khứ từng có trường hợp một vài máy
chủ CloudFlare bị lỗi khiến hàng ngàn website liên quan không vào
được.
Trước đây nếu bạn dùng Shared Hosting, thỉnh thoảng sẽ gặp vấn đề
dải IP của CloudFlare sẽ bị Firewall của server chứa hosting chặn, do
tất cả truy cập web thông qua 1 dải IP của CloudFlare nên máy chủ
hosting hiểu lầm là website đang bị spam hoặc tấn cơng, đồng thời
khố website. Tuy nhiên hiện nay đa số máy chủ đều đã cập nhật dải
IP của CloudFlare vào whitelist nên hiện tượng này đã giảm nhiều.

2.2 Một số công nghệ sử dụng vào hệ thống.
2.2.1 Spring boot.

2.2.1.1 Giới thiệu về Spring Boot.
Spring Boot thuộc trong nhóm module của Spring Framework, cung cấp tính
năng RAD (Rapid Application Development). Spring Boot được sử dụng để tạo
ra một ứng dụng độc lập dựa trên spring mà bạn có thể chạy ngay sau khi cấu
hình lại spring một chút. Spring Boot không sinh ra code và tất nhiên hồn tồn
khơng có u cầu cấu hình XML nào, mà nó sử dụng quy ước về mơ hình thiết
kế phần mềm theo cấu hình, có nghĩa là nó giảm tải cơng việc cho các lập trình
viên.
2.2.1.2 Ưu điểm của Spring boot.




Có các tính năng của Spring Framework.
Tạo ứng dụng độc lập, có thể chạy bằng java -jar (cho cả java web).
Nhúng trực tiếp các ứng dụng server (Tomcat, Jetty…) do đó khơng
cần phải triển khai file WAR.

12








Cấu hình ít, tự động cậu hình bất kì khi nào có thể (Giảm thời gian
viết code, tăng năng suất).
Khơng yêu cầu XML config…

Cung cấp nhiều plugin.
Chuẩn cho Microservices (Cloud support; giảm việc setup, config; các
thư viện hỗ trợ…).


2.2.1.3 Lý do chọn Spring boot






Spring Framework được tổ chức tốt và rất linh hoạt. Sẽ không gặp bất kỳ
rắc rối nào để sử dụng. Mặc dù là số lượng các class và các package của
Spring Framework là khá lớn.
Spring framework là một framework thích ứng. Nó cung cấp nhiều mơđun như: Spring Core, Spring AOP, Spring IoC, Spring MVC, Spring
JDBC, Spring ORM, Spring Transitions, …
Spring là một Web MVC Framework được cấu hình tốt. Nó rất hiệu quả
và có thể là sự thay thế tuyệt vời cho các web framework khác như Struts.
Quan trọng nhất, Spring rất dễ cấu hình.

2.2.2 Hibernate Framework
2.2.2.1 Giới thiệu Hibernate




Hibernate là một thư viện ORM mã nguồn mở giúp lập trình viên viết
ứng dụng Java có thể map các objects với bảng trong hệ quản trị cơ sở dữ
liệu quan hệ. Hibernate giúp thực hiện giao tiếp giữa tầng ứng dụng với

tầng dữ liệu (kết nối, truy xuất, lưu trữ…)
Mỗi table trong database là một object trong Hibernate. Do đó, cần có
một java bean cho mỗi table trong database.

2.2.2.2 Lợi ích của Hibernate





Mã nguồn mở và nhẹ: Hibernate Framework là mã nguồn mở có giấy
phép LGPL và nhẹ.
Hiệu suất nhanh: Hiệu suất của Hibernate Framework là nhanh bởi vì bộ
nhớ cache được sử dụng trong nội bộ Hibernate Framework. Có hai loại
bộ nhớ cache trong Hibernate Framework, gồm bộ nhớ cache cấp một và
bộ nhớ cache cấp hai. Bộ nhớ cache cấp một được bật bằng lệnh mặc
định.
Truy vấn cơ sở dữ liệu độc lập: HQL (Hibernate Query Language) là
phiên bản hướng đối tượng của SQL. Nó tạo ra các truy vấn cơ sở dữ liệu
độc lập. Vì vậy, bạn khơng cần phải viết các truy vấn cơ sở dữ liệu cụ thể.
Trước Hibernate, nếu dự án có cơ sở dữ liệu bị thay đổi, chúng ta cần
phải thay đổi truy vấn SQL dẫn đến sự cố bảo trì.
13








2.2.3

Tạo bảng tự động: Hibernate framework cung cấp phương tiện để tạo ra
các bảng cơ sở dữ liệu tự động. Vì vậy, khơng cần phải tạo ra các bảng
trong cơ sở dữ liệu bằng tay.
Đơn giản lệnh join phức tạp: Có thể lấy dữ liệu từ nhiều bảng một cách
dễ dàng với Hibernate framework.
Cung cấp thống kê truy vấn và trạng thái cơ sở dữ liệu: Hibernate hỗ trợ
bộ nhớ cache truy vấn và cung cấp số liệu thống kê về truy vấn và trạng
thái cơ sở dữ liệu.
MySql.

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là
RDBMS) hoạt động theo mơ hình client-server. Với RDBMS là viết tắt của
Relational Database Management System. MySQL được tích hợp apache, PHP.
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có
nhiều bảng quan hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất và
mã lệnh tương tự với ngơn ngữ SQL.
Ưu điểm của MySQL








Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm
tiện ích rất mạnh.

Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là
ở cấp cao.
Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ
một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và
hơn thế nữa nó có thể được mở rộng nếu cần thiết.
Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm
việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.

Nhược điểm của MySQL





Giới hạn: Theo thiết kế, MySQL khơng có ý định làm tất cả và nó đi kèm
với các hạn chế về chức năng mà một vào ứng dụng có thể cần.
Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài
liệu tham khảo, các giao dịch, kiểm tốn,…) làm cho nó kém tin cậy hơn
so với một số hệ quản trị cơ sở dữ liệu quan hệ khác.
Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy
xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng
14


nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database
này ra nhiều server, hoặc tạo cache MySQL.

15



Chương 3: Phân tích hệ thống.
3.1 Các chức năng của phần mềm.
3.1.1 Quản lý sự kiện.
Xây dựng cơ sở dữ liệu xây dựng ứng dụng thực hiện các yêu cầu sau:






Quản lý thơng tin sự kiện: tên sự kiện, khách hàng, banner, nội dung,
ngày bắt đầu, ngày kết thúc, số người tham dự, giá, …
Quản lý thông tin các loại sự kiện: tên loại sự kiện, banner, mô tả, nội
dung.
Quản lý thông tin tin tức: Tiêu đề, banner, nội dung.
Quản lý thông tin nhân viên: Tên, số điện thoại, email, địa chỉ, giới tính,
ngày sinh, quyền.
Quản lý quyền: tên quyền, mơ tả.

3.1.2 Trang giới thiệu.
• Cho phép người dùng xem thơng tin trên trang giới thiệu.
• Cho phép người dùng xem các tin tức.
• Cho phép người dùng tạo sự kiện.

16


3.2 Use-case


3.2.1 Danh sách Actor
STT
Tên Actor
1

Admin

Ý nghĩa/Ghi chú
Toàn quyền quản lý hệ thống.

17


3.2.2 Danh sách các use-case
STT
Tên Actor

Ý nghĩa/Ghi chú

1

Use-case Đăng nhập

Truy cập vào hệ th

2

Use-case Quản lý sự
kiện


Thêm, xóa, cập sự kiện mà khách hàng
đăng ký và thanh toán.

3

Use-case Quản lý loại
sự kiện

Thêm, xóa, sửa các loại sự kiện mà cơng
ty cung cấp.

4

Use-case Quản lý tin
tức

Thêm, xóa, sửa thơng tin tin tức.
Hiển thị các tin tức trên trang giới thiệu.

5

Use-case Quản lý nhân Thêm, xóa, sửa thơng tin nhân viên.
viên

6

Use-case Quản lý
quyền


Thêm, xóa, sửa các quyền. Admin phân
quyền nhân viên.

Đặc tả Use-case
3.2.2.1 Đặc tả use-case Đăng nhập.
Usecase

Đăng nhập

Short Description

Use-case cho phép actor đăng nhập vào hệ thống

Pre-Conditions

Nhân viên trong công ty và có tài khoản đăng nhập.

Post-Conditions

Tài khoản chính xác

Main flow

Alternative flow(s)

1. Actor vào website hệ thống.
2. Hệ thống hiển thị form đăng nhập gồm tên đăng nhập và mật khẩu.
3. Actor nhập thông tin( tên đăng nhập và mật khẩu) và xác nhận đăng
nhập.
4. Hệ thống kiểm tra tên đăng nhập và mật khẩu, xác nhận là đúng và

cho phép actor đăng nhập vào hệ thống
Nếu thông tin đăng nhập sai thì hệ thống báo lỗi.

18


3.2.2.2 Đặc tả use-case Quản lý sự kiện.
Usecase

Quản lý sự kiện

Short Description

Use-case cho phép actor quản lý thông tin sự kiện

Pre-Conditions

Actor đã đăng nhập vào hệ thống

Post-Conditions

Khơng có

Main flow

Alternative flow(s)

1. Actor chọn chức năng “Quản lý sự kiện”.
2. Hệ thống hiển thị màn hình “Quản lý sự kiện”.
3. Actor chọn chức năng “Thêm mới”

3.1. Hệ thống hiển thị màn hình “Thêm mới sự kiện”.
3.2. Actor nhập thông tin sự kiện: Tên sự kiện, loại sự kiện, khách
hàng, địa điểm tổ chức, ngày bắt đầu, ngày kết thúc, giá, số người
tham dự,…
3.3. Actor xác nhận “Lưu”.
3.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
3.5. Hệ thơng hiển thị màn hình “Quản lý sự kiện”.
4. Actor chọn chức năng “Sửa”
4.1. Hệ thống lấy thông tin sự kiện và hiển thị lên màn hình “Cập
nhật”.
4.2. Actor nhập thơng tin cần thay đổi.
4.3. Actor xác nhận “Lưu”.
4.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
4.5. Hệ thơng hiển thị màn hình “Quản lý sự kiện”.
5. Actor chọn chức năng “Xóa sự kiện”
5.1. Actor xác nhận xóa nhân viên.
5.2. Hệ thống kiểm tra và xóa thông tin sự kiện khỏi database.
6. Actor chọn chức năng “Thanh toán”
6.1. Actor nhập số tiền mà khách hàng thanh toán và nhập nội dung
thanh toán.
6.2. Actor xác nhận “Lưu”.
6.3. Hệ thống kiểm tra và lưu vào database.
6.4. Hệ thông hiển thị màn hình “Quản lý sự kiện”.
Thơng tin actor nhập vào khơng hợp lệ thì hệ thống thơng báo trên màn hình
và yêu cầu nhập lại

19



3.2.2.3 Đặc tả use-case Quản lý loại sự kiện.
Usecase

Quản lý loại sự kiện

Short Description

Use-case cho phép actor quản lý thông tin loại sự kiện

Pre-Conditions

Actor đã đăng nhập vào hệ thống

Post-Conditions

Không có

Main flow

Alternative flow(s)

1. Actor chọn chức năng “Quản lý loại sự kiện”.
2. Hệ thống hiển thị màn hình “Quản lý loại sự kiện”.
3. Actor chọn chức năng “Thêm mới”
3.1. Hệ thống hiển thị màn hình “Thêm mới loại sự kiện”.
3.2. Actor nhập thông tin loại sự kiện: Tên loại sự kiện, mô tả, banner,
nội dung.
3.3. Actor xác nhận “Lưu”.
3.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu

thơng tin vào database.
3.5. Hệ thơng hiển thị màn hình “Quản lý loại sự kiện”.
4. Actor chọn chức năng “Sửa”
4.1. Hệ thống lấy thông tin loại sự kiện và hiển thị lên màn hình “Cập
nhật”.
4.2. Actor nhập thông tin cần thay đổi.
4.3. Actor xác nhận “Lưu”.
4.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
4.5. Hệ thơng hiển thị màn hình “Quản lý loại sự kiện”.
5. Actor chọn chức năng “Xóa loại sự kiện”
5.1. Actor xác nhận xóa.
5.2. Hệ thống kiểm tra và xóa thơng tin loại sự kiện khỏi database.
Thông tin actor nhập vào không hợp lệ thì hệ thống thơng báo trên màn hình
và u cầu nhập lại

20


3.2.2.5 Đặc tả use-case Quản lý tin tức.
Usecase

Quản lý tin tức

Short Description

Use-case cho phép actor quản lý thông tin tin tức

Pre-Conditions


Actor đã đăng nhập vào hệ thống

Post-Conditions

Khơng có

Main flow

Alternative flow(s)

1. Actor chọn chức năng “Quản lý tin tức”.
2. Hệ thống hiển thị màn hình “Quản lý tin tức”.
3. Actor chọn chức năng “Thêm mới”
3.1. Hệ thống hiển thị màn hình “Thêm mới tin tức”.
3.2. Actor nhập thông tin tin tức: Tiêu đề, banner, nội dung.
3.3. Actor xác nhận “Lưu”.
3.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
3.5. Hệ thơng hiển thị màn hình “Quản lý tin tức”.
4. Actor chọn chức năng “Sửa”
4.1. Hệ thống lấy thông tin tin tức và hiển thị lên màn hình “Cập nhật”.
4.2. Actor nhập thơng tin cần thay đổi.
4.3. Actor xác nhận “Lưu”.
4.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
4.5. Hệ thơng hiển thị màn hình “Quản lý tin tức”.
5. Actor chọn chức năng “Xóa tin tức”
5.1. Actor xác nhận xóa.
5.2. Hệ thống kiểm tra và xóa thơng tin tin tức khỏi database.
Thơng tin actor nhập vào khơng hợp lệ thì hệ thống thơng báo trên màn hình

và yêu cầu nhập lại

21


3.2.2.7 Đặc tả use-case Quản lý nhân viên.
Usecase

Quản lý nhân viên

Short Description

Use-case cho phép actor quản lý thông tin nhân viên

Pre-Conditions

Actor đã đăng nhập vào hệ thống

Post-Conditions

Khơng có

Main flow

Alternative flow(s)

1. Actor chọn chức năng “Quản lý nhân viên”.
2. Hệ thống hiển thị màn hình “Quản lý nhân viên”.
3. Actor chọn chức năng “Thêm mới”
3.1. Hệ thống hiển thị màn hình “Thêm mới tin tức”.

3.2. Actor nhập thông tin nhân viên: Tiêu đề, banner, nội dung.
3.3. Actor xác nhận “Lưu”.
3.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
3.5. Hệ thơng hiển thị màn hình “Quản lý nhân viên”.
4. Actor chọn chức năng “Sửa”
4.1. Hệ thống lấy thông tin nhân viên và hiển thị lên màn hình “Cập
nhật”.
4.2. Actor nhập thơng tin cần thay đổi.
4.3. Actor xác nhận “Lưu”.
4.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
4.5. Hệ thơng hiển thị màn hình “Quản lý nhân viên”.
5. Actor chọn chức năng “Xóa nhân viên”
5.1. Actor xác nhận xóa.
5.2. Hệ thống kiểm tra và xóa thơng tin nhân viên khỏi database.
Thơng tin actor nhập vào khơng hợp lệ thì hệ thống thơng báo trên màn hình
và yêu cầu nhập lại

22


3.2.2.8 Đặc tả use-case Quản lý quyền.
Usecase

Quản lý quyền

Short Description

Use-case cho phép actor quản lý thông tin quyền


Pre-Conditions

Actor đã đăng nhập vào hệ thống

Post-Conditions

Khơng có

Main flow

Alternative flow(s)

1. Actor chọn chức năng “Quản lý quyền”.
2. Hệ thống hiển thị màn hình “Quản lý quyền”.
3. Actor chọn chức năng “Thêm mới”
3.1. Hệ thống hiển thị màn hình “Thêm mới quyền”.
3.2. Actor nhập thông tin quyền: Tên quyền, mô tả.
3.3. Actor xác nhận “Lưu”.
3.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
3.5. Hệ thơng hiển thị màn hình “Quản lý quyền”.
4. Actor chọn chức năng “Sửa”
4.1. Hệ thống lấy thông tin quyền và hiển thị lên màn hình “Cập nhật”.
4.2. Actor nhập thơng tin cần thay đổi.
4.3. Actor xác nhận “Lưu”.
4.4. Hệ thống kiểm tra thông tin đã nhập. Xác nhận là hợp lệ thì lưu
thơng tin vào database.
4.5. Hệ thơng hiển thị màn hình “Quản lý quyền”.
5. Actor chọn chức năng “Xóa tin tức”

5.1. Actor xác nhận xóa.
5.2. Hệ thống kiểm tra và xóa thơng tin quyền khỏi database.
Thơng tin actor nhập vào khơng hợp lệ thì hệ thống thơng báo trên màn hình
và yêu cầu nhập lại

23


3.3 Sequence diagram
3.3.1. Đăng nhập

3.3.2 Đăng ký

24


3.3.3 Quản lý sự kiện
Thêm sự kiện

Chỉnh sửa thông tin sự kiện

25


×