Tổng quan, hệ thống quản lý kí túc xá cung cấp các chức năng phù hợp với mỗi vai trò để đáp ứng nhu cầu của khách vãng lai, người dùng đã đăng nhập và quản trị viên.. Với vai trò là quản
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐÀ NẴNG
Sinh viên thực hiện : Nguyễn Hoàng Việt
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐÀ NẴNG
Giảng viên hướng dẫn duyệt
Đà Nẵng, tháng 06/2023
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN
Trang 5Khách vãng lai là những người truy cập website mà chưa đăng nhập vào hệ thống Họ có thể xem thông tin cơ bản về kí túc xá như vị trí, giá phòng, chính sách, tiện nghi và các thông tin liên hệ Ngoài ra, khách vãng lai cũng có thể xem các thông báo mới nhất về kí túc xá, ví dụ như thông báo về các sự kiện, cập nhật chính sách mới, thông báo về thay đổi trong quy trình đăng ký và các thông báo quan trọng khác Khách vãng lai cũng có quyền gửi đơn đăng ký ở kí túc xá
Người dùng đã đăng nhập là sinh viên hoặc cư dân kí túc xá Khi đăng nhập vào hệ thống, họ có thể truy cập vào các tính năng mở rộng Người dùng đã đăng nhập có thể cập nhật thông tin cá nhân của mình, bao gồm thông tin liên hệ, thông tin học tập và thông tin khác Họ cũng có thể quản lý các thông tin trong phòng của mình, bao gồm danh sách đồ đạc, trạng thái thiết bị và yêu cầu bảo trì Ngoài ra, người dùng đã đăng nhập có thể gửi các yêu cầu gia hạn phòng, hủy phòng hoặc chuyển phòng thông qua hệ thống Họ cũng có thể xem các thông báo mới nhất và nhận thông báo qua email hoặc tin nhắn
Quản trị viên là vai trò cao nhất trong hệ thống quản lý kí túc xá, có quyền truy cập và quản lý tất cả các thông tin của website Quản trị viên có thể xử lý yêu cầu từ sinh viên, bao gồm xem và phê duyệt các đơn đăng ký, yêu cầu gia hạn phòng, hủy phòng và chuyển phòng Quản trị viên cũng có thể đăng thông báo lên hệ thống, bao gồm thông báo về các sự kiện, tin tức và cập nhật quan trọng khác Ngoài ra, quản trị viên còn có thể thống kê tiền điện nước, quản lý thông tin sinh viên và thực hiện các tác vụ quản lý khác như tạo, sửa đổi và xóa tài khoản người dùng
Tổng quan, hệ thống quản lý kí túc xá cung cấp các chức năng phù hợp với mỗi vai trò để đáp ứng nhu cầu của khách vãng lai, người dùng đã đăng nhập và quản trị viên Điều này giúp tăng tính tiện ích, quản lý hiệu quả và tạo sự thuận tiện cho tất cả
các bên liên quan trong việc quản lý kí túc xá
Trang 63 Nội dung chính của đồ án:
Quá trình xây dựng website quản lý kí túc xá: - Thu thập thông tin tài liệu liên quan và khảo sát thực tế - Phân tích thiết kế các chức năng của hệ thống
- Phân tích thiết kế cơ sơ dữ liệu - Thiết kế giao diện cho các chức năng - Xây dựng hệ thống website
- Kiểm thử website - Hoàn thành báo cáo tổng hợp
4 Các sản phẩm dự kiến:
- Website quản lý kí túc xá - File báo cáo hoàn chỉnh
5 Ngày giao đồ án: 06/02/2023 6 Ngày nộp đồ án: 07/06/2023
Đà Nẵng, ngày tháng năm 2023
Trưởng khoa Giảng viên hướng dẫn
Trang 7LỜI NÓI ĐẦU
Đối với các trường đại học, việc cung cấp một môi trường lưu trú thuận tiện và an toàn cho sinh viên là một nhiệm vụ quan trọng Quản lý Kí túc xá là một phần quan trọng trong việc đáp ứng nhu cầu lưu trú của sinh viên và đảm bảo môi trường học tập và sinh hoạt tốt nhất có thể Để nâng cao chất lượng quản lý Kí túc xá và tối ưu hóa quy trình hoạt động, việc áp dụng công nghệ thông tin đã trở thành xu hướng phổ biến Hệ thống quản lý Kí túc xá được xây dựng trên nền tảng công nghệ thông tin giúp tạo ra một môi trường số hóa, tiện lợi và hiệu quả cho cả sinh viên và nhân viên quản lý
Trong đề tài này, em tập trung vào nghiên cứu và phát triển một hệ thống quản lý Kí túc xá tiên tiến, giúp tối ưu hóa quy trình quản lý và cung cấp trải nghiệm tốt nhất cho cả sinh viên và quản trị viên Hệ thống này cung cấp các tính năng quan trọng như đặt phòng, thanh toán, quản lý phòng, và theo dõi tình trạng phòng
Đối với sinh viên, hệ thống cho phép họ dễ dàng tìm hiểu thông tin cơ bản về Kí túc xá, xem các thông báo quan trọng và gửi đơn đăng ký lưu trú Đặc biệt, sinh viên đã đăng nhập có thể quản lý thông tin cá nhân của mình, yêu cầu gia hạn phòng, hủy phòng và chuyển phòng
Với vai trò là quản trị viên, hệ thống cung cấp cho họ khả năng quản lý toàn bộ thông tin liên quan đến Kí túc xá, bao gồm xử lý yêu cầu của sinh viên, đăng thông báo, thống kê tiền điện nước và quản lý thông tin sinh viên
Em tin rằng việc áp dụng hệ thống quản lý Kí túc xá sẽ đem lại nhiều lợi ích cho cả sinh viên và nhân viên quản lý Qua đề tài này, em hy vọng mang lại một đóng góp tích cực và thực tiễn cho việc quản lý Kí túc xá và nâng cao trải nghiệm lưu trú của sinh viên
Trong quá trình thực hiện đề tài, do kiến thức và thời gian còn hạn chế nên không thể tránh khỏi những sai sót Vì vậy em mong quý thầy, cô thông cảm và góp ý để em có thể hoàn thiện đề tài Thêm nữa là, những lời góp ý đó có thể giúp em tránh được những sai lầm sau này
Em xin chân thành cảm ơn!
Trang 8LỜI CAM ĐOAN
Em xin cam đoan rằng đồ án "Xây dựng website Quản lý kí túc xá trường Đại học Sư phạm Kỹ Thuật Đà Nẵng" là một công trình nghiên cứu độc lập do em thực hiện dưới sự hướng dẫn tận tâm của giảng viên ThS Trần Bửu Dung Em khẳng định rằng không có bất kỳ sự sao chép hay mượn ý tưởng từ nguồn tài liệu hoặc công trình của người khác
Đề tài và nội dung báo cáo đồ án là thành quả của sự nỗ lực và khả năng nghiên cứu của em trong quá trình học tập tại trường Em cam đoan rằng tất cả các kết quả được trình bày trong báo cáo đều là trung thực và không có sự biến tấu hay sai lệch thông tin
Em chịu hoàn toàn trách nhiệm và sẵn sàng tuân thủ các quy định, kỷ luật và nguyên tắc đạo đức của trưởng bộ môn và nhà trường Em hiểu rằng sẽ chịu hậu quả và sự xử lý nghiêm khắc nếu có bất kỳ vi phạm nào xảy ra
Em xin cam đoan điều này và đặt lòng tin vào sự công bằng và công tâm của ban giám khảo và các cơ quan quản lý trường
Sinh viên thực hiện
Trang 92 Mục tiêu và nhiệm vụ nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 1
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học và thực tiễn 2
6 Giải pháp công nghệ 2
7 Cấu trúc của đồ án tốt nghiệp 2
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 Tổng quan về ngôn ngữ lập trình 4
1.1.1 VueJS 4
1.1.2 C# 5
1.1.3 Hệ quản trị cơ sở dữ liệu SQL Server 7
1.2 Framework và thư viện hỗ trợ 7
1.2.1 Giới thiệu NET Framework 7
1.2.2 Thư viện Jquery 8
1.2.3 Thư viện Bootstrap 9
1.3 Công cụ hỗ trợ xây dựng hệ thống 10
1.3.1 Visual Studio Code 10
1.3.2 Visual Studio 2022 10
1.4 Lý thuyết xây dựng website 12
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14
Trang 102.4 Sơ đồ Use case 15
2.5 Kịch bản cho Use case 16
2.5.1 Khách vãng lai 16
2.5.1.1 Gửi đơn đăng ký ở Kí túc xá 16
2.5.1.2 Xem thông báo 16
2.5.2 Thành viên 17
2.5.2.1 Cập nhập thông tin tài khoản 17
2.5.2.2 Gửi yêu cầu hủy/gia hạn/đổi phòng 18
2.5.2.3 Thanh toán hóa đơn 18
2.5.3 Ban quản lý 19
2.5.3.1 Xử lý yêu cầu đăng ký mới của sinh viên mới 19
2.5.3.2 Xử lý yêu cầu hủy/gia hạn/đổi phòng của sinh viên 20
2.5.3.3 Xếp chỗ cho sinh viên mới 21
2.5.3.4 Quản lý hóa đơn 22
2.5.3.5 Đăng thông báo 22
2.5.3.6 Quản lý thông tin sinh viên 23
2.6 Sơ đồ hoạt động 24
2.6.1 Khách vãng lai 24
2.6.1.1 Gửi đơn đăng ký ở kí túc xá 24
2.6.2 Thành viên 24
2.6.2.1 Cập nhật thông tin tài khoản 25
2.6.2.2 Gửi yêu cầu hủy/gia hạn/ chuyển phòng 25
2.6.2.3 Thanh toán hóa đơn 26
2.6.3 Ban quản lý 26
2.6.3.1 Xét duyệt yêu cầu đăng ký mới 26
2.6.3.2 Xếp chỗ cho sinh viên mới 27
2.6.3.3 Xử lý yêu cầu hủy/gia hạn/ chuyển phòng của sinh viên 27
2.6.3.4 Quản lý hóa đơn 28
Trang 11CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 35
3.1 Giao diện người dùng (Khách vãng lai và Thành viên) 35
3.1.1 Giao diện trang chủ khi chưa đăng nhập 35
3.1.2 Giao diện đăng nhập tài khoản 35
3.1.3 Giao diện trang chủ sau khi đăng nhập 36
3.1.4 Giao diện thông tin người dùng 36
3.1.5 Giao diện phòng của người dùng 37
3.1.6 Giao diện thanh toán phí 37
3.2 Giao diện trang quản trị 38
3.2.1 Giao diện trang chủ trang quản trị 38
3.2.2 Giao diện xếp phòng cho sinh viên mới 38
3.2.3 Giao diện quản lý hóa đơn 39
3.2.4 Giao diện quản lý phòng 39
3.2.5 Giao diện xử lý yêu cầu đăng ký mới 40
3.2.6 Giao diện xử lý yêu cầu hủy/gia hạn/ chuyển phòng 40
3.2.7 Giao diện quản lý sinh viên 41
3.2.7 Giao diện đăng thông báo 42
3.2.8 Giao diện xếp phòng cho sinh viên mới 42
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 43
Trang 13DANH MỤC BẢNG BIỂU
Bảng 2.5.1 Kịch bản cho use case gửi đơn đăng kí 16
Bảng 2.5.2 Kịch bản cho use case xem thông báo 17
Bảng 2.5.3 Kịch bản cho usecase cập nhật thông tin tài khoản 18
Bảng 2.5.4 Kịch bản cho use case hủy/gia hạn/ chuyển phòng 18
Bảng 2.5.5 Kịch bản cho use case thanh toán hóa đơn 19
Bảng 2.5.6 Kịch bản cho use case xử lý yêu cầu đăng ký mới 20
Bảng 2.5.7 Kịch bản cho use case xử lý yêu cầu hủy/gia hạn/ hủy phòng của sinh viên 21
Bảng 2.5.8 Kịch bản cho use case xếp chỗ cho sinh viên mới 21
Bảng 2.5.9 Kịch bản cho use case quản lý hóa đơn 22
Bảng 2.5.10 Kịch bản cho use case đăng thông báo 23
Bảng 2.5.11 Kịch bản cho use case quản lý thông tin sinh viên 24
Trang 14DANH MỤC HÌNH ẢNH
Hình 1.1.1 Hình minh họa Vuejs 4
Hình 1.1.2 Hình minh họa C# 5
Hình 1.2.1 Ảnh minh họa Jquery 8
Hình 1.2.2 Hình minh họa Bootrap 9
Hình 1.3.1Hình minh họa VS Code 10
Hình 1.3.2 Hình minh họa Visual studio 2022 11
Hình 1.4.1 Hình minh họa mô hìn web api 13
Hình 2.4.1Sơ đồ Use case 15
Hình 2.6.1 Sơ đồ hoạt động chức năng gửi đơn đăng kí 24
Hình 2.6.2 Sơ đồ hoạt động chức năng cập nhật thông tin tài khoản 25
Hình 2.6.3 Sơ đồ hoạt động chức năng gửi yêu cầu hủy/gia hạn/chuyển phòng 25
Hình 2.6.4 Sơ đồ hoạt động chức năng thanh toán hóa đơn 26
Hình 2.6.5 Sơ đồ hoạt động chức năng xét duyệt yêu cầu đăng kí mới 26
Hình 2.6.6 Sơ đồ hoạt động chức năng xếp chỗ cho sinh viên mới 27
Hình 2.6.7 Sơ đồ hoạt động chức năng xử lý yêu cầu hủy/gia hạn/chuyển phòng 27
Hình 2.6.8 Sơ đồ hoạt động chức năng quản lý hóa đơn 28
Hình 2.7.1 Sơ đồ quan hệ 29
Hình 3 1 Giao diện trang chủ khi chưa đăng nhập 35
Hình 3 2 Giao diện đăng nhập tài khoản 35
Hình 3 3 Giao diện trang chủ sau khi đăng nhập 36
Hình 3 4 Giao diện thông tin người dùng 36
Hình 3 5 Giao diện phòng của người dùng 37
Hình 3 6 Giao diện thanh toán phí 37
Hình 3 7 Giao diện trang quản trị 38
Hình 3 8 Giao diện xử lý yêu cầu sinh viên 38
Trang 15Hình 3 9 Giao diện quản lý hóa đơn 39
Hình 3 10 Giao diện quản lý phòng 39
Hình 3 11 Giao diện xử lý đơn đăng ký mới 40
Hình 3 12 Xử lý yêu cầu hủy/gia hạn/ hủy phòng 41
Hình 3 13 Giao diện quản lý sinh viên 41
Trang 16
DANH MỤC CHỮ VIẾT TẮT
STT Chữ viết tắt Mô tả Nghĩa tiếng việt
2 HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản 3 CSS Cascading Style Sheets Ngôn ngữ tạo phong cách cho
website 4
4 W3C World Wide Web Consortium
Tổ chức tiêu chuẩn quốc tế chính cho World Wide Web
5 RDBMS Relational Database
Trang 17Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 1
MỞ ĐẦU
1 Lý do chọn đề tài
Kí túc xá là một nơi lưu trú quan trọng đối với sinh viên và những người lao động xa nhà Tuy nhiên, hiện nay tình trạng quản lý kí túc xá vẫn còn nhiều khó khăn, gây ra nhiều phiền toái cho cả chủ kí túc xá và sinh viên Ví dụ như việc thiếu thông tin về việc đăng ký và lựa chọn kí túc xá, hoặc việc quản lý tài chính và các dịch vụ kí túc xá chưa được minh bạch và hiệu quả
Đề tài quản lý kí túc xá cũng có thể đưa ra giải pháp cụ thể như tạo ra một hệ thống quản lý kí túc xá thông minh và tiện lợi, giúp cho sinh viên có thể tra cứu thông tin và đăng ký một cách dễ dàng Đồng thời, hệ thống này cũng giúp cho chủ kí túc xá quản lý tài chính và dịch vụ một cách minh bạch và hiệu quả hơn Với sự phát triển của công nghệ thông tin, đề tài quản lý kí túc xá càng trở nên cần thiết và có thể đem lại nhiều lợi ích cho cả chủ kí túc xá và sinh viên
2 Mục tiêu và nhiệm vụ nghiên cứu
- Mục tiêu: tạo ra một nền tảng trực tuyến giúp quản lý kí túc xá dễ dàng và hiệu quả hơn Website sẽ cung cấp các tính năng quản lý thông tin phòng ở, thông tin sinh viên, hóa đơn thanh toán, lịch sử thanh toán, bảo trì và sửa chữa phòng, v.v cho quản lý kí túc xá Thông qua website, quản lý kí túc xá có thể quản lý dữ liệu một cách tổng thể và nhanh chóng, đồng thời cải thiện hiệu quả hoạt động quản lý phòng ở và phục vụ sinh viên Các sinh viên cũng có thể dễ dàng tìm kiếm thông tin về phòng ở, đặt phòng và thanh toán hóa đơn trực tuyến, tiết kiệm thời gian và công sức
- Nhiệm vụ: • Nghiên cứu đề tài • Phân tích và thiết kế hệ thống • Thiết kế và xây dựng website
3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: • Những ngươi quản lý kí túc xá,nhân viên kí túc xá • Sinh viên, học sinh tạm trú trong kí túc xá
- Phạm vi nghiên cứu: kí túc xá trường Đại học Sư phạm Kỹ Thuật Đà Nẵng
Trang 18Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 2
4 Phương pháp nghiên cứu
- Tham khảo các website quản lý kí túc xá như Website quản lý kí túc xá phía Đông TP Đà Nẵng
- Khảo sát thực tế tại kí túc xá Đại học Sư Phạm Kỹ Thuật Đà Nẵng (số 02 Thanh Sơn)
- Tìm kiếm tài liệu trên internet có liên quan đến nội dung nghiên cứu - Tìm hiểu về công cụ hỗ trợ lập trình và cách sử dụng
5 Ý nghĩa khoa học và thực tiễn
a) Ý nghĩa khoa học của đề tài Đề tài "quản lý kí túc xá" trong ngữ cảnh khoa học có ý nghĩa quan trọng trong lĩnh vực quản lý cơ sở hạ tầng và dịch vụ nhà ở sinh viên Nó tập trung vào nghiên cứu và áp dụng các phương pháp, quy trình và công nghệ để tối ưu hóa hoạt động của kí túc xá và cung cấp một môi trường sống tốt nhất cho sinh viên
b) Ý nghĩa thực tiễn của đề tài Qua việc xây dựng website này, em có thể áp dụng những kiến thức trong quá trình học tập và trao dồi sự hiểu biết về các kiến thức như :
- Kiến thức về ngôn ngữ VueJs, C# - Kiến thức về NET Framework - Kiến thức thiết kế website với HTML, CSS, Js, Jquery,… - Phát huy tính sáng tạo và cách làm việc độc lập cho mình
- Hệ quản trị CSDL: SQL Server
7 Cấu trúc của đồ án tốt nghiệp
Bài báo cáo ngoài các nội dung gồm phần mở đầu và phần kết thúc thì bố cục gồm có 3 chương:
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Trang 19Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 3
Nêu các cơ sở lý thuyết sẽ áp dụng trong hệ thống: ngôn ngữ HTML, CSS, JavaScript, ngôn ngữ lập trình NET và VueJs, hệ quản trị cơ sở dữ liệu SQl Server, thư viện Chart.js,
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Trình bày các sơ đồ use case, kịch bản cho các use case, sơ đồ ERD, sơ đồ hoạt động của các chức năng trong hệ thống Từ những phân tích ở trên, tiến hành thiết kế cơ sở dữ liệu cho hệ thống sẽ triển khai
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH Từ những phân tích và thiết kế về hệ thống ở trên, áp dụng xây dựng các chức năng hệ thống Trình bày giao diện của phần mềm triển khai
Trang 20Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 4
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về ngôn ngữ lập trình
1.1.1 VueJS
Vue.js là một framework JavaScript mã nguồn mở được sử dụng để xây dựng giao diện người dùng động trên các ứng dụng web Nó tập trung vào việc xây dựng phần giao diện người dùng và cung cấp một cách tiếp cận linh hoạt cho việc quản lý trạng thái và tương tác của các thành phần
Hình 1.1.1 Hình minh họa Vuejs
Dưới đây là một số đặc điểm và lợi ích của Vue.js: • Dễ học và sử dụng: Vue.js có cú pháp dễ hiểu và đơn giản, giúp cho việc học và
sử dụng nhanh chóng Người dùng có thể dễ dàng tích hợp Vue.js vào các dự án hiện có hoặc xây dựng dự án mới mà không gặp nhiều khó khăn
• Được thiết kế để tương tác tốt với các thư viện và frameworks khác: Vue.js có cấu trúc linh hoạt và có thể tương tác tốt với các thư viện và frameworks khác như React và Angular Điều này cho phép bạn tích hợp Vue.js vào các dự án đã tồn tại mà không gặp xung đột lớn
• Virtual DOM hiệu suất cao: Vue.js sử dụng Virtual DOM, một biến thể của DOM thông thường, giúp tối ưu hóa hiệu suất ứng dụng Virtual DOM cho phép Vue.js chỉ cập nhật các thành phần đã thay đổi thực sự trong DOM, giảm thiểu việc làm mới toàn bộ trang và tăng tốc độ render
Trang 21Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 5
• Two-way data binding: Vue.js cung cấp data binding hai chiều (two-way data binding), cho phép dữ liệu được đồng bộ hóa tự động giữa view (giao diện người dùng) và model (dữ liệu) Khi dữ liệu thay đổi, view sẽ được cập nhật, và ngược lại, khi người dùng tương tác với view, dữ liệu sẽ được cập nhật tương ứng
• Cộng đồng và tài liệu phong phú: Vue.js có một cộng đồng rất lớn và năng động, cung cấp nhiều tài liệu, ví dụ, ví dụ thực tế, hướng dẫn và các thư viện hữu ích Điều này giúp người dùng dễ dàng tìm được giải pháp cho các vấn đề cụ thể và nâng cao kỹ năng lập trình
• Thích hợp cho việc xây dựng ứng dụng đơn trang (SPA): Vue.js được thiết kế để xây dựng ứng dụng đơn trang hiệu quả Với khả năng routing linh hoạt, quản lý trạng thái ứng dụng và cấu trúc component, Vue.js cho phép xây dựng các ứng dụng SPA phức tạp một cách dễ dàng và rõ ràng
Vue.js được sử dụng rộng rãi trong việc phát triển các ứng dụng web đơn trang (Single-Page Applications) và các giao diện người dùng động trên các trang web Với cú pháp dễ hiểu, khả năng tái sử dụng thành phần và khả năng tích hợp dễ dàng, Vue.js trở thành một lựa chọn phổ biến cho việc xây dựng các ứng dụng web hiện đại
1.1.2 C#
C# (C-Sharp) là một ngôn ngữ lập trình chính thức trong hệ sinh thái NET của Microsoft Được phát triển bởi Microsoft vào những năm 2000, C# đã trở thành một trong những ngôn ngữ phổ biến nhất cho phát triển ứng dụng trên nền tảng NET
Hình 1.1.2 Hình minh họa C#
Dưới đây là một số điểm nổi bật về C#:
Trang 22Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 6
• Cú pháp và ngữ pháp: C# có cú pháp giống với ngôn ngữ C++ và Java, điều này làm cho việc học và chuyển đổi giữa các ngôn ngữ này dễ dàng Nó hỗ trợ nhiều tính năng như kiểu dữ liệu tường minh, hàm xử lý sự kiện (event handling), thuộc tính (attributes) và quản lý bộ nhớ tự động thông qua thu gom rác
• Hướng đối tượng: C# là một ngôn ngữ hướng đối tượng, cho phép lập trình viên tạo ra các lớp, đối tượng, kế thừa, đa hình và đóng gói Nó hỗ trợ các khái niệm cơ bản của hướng đối tượng như lớp (class), đối tượng (object), kế thừa (inheritance) và đa hình (polymorphism)
• Tính đa nền tảng: C# không chỉ hỗ trợ phát triển trên nền tảng Windows mà còn hỗ trợ đa nền tảng thông qua NET Core và Xamarin Điều này cho phép bạn phát triển ứng dụng C# trên nhiều hệ điều hành như Windows, macOS và Linux
• Mạnh mẽ và linh hoạt: C# cung cấp một loạt các tính năng mạnh mẽ như bộ thu thập rác (garbage collector) tự động, quản lý bộ nhớ, xử lý ngoại lệ (exception handling), đa luồng (multithreading), LINQ (Language Integrated Query) và nhiều thư viện và framework hỗ trợ
• Phát triển ứng dụng đa dạng: C# có thể được sử dụng để phát triển nhiều loại ứng dụng, bao gồm ứng dụng Windows, ứng dụng di động (sử dụng Xamarin), ứng dụng web (ASP.NET) và cả game (sử dụng Unity)
C# là một ngôn ngữ lập trình mạnh mẽ và linh hoạt, hỗ trợ phát triển các ứng dụng đa nền tảng và đa dạng trên hệ sinh thái NET của Microsoft Nó được sử dụng rộng rãi trong các lĩnh vực như phát triển phần mềm doanh nghiệp, ứng dụng di động và phát triển game
Trang 23Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 7
1.1.3 Hệ quản trị cơ sở dữ liệu SQL Server
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) do Microsoft phát triển Nó hoạt động dựa trên mô hình client-server và cung cấp khả năng quản lý và truy xuất dữ liệu cho các ứng dụng và hệ thống
SQL Server cung cấp nhiều tính năng và khả năng mạnh mẽ, bao gồm: • Tính sẵn sàng và độ tin cậy cao: SQL Server cung cấp các cơ chế sao lưu và
phục hồi dữ liệu, khả năng khôi phục từ các sự cố và hạn chế thời gian chết hệ thống Nó cũng hỗ trợ cơ chế clustering để đảm bảo sẵn sàng và độ tin cậy của hệ thống
• Tích hợp dữ liệu: SQL Server cho phép tích hợp dữ liệu từ nhiều nguồn khác nhau và cung cấp công cụ và tính năng ETL (Extract, Transform, Load) để xử lý dữ liệu
• Khả năng mở rộng: SQL Server hỗ trợ khả năng mở rộng và xử lý tải cao Nó có thể được triển khai trên nhiều máy chủ và hỗ trợ các công nghệ như
clustering và mirroring để tăng khả năng mở rộng và sẵn sàng SQL Server được sử dụng rộng rãi trong các ứng dụng doanh nghiệp, từ các ứng dụng web đến hệ thống quản lý cơ sở dữ liệu lớn Nó cung cấp hiệu suất cao, tính bảo mật và tính sẵn sàng, làm cho nó trở thành một trong những lựa chọn phổ biến cho việc quản lý cơ sở dữ liệu
1.2 Framework và thư viện hỗ trợ 1.2.1 Giới thiệu NET Framework
.NET là một nền tảng phát triển phần mềm đa nền tảng và một ngôn ngữ lập trình Được phát triển bởi Microsoft, NET cung cấp môi trường phát triển và thực thi ứng
dụng đa nền tảng cho các ứng dụng web, di động và máy tính để bàn
Một số đặc điểm của NET bao gồm: • Ngôn ngữ lập trình: NET hỗ trợ nhiều ngôn ngữ lập trình như C#, Visual
Basic.NET, F#, và nhiều ngôn ngữ khác thông qua Framework.NET Người lập trình có thể lựa chọn ngôn ngữ phù hợp với yêu cầu và sở thích của mình để phát triển ứng dụng trên nền tảng NET
• Quản lý bộ nhớ: NET sử dụng mô hình quản lý bộ nhớ thông qua trình quản lý bộ nhớ (Memory Manager) và thu thập rác (Garbage Collector) Điều này giúp tự động quản lý bộ nhớ và giảm thiểu việc xảy ra lỗi như rò rỉ bộ nhớ và lỗi không xác định
Trang 24Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 8
• Thư viện lớn: NET đi kèm với một bộ thư viện lớn và phong phú, gọi là NET Framework hoặc NET Core (trong phiên bản mới hơn) Thư viện này cung cấp các lớp và phương thức sẵn có để xử lý các tác vụ phổ biến như xử lý chuỗi, giao tiếp mạng, xử lý tệp, đồ họa, và nhiều hơn nữa, giúp lập trình viên tăng tốc quá trình phát triển ứng dụng
• Đa nền tảng: Với sự ra đời của NET Core, NET trở thành một nền tảng đa nền tảng, cho phép phát triển ứng dụng chạy trên các hệ điều hành khác nhau như Windows, macOS và Linux Điều này tạo điều kiện thuận lợi cho việc phát triển ứng dụng di động, web, và các ứng dụng đám mây
• Hỗ trợ công cụ phát triển: NET được hỗ trợ bởi các công cụ phát triển mạnh mẽ như Microsoft Visual Studio và Visual Studio Code Các công cụ này cung cấp môi trường phát triển tích hợp và các tính năng mạnh mẽ để xây dựng, gỡ lỗi và triển khai ứng dụng trên nền tảng NET
Với những đặc điểm trên, NET là một nền tảng mạnh mẽ và linh hoạt cho phát triển ứng dụng, không chỉ giới hạn trong lĩnh vực web mà còn cho các ứng dụng di
động và máy tính để bàn 1.2.2 Thư viện Jquery
Jquery chính là một thư viện của JavaScript giúp đơn giản hóa cách viết Javascript và tăng tốc độ xử lý các sự kiện trên trang web Jquery thêm tính năng tương tác Ajax vào trong trang web Jquery được thiết kế để thay đổi cách viết mới cho Javascript
Jquery được sử dụng trong Website là công nghệ được thiết kế bở John Resig, phát triển bởi jQuery Team và phiên bản được sử dụng là 3.2.1, được sử dụng cho Back-end
Hình 1.2.1 Ảnh minh họa Jquery
Trang 25Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 9
1.2.3 Thư viện Bootstrap
Bootstrap là một framework CSS và JavaScript phổ biến được sử dụng để phát triển giao diện người dùng đáp ứng và tương thích trên nhiều thiết bị và trình duyệt khác nhau Nó cung cấp một bộ các lớp CSS, các thành phần UI đã được thiết kế sẵn, và các tài nguyên JavaScript hữu ích để giúp xây dựng nhanh chóng và dễ dàng các trang web và ứng dụng web
Hình 1.2.2 Hình minh họa Bootrap
Bootstrap giúp giảm thời gian và công sức trong việc phát triển giao diện người dùng, bằng cách cung cấp các lớp CSS đã được định dạng sẵn để tạo ra các thành phần như nút bấm, biểu mẫu, menu, thanh điều hướng và nhiều hơn nữa Nó cũng hỗ trợ các lưới (grid system) linh hoạt để tổ chức bố cục trang web một cách dễ dàng và tương
Bootstrap cũng cung cấp các thành phần JavaScript như carousel, dropdown, modal, tooltip và nhiều thành phần khác, giúp tạo ra các hiệu ứng tương tác và chức năng phong phú trong giao diện người dùng
Một lợi ích quan trọng của Bootstrap là khả năng tùy chỉnh Nó cho phép bạn tùy chỉnh các lớp CSS và các thành phần theo ý muốn của mình, để phù hợp với thiết kế và yêu cầu cụ thể của trang web hoặc ứng dụng của bạn
Trang 26Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 10
1.3 Công cụ hỗ trợ xây dựng hệ thống 1.3.1 Visual Studio Code
Visual Studio Code được biết đến là một trình biên tập lập trình code miễn phí
dành cho Windows, Linux và macOS Nó được phát triển bởi Microsoft là sự kết hợp
hoàn hảo giữa IDE và Code Editor Trình biên tập này được hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, cùng đó là cải tiến mã nguồn Ngoài ra, Visual Studio Code còn cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác
Hình 1.3.1Hình minh họa VS Code
Những ưu điểm nổi bật của Visual Studio Code:
JavaScript, C++,…
1.3.2 Visual Studio 2022
Visual Studio 2022 là một môi trường phát triển tích hợp (IDE - Integrated Development Environment) được phát triển bởi Microsoft Nó cung cấp một loạt các
Trang 27Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 11
công cụ và tính năng giúp lập trình viên xây dựng và quản lý các ứng dụng trên nền tảng NET
Hình 1.3.2 Hình minh họa Visual studio 2022
Dưới đây là một số điểm nổi bật về Visual Studio 2022: • Môi trường phát triển đa nền tảng: Visual Studio 2022 hỗ trợ phát triển ứng
dụng trên nhiều nền tảng, bao gồm Windows, macOS và Linux Điều này cho phép lập trình viên sử dụng Visual Studio trên hệ điều hành mà họ ưa thích • Hỗ trợ ngôn ngữ đa dạng: Visual Studio 2022 hỗ trợ nhiều ngôn ngữ lập trình,
bao gồm C#, VB.NET, F#, C++, JavaScript, TypeScript và nhiều ngôn ngữ khác Điều này cho phép lập trình viên làm việc trên các dự án đa ngôn ngữ và đa nền tảng
• Công cụ phát triển ứng dụng NET: Visual Studio 2022 cung cấp các công cụ và mẫu dự án giúp lập trình viên xây dựng các ứng dụng NET, bao gồm ứng dụng Windows, ứng dụng di động (sử dụng Xamarin), ứng dụng web (sử dụng ASP.NET) và cả game (sử dụng Unity)
• Giao diện người dùng thân thiện: Visual Studio 2022 có giao diện người dùng trực quan và dễ sử dụng, giúp lập trình viên tập trung vào việc phát triển ứng dụng mà không phải lo lắng về cấu hình và quản lý dự án
• Tích hợp các công cụ và dịch vụ: Visual Studio 2022 tích hợp với nhiều công cụ và dịch vụ hữu ích như quản lý phiên bản (version control), gỡ lỗi
Trang 28Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 12
(debugging), kiểm thử (testing), triển khai ứng dụng (deployment) và nhiều tính năng khác để hỗ trợ quá trình phát triển ứng dụng
Visual Studio 2022 cung cấp một môi trường phát triển mạnh mẽ và đáng tin cậy cho các lập trình viên NET, giúp họ tạo ra các ứng dụng chất lượng cao trên nhiều nền tảng khác nhau
1.4 Lý thuyết xây dựng website
Mô hình hoạt động của API (Application Programming Interface) được sử dụng để giao tiếp và trao đổi dữ liệu giữa các ứng dụng khác nhau API giúp đơn giản hóa việc tương tác và tích hợp giữa các hệ thống, cho phép chúng hoạt động cùng nhau một cách hiệu quả
Mô tả cơ bản về mô hình hoạt động của API: • Yêu cầu từ người dùng hoặc ứng dụng: Người dùng hoặc ứng dụng gửi yêu cầu
tới API thông qua giao diện người dùng (trình duyệt web, ứng dụng di động) bằng cách sử dụng các phương thức truyền thông như HTTP Yêu cầu này bao gồm các thông tin như phương thức (GET, POST, PUT, DELETE), đường dẫn (endpoint) và dữ liệu cần gửi đi (nếu có)
• Tiếp nhận yêu cầu: API nhận và xác thực yêu cầu từ người dùng hoặc ứng dụng Nó kiểm tra tính hợp lệ của yêu cầu, xác định các thao tác cần thực hiện dựa trên đường dẫn và phương thức
• Xử lý yêu cầu: Sau khi xác định yêu cầu, API thực hiện các hoạt động xử lý cần thiết Điều này có thể bao gồm truy vấn cơ sở dữ liệu, tính toán, gọi các dịch vụ bên ngoài hoặc thực hiện bất kỳ hoạt động nào khác để đáp ứng yêu cầu của người dùng
• Truy xuất dữ liệu: API có thể tương tác với các nguồn dữ liệu như cơ sở dữ liệu, file hệ thống, hệ thống ngoại vi hoặc các API khác để lấy hoặc ghi dữ liệu cần thiết cho yêu cầu
• Tạo phản hồi: Sau khi hoàn thành xử lý yêu cầu, API tạo ra một phản hồi (HTTP Response) Phản hồi này chứa thông tin được yêu cầu hoặc trạng thái của yêu cầu (thành công, lỗi, ) Nó có thể gửi kèm dữ liệu dưới dạng JSON, XML hoặc các định dạng khác
• Phản hồi cho người dùng hoặc ứng dụng: Người dùng hoặc ứng dụng nhận được phản hồi từ API và xử lý dữ liệu hoặc hiển thị thông tin tương ứng trên giao diện người dùng Phản hồi này có thể được hiển thị dưới dạng trang web, ứng dụng di động hoặc sử dụng để tiếp tục xử lý và tương tác với các ứng dụng khác
Trang 29Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 13
Mô hình hoạt động của API cho phép các ứng dụng khác nhau giao tiếp và chia sẻ dữ liệu một cách dễ dàng Nó cung cấp một giao diện chuẩn để truy cập vào các tính năng và dữ liệu của ứng dụng, cho phép tích hợp và tương tác giữa các hệ thống khác nhau Điều này giúp xây dựng các ứng dụng phức tạp, phân tán và mở rộng được dễ dàng hơn, đồng thời tạo ra sự linh hoạt và tái sử dụng cao
Hình 1.4.1 Hình minh họa mô hìn Web API
Trang 30Website Quản lý kí túc xá trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng
SVTH: Nguyễn Hoàng Việt Trang 14
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Tác nhân
- Khách vãng lai - Sinh viên đang ở KTX - Ban quản lý
2.2 Đặc tả yêu cầu nghiệp vụ 2.2.1 Khách vãng lai
Có thể gửi đơn đăng ký ở KTX cho ban quản lý cũng như xem các thông tin cơ bản, thông báo của kí túc xá
- Gửi đơn đăng ký ở KTX - Xem thông báo
2.3.2 Thành Viên
- Đăng nhập, đăng xuất hệ thống - Cập nhật thông tin tài khoản - Xem thông báo
- Xem thông tin phòng - Gửi yêu cầu hủy phòng, đổi phòng, gia hạn phòng - Thanh toán hóa đơn: thanh toán hóa đơn tiền điện, thanh toán hóa đơn nội trú
2.3.3 Ban quản lý
- Đăng nhập, đăng xuất hệ thống - Xét duyệt yêu cầu đăng ký ở của sinh viên mới - Xếp phòng cho sinh viên mới