Tổng quan
Lý do chọn đề tài
Ngày nay, sự phát triển không ngừng của công nghệ thông tin đã tạo ra những ứng dụng đa dạng trong nhiều lĩnh vực khác nhau Với chính sách phát triển ngành công nghệ của Nhà nước và nỗ lực nâng cao chất lượng dịch vụ, công nghệ thông tin ngày càng khẳng định vai trò quan trọng trong việc cải thiện quản lý các ngành dịch vụ.
Ngành công nghệ thông tin ngày càng được ứng dụng rộng rãi trong việc hỗ trợ quản lý sự kiện, giúp giảm tải công việc cho các nhà quản lý Để đáp ứng nhu cầu này, tôi thực hiện đề tài "Xây dựng hệ thống giới thiệu và quản lý sự kiện", nhằm nâng cao chất lượng quản lý và quảng bá sự kiện hiệu quả hơn.
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 trong hệ thống là rất quan trọng để tạo ra nền tảng vững chắc, đáp ứng tốt cho nhu cầu hiện tại và tương lai Hệ thống cần được thiết kế để dễ dàng bảo trì và nâng cấp, đảm bảo hiệu suất tối ưu và khả năng thích ứng với sự thay đổi.
Hệ thống liên quan
Odoo, còn được biết đến với tên gọi Open ERP, được thành lập vào năm 2005 bởi Fabien Pinckaers Đây là một bộ ứng dụng đa dạng, bao gồm 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ế toán và 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 dưới dạng đám mây hoặc tại chỗ, phù hợp với mọi loại hình doanh nghiệp tại Việt Nam Với hơn một nghìn lượt tải xuống mỗi ngày, Odoo / Open ERP là một trong những giải pháp nguồn mở phổ biến nhất toàn cầu Trong hệ thống Odoo, Odoo Event là một module quan trọng.
Công nghệ: Odoo hỗ trợ cả website và mobile Odoo sử dụng ngôn ngữ
Python, server Nginx, framework Event Schema.
Săn Sự Kiện là nền tảng kết nối hiệu quả giữa tổ chức sự kiện và người tham dự Chúng tôi cung cấp giải pháp công nghệ tiên tiến cho việc quản lý và bán vé trực tuyến, giúp đưa sự kiện đến gần hơn với công chúng.
Công nghệ: Framework: WordPress, PHP7 Server: CloudFlare,
Cơ sở lý thuyết
Tìm hiểu về công nghệ
Python là một ngôn ngữ lập trình mã nguồn mở đa mục đích, được phát triển bởi Guido van Rossum vào năm 1990 Với cú pháp dễ hiểu và dễ học, Python linh hoạt trong việc phát triển ứng dụng Ngôn ngữ này hỗ trợ nhiều mẫu lập trình, bao gồm lập trình hướng đối tượng, lập trình hàm, và 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.
Python có tốc độ xử lý nhanh, vượt trội hơn so với PHP, cho phép phát triển các chương trình từ những script nhỏ gọn đến những phần mềm lớn như Blender 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.
Python là một ngôn ngữ lập trình tiện lợi, có khả năng biên dịch và chạy trên tất cả các nền tảng lớn như UNIX, MS-DOS, Mac OS, Windows và Linux, cũng như các hệ điều hành 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)
Python cung cấp tính năng mở rộng, cho phép lập trình viên thêm hoặc tùy chỉnh các công cụ, từ đó tối đa hóa hiệu quả 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.
NGINX được giới thiệu vào tháng 10/2014, là phần mềm tối ưu hóa tốc độ và khả năng mở rộng cho server, cho phép xử lý hàng nghìn kết nối đồng thời Nhờ vào những ưu điểm vượt trội này, nhiều công ty công nghệ lớn như Google, Adobe, Netflix và WordPress đã lựa chọn NGINX cho hạ tầng của mình.
NGINX là một web server mã nguồn mở mạnh mẽ, sử dụng kiến trúc đơn luồng và hướng sự kiện, mang lại hiệu suất vượt trội so với Apache server Ngoài việc phục vụ nội dung web, NGINX còn hỗ trợ load balancing, HTTP caching và hoạt động như một reverse proxy Kiến thức về NGINX là điều cần thiết đối với web developer, system administrator và 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.
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ợ 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
Event Schema là một loại dữ liệu có cấu trúc mà Google và các công cụ tìm kiếm khác như Bing, Yahoo và Yandex sử dụng để hiển thị thông tin về các sự kiện sắp diễn ra Nó bao gồm các thông tin quan trọng như tên sự kiện, thời gian và địa điểm tổ chức Event Schema là một trong nhiều loại schema khác, bao gồm Sản phẩm, FAQ, bài viết, công thức nấu ăn và đánh giá.
Tác dụng của Schema Event
Giúp Google hiểu website của bạn hơn
Schema Event giúp Google hiểu rõ hơn về các sự kiện liên quan đến website và dịch vụ của doanh nghiệp bạn, từ đó tiết kiệm thời gian thu thập thông tin Việc sử dụng Schema Event có thể nâng cao thứ hạng tìm kiếm của website.
Giúp Google index nhanh hơn
Hiểu rõ website của webmaster giúp Google Index nhanh hơn Việc nắm bắt thông tin, bao gồm các sự kiện trên website, sẽ thúc đẩy quá trình index nội dung Điều này không chỉ tăng cường sức mạnh của website mà còn nâng cao lợi thế cạnh tranh về từ khóa.
Nổi bật trên Google làm tăng CTR
Việc nổi bật 3 liên kết trên Google tương tự như một "site link", giúp tăng cường hiển thị trên công cụ tìm kiếm Điều này không chỉ chiếm nhiều diện tích hơn trên trang kết quả mà còn mang lại lợi thế cho tỷ lệ nhấp chuột (CTR), từ đó nâng cao khả năng đưa từ khóa lên top.
Giúp khách hàng nắm bắt sự kiện tốt hơn
Việc đăng tải thông tin về dịch vụ của công ty trên website sẽ giúp khách hàng dễ dàng tiếp cận và nhận biết hơn Điều này không chỉ nâng cao khả năng thành công của các sự kiện mà bạn tổ chức, mà còn tạo dựng uy tín cho thương hiệu của bạn trong mắt khách hàng.
Sự phát triển của WordPress bắt đầu từ phần mềm viết blog b2/cafelog, mà hiện nay đã ngừng cung cấp Vào năm 2003, hai người dùng b2/cafelog, Matt Mullegweg và Mike Little, quyết định xây dựng một nền tảng mới dựa trên phần mềm này Ngày 27 tháng 5 năm 2003, Matt đã công bố phiên bản đầu tiên của WordPress.
WordPress là một nền tảng mã nguồn mở miễn phí, cho phép người dùng dễ dàng xuất bản blog hoặc website thông qua việc sử dụng PHP và MySQL, hai công nghệ phổ biến được hỗ trợ trên hầu hết các dịch vụ web hosting.
WordPress là nền tảng thiết kế trang web dễ sử dụng, với các thao tác đơn giản và dễ hiểu Người dùng không cần có kiến thức lập trình nâng cao để vận hành, giúp mọi người dễ dàng tạo và quản lý trang web của mình.
Hệ thống quản trị dễ dàng quản lý, với các mục như bài đăng, giao diện và cài đặt được sắp xếp một cách khoa học và hợp lý, giúp người mới bắt đầu sử dụng dễ dàng hơn.
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 quá 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 đó.
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
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,
Một số công nghệ sử dụng vào hệ thống
2.2.1.1 Giới thiệu về Spring Boot.
Spring Boot là một module trong Spring Framework, cung cấp tính năng phát triển ứng dụng nhanh (RAD) Nó cho phép tạo ra ứng dụng độc lập dựa trên Spring, có thể chạy ngay sau khi cấu hình đơn giản Không giống như các công cụ khác, Spring Boot không sinh ra code và không yêu cầu cấu hình XML, mà thay vào đó, nó áp dụng quy ước về mô hình thiết kế phần mềm, giúp giảm bớt khối lượng công việc cho 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.
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…
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
The Spring Framework is well-organized and highly flexible, making it easy to use despite the large number of classes and packages it contains.
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 framework Web MVC được cấu hình tốt, mang lại hiệu quả cao và là sự thay thế lý tưởng cho các framework web khác như Struts Đặc biệt, Spring rất dễ dàng để cấu hình.
Hibernate là một thư viện ORM mã nguồn mở, hỗ trợ lập trình viên Java trong việc ánh xạ các đối tượng với bảng trong cơ sở dữ liệu quan hệ Thư viện này giúp tối ưu hóa quá trình giao tiếp giữa tầng ứng dụng và tầng dữ liệu, bao gồm kết nối, truy xuất và lưu trữ dữ liệu.
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.
Mã nguồn mở và nhẹ: Hibernate Framework là mã nguồn mở có giấy phép LGPL và nhẹ.
Hibernate Framework có hiệu suất nhanh nhờ vào việc sử dụng bộ nhớ cache nội bộ Hai loại bộ nhớ cache trong Hibernate bao gồm bộ nhớ cache cấp một và bộ nhớ cache cấp hai, với bộ nhớ cache cấp một được kích hoạt theo mặc định.
HQL (Hibernate Query Language) là phiên bản hướng đối tượng của SQL, cho phép tạo ra các truy vấn cơ sở dữ liệu độc lập mà không cần viết các truy vấn cụ thể cho từng loại cơ sở dữ liệu Trước khi có Hibernate, việc thay đổi cơ sở dữ liệu trong một dự án yêu cầu phải điều chỉnh lại các truy vấn SQL, gây ra nhiều vấn đề trong bảo trì.
Hibernate framework cho phép tự động tạo bảng cơ sở dữ liệu, giúp loại bỏ nhu cầu tạo bảng thủ công.
Đơ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.
Hibernate hỗ trợ bộ nhớ cache truy vấn, cung cấp thống kê chi tiết về truy vấn và trạng thái của cơ sở dữ liệu.
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là
Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) hoạt động theo mô hình client-server, trong đó MySQL, viết tắt của Relational Database Management System, được tích hợp với Apache và 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ể chứa nhiều bảng quan hệ Ngoài ra, MySQL sử dụng cú pháp truy xuất và mã lệnh tương tự như ngôn ngữ SQL, mang lại nhiều ưu điểm cho người dùng.
MySQL là một hệ quản trị cơ sở dữ liệu nhanh chóng, ổn định và dễ sử dụng, tương thích với nhiều hệ điều hành, đồng thời cung cấp một bộ hàm tiện ích mạnh mẽ.
Độ 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.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ đa tính năng, hỗ trợ nhiều chức năng SQL cần thiết cả trực tiếp và 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.
MySQL được thiết kế với các tiêu chuẩn tối ưu, giúp tăng cường hiệu suất làm việc và tiết kiệm chi phí, từ đó nâng cao tốc độ thực thi của hệ thống.
MySQL được thiết kế với những giới hạn nhất định, không nhằm mục đích đáp ứng mọi nhu cầu của ứng dụng Điều này có nghĩa là một số chức năng mà người dùng mong đợi có thể không được hỗ trợ đầy đủ.
MySQL có độ tin cậy thấp hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác do cách mà các chức năng cụ thể như tài liệu tham khảo, giao dịch và kiểm toán được xử lý.
Khi số lượng bản ghi tăng lên, việc truy xuất dữ liệu trở nên khó khăn hơn Để cải thiện tốc độ truy xuất, cần áp dụng các biện pháp như phân chia cơ sở dữ liệu ra nhiều máy chủ hoặc sử dụng cache MySQL.
Phân tích hệ thống
Các chức năng của phần mềm
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ả.
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.
Use-case
STT Tên Actor Ý nghĩa/Ghi chú
1 Admin Toàn quyền quản lý hệ thống.
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 viên
Thêm, xóa, sửa thông tin nhâ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.
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 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
Alternative flow(s) Nếu thông tin đăng nhập sai thì hệ thống báo lỗi.
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
Main flow 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.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.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.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”.
Alternative flow(s) 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
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
Main flow 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.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.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.2 Hệ thống kiểm tra và xóa thông tin loại sự kiện khỏi database.
Alternative flow(s) 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
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
Main flow 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.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.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.2 Hệ thống kiểm tra và xóa thông tin tin tức khỏi database.
Alternative flow(s) 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
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
Main flow 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.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.2 Hệ thống kiểm tra và xóa thông tin nhân viên khỏi database.
Alternative flow(s) 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
3.2.2.8 Đặc tả use-case 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
Main flow 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.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.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.2 Hệ thống kiểm tra và xóa thông tin quyền khỏi database.
Alternative flow(s) 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
Sequence diagram
Chỉnh sửa thông tin sự kiện
3.3.4 Quản lý loại sự kiện
Chỉnh sửa loại sự kiện
Thiết kế dữ liệu
STT Tên bảng dữ liệu Diễn giải
1 users Lưu thông tin nhân viên
2 roles Lưu thông tin quyền
3 services Lưu thông tin các loại sự kiện
4 events Lưu thông tin sự kiện
5 news Lưu thông tin các tin tức
Kiến trúc hệ thống
Kiến trúc MVC, viết tắt của Model – View – Controller, là một mô hình thiết kế quan trọng trong kỹ thuật phần mềm Mô hình này phân chia mã nguồn thành ba phần riêng biệt, mỗi phần tương ứng với một chức năng cụ thể Sự tách biệt này giúp quản lý và phát triển ứng dụng một cách hiệu quả hơn.
+ Repository: Kết nối truy vấn database.
+ Entity: Các class mapping với table trong database.
+ Dto: Các class vận chuyển dữ liệu.
• Controller: Các class thực hiện điều hướng request.
• View: là các file JSP, html…
3.5.2 Lấy dữ liệu theo MVC
3.5.3 Cập nhật dữ liệu theo MVC
Cài đặt
- Ngôn ngữ sử dụng: Java
- Build trên Eclipse với Java SE Runtime Environment 8.
- Hệ CSDL: sử dụng MySql
- Hệ điều hành: phù hợp với mọi hệ điều hành và trình duyệt