1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC QUẢNG NAM - Full 10 điểm

69 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 4,34 MB

Nội dung

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN ---------- HIÊN CÔNG XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 4 năm 2023 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN ---------- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC QUẢNG NAM Sinh viên thực hiện HIÊN CÔNG MSSV: 2119011049 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHOÁ: 2019 – 2023 Cán bộ hướng dẫn ThS NGUYỄN THỊ MINH CHÂU Quảng Nam, tháng 04 năm 2023 LỜI CẢM ƠN Để thực hiện được đề tài: “Xây dựng Website quản lý KTX trường Đại học Quảng Nam” em đã nhận được nhiều sự giúp đỡ nhiệt tình các thầy cô giáo, bạn bè, người thân Lời đầu tiên, em xin bày tỏ lòng cảm ơn sâu sắc đến cô giáo - Th S Nguyễn Thị Minh Châu - giảng viên khoa Toán – Tin đã tận tình hướng dẫn em trong suốt quá trình nghiên cứu và giúp em hoàn thành đề tài này Em xin gửi lời cảm ơn chân thành tới các thầy cô giáo khoa Toán – Tin cùng các giảng viên trong nhà trường đã giảng dạy, tạo điều kiện để em được học tập, nghiên cứu và truyền đạt những kiến thức bổ ích cho chúng em trong quá trình học tập tại trường Em cũng xin chân thành cảm ơn sự hợp tác, giúp đỡ của Thủ trưởng đơn vị công ty TNHH Phần mềm FPT Miền Trung và các anh chị trong công ty đã giúp đỡ em trong quá trình nghiên cứu, thực nghiệm Cuối cùng em xin gửi lời cảm ơn chân thành đến gia đình, bạn bè đã luôn giúp đỡ, động viên em thực hiện đề tài này Mặc dù đã có nhiều cố gắng và nỗ lực để hoàn thành đề tài nghiên cứu nhưng với sự hạn chế về thời gian, kinh nghiệm và năng lực của bản thân nên bài khóa luận không tránh khỏi những thiếu sót Kính mong nhận được những ý kiến, nhận xét góp ý của quý thầy cô để bài nghiên cứu được hoàn thiện hơn Em xin chân thành cảm ơn! DANH MỤC VIẾT TẮT STT Chữ viết tắt Ý nghĩa 1 AI Auto Increment 2 API Application Programming Interface 3 CGC Common Gateway Interface 4 CSDL Cơ sở dữ liệu 5 CSS Cascading Style Sheets 6 FK Foreign key 7 HTML HyperText Markup Language 8 JDBC Java Database Connectivity 9 JSP Java Server Page 10 JavaSE Java Standard Edition 11 JVM Java Virtual Machine 12 KTX Ký túc xá 13 MVC Model – View - Controller 14 PK Primary Key 15 RDBMS Relational Database Management System DANH MỤC HÌNH ẢNH Hình 1 1 Mô hình Client - Server 5 Hình 1 2 Mô hình MVC 10 Hình 2 1 Chu kỳ sống của JSP 9 Hình 2 2 Sơ đồ UseCase tổng quát 20 Hình 2 3 Sơ đồ lớp 26 Hình 2 4 Sơ đồ tuần tự Đăng nhập 26 Hình 2 5 Sơ đồ tuần tự Tra cứu điện nước 27 Hình 2 6 Sơ đồ tuần tự Tra cứu tiền phong 27 Hình 2 7 Sơ đồ tuần tự Đăng ký phòng 28 Hình 2 8 Sơ đồ tuần tự Thêm bài viết 28 Hình 2 9 Sơ đồ cộng tác Đăng nhập 29 Hình 2 10 Sơ đồ cộng tác Tra cứu điện nước 29 Hình 2 11 Sơ đồ cộng tác Tra cứu tiền phòng 30 Hình 2 12 Sơ đồ cộng tác Đăng ký phòng 30 Hình 2 13 Sơ đồ cộng tác Thêm bài viết 31 Hình 2 14 Sơ đồ trạng thái lớp TaiKhoan 31 Hình 2 15 Sơ đồ trạng thái Phòng 32 Hình 2 16 Sơ đồ trạng thái Phiếu Đăng ký phòng 32 Hình 2 17 Sơ đồ trạng thái Phiếu đăng ký Dịch vụ 32 Hình 2 18 Sơ đồ hoạt động Quản lý phòng 33 Hình 2 19 Sơ đồ hoạt động Quản lý bài viết 33 Hình 2 20 Sơ đồ hoạt động Đăng ký phòng 34 Hình 2 21 Sơ đồ hoạt động Tra cứu tiền phòng 34 Hình 3 1 Cấu trúc bảng doituongut 44 Hình 3 2 Cấu trúc bảng taikhoan 44 Hình 3 3 Cấu trúc bảng quoctich 44 Hình 3 4 Cấu trúc bảng sinhvien 45 Hình 3 5 Cấu trúc bảng nhanvien 45 Hình 3 6 Cấu trúc bảng loaibaiviet 45 Hình 3 7 Cấu trúc bảng baiviet 46 Hình 3 8 Cấu trúc bảng khu 46 Hình 3 9 Cấu trúc bảng loaiphong 46 Hình 3 10 Cấu trúc bảng phong 47 Hình 3 11 Cấu trúc bảng dichvu 47 Hình 3 12 Cấu trúc bảng hocky 47 Hình 3 13 Cấu trúc bảng phieudiennuoc 48 Hình 3 14 Cấu trúc bảng dangkyphong 48 Hình 3 15 Cấu trúc bảng dangkychuyenphong 49 Hình 3 16 Cấu trúc bảng dangkydv 49 Hình 3 17 Mối quan hệ giữa các bảng trong MySql 49 Hình 3 18 Hàm kết nối giao tiếp giữa Java và CSDL 50 Hình 3 19 Giao diện Website chính 50 Hình 3 20 Giao diện tin tức – sự kiện 51 Hình 3 21 Giao diện hiển thị danh sách phòng 51 Hình 3 22 Giao diện đăng ký thành viên 52 Hình 3 23 Giao diện đăng nhập website 52 Hình 3 24 Thông báo đăng ký phòng ở đã được ghi nhận 53 Hình 3 25 Giao diện hiển thị kết quả tra cứu tiền phòng 53 Hình 3 26 Giao diện đăng nhập Admin 54 Hình 3 27 Giao diện chính của Admin 54 Hình 3 28 Giao diện quản lý sinh viên 55 Hình 3 29 Giao diện quản lý khu 55 Hình 3 30 Giao diện thông báo cập nhật khu thành công 56 Hình 3 31 Giao diện thống kê sinh viên 56 DANH SÁCH CÁC BẢNG BIỂU Bảng 1 1 Mô hình R1 Đăng nhập 14 Bảng 1 2 Mô hình R2 Đăng ký tài khoản 14 Bảng 1 3 Mô hình R3 Đăng ký phòng ở 15 Bảng 1 4 Mô hình R4 Duyệt đơn đăng ký phòng 16 Bảng 1 5 Mô hình R5 Tra cứu điện nước 16 Bảng 1 6 Mô hình R6 Xem danh sách sinh viên theo phòng 17 Bảng 2 1 Actors có trong hệ thống 19 Bảng 2 2 Đặc tả UC Đăng nhập 20 Bảng 2 3 Đặc tả UC Đăng ký tài khoản 21 Bảng 2 4 Đặc tả UC Tra cứu tiền phòng 22 Bảng 2 5 Đặc tả UC Tra cứu tiền điện nước 22 Bảng 2 6 Đặc tả UC Đăng ký phòng 23 Bảng 2 7 Đặc tả UC Duyệt đăng ký phòng 24 Bảng 2 8 Đặc tả UC Yêu cầu chuyển phòng 25 Bảng 2 9 Các đối tượng và các thuộc tính của đối tượng 35 Bảng 2 10 Mô tả dữ liệu cho bảng taikhoan 36 Bảng 2 11 Mô tả dữ liệu cho bảng doituongut 36 Bảng 2 12 Mô tả dữ liệu cho bảng quoctich 36 Bảng 2 13 Mô tả dữ liệu cho bảng sinhvien 36 Bảng 2 14 Mô tả dữ liệu cho bảng nhanvien 37 Bảng 2 15 Mô tả dữ liệu cho bảng loaiphong 38 Bảng 2 16 Mô tả dữ liệu cho bảng khu 38 Bảng 2 17 Mô tả dữ liệu cho bảng phong 38 Bảng 2 18 Mô tả dữ liệu cho bảng loaibaiviet 39 Bảng 2 19 Mô tả dữ liệu cho bảng baiviet 39 Bảng 2 20 Mô tả dữ liệu cho bảng hocky 39 Bảng 2 21 Mô tả dữ liệu cho bảng dichvu 40 Bảng 2 22 Mô tả dữ liệu cho bảng dangkyphong 40 Bảng 2 23 Mô tả dữ liệu cho bảng dangkydv 41 Bảng 2 24 Mô tả Mô tả dữ liệu cho bảng dangkychuyenphong 42 Bảng 2 25 Mô tả dữ liệu cho bảng phieudiennuoc 42 MỤC LỤC Phần 1 MỞ ĐẦU 1 1 Lý do chọn đề tài 1 2 Mục tiêu của đề tài 1 3 Đối tượng và phạm vi nghiên cứu 1 3 1 Đối tượng nghiên cứu 1 3 2 Phạm vi nghiên cứu 2 4 Phương pháp nghiên cứu 2 5 Đóng góp của đề tài 2 6 Cấu trúc đề tài 2 Phần 2 NỘI DUNG 3 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3 1 1 Tổng quan về ngôn ngữ Java 3 1 1 1 Nguồn gốc và lịch sử ra đời của Java 3 1 1 2 Đặc điểm của Java 3 1 1 3 Các kiểu ứng dụng trong Java 4 1 2 Tổng quan về MySQL, Xampp và Tomcat 4 1 2 1 MySQL 4 1 2 2 Xampp 5 1 2 3 Apache Tomcat 5 1 3 Các công cụ, thư viện và công nghệ hỗ trợ 6 1 3 1 HTML 6 1 3 2 CSS 7 1 3 3 JavaScript 7 1 3 4 Bootstrap 8 1 3 5 JSP 8 1 3 6 Servlet 9 1 4 Mô hình MVC 10 1 5 Khảo sát hệ thống 11 1 5 1 Mô tả bài toán 11 1 5 2 Yêu cầu chức năng 12 1 5 3 Mô hình Ri 14 1 5 4 Đặc tính từng người dùng 17 1 5 5 Yêu cầu phi chức năng 18 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 19 2 1 Phân tích chức năng và dữ liệu 19 2 1 1 Phân tích chức năng 19 2 1 2 Phân tích dữ liệu 35 2 2 Thiết kế dữ liệu 36 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG 44 3 1 Cài đặt cơ sở dữ liệu 44 3 2 Kết nối ứng dụng Java với CSDL trong MySQL 50 3 3 Các giao diện chính 50 3 3 1 Giao diện bên người dùng 50 3 3 2 Giao diện bên quản trị viên 54 Phần 3 KẾT LUẬN VÀ KIẾN NGHỊ 57 Phần 4 TÀI LIỆU THAM KHẢO 58 1 Phần 1 MỞ ĐẦU 1 Lý do chọn đề tài Hàng năm, Trường Đại học Quảng Nam phải tiếp nhận hồ sơ của các bạn sinh viên có nguyện vọng đăng ký nhập học tại trường là rất lớn Song, nhu cầu đăng ký ở khu ký túc xá trường Đại học Quảng Nam của các bạn sinh viên cũng nhảy vọt tăng theo Hiện nay, phía Ban Quản lý KTX trường Đại học Quảng Nam phải trực tiếp tiếp nhận, quản lý một khối lượng lớn và thường xuyên nhiều loại sinh viên, cùng với hàng loạt vấn đề phát sinh theo nhu cầu của sinh viên Do đó, công việc quản lý KTX của trường Đại học Quảng Nam ngày càng phức tạp hơn Hơn nữa, công tác quản lý không chỉ đơn thuần là quản lý về lưu lượng sinh viên đến ở tại khu KTX, sử dụng các loại hình dịch vụ trong KTX, mà công việc quản lý còn phải đáp ứng nhu cầu về việc báo cáo các loại hình doanh thu, tình hình hoạt động của Ban Quản lý Từ đó có thể đưa ra định hướng và lập kế hoạch phát triển cho công việc quản lý Nhưng với việc lưu trữ và xử lý bằng thủ công như hiện nay thì sẽ tốn rất nhiều thời gian và nhân lực mà không đem lại hiệu quả cao Do đó cần phải tin học hóa hình thức quản lý, cụ thể là xây dựng một Website để tạo một môi trường hiện đại giúp sinh viên tiếp cận thông tin, sử dụng các loại dịch vụ của KTX một cách thuận tiện, nhanh chóng và hiệu quả Đồng thời, đáp ứng nhu cầu quản lý toàn diện, thống nhất và đạt hiệu quả cao nhất trong việc quản lý KTX của Nhà trường Từ những cơ sở thực tiễn trên, em quyết định chọn đề tài: “Xây dựng Website quản lý KTX trường Đại học Quảng Nam” làm đề tài khóa luận tốt nghiệp của mình 2 Mục tiêu của đề tài - Tìm hiểu về ngôn ngữ Java, JSP/Servlet - Tìm hiểu về MySQL, Tomcat trong Java - Phân tích và thiết kế hệ thống theo hướng đối tượng - Xây dựng Website quản lý KTX trường Đại học Quảng Nam theo mô hình MVC 3 Đối tượng và phạm vi nghiên cứu 3 1 Đối tượng nghiên cứu - Thực trạng và kinh nghiệm thực tế trong công tác quản lý KTX trường Đại học Quảng Nam - Mối quan hệ giữa hệ thống quản lý với hoạt động học tập, đăng ký ở ký túc xá của các bạn sinh viên trường Đại học Quảng Nam 2 3 2 Phạm vi nghiên cứu - Đề tài được tập trung xây dựng hệ thống Website cho công tác quản lý KTX của trường Đại học Quảng Nam 4 Phương pháp nghiên cứu - Phương pháp lý luận : + Tìm hiểu kỹ thuật lập trình, tìm hiểu cách thức hoạt động và các đối tượng trong mô hình MVC thông qua sách, tài liệu Internet - Phương pháp thực tiễn : + Viết ứng dụng xây dựng website quản lý KTX trường Đại học Quảng Nam - Ngoài ra còn sử dụng các phương pháp khác như : logic, phân tích, tổng hợp, thống kê,… 5 Đóng góp của đề tài Đề xuất một mô hình hệ thống Website phục vụ công tác quản lý trong môi trường giáo dục, góp phần làm phong phú hình thức quản lý trong giáo dục, phát huy hiệu quả việc ứng dụng công nghệ thông tin vào hoạt động quản lý, giáo dục 6 Cấu trúc đề tài Ngoài phần mở đầu, phần kết luận và danh mục tài liệu tham khảo, khóa luận gồm có 3 chương: Chương 1: Cơ sở lý thuyết Chương 2: Phân tích và thiết kế hệ thống Chương 3: Triển khai hệ thống 3 Phần 2 NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1 1 Tổng quan về ngôn ngữ Java 1 1 1 Nguồn gốc và lịch sử ra đời của Java Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6 năm 1995 Từ đó, nó đã trở thành một công cụ lập trình của các lập trình viên chuyên nghiệp Java được xây dựng trên nền tảng của C và C++ Do vậy, nó sử dụng các cú pháp của C và các đặc trưng hướng đối tượng của C++ Ban đầu Java được thiết kế để làm ngôn ngữ viết chương trình cho các sản phẩm điện tử dân dụng như đầu video, tivi, điện thoại, máy nhắn tin Tuy nhiên với sự phát triển mạnh mẽ của Java, rất nhiều ứng dụng, trang web đều được viết bằng Java bởi nó nhanh, bảo mật và đáng tin cậy Java đầu tiên có tên là Oak - là cây sồi mọc ở phía sau văn phòng của nhà thiết kế, chính ông Jame Gosling, sau này ông thấy rằng đã có ngôn ngữ lập trình tên Oak, do vậy nhóm thiết kế quyết định đổi tên thành Java, Java là tên của một quán cafe trên một hòn đảo ở Indonesia mà nhóm thiết kế Java hay đến công tác - Phiên bản đầu tiên của Java là JDK Beta được phát hành vào năm 1995 1 1 2 Đặc điểm của Java Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung của các ngôn ngữ hướng đối tượng + Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính, các hành động liên quan đến một thực thể đặc thù, xét trong mối tương quan với ứng dụng đang phát triển + Tính đa hình (Polymorphism): cho phép một phương thức có các tác động khác nhau trên nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau Bản chất của sự việc chính là phương thức này bao gồm cùng một số lượng các tham số + Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại + Tính đóng gói (Encapsulation): Là tiến trình che giấu việc thực thi những chi tiết của một đối tượng đối với người sử dụng đối tượng ấy 4 - Bên cạnh đó Java còn có một số đặc tính khác: + Độc lập nền (Write Once, Run Anywhere): Không giống như nhiều ngôn ngữ lập trình khác như C và C ++, khi Java được biên dịch, nó không được biên dịch sang mã máy cụ thể, mà thay vào đó là mã byte code chạy trên máy ảo Java (JVM) Điều này đồng nghĩa với việc bất cứ thiết bị nào có cài đặt JVM sẽ có thể thực thi được các chương trình Java + Đơn giản: Java trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa và phép toán con trỏ từ C/C++ + Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóa một chiều (one way hashing) hoặc mã hóa công cộng (public key) + Đa luồng: Với tính năng đa luồng Java viết chương trình có thể thực thi nhiều task cùng một lúc Tính năng này thường được sử dụng rất nhiều trong lập trình game Hiệu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng bộ nhớ đối với các đối tượng không được dùng đến + Linh hoạt: Java được xem là linh hoạt hơn C/C ++ vì nó được thiết kế để thích ứng với nhiều môi trường phát triển 1 1 3 Các kiểu ứng dụng trong Java - Với sự mạnh mẽ của Java, rất nhiều kiểu ứng dụng, trang web được xây dựng như: Ứng dụng Applets, ứng dụng dòng lệnh (console), ứng dụng đồ họa , JSP/Servlet, ứng dụng mạng socket, ứng dụng cho các thiết bị di động,… 1 2 Tổng quan về MySQL, Xampp và Tomcat 1 2 1 MySQL MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở Relational Database Management System – RDBMS hiện nay được sử dụng phổ biến trên phạm vi toàn cầu Hệ quản trị cơ sở dữ liệu này hoạt động dựa trên mô hình tiêu chuẩn là Client – Server - Cách thức hoạt động của MySQL MySQL tuân theo hoạt động của Kiến trúc Client – Server Mô hình này được thiết kế cho người dùng cuối được gọi là khách hàng truy cập tài nguyên từ máy tính trung tâm được gọi là máy chủ sử dụng dịch vụ mạng Tại đây, các máy khách đưa ra yêu cầu thông qua giao diện người dùng đồ họa (GUI) và máy chủ sẽ cung cấp đầu ra mong muốn ngay khi các hướng dẫn được khớp 5 Hình 1 1 Mô hình Client - Server 1 2 2 Xampp Là sự tích hợp của 5 phần mềm chính là Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P), nên tên gọi XAMPP cũng là viết tắt từ chữ cái đầu của 5 phần mềm này Trong đó, chữ X đầu tiên là viết tắt của hệ điều hành mà nó hoạt động như: Linux, Windows hoặc Mac OS X Nó là chương trình tạo web server - Ưu điểm + Có thể chạy được linh hoạt được trên mọi hệ điều hành: Cross-platform, Windows, MacOS, Linux + Có cấu hình đơn giản nhưng mang đến nhiều chức năng hữu ích như: Lập Server giả định, lập Mail Server giả định và hỗ trợ SSL trên localhost + Tích hợp được nhiều tính năng với các thành phần quan trọng như: Apache, PHP, MySql Vì thế, người dùng không cần cài đặt từng phần trên riêng lẻ mà chỉ cần cài XAMPP là có 1 web server hoàn chỉnh + Tạo mã nguồn mở: Giao diện quản lý dễ dàng và tiện lợi giúp người dùng luôn chủ động được trong chế độ khởi động lại hay bật/ tắt đối với máy chủ theo thời gian phù hợp nhất - Nhược điểm + Do cấu hình khá đơn giản cho nên Xampp hoàn toàn không nhận được sự hỗ trợ về cấu hình Module + Không có phiên bản cụ thể cho từng thành phần của server như PHP, Apache mà phải cài đặt riêng 1 2 3 Apache Tomcat 6 Apache Tomcat là một loại web server HTTP được phát triển bởi Apache Software Foundation, nó có khả năng hỗ trợ mạnh cho các ứng dụng Java thay vì các website tĩnh khác Do vậy, nó có khả năng chạy trên nhiều bản Java chuyên biệt như: Java Servlet, JavaServer Pages (JSP), Java EL và WebSocket - Ưu điểm + Tomcat có độ ổn định cao + Đa dạng tính năng của nhiều ứng dụng web thương mại + Đây là phần mềm mã nguồn mở và được sử dụng hoàn toàn miễn phí + Được tích hợp nhiều tính năng bổ sung như: tomcat valves, tomcat manager application hay specialized realm implementation + Hỗ trợ đa dạng các nền tảng như Windows, Linux, Mac OS,… và chúng đặc biệt mạnh mẽ hơn với WordPress có cộng đồng lớn, sẵn sàng hỗ trợ giải quyết mọi vấn đề + Các phiên bản của Apache Tomcat trùng với phiên bản và đặc điểm kỹ thuật của Servlet Java hoặc Java servlet API - Nhược điểm + Hiệu năng sẽ bị ảnh hưởng nếu website có lượng truy cập cực lớn + Có thể gây ra các điểm yếu bảo mật do có quá nhiều lựa chọn thiết lập 1 3 Các công cụ, thư viện và công nghệ hỗ trợ 1 3 1 HTML HTML là viết tắt của cụm từ Hypertext Markup Language (ngôn ngữ đánh dấu siêu văn bản) HTML được sử dụng để tạo cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, titles, blockquotes… và HTML không phải là ngôn ngữ lập trình - Cấu trúc cơ bản của file HTML: Tiêu đề trang web 7 Phần thân viết ở đây - Trong đó: : Phần khai báo chuẩn của html hay xhtml : Phần khai báo ban đầu, khai báo về meta, title, css, javascript… : Phần chứa nội dung của trang web, nơi hiển thị nội dung 1 3 2 CSS CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML) Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web - Cấu trúc cơ bản của CSS: Selector{ properties: value; } - Trong đó: -Selector: Là các đối tượng mà chúng ta muốn tác động vào VD: div, p hay các class, id trong HTML -Properties: Là các thuộc tính trong css như: background,color, -Value: Là các giá trị của thuộc tính 1 3 3 JavaScript JavaScript là một loại ngôn ngữ lập trình được sử dụng chủ yếu trong HTML với mục đích phát triển các ứng dụng internet được chạy trên server và client Javascript có cấu trúc cơ bản sau: Tất cả những đoạn mã Javascript đều phải đặt trong cặp thẻ mở và thẻ đóng - Ví dụ: 8 alert("Hello World!"); 1 3 4 Bootstrap Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễ dàng thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bị cầm tay như mobile, ipad, tablet, Bootstrap có những ưu điểm sau: + Rất dễ để sử dụng: Nó đơn giản vì nó được base trong HTML, CSS và Javascript chỉ cần có kiến thức cơ bản về 3 cái đó là có thể sử dụng bootstrap tốt + Responsive: Bootstrap xây dựng sẵn responsive css trên các thiết bị Iphones, tablets, và desktops Tính năng này khiến cho người dùng tiết kiệm được rất nhiều thời gian trong việc tạo ra một website thân thiện với các thiết bị điện tử, thiết bị cầm tay + Tương thích với mọi trình duyệt (IE browser >= IE9) 1 3 5 JSP JSP là viết tắt của Java Server Page hay Java Scripting Preprocessor – tạm dịch là “Bộ tiền xử lý văn lệnh Java” Đây là một công nghệ Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dạng khác giúp cho trang web sinh động hơn - Một trang JSP gồm có các thành phần như: + Thẻ Root: Thẻ này sẽ chứa các thuộc tính, thông tin của trang JSP + Comment: Cũng như trang HTML , trong JSP, bạn cũng có thể comment với kí hiệu này: + Declaration: khai báo biến hoặc phương thức của java ngay trong trang JSP Nhưng nếu như khai báo quá nhiều trong trang thì sẽ bị nhầm lẫn giữa code JSP và code java Cú pháp là + Expression: được sử dụng để chèn một giá trị vào trong trang một cách trực tiếp Thẻ biểu thức JSP: được sử dụng để đánh giá một biểu thức và định hướng các output đến một trình duyệt web phù hợp Cú pháp khai báo là: 9 + Scriptlet Tag: Cho phép bạn viết mã java trong trang JSP Cú pháp như sau : - Chu kỳ sống của JSP: Hình 2 1 Chu kỳ sống của JSP - Ưu điểm của JSP + Hỗ trợ cho việc thiết kế giao diện web dễ dàng hơn + Có vai trò lớn trong việc cho phép thiết kế web tạo nên những trang web động + Có thể tái sử dụng - Hạn chế của JSP + Tiêu tốn dung lượng lưu trữ phía server gấp đôi + Lần đầu tiên truy cập vào trang JSP sẽ mất nhiều thời gian chờ 1 3 6 Servlet Tùy theo ngữ cảnh sử dụng mà Servlet được định nghĩa bằng nhiều cách khác nhau như: - Servlet chính là công nghệ được dùng để thiết lập ra các ứng dụng web - Servlet được xem là một API cung cấp các interface, lớp và cả các tài liệu - Một thành phần web được triển khai trên máy chủ để tạo ra trang web động Có nhiều interface và các lớp trong API servlet như Servlet, GenericServlet, HttpServlet, ServletRequest, ServletResponse, … 10 Servlet sử dụng công nghệ mạnh mẽ và cho phép mở rộng Mặc dù trước khi Servlet ra đời, đã có ngôn ngữ kịch bản CGI (viết tắt của Common Gateway Interface) được dùng làm ngôn ngữ lập trình phổ biến Tuy nhiên, nó vẫn còn tồn tại nhiều bất cập Do đó, Servlet được nghiên cứu và phát triển để có thể khắc phục những hạn chế mà CGI mang lại - Ưu điểm: + Viết code Java cực kỳ đơn giản và hiệu quả + Nhận client request và lấy thông tin từ request + Xử lý nghiệp vụ và phát sinh chuyên môn (bằng cách truy cập Database) + Tạo và gửi request đến client hoặc tại request mới đến Servlet một cách rõ ràng - Hạn chế: Viết code HTML trong Servlet khó khăn và phức tạp hơn 1 4 Mô hình MVC MVC (Model – View – Controller) là một mô hình thiết kế hay kiến trúc được sử dụng phổ biến trong kỹ thuật phần mềm Nó có nhiệm vụ phân bổ các source code thành 3 phần chính Mỗi thành phần có một nhiệm vụ riêng biệt và xử lý độc lập với các thành phần khác Mô hình MVC giúp các nhà thiết kế, lập trình web xử lý các yêu cầu kỹ thuật và hoàn thiện sản phẩm dễ dàng và nhanh chóng hơn Hình 1 2 Mô hình MVC 11 Ứng với tên của mô hình, MVC được chia thành 3 thành phần riêng biệt bao gồm: Model, View, Controller - Model (M): Model chứa một cấu trúc dữ liệu có chức năng lưu trữ toàn bộ các thông tin dữ liệu của một ứng dụng Trong mô hình MVC thì Model đóng vai trò kết nối cho 2 thành phần View và Controller Đối với Model được thiết lập như một cơ sở dữ liệu hoặc đơn giản hóa như một file XML thông thường Khi thiết lập thành phần model thì lập trình viên cần đảm bảo các thao tác với cơ sở dữ liệu như các hoạt động xem, truy xuất hoặc xử lý dữ liệu trong ứng dụng - View (V): View là thành phần liên quan đến giao diện của ứng dụng khi người dùng trải nghiệm Thông qua dữ liệu của MVC , người dùng sẽ thực hiện các thao tác tìm kiếm, sử dụng thông tin website, ứng dụng Thành phần View được ứng dụng nhiều trong quá trình lập trình website và đây cũng là nơi mà các thành phần HTML được tạo ra Chức năng khác của thành phần View này chính là khả năng ghi nhận hành vi của người dùng để tương tác được với Controller Mặc dù không có mối liên hệ trực tiếp với Controller nhưng View sẽ có nhiệm vụ hiển thị yêu cầu chuyển đến cho Controller xử lý thông tin - Controller (C): Controller là bộ phận sẽ xử lý các yêu cầu khi người dùng thao tác trên ứng dụng thông qua thành phần View Lúc này, Controller sẽ thực hiện truy vấn và xuất dữ liệu phù hợp với yêu cầu của người dùng Và để làm được điều đó Controller cần phải nối được với Model để lấy dữ liệu 1 5 Khảo sát hệ thống 1 5 1 Mô tả bài toán Hiện nay, Ban Quản lý KTX trường Đại học Quảng Nam phải trực tiếp tiếp nhận và quản lý nhiều khía cạnh như: quản lý khu KTX, quản lý phòng ở, xử lý tiếp nhận hồ sơ sinh viên với khối lượng lớn và cùng với hàng loạt vấn đề phát sinh theo nhu cầu của sinh viên Song việc áp dụng tin học hóa vào khâu quản lý chưa có tính triệt để Do đó, công tác quản lý (đối với Ban quản lý) và khai thác các loại dịch vụ KTX (đối với sinh viên) còn gặp nhiều khó khăn, trở ngại như: + Các dịch vụ dành cho sinh viên như: Đăng ký phòng ở, chuyển phòng, đăng ký dịch vụ khác… còn theo lối truyền thống + Tốn thời gian và công sức + Việc khai thác, thu hút sinh viên chưa đạt hiệu quả cao 12 Với những vấn đề nêu trên, yêu cầu cần phải có một hệ thống quản lý KTX nhằm đáp ứng yêu cầu cần thiết một cách nhanh chóng, hiệu quả hơn Đồng thời, phát huy hiệu quả của việc áp dụng công nghệ thông tin vào hoạt động giáo dục Hệ thống quản lý KTX là một Website sẽ cho phép người quản lý theo dõi, phê duyệt tiếp nhận đơn đăng ký phòng ở của sinh viên, tra cứu tình trạng sử dụng các loại hình dịch vụ của sinh viên như: Đăng ký phòng ở, chuyển phòng, đăng ký chỗ đỗ xe, thanh toán tiền phòng, tiền điện nước Đồng thời, Website này sẽ là nơi giúp cho người quản lý đăng tải cập nhật các bài viết, tin tức hay thông báo về các hoạt động, sự kiện diễn ra hằng ngày trong KTX dành cho sinh viên tiện theo dõi một cách nhanh chóng Cuối cùng người quản lý có thể lập thống kê, báo cáo dữ liệu được lưu trữ trong hệ thống một cách chính xác, minh bạch Ngoài ra, hệ thống quản lý KTX là một Website sẽ cho phép sinh viên đăng ký phòng, yêu cầu chuyển phòng, tra cứu tiền phòng, tiền điện nước và các loại dịch vụ khác, giúp tiết kiệm thời gian và công sức cho sinh viên Để sử dụng được các dịch vụ trên, mỗi sinh viên cần phải có tài khoản thành viên của hệ thống (có thể tạo tài khoản mới nếu chưa có) Đồng thời, Website được xây dựng như là một bảng tin, các tin tức sự kiện được Ban quản lý cung cấp sẽ được hiển thị, giúp cho sinh viên kịp thời nắm bắt thông tin Hệ thống website tạo một môi trường hiện đại, tiện ích, linh hoạt và góp phần đẩy mạnh việc áp dụng tin học hóa trong môi trường quản lý giáo dục 1 5 2 Yêu cầu chức năng Đây là một Website hướng tới 4 đối tượng tiếp cận chính, lần lượt là: Khách vãng lai, thành viên, nhân viên quản lý và quản trị viên Website cần có các chức năng sau: - Khách vãng lai: + Xem danh sách phòng: Khi người dùng truy cập website tại mục đăng ký phòng ở, hệ thống sẽ tự động hiển thị một số phòng hiện có Thông tin phòng bao gồm: ID Phòng, Tên Phòng, Giá Thuê, Sức Chứa, SL Hiện tại, Tình trạng, Mô tả Người dùng có thể lọc theo loại phòng, theo khu,… khi đó tất cả các phòng đáp ứng điều kiện lọc sẽ hiển thị lên giao diện + Xem chi tiết phòng: Sau khi tìm thấy phòng mà người dùng cần, người dùng có thể chọn vào phòng đó để xem các thông tin chi tiết 13 + Tìm kiếm phòng: Khi khách hàng cần tìm một phòng thì có thể nhập tên phòng cần tìm vào ô tìm kiếm để thực hiện tìm kiếm Nếu phòng đáp ứng với từ khóa tìm kiếm thì sẽ hiển thị lên giao diện + Đăng ký tài khoản: Khi người dùng muốn khai thác sử dụng các dịch vụ hiện có trong hệ thống, người dùng cần tạo tài khoản thành viên + Xem bản tin: Các tin tức sự kiện của KTX, trường Đại học Quảng Nam sẽ được hiển thị lên giao diện - Khách hàng thành viên (Sinh viên): Ngoài các chức năng của khách hàng vãng lai, khách hàng thành viên còn có thêm một số chức năng sau: + Đăng ký phòng ở: Sau khi đã chọn lựa được phòng ở, khách hàng thành viên (Sinh viên) có thể thực hiện chức năng đăng ký phòng Thông tin đăng ký phòng (Mã đăng ký, Mã phòng, Đơn giá thuê, Mã sinh viên, Ngày hẹn checkin, Ngày checkin, Ngày checkout, Tình trạng) sẽ được ghi nhận + Yêu cầu chuyển phòng: Sinh viên có thể thực hiện chức năng yêu cầu chuyển phòng và phải có sự kiểm duyệt từ Ban quản lý KTX - Nhân viên quản lý: Có tất cả các chức năng của khách hàng thành viên và có thêm chức năng: + Quản lý sinh viên, khu, phòng ở KTX và một số dịch vụ khác: Nhân viên quản lý cần phải đăng nhập trước khi thực hiện chức năng quản lý trên Nhân viên chọn mục mình cần thực hiện quản lý, ví dụ quản lý sinh viên Trong quản lý sinh viên có thêm, sửa, xóa sinh viên Chọn thao tác cần thực hiện, điền đầy đủ thông tin trong quá trình thực hiện rồi xác nhận thao tác + Duyệt yêu cầu đăng ký phòng ở: Nhân viên quản lý cần phải đăng nhập trước khi thực hiện chức năng trên Sau khi tiếp nhận hồ sơ đăng ký phòng ở, nhân viên quản lý xem xét và duyệt yêu cầu + Duyệt yêu cầu chuyển phòng ở: Nhân viên quản lý cần phải đăng nhập trước khi thực hiện chức năng trên Sau khi tiếp nhận yêu cầu chuyển phòng từ sinh viên, nhân viên quản lý xem xét và duyệt yêu cầu + Thống kê, báo cáo: Để đánh giá chất lượng quản lý khu KTX, nhân viên quản lý thực hiện chức năng thống kê báo cáo Mỗi nhân viên đều phải đăng nhập bằng tài khoản trước khi thực hiện chức năng trên Tài khoản đăng nhập của nhân viên được quản lý bởi người quản trị 14 - Admin: Người có toàn quyền trong hệ thống, nhân viên được làm việc dưới sự quản lý của Admin 1 5 3 Mô hình Ri - Đăng nhập: Bảng 1 1 Mô hình R1 Đăng nhập Quy tắc # Chức năng Loại R1 1 Khởi động hệ thống trang web Ẩn R1 2 Chọn chức năng đăng nhập Hiện R1 3 Trang đăng nhập được hiển thị Hiện R1 4 Nhập Username, password và nhấn đăng nhập Hiện R1 5 Kiểm tra tài khoản có hợp lệ trong CSDL hay không Ẩn R1 5 1 Thông báo đăng nhập thất bại nếu không có, người dùng quay lại R1 4 hiện R1 5 2 Hệ thống tự chuyển hướng vào trang chủ nếu đăng nhập thành công Hiện - Đăng ký tài khoản: Bảng 1 2 Mô hình R2 Đăng ký tài khoản Quy tắc # Chức năng Loại R2 1 Khởi động hệ thống trang web Ẩn R2 2 Chọn chức năng đăng nhập Hiện R2 3 Trang đăng nhập được hiển thị Hiện R2 4 Click vào link “Đăng ký tại đây!” Hiện R2 5 Form đăng ký được hiển thị Hiện 15 R2 6 Nhập các thông tin theo yêu cầu vào form đăng ký và nhấn nút đăng ký Hiện R2 7 Kiểm tra Username vừa nhập có tồn tại trong CSDL hay không Ẩn R2 7 1 Thông báo đến người dùng username đã tồn tại, quay lại R2 6 Hiện R2 7 2 Hệ thống tự chuyển email tự động và yêu cầu kích hoạt tài khoản đã đăng ký Ẩn - Đăng ký phòng ở Bảng 1 3 Mô hình R3 Đăng ký phòng ở Quy tắc # Chức năng Loại R3 1 Khởi động hệ thống trang web Ẩn R3 2 Vào mục Đăng ký -> phòng ở Hiện R3 3 Danh sách phòng hiện có được hiển thị Hiện R3 4 Chọn phòng cần đăng ký -> đăng ký phòng Hiện R3 5 Hệ thống kiểm tra người dùng đã đăng nhập hay chưa Ẩn R3 5 1 Thông báo cho người dùng là chưa đăng nhập =>quay lại bước R3 4 Hiện R3 5 2 Hệ thống kiểm tra các ràng buộc khác như: Tình trạng phòng, giới tính, quốc tịch có vi phạm quy tắc ràng buộc hay không Ẩn R3 5 2 1 Thông báo đến người dùng nếu thông tin vi phạm quy tắc -> người dùng quay lại bước R3 4 Hiện R3 5 2 2 Hệ thống chuyển đến trang xác nhận thông tin đăng ký phòng nếu thông tin trên thỏa điều kiện Hiện 16 R3 6 Người dùng kiểm tra, rà soát thông tin cần đăng ký phòng -> Nhấn Đồng ý Hiện R3 7 Hệ thống thông báo đăng ký phòng thành công và chờ kết quả duyệt phòng Hiện - Duyệt đơn đăng ký phòng: Bảng 1 4 Mô hình R4 Duyệt đơn đăng ký phòng Quy tắc # Chức năng Loại R4 1 Khởi động hệ thống trang quản trị Ẩn R4 2 Vào mục quản lý đơn đăng ký => phòng ở Hiện R4 3 Trang hiển thị danh sách các đơn đăng ký phòng đang chờ được duyệt Hiện R4 4 Ban quản lý chọn phê duyệt tại từng mục để thực hiện phê duyệt Hiện R4 5 Hệ thống thực hiện xử lý phê duyệt Ẩn R4 6 Hệ thống tự động gửi email thông báo kết quả xét duyệt đến sinh viên Ẩn - Tra cứu thông tin điện nước Bảng 1 5 Mô hình R5 Tra cứu điện nước Quy tắc # Chức năng Loại R5 1 Khởi động hệ thống trang web Ẩn R5 2 Vào mục Tra cứu =>Tra cứu điện nước Hiện R5 3 Trang tra cứu điện điện nước được hiển thị Hiện R5 4 Người dùng nhập tên phòng, chọn tên khu Hiện R5 5 Người dùng nhấn nút Tra Cứu Hiện 17 R5 5 1 Hệ thống thực hiện xử lý yêu cầu tra cứu Ẩn R5 5 2 Kết quả tra cứu sẽ được hiển thị lên giao diện Hiện - Xem danh sách sinh viên theo phòng Bảng 1 6 Mô hình R6 Xem danh sách sinh viên theo phòng Quy tắc # Chức năng Loại R6 1 Khởi động hệ thống trang quản trị Ẩn R6 2 Vào mục quản lý sinh viên => Danh sách sinh viên theo phòng Hiện R6 3 Hệ thống hiển thị danh sách các phòng ở có sinh viên đăng ký Hiện R6 4 Ban quản lý chọn mục xem thành viên của từng phòng để xem danh sách sinh viên đang ở phòng đó Hiện R6 5 Hệ thống thực hiện lấy danh sách sinh viên theo phòng đã được chọn Ẩn R6 6 Danh sách sinh viên theo phòng được hiển thị Hiện 1 5 4 Đặc tính từng người dùng - Khách vãng lai: Người dùng chưa có tài khoản đăng nhập Khi truy cập vào trang hệ thống, khách vãng lai hầu hết chỉ có được phép ở chế độ xem, không thể tương tác sử dụng các dịch vụ trong hệ thống Tuy nhiên, khách vãng lai có thể tạo một tài khoản để trở thành thành viên của hệ thống - Sinh viên: Người dùng đã có tài khoản đăng nhập Khi truy cập vào trang web, người dùng có thể xem, tương tác và sử dụng các dịch vụ có trong hệ thống - Ban quản lý: Là người dùng có tài khoản đăng nhập với vai trò là nhân viên nằm trong Ban quản lý Sau khi đăng nhập, hệ thống sẽ chuyển đến trang website dành cho người quản trị - Người quản trị hệ thống: Là một người có toàn quyền trong hệ thống 18 1 5 5 Yêu cầu phi chức năng - Website phải được kết nối Internet - Có sự hỗ trợ của WhiteStarUML, Rational Rose - Giao diện Tiếng việt + Icon, hình ảnh - Dữ liệu được lưu trữ bằng MySQL, phần mềm XAMPP - Giao diện dễ nhìn, hòa hợp với người sử dụng có tính thống nhất trong quy trình sử dụng - Hệ thống phải dễ sử dụng, khả năng truy nhập dữ liệu nhanh chóng và chính xác, các thao tác cần đơn giản - Đảm bảo an toàn dữ liệu 19 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2 1 Phân tích chức năng và dữ liệu 2 1 1 Phân tích chức năng 2 1 1 1 Actor Bảng 2 1 Actors có trong hệ thống Actor Chức năng Khách vãng lai + Xem danh sách phòng + Xem chi tiết phòng + Tìm kiếm/Tra cứu thông tin + Đăng ký tài khoản + Xem bản tin + Liên hệ Sinh viên Ngoài các chức năng của khách vãng lai, sinh viên còn có thêm một số chức năng sau: + Đăng ký phòng ở + Chuyển phòng + Thanh toán dịch vụ + Theo dõi dịch vụ đang sử dụng Nhân viên quản lý Có tất cả các chức năng của Thành viên và có thêm chức năng: + Quản lý sinh viên, khu, phòng ở KTX và một số dịch vụ khác + Duyệt yêu cầu đăng ký phòng ở + Duyệt yêu cầu chuyển phòng ở + Tính tiền điện nước + Thống kê, báo cáo Admin + Người có toàn quyền trong hệ thống + Quản lý nhân viên quản lý 20 2 1 1 2 UseCase Diagram - Sơ đồ UseCase tổng quát Hình 2 2 Sơ đồ UseCase tổng quát - Đặc tả UC Đăng nhập: Bảng 2 2 Đặc tả UC Đăng nhập Mã UseCase 1 Tên UseCase Đăng nhập Tác nhân Sinh viên Mô tả Cho phép người dùng đăng nhập tài khoản Luồng sự kiện Tác nhân Hệ thống phản hồi 1 1 Chọn chức năng đăng nhập 1 2 Hiển thị giao diện đăng nhập 1 3 Nhập Username, Password 1 4 Nhấn nút Đăng nhập 1 5 Xác nhận thông tin đăng nhập, nếu hợp lệ thì chuyển đến 21 trang chủ đã đăng nhập thành công Luồng ngoại lệ Nếu thông tin đăng nhập không hợp lệ thì thông báo thông tin tài khoản không hợp lệ Điều kiện - Sinh viên đã vào trang chủ - Sinh viên chưa đăng nhập - Đặc tả UC Đăng ký tài khoản: Bảng 2 3 Đặc tả UC Đăng ký tài khoản Mã UseCase 2 Tên UseCase Đăng ký tài khoản Tác nhân Khách vãng lai Mô tả Cho phép người dùng đăng ký tài khoản Luồng sự kiện Tác nhân Hệ thống phản hồi 2 1 Chọn chức năng đăng ký 2 2 Hiển thị giao diện đăng ký 2 3 Nhập thông tin đăng ký 2 4 Nhấn nút Đăng ký 2 5 Xác nhận thông tin đăng ký, nếu hợp lệ thì lưu thông tin tài khoản vào CSDL, chuyển đến trang chủ đã đăng nhập thành công Luồng ngoại lệ Nếu thông tin không hợp lệ thì thông báo thông tin tài khoản không hợp lệ Điều kiện - Người dùng chưa có tài khoản đăng nhập - Đặc tả UC Tra cứu tiền phòng: 22 Bảng 2 4 Đặc tả UC Tra cứu tiền phòng Mã UseCase 4 Tên UseCase Tra cứu tiền phòng Tác nhân Sinh viên, Khách vãng lai Mô tả Cho phép người dùng tra cứu tiền phòng Luồng sự kiện Tác nhân Hệ thống phản hồi 4 1 Chọn chức năng Tra cứu => Tra cứu tiền phòng 4 2 Hiển thị giao diện 4 3 Nhập MSSV 4 4 Nhấn nút Tra cứu 4 5 Thực hiện truy xuất kết quả từ CSDL và hiển thị kết quả lên màn hình Luồng ngoại lệ Nếu thông tin truy xuất không thành công, hiển thị thông báo truy xuất không thành công Điều kiện - Đặc tả UC Tra cứu tiền điện nước: Bảng 2 5 Đặc tả UC Tra cứu tiền điện nước Mã UseCase 5 Tên UseCase Tra cứu tiền điện nước Tác nhân Sinh viên, Khách vãng lai Mô tả Cho phép người dùng tra cứu tiền điện nước Luồng sự kiện Tác nhân Hệ thống phản hồi 5 1 Chọn chức năng Tra cứu => Tra cứu tiền điện nước 5 2 Hiển thị giao diện 23 5 3 Nhập tên phòng, tên khu, mốc thời gian 5 4 Nhấn nút Tra cứu 5 5 Thực hiện truy xuất kết quả từ CSDL và hiển thị kết quả lên màn hình Luồng ngoại lệ Nếu thông tin truy xuất không thành công, hiển thị thông báo truy xuất không thành công Điều kiện - Đặc tả UC Đăng ký phòng: Bảng 2 6 Đặc tả UC Đăng ký phòng Mã UseCase 8 Tên UseCase Đăng ký phòng Tác nhân Sinh viên Mô tả Cho phép sinh viên đăng ký phòng Luồng sự kiện Tác nhân Hệ thống phản hồi 8 1 Chọn chức năng Đăng ký => Đăng ký phòng 8 2 Hiển thị Danh sách thông tin phòng hiện có 8 3 Chọn phòng cần đăng ký 8 4 Kiểm tra thông tin sinh viên có đủ điều kiện để đăng ký phòng mà sinh viên đã chọn hay không Nếu đủ điều kiện thì hiển thị trang xác nhận đăng ký 8 5 Nhấn nút Đồng ý để xác nhận Ghi nhận thông tin và lưu thông tin đăng ký phòng 24 Luồng ngoại lệ Nếu không đủ điều kiện để đăng ký phòng mà sinh viên đã chọn hay không Hiển thông báo lên giao diện Điều kiện Sinh viên đã đăng nhập thành công - Đặc tả UC Duyệt đăng ký phòng: Bảng 2 7 Đặc tả UC Duyệt đăng ký phòng Mã UseCase 12 Tên UseCase Duyệt đăng ký phòng Tác nhân Ban quản lý Mô tả Cho phép Ban quản lý phê duyệt đơn đăng ký phòng của sinh viên Luồng sự kiện Tác nhân Hệ thống phản hồi 12 1 Chọn chức năng Quản lý Danh sách thuê phòng 12 2 Hiển thị danh sách thông tin phiếu đăng ký phòng của sinh viên 12 3 Chọn nút phê duyệt tại mục danh sách đăng ký phòng cần phê duyệt 12 4 Thực hiện phê duyệt và hiển thị trạng thái đã duyệt tại mục đăng ký đã được phê duyệt 12 5 Tự động gửi Email thông báo đơn đăng ký đã được phê duyệt tới sinh viên Luồng ngoại lệ Điều kiện Sinh viên tạo đơn đăng ký thành công và đơn chưa được duyệt - Đặc tả UC Yêu cầu chuyển phòng: 25 Bảng 2 8 Đặc tả UC Yêu cầu chuyển phòng Mã UseCase 10 Tên UseCase Yêu cầu chuyển phòng Tác nhân Sinh viên Mô tả Cho phép sinh viên thực hiện chức năng chuyển phòng Luồng sự kiện Tác nhân Hệ thống phản hồi 10 1 Tại mục Đăng ký, chọn chuyển phòng 10 2 Thực hiện kiểm tra sinh viên đã đăng ký phòng trước đó hay chưa Nếu có, hệ thống sẽ đề xuất danh sách các phòng với mức giá tương tự hoặc cao hơn so với mức giá phòng ban đầu để sinh viên chuyển đến 10 3 Sinh viên chọn phòng cần chuyển đến 10 4 Hệ thống ghi nhận thông tin và chờ sự phê duyệt từ Ban quản lý Luồng ngoại lệ Thực hiện kiểm tra sinh viên đã đăng ký phòng trước đó hay chưa Nếu chưa đăng ký, hiển thị thông báo chức năng chuyển phòng không thể thực hiện Điều kiện Sinh viên đã đăng nhập thành công 26 2 1 1 3 Class Diagram - Sơ đồ lớp: Hình 2 3 Sơ đồ lớp 2 1 1 4 Sequence Diagram - Sơ đồ tuần tự - Đăng nhập Hình 2 4 Sơ đồ tuần tự Đăng nhậpSinhVien -Madinhdanh: String -Hoten: String -Ngaysinh: Date -Gioitinh: Boolean -Quequan: String -Email: String -SoDT: String +capnhatSV() +getGioitinh() TaiKhoan -Username: String -Password: String -Phanquyen: int -Tinhtang: Boolean +Dangnhap(username, password, phanquyen) Phong -Maphong: int -Tenphong: String -SLhientai: int -SucChua: int -Gen: Boolean +layTT(Tenphong, Makhu) +layDS(): List LoaiPhong -Maloai: int -Tenloai: String -Dongia: Double +getDongia() +capnhatDongia() Khu -Makhu: int -Tenkhu: String -Tinhtrang: Boolean -Vitri: String +capnhatKhu() QuocTich -Maquoctich -Tenquoctich +capnhatTT() PhieuDangKyPhong -Ngayhencheckin: Date -Ngaycheckin: Datetime -Ngaycheckout: Datetime -Namhoc: String +layTT(MaSV) +DangkyPhong() DichVu -MaDV: int -TenDV: String -GiaDV: Double -Tinhtrang: Boolean +capnhatDV() PhieuDangKyDV -Ghichu: String -ExpireDate: Date +dangkyDV() NhanVien -MaNV: String -TenNV: String -Gioitinh: Boolean -Email: String -SoDT: String +capnhatNhanVien() BaiViet -Mabaiviet: int -Tenbaiviet: String -Motangan: String -Noidung: String -CreatedDate: Datetime -ModifiedDate: Datetime +CapnhatBV() LoaiBaiViet -Maloai: int -Tenloai: String +capnhatLoaiBV() 1 1 1 0 * 1 1 1 0 * 1 1 * 1 0 * 1 0 * PhieuDangKy -Madangky: String -Ngaydangky: Datetime() -Confirm: Boolean -Sotien: Double -Tratruoc: Double -Trasau: Double -ThanhtoanDate: Datetime +Dangky() 0 * 1 1 0 * 0 * 1 1 *0 * ChuyenPhong -Machuyenphong -Ngaydkychuyen: Datetime -Solan: int -Confirm: Boolean +dangkyChuyenphong() 1 1 * DoiTuongUT -MadoituongUT: int -TendoituongUT: String +capnhat(): void +getMadoituong(): int +getTendoituong(): String +setMadoituong(id: int): void +setTendoituongUT(ut: String): void 0 1 0 * Hocky -Mahocky: int -Hocky: String -StartDate: Date -EndDate: Date +caonhatHocky() 1 1 * DienNuoc -ID: int -ChiSoDau: int -ChiSoCuoi: int -FromDate: Date -ToDate: Date -TienDien: Double -TienNuoc: Double -Tongthanhtoan: Double -HanThanhtoan: Date -NgayThanhtoan: Date +Tracuu(Maphong) 1 0 1: BanQuanLy: BanQuanLy : I_DangNhap: I_DangNhap : C_DangNhap: C_DangNhap : Ent_TaiKhoan : Ent_TaiKhoan 1: index 2: hien thi trang dang nhap 3: nhap username, password 4: Yeu cau dang nhap 5: kiem tra cac rang buoc 6: Y/c kiem tra taikhoan 7: Truy van CSDL 8: Tra ve ket qua truy van 9: kiem tra taikhoan 10: Gui ketqua kiem tra 11: Thong bao ket qua 27 - Tra Cứu Điện nước Hình 2 5 Sơ đồ tuần tự Tra cứu điện nước - Tra cứu tiền phòng Hình 2 6 Sơ đồ tuần tự Tra cứu tiền phong: ThanhVien: ThanhVien : I_TraCuu: I_TraCuu : I_TraCuuDienNuoc : I_TraCuuDienNuoc : C_TraCuuDienNuoc: C_TraCuuDienNuoc : C_Phong: C_Phong : Phong: Phong : DienNuoc : DienNuoc 1: chon tra cuu 2: chon tra cuu dien nuoc 3: Hien thi tra cuu dien nuoc 4: nhap tenphong 6: y/c tra cuu 7: kiem tra tinh hop le 5: chon khu 8: layTT(Tenphong,Makhu) 9: layTT(Tenphong, Makhu) 10: tra ve thong tin phong 11: tra ve thong tin phong 12: Tracuu(Maphog) 13: thuc hien Tracuu(Maphong) trong CSDL 14: Tra ve ket qua tra cuu 15: tra ve ket qua tra cuu 16: hienthi : Sinhvien : Sinhvien : I_TraCuu: I_TraCuu : I_TraCuuTienPhong : I_TraCuuTienPhong : C_TraCuuTienPhong: C_TraCuuTienPhong : DKPhong : DKPhong 1: chon tra cuu 2: chon tra cuu tien phong 3: hien thi 4: nhap Madinhdanh cua SV 5: nhan nut tra cuu 6: y/c tracuu (Madinhdanh) 7: thuc hien tracuu (Madinhdanh) trong CSDL 8: xu ly 9: tra ve ket qua tra cuu 10: tra ve ket qua tra cuu 11: hien th ket qua 28 - Đăng ký phòng Hình 2 7 Sơ đồ tuần tự Đăng ký phòng - Thêm bài viết Hình 2 8 Sơ đồ tuần tự Thêm bài viết : SinhVien : SinhVien : I_TrangChu: I_TrangChu : I_Phong : I_Phong : I_DK Phong : I_DK Phong : C_Phong: C_Phong : C_DK Phong: C_DK Phong : Phong: Phong : DK_Phong : DK_Phong 7: Chon phong can dang ky 8: layTT(MaSV) 9: thuc hien layTT(MaSV) trong CSDL 10: Co thong tin tra ve 11: Tra ve ket qua 12: kiemtra 13: hien thi 14: yeu cau kiem tra, xac nhan thong tin 1: yeu cau chuc nang 2: hienthi 3: yeu cau layDS() 4: thuc hien layDS() trong CSDL 5: tra ve danh sach phong 6: hien thi DS 15: nhan DongY 16: y/c dangkyPhong() 17: thuc hien dangkyPhong() trong CSDL 18: tra ve ket qua dang ky 19: tra ve ket qua dang ky 20: hien thi thong bao: BaiViet: BaiViet: BanQuanLy: BanQuanLy : I_QLyBaiViet: I_QLyBaiViet : I_TaoBaiViet: I_TaoBaiViet : C_LoaiBaiViet: C_LoaiBaiViet : C_ThemBaiViet: C_ThemBaiViet : LoaiBaiViet : LoaiBaiViet 1: chon tao bai viet moi 2: hien thi 3: layDS() 4: thuc hien cau truy van 5: tra ve DS loai baiviet 6: hien thi 7: yeu cau nhap du lieu them baiviet 8: nhap du lieu them baiviet 9: kiem tra rang buoc 10: yeu cau them va dang baiviet 11: gui yeu cau them 12: thuc hien them vao CSDL 13: tra ve ket qua them moi thanh cong 14: tra ve ket qua them va dang thanh cong 15: thong bao ket qua 29 2 1 1 5 Collaboration Diagram - Sơ đồ cộng tác - Đăng nhập Hình 2 9 Sơ đồ cộng tác Đăng nhập - Tra cứu điện nước Hình 2 10 Sơ đồ cộng tác Tra cứu điện nước : BanQuanLy : Ent_TaiKhoan : I_DangNhap : C_DangNhap 5: kiem tra cac rang buoc 9: kiem tra taikhoan 1: index 3: nhap username, password 4: Yeu cau dang nhap 2: hien thi trang dang nhap 11: Thong bao ket qua 6: Y/c kiem tra taikhoan 10: Gui ketqua kiem tra 7: Truy van CSDL 8: Tra ve ket qua truy van : ThanhVien : I_TraCuu : I_TraCuuDienNuoc : C_TraCuuDienNuoc 7: kiem tra tinh hop le 16: hienthi : C_Phong : Phong : DienNuoc 1: chon tra cuu 2: chon tra cuu dien nuoc 4: nhap tenphong 6: y/c tra cuu 5: chon khu 3: Hien thi tra cuu dien nuoc 12: Tracuu(Maphog) 15: tra ve ket qua tra cuu 8: layTT(Tenphong,Makhu) 11: tra ve thong tin phong 13: thuc hien Tracuu(Maphong) trong 14: Tra ve ket qua tra cuu 9: layTT(Tenphong, Makhu) 10: tra ve thong tin phong 30 - Tra cứu tiền phòng Hình 2 11 Sơ đồ cộng tác Tra cứu tiền phòng Đăng ký phòng Hình 2 12 Sơ đồ cộng tác Đăng ký phòng : SinhVien : I_DK Phong : C_DK Phong : C_Phong : Phong : DK_Phong : I_Phong 12: kiemtra : I_TrangChu 6: hien thi DS 20: hien thi thong bao 15: nhan DongY 14: yeu cau kiem tra, xac nhan thong tin 7: Chon phong can dang ky 1: yeu cau chuc nang 16: y/c dangkyPhong() 19: tra ve ket qua dang ky 9: thuc hien layTT(MaSV) trong CSDL 17: thuc hien dangkyPhong() trong CSDL 0: SV chua co trong DS dang ky phong 10: Co thong tin tra ve 18: tra ve ket qua dang ky 4: thuc hien layDS() trong CSDL 5: tra ve danh sach phong 13: hien thi 8: layTT(MaSV) 11: Tra ve ket qua 3: yeu cau layDS() 2: hienthi 31 - Thêm và đăng bài viết Hình 2 13 Sơ đồ cộng tác Thêm bài viết 2 1 1 6 State Diagram - Sơ đồ trạng thái - Tài khoản Hình 2 14 Sơ đồ trạng thái lớp TaiKhoan - Phòng ở: : BanQuanLy : I_QLyBaiViet : I_TaoBaiViet : C_LoaiBaiViet : LoaiBaiViet : BaiViet : C_ThemBaiViet 1: chon tao bai viet moi 2: hien thi 3: layDS() 4: thuc hien cau truy van 5: tra ve DS loai baiviet 6: hien thi 7: yeu cau nhap du lieu them baiviet 8: nhap du lieu them baiviet 9: kiem tra rang buoc 10: yeu cau them va dang baiviet 11: gui yeu cau them 12: thuc hien them vao CSDL 13: tra ve ket qua them moi thanh cong 14: tra ve ket qua them va dang thanh cong 15: thong bao ket qua 32 Hình 2 15 Sơ đồ trạng thái Phòng - Phiếu Đăng ký phòng: Hình 2 16 Sơ đồ trạng thái Phiếu Đăng ký phòng - Phiếu Đăng ký Dịch vụ: Hình 2 17 Sơ đồ trạng thái Phiếu đăng ký Dịch vụ 2 1 1 7 Activity Diagram - Sơ đồ hoạt động - Quản lý phòng Phong trong (Empty) Cap nhat SL HienTai SinhVien Dang Ky phong Phong Day (Full) SL Hientai == SucChua Chua co SV dang ky 33 Hình 2 18 Sơ đồ hoạt động Quản lý phòng - Quản lý bài viết Hình 2 19 Sơ đồ hoạt động Quản lý bài viết Lua Chon CHuc nang Them moi Sua TT XoaPhong TimKiem Phong Nhap TT Phong Xac nhan Quan ly phong Hien thi trang quan ly phong tiep nhan xu ly Hien thi lai DS vua moi cap nhat Luu cap nhat trong CSDL CSDLHe thongAdmin Lua Chon CHuc nang Them moi Sua TT XoaBV TimKiem BaiViet Nhap TT BaiViet Xac nhan Chon chuc nang quan Bai viet Thong Bao Thanh Cong Hien thi lai DS vua moi cap nhat Hien thi trang quan ly Bai viet Tiep nhan yeu cau Cap nhat lai trong CSDL CSDLHeThongAdmin 34 - Đăng ký phòng Hình 2 20 Sơ đồ hoạt động Đăng ký phòng - Tra cứu tiền phòng Hình 2 21 Sơ đồ hoạt động Tra cứu tiền phòng Chon chuc nang Dangkyphong Xac nhan Chon phong can dang ky Dang ky Hien thi danh sach Phong Yeu cau chon phong can dang ky Thong bao khong the dang ky phong Kiem tra dieu kien khong hop le Hien thi trang xac nhan dang ky phong hop le Tiep nhan yeu cau Hien thi thong bao thanh cong Luu vao CSDL yeu cau xac nhan CSDLHethongSinhv ien Chon chuc nang Tra cuu Tienphong Nhap ten SV can tra cuu Hien thi trang tra cuu Tiep nhan yeu cau Hien thi ket qua tracuu Truy xuat Du lieu trong CSDL CSDLHe thongSinhVien 35 2 1 2 Phân tích dữ liệu - Các đối tượng và các thuộc tính của đối tượng: Bảng 2 9 Các đối tượng và các thuộc tính của đối tượng Đối tượng Thuộc tính TaiKhoan Username, Password, Level, Status DoiTuongUT MaDoiTuong, TenDoiTuong SinhVien MaDinhDanh, HoTen, NgaySinh, GioiTinh, Email, SoDT, DiaChi, MaQuocTich, Username, MaDoiTuong QuocTich MaQuocTich, TenQuocTich Khu MaKhu , TenKhu, ViTri, Tinhtrang, MaQuocTich LoaiPhong MaLP, TenLoaiPhong, MoTa, DonGia Phong MaPhong, TenPhong, SucChua, Phai, SLHienTai, TinhTrang, MaLP, MaKhu HocKy MaHocky, TenHocky, StartDate, EndDate PhieuDKPhong MaDKPhong, MaPhong, MaSV, NgayDangKy, NgayHenCheckin, NgayCheckin, NgayCheckout, TongThanhToan, TienThanhToan,MaHocky, NamHoc, Confirm PhieuChuyenPhong MaChuyenPhong, MaDKyPhong, PhongMoi, NgayDKChuyen, SoLan, Confirm PhieuDienNuoc ID, ChiSoDien, ChiSoNuoc, MaPhong, FromDate, ToDate, SoTienDien, SoTienNuoc, TongTien, NgayLap, NguoiLap, ExprDate, payDate DichVu MaDV, TenDV, TinhTrang, GiaDichVu, MoTa PhieuDKDV MaDK, MaSV, MaDV, NgayDK, Note, ThanhTien, ExprDate, NgayThanhToan, Confirm LoaiBaiViet MaLoai, TenLoai BaiViet MaBV, TenBV, MoTaNgan, NoiDung,MaLoai, CreatedBy, ModifiedBy, CreatedDate, ModifiedDate 36 NhanVien MaNV, HoTen, NgaySinh, GioiTinh, DiaChi, Email, SoDT, Username 2 2 Thiết kế dữ liệu - Dữ liệu của đề tài này được thể hiện trong 16 bảng dưới đây: Bảng 2 10 Mô tả dữ liệu cho bảng taikhoan Tên bảng: taikhoan – Tài khoản Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc username varchar 50 Tên đăng nhập PK password varchar 50 Mật khẩu Not null level int Phân cấp Not null status boolean Tình trạng Not null Bảng 2 11 Mô tả dữ liệu cho bảng doituongut Tên bảng: doituongut – Đối tượng ưu tiên Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc madoituong int Mã đối tượng PK (AI) tendoituong varchar 300 Tên đối tượng Not null Bảng 2 12 Mô tả dữ liệu cho bảng quoctich Tên bảng: quoctich – Quốc tịch Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc maquoctich int Mã quốc tịch PK (AI) tenquoctich varchar 50 Tên quốc tịch Not null hinhanh text Hình ảnh Not null Bảng 2 13 Mô tả dữ liệu cho bảng sinhvien Tên bảng: sinhvien – Sinh viên Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc madinhdanh varchar 50 Mã định danh PK hoten varchar 100 Họ tên Not null 37 ngaysinh date Ngày sinh Not null gioitinh boolean Giới tính Not null email varchar 30 Email Not null sodt varchar 15 Số điện thoại Not null diachi varchar 200 Địa chỉ Not null maquoctich int Mã quốc tịch FK (Tham chiếu đến bảng quoctich) thumbnail text Hình ảnh username varchar 50 Tên đăng nhập FK (Tham chiếu đến bảng taikhoan) madoituong int Mã đối tượng FK (Tham chiếu đến bảng doituongut) Bảng 2 14 Mô tả dữ liệu cho bảng nhanvien Tên bảng: nhanvien – Nhân viên Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc manv varchar 50 Mã nhân viên PK hoten varchar 100 Họ tên Not null gioitinh boolean Giới tính Not null email varchar 30 Email sodt varchar 15 Số điện thoại hinhanh text Hình ảnh username varchar 50 Tên đăng nhập FK (Tham chiếu đến bảng taikhoan) 38 Bảng 2 15 Mô tả dữ liệu cho bảng loaiphong Tên bảng: loaiphong – Loại phòng Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc malp int Mã loại phòng PK (AI) tenloaiphong varchar 100 Tên loại phòng Not null dongia double Đơn giá Not null mota text Mô tả Not null thumbnail text Hình ảnh Not null Bảng 2 16 Mô tả dữ liệu cho bảng khu Tên bảng: khu – Khu Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc makhu int Mã khu PK (AI) tenkhu varchar 100 Tên khu Not null maquoctich int Mã quốc tịch FK (Tham chiếu đến bảng quoctich) vitri varchar 200 Vị trí Not null Bảng 2 17 Mô tả dữ liệu cho bảng phong Tên bảng: phong – Phòng Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc idphong int Mã phòng PK (AI) tenphong varchar 50 Tên phòng Not null succhua int Sức chứa Not null Sl_hientai int Số lượng hiện tại Not null phai boolean Phái Not null status boolean Tình trạng Not null malp int Mã loại phòng FK (Tham chiếu đến bảng loaiphong) 39 makhu int Mã khu FK (Tham chiếu đến bảng khu) Bảng 2 18 Mô tả dữ liệu cho bảng loaibaiviet Tên bảng: loaibv – Loại bài viết Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc maloai Int Mã loại bài viết PK (AI) tenloai Varchar 50 Tên loại bài viết Not null Bảng 2 19 Mô tả dữ liệu cho bảng baiviet Tên bảng: baiviet – Bài viết Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc mabv int Mã bài viết PK (AI) tenbv varchar 200 Tên bài viết Not null thumbnail text Hình ảnh Not null motangan varchar 200 Mô tả ngắn Not null noidung text Nội dung Not null maloai int FK (Tham chiếu đến bảng loaibv) createdby varchar(50) Người tạo FK (Tham chiếu đến bảng nhanvien) createddate datetime Thời gian tạo Not null modifiedby darchar(50) Người cập nhật FK (Tham chiếu đến bảng nhanvien) modifieddate datetime Thời gian cập nhật Bảng 2 20 Mô tả dữ liệu cho bảng hocky Tên bảng: hocky – Học kỳ Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc mahocky int Mã học kỳ PK (AI) 40 tenhocky varchar 50 Tên học kỳ Not null ngaybatdau date Ngày bắt đầu Not null ngayketthuc date Ngày kết thúc Not null Bảng 2 21 Mô tả dữ liệu cho bảng dichvu Tên bảng: dichvu – Dịch vụ Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc madichvu int Mã dịch vụ PK (AI) tendichvu varchar 100 Tên dịch vụ Not null giadichvu double Giá dịch vụ Not null hinhanh text Hình ảnh Not null tinhtrang Boolean Tình trạng Not null Bảng 2 22 Mô tả dữ liệu cho bảng dangkyphong Tên bảng: dangkyphong – Đăng ký phòng Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc madangky varchar 50 Mã đăng ký PK masv varchar 50 Mã sinh viên FK (Tham chiếu đến bảng sinhvien) maphong int Mã phòng FK (Tham chiếu đến bảng phong) ngaydangky datetime Ngày đăng ký Not null ngayhencheckin date Ngày hẹn đăng ký Not null ngaycheckin date Ngày checkin Not null ngaycheckout date Ngày checkout Not null tongthanhtoan double Tổng tiền phải thanh toán Not null tienthanhtoan double Tiền đã thanh toán Not null 41 ngaythanhtoan date Ngày đã thanh toán Not null mahocky int Mã học kỳ FK (Tham chiếu đến bảng hocky) namhoc varchar 50 Năm học Not null confirm boolean Phê duyệt Not null Bảng 2 23 Mô tả dữ liệu cho bảng dangkydv Tên bảng: dangkydv – Đăng ký dịch vụ Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc madangky varchar 50 Mã đăng ký PK masv varchar 50 Mã sinh viên FK (Tham chiếu đến bảng sinhvien) madv int Mã dịch vụ FK (Tham chiếu đến bảng dichvu) ngaydangky datetime Ngày đăng ký Not null note varchar 200 Ghi chú ngayhethan date Ngày hết hạn Not null ngaythanhtoan datetime Thời gian thanh toán xacnhantt boolean Xác nhận đã thanh toán Not null confirm boolean Phê duyệt Not null 42 Bảng 2 24 Mô tả Mô tả dữ liệu cho bảng dangkychuyenphong Tên bảng: dangkychuyenphong – Đăng ký chuyển phong Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc machuyenphong varchar 50 Mã đăng ký PK madangky varchar 50 Mã đăng ký phòng FK (Tham chiếu đến bảng dangkyphong) phongmoi int Mã phòng mới FK (Tham chiếu đ

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN - - HIÊN CÔNG XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng năm 2023 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: TOÁN – TIN - - KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC QUẢNG NAM Sinh viên thực HIÊN CÔNG MSSV: 2119011049 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHOÁ: 2019 – 2023 Cán hướng dẫn ThS NGUYỄN THỊ MINH CHÂU Quảng Nam, tháng 04 năm 2023 LỜI CẢM ƠN Để thực đề tài: “Xây dựng Website quản lý KTX trường Đại học Quảng Nam” em nhận nhiều giúp đỡ nhiệt tình thầy cô giáo, bạn bè, người thân Lời đầu tiên, em xin bày tỏ lòng cảm ơn sâu sắc đến cô giáo - Th.S Nguyễn Thị Minh Châu - giảng viên khoa Toán – Tin tận tình hướng dẫn em suốt trình nghiên cứu giúp em hoàn thành đề tài Em xin gửi lời cảm ơn chân thành tới thầy giáo khoa Tốn – Tin giảng viên nhà trường giảng dạy, tạo điều kiện để em học tập, nghiên cứu truyền đạt kiến thức bổ ích cho chúng em trình học tập trường Em xin chân thành cảm ơn hợp tác, giúp đỡ Thủ trưởng đơn vị công ty TNHH Phần mềm FPT Miền Trung anh chị công ty giúp đỡ em trình nghiên cứu, thực nghiệm Cuối em xin gửi lời cảm ơn chân thành đến gia đình, bạn bè ln giúp đỡ, động viên em thực đề tài Mặc dù có nhiều cố gắng nỗ lực để hoàn thành đề tài nghiên cứu với hạn chế thời gian, kinh nghiệm lực thân nên khóa luận khơng tránh khỏi thiếu sót Kính mong nhận ý kiến, nhận xét góp ý q thầy để nghiên cứu hoàn thiện Em xin chân thành cảm ơn! DANH MỤC VIẾT TẮT STT Chữ viết tắt Ý nghĩa AI Auto Increment API Application Programming Interface CGC Common Gateway Interface CSDL Cơ sở liệu CSS Cascading Style Sheets FK Foreign key HTML HyperText Markup Language JDBC Java Database Connectivity JSP Java Server Page 10 JavaSE Java Standard Edition 11 JVM Java Virtual Machine 12 KTX Ký túc xá 13 MVC Model – View - Controller 14 PK Primary Key 15 RDBMS Relational Database Management System DANH MỤC HÌNH ẢNH Hình 1 Mơ hình Client - Server Hình Mơ hình MVC 10 Hình Chu kỳ sống JSP Hình 2 Sơ đồ UseCase tổng quát 20 Hình Sơ đồ lớp 26 Hình Sơ đồ Đăng nhập 26 Hình Sơ đồ Tra cứu điện nước 27 Hình Sơ đồ Tra cứu tiền phong 27 Hình Sơ đồ Đăng ký phòng 28 Hình Sơ đồ Thêm viết .28 Hình Sơ đồ cộng tác Đăng nhập .29 Hình 10 Sơ đồ cộng tác Tra cứu điện nước 29 Hình 11 Sơ đồ cộng tác Tra cứu tiền phòng 30 Hình 12 Sơ đồ cộng tác Đăng ký phòng 30 Hình 13 Sơ đồ cộng tác Thêm viết .31 Hình 14 Sơ đồ trạng thái lớp TaiKhoan .31 Hình 15 Sơ đồ trạng thái Phòng 32 Hình 16 Sơ đồ trạng thái Phiếu Đăng ký phòng 32 Hình 17 Sơ đồ trạng thái Phiếu đăng ký Dịch vụ 32 Hình 18 Sơ đồ hoạt động Quản lý phòng 33 Hình 19 Sơ đồ hoạt động Quản lý viết 33 Hình 20 Sơ đồ hoạt động Đăng ký phịng 34 Hình 21 Sơ đồ hoạt động Tra cứu tiền phòng 34 Hình 3.1 Cấu trúc bảng doituongut 44 Hình 3.2 Cấu trúc bảng taikhoan 44 Hình 3.3 Cấu trúc bảng quoctich 44 Hình 3.4 Cấu trúc bảng sinhvien 45 Hình 3.5 Cấu trúc bảng nhanvien 45 Hình 3.6 Cấu trúc bảng loaibaiviet 45 Hình 3.7 Cấu trúc bảng baiviet 46 Hình 3.8 Cấu trúc bảng khu .46 Hình 3.9 Cấu trúc bảng loaiphong 46 Hình 3.10 Cấu trúc bảng phong .47 Hình 3.11 Cấu trúc bảng dichvu 47 Hình 3.12 Cấu trúc bảng hocky 47 Hình 3.13 Cấu trúc bảng phieudiennuoc 48 Hình 3.14 Cấu trúc bảng dangkyphong 48 Hình 3.15 Cấu trúc bảng dangkychuyenphong 49 Hình 3.16 Cấu trúc bảng dangkydv 49 Hình 17 Mối quan hệ bảng MySql .49 Hình 3.18 Hàm kết nối giao tiếp Java CSDL 50 Hình 3.19 Giao diện Website 50 Hình 3.20 Giao diện tin tức – kiện 51 Hình 3.21 Giao diện hiển thị danh sách phòng 51 Hình 3.22 Giao diện đăng ký thành viên 52 Hình 3.23 Giao diện đăng nhập website 52 Hình 3.24 Thơng báo đăng ký phịng ghi nhận .53 Hình 3.25 Giao diện hiển thị kết tra cứu tiền phòng 53 Hình 3.26 Giao diện đăng nhập Admin 54 Hình 3.27 Giao diện Admin 54 Hình 3.28 Giao diện quản lý sinh viên 55 Hình 3.29 Giao diện quản lý khu .55 Hình 3.30 Giao diện thông báo cập nhật khu thành công 56 Hình 31 Giao diện thống kê sinh viên 56 DANH SÁCH CÁC BẢNG BIỂU Bảng 1 Mơ hình R1 Đăng nhập 14 Bảng Mơ hình R2 Đăng ký tài khoản .14 Bảng Mơ hình R3 Đăng ký phịng 15 Bảng Mơ hình R4 Duyệt đơn đăng ký phịng 16 Bảng Mơ hình R5 Tra cứu điện nước .16 Bảng Mơ hình R6 Xem danh sách sinh viên theo phòng 17 Bảng Actors có hệ thống 19 Bảng 2 Đặc tả UC Đăng nhập 20 Bảng Đặc tả UC Đăng ký tài khoản 21 Bảng Đặc tả UC Tra cứu tiền phòng .22 Bảng Đặc tả UC Tra cứu tiền điện nước 22 Bảng Đặc tả UC Đăng ký phòng .23 Bảng Đặc tả UC Duyệt đăng ký phòng 24 Bảng Đặc tả UC Yêu cầu chuyển phòng 25 Bảng 2.9 Các đối tượng thuộc tính đối tượng 35 Bảng 2.10 Mô tả liệu cho bảng taikhoan 36 Bảng 2.11 Mô tả liệu cho bảng doituongut .36 Bảng 2.12 Mô tả liệu cho bảng quoctich 36 Bảng 2.13 Mô tả liệu cho bảng sinhvien 36 Bảng 2.14 Mô tả liệu cho bảng nhanvien 37 Bảng 2.15 Mô tả liệu cho bảng loaiphong 38 Bảng 2.16 Mô tả liệu cho bảng khu 38 Bảng 2.17 Mô tả liệu cho bảng phong 38 Bảng 2.18 Mô tả liệu cho bảng loaibaiviet 39 Bảng 2.19 Mô tả liệu cho bảng baiviet .39 Bảng 2.20 Mô tả liệu cho bảng hocky 39 Bảng 2.21 Mô tả liệu cho bảng dichvu .40 Bảng 2.22 Mô tả liệu cho bảng dangkyphong 40 Bảng 2.23 Mô tả liệu cho bảng dangkydv 41 Bảng 2.24 Mô tả Mô tả liệu cho bảng dangkychuyenphong 42 Bảng 2.25 Mô tả liệu cho bảng phieudiennuoc 42 MỤC LỤC Phần MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu đề tài Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu 3.2 Phạm vi nghiên cứu Phương pháp nghiên cứu .2 Đóng góp đề tài .2 Cấu trúc đề tài Phần NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan ngôn ngữ Java .3 1.1.1 Nguồn gốc lịch sử đời Java 1.1.2 Đặc điểm Java 1.1.3 Các kiểu ứng dụng Java 1.2 Tổng quan MySQL, Xampp Tomcat 1.2.1 MySQL 1.2.2 Xampp .5 1.2.3 Apache Tomcat 1.3 Các công cụ, thư viện công nghệ hỗ trợ 1.3.1 HTML .6 1.3.2 CSS 1.3.3 JavaScript 1.3.4 Bootstrap 1.3.5 JSP 1.3.6 Servlet .9 1.4 Mơ hình MVC 10 1.5 Khảo sát hệ thống .11 1.5.1 Mơ tả tốn 11 1.5.2 Yêu cầu chức 12 1.5.3 Mơ hình Ri 14 1.5.4 Đặc tính người dùng .17 1.5.5 Yêu cầu phi chức 18 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 19 2.1 Phân tích chức liệu 19 2.1.1 Phân tích chức 19 2.1.2 Phân tích liệu 35 2.2 Thiết kế liệu 36 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG 44 3.1 Cài đặt sở liệu 44 3.2 Kết nối ứng dụng Java với CSDL MySQL 50 3.3 Các giao diện 50 3.3.1 Giao diện bên người dùng .50 3.3.2 Giao diện bên quản trị viên .54 Phần KẾT LUẬN VÀ KIẾN NGHỊ 57 Phần TÀI LIỆU THAM KHẢO 58

Ngày đăng: 29/02/2024, 23:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN