- Ứng dụng cung cấp các chức năng cơ bản như thêm, sửa, xóa, tìm kiếm và quản lý thông tin dãy trọ và phòng trọ.. Phân tích yêu cầu hệ thống - Hệ thống yêu cầu các chức năng sau: - Quản
Trang 1
oy BAI TAP MON
LAP TRINH MANG
DE TAI: Quan Ly Nha Tro
Nhóm 10 Lưu Thành Công Lớp :
HÀ NỘI, THÁNG 10/2024
Trang 2
1.1 Giới thiệu ứng dụng
1 n
- Dự án quản lý nhà trọ là một hệ thống phần mềm hỗ trợ quản lý các dãy nhà trọ và
phòng trọ
- Ứng dụng cung cấp các chức năng cơ bản như thêm, sửa, xóa, tìm kiếm và quản lý
thông tin dãy trọ và phòng trọ
- Hệ thống được xây dựng dựa trên ngôn ngữ lập trình Java với giao diện đồ họa sử
dung Java Swing và cơ sở dữ liệu MySQL
Phân tích yêu cầu hệ thống
- Hệ thống yêu cầu các chức năng sau:
- Quản lý thông tim dãy trọ: thêm, sửa, xóa
- Quản lý thông tin phòng trọ: thêm, sửa, xóa phòng theo từng dãy trọ
- Tìm kiếm phòng trọ theo các tiêu chí như giá tiền, địa chỉ phòng
- Giao tiếp giữa client và server đề đảm bảo xử lý dữ liệu tập trung và cập nhật đồng
bộ
- Hệ thống có hai thành phần chính: Client và Server Client được sử dụng đề tương
tác với người dùng, còn Server đảm nhận xử lý logic và kết nối cơ sở dữ liệu
Sơ đồ chức năng
1.3 Phân công công việc:
Thành viên Chức năng chính
Lưu Thành Công -Thêm, sửa, xóa thông tin dãy trọ, phòng tro trong database
-Login, register, logout
Pham Văn Công Đạt - Giao diện thêm nhà trọ, tìm kiếm nhà trọ (Client)
- Tim kiêm và Hiện thị Nhà trọ theo các giá phòng (Client)
Trang 3
Đỗ Văn Chiến - Tìm kiểm nhà trọ (Server)
- Cập nhật thông tin của một dãy tro (Client)
Hà Minh Đức -Tìm kiếm phòng
- Cập nhật thông tin nhà trọ (Client) -Gan nhà trọ vào dãy (Server)
2 Thiết kế hệ thống
2 1 Kiến trúc tông quan
Hệ thống quản lý nhà trọ bao gồm hai thành phan chinh: Client và Server Các thành phan nay giao tiếp với nhau thông qua giao thức TCP/IP Dưới đây là mô tả chỉ tiết về
kiến trúc hệ thống:
« CHent:
o_ Được phát triển bằng ngôn ngữ Java với Java Swing đê xây dựng giao diện người dùng Client sẽ cung cấp các giao diện đề người dùng có
thể thao tác với hệ thống
o_ Mỗi yêu cầu từ người dùng sẽ được gửi tới Server thông qua lớp ServerCommunication Dữ liệu sẽ được đóng gói và gửi qua socket đề
xử ly
« Server:
o Duoc phat trién bang ngén ngit Java Server lang nghe cac request tir client, xr ly request va phan héi lại kết quả
o Server kệt nội với cơ sở dữ liệu MySQL đê thực hiện các thao tác thêm, sửa, xóa, và tìm kiêm thông tin
2.1.1 Sơ đồ khối các chức năng của Client và Server
- Chire Nang cua Client
« Giao diện đăng nhập:
o Hién thị menu cho người dùng đăng nhập
Trang 4o Khi dang nhập thành công thì sẽ hiên thị MainMenu với đầy đủ các tính năng
« - Giao diện chính (MainMemu):
o _ Hiên thị menu chức năng cho người dùng
o_ Cho phép điều hướng đến các giao diện con như: thêm dãy trọ, thêm
phòng, cập nhật dãy trọ, cập nhật phòng , tìm kiếm, xóa dãy trọ và xoá
phòng
« Thêm dãy trọ:
o Người dùng nhập thông tin dãy trọ: tên dãy trọ, địa chỉ
o Gti yéu cầu thêm khách sạn tới Server
se - Thêm phòng vào dãy trọ:
o Người dùng nhập thông tin phòng như: tên phòng, địa chỉ, giá phòng
o Gui yéu cau thém phòng tới Server
¢ Tim kiém phong:
o Nguoi ding nhap théng tin tìm kiếm như: giá phòng, địa chỉ
o_ Gửi yêu cầu tìm kiếm phòng tới Server và hiên thị kết quả
« - Cập nhật phòng:
o_ Người dùng chọn phòng cần cập nhật và thay đôi thong tin
o_ Gửi yêu cầu cập nhật thông tin phòng tới Server
« - Xóa phòng và dãy trọ:
o_ Cho phép người dùng xóa thông tin phòng hoặc dãy trọ theo việc chọn tên
o Gửi yêu cầu xóa thông tin toi Server
Chức Năng của Server
Trang 5Lang nghe yéu cau tir Client (HotelServer):
o Nhan va phan loai các yêu cầu tir Client như thêm, sửa, xóa, tìm kiếm o_ Kếtnối tới cơ sở đữ liệu MySQL đề thực hiện các yêu cầu tương ứng o_ Gửi phản hồi kết quả về cho Client
Kết nối với cơ sở dữ liệu MySQL:
o Kêtnôi, thực hiện các truy vân, và quản lý dữ liệu dãy trọ và phòng
trọ
o Đảm bảo dữ liệu được lưu trữ và phản hồi một cách chính xác
Kết nối với cơ sở dữ liệu
MuaSOlL
Start
Kết nối đến MySQL
Thực hiện truy vấn cơ sở
dữ tiệu
Gui két qua vé cho Client
2.1.2 Biéu dé Usecase tong quan
Trang 62.2 Phan ca nhan:
2.2.1 Usercase chi tiét:
- Use Case 1: Dang Nhap (Login) +Mô tả: Người dùng đăng nhập vảo hệ thống
+Người dùng: Người thuê trọ hoặc quản lý
+Tiền đề: Người dùng đã có tài khoản
+Kich ban:
Người dùng nhập tên đăng nhập và mật khâu vào giao diện đăng nhập
Hệ thống gửi yêu cầu đăng nhập đến server
Server xác thực thông tin đăng nhập
Nếu thông tin hợp lệ, server trả về thông báo thành công và thông tin người dùng
Người dùng được chuyên đến trang chủ
Nếu không hợp lệ, hệ thống thông báo lỗi
-Use Case 2: Dang Ky (Register)
+Mô tả: Người dùng mới tạo tài khoản
+Người dùng: Người thuê trọ
+Tiền đề: Người dùng chưa có tài khoản
+Kich ban:
Người dùng nhắn nút đăng ký trên giao diện đăng nhập
Giao diện đăng ký xuất hiện
Người dùng nhập tên đăng nhập và mật khâu
Hệ thống gửi yêu cầu đăng ký đến server
Server kiểm tra và lưu thông tin tài khoản
Nếu đăng ký thành công, hệ thống thông báo và chuyên đến giao diện đăng nhập
Nếu thất bại, hệ thống thông bảo lỗi
-Use Case 3: Thém Phong (Add Room) +Mô tả: Quản lý thêm một phòng mới vào hệ thống
+Người dùng: Quản lý nhà trọ
Trang 7+Tiền đề: Người dùng đã đăng nhập với quyền quản lý
+Kich ban:
Quản lý chon thêm phòng từ giao diện trang chủ
Giao diện thêm phòng xuất hiện
Quản lý nhập tên phòng, giá, địa chỉ và ID tòa nhà
Hệ thống gửi yêu cầu thêm phòng đến server
Server lưu thông tin phòng vào cơ sở dữ liệu
Nếu thành công, hệ thống thông báo thành công
Nếu thất bại, hệ thống thông bảo lỗi
-Use Case 4: Xóa Phòng (Delete Room)
+Mô tả: Quản lý xóa một phòng khỏi hệ thống
+Người dùng: Quản lý nhà trọ
+Tiền đề: Người dùng đã đăng nhập với quyền quản lý
+Kich ban:
Quan ly chon xóa phòng từ giao diện trang chủ
Giao diện xóa phòng xuất hiện, liệt kê các phòng
Quản lý chọn phòng muốn xóa
Hệ thống gửi yêu cầu xóa phòng đến server
Server xóa phòng khỏi cơ sở dữ liệu
Nếu thành công, hệ thống thông báo thành công
Nếu thất bại, hệ thống thông bảo lỗi
-Use Case 5: Cap Nhat Phong (Update Room)
+M6 ta: Quan ly cập nhật thông tin phòng
+Người dùng: Quản lý nhà trọ
+Tiền đề: Người dùng đã đăng nhập với quyền quản lý
+Kich ban:
Quản lý chọn cập nhật phòng từ giao diện trang chủ
Giao diện cập nhật phòng xuất hiện, liệt kê các phòng
Quản lý chọn phòng và nhập thông tin mới
Hệ thống gửi yêu cầu cập nhật phòng đến server
Server cập nhật thông tin phòng trong cơ sở dữ liệu
Nếu thành công, hệ thống thông báo thành công
Nếu thất bại, hệ thống thông bảo lỗi
-Use Case 6: Lay Danh Sach Phong (Get Room List) +Mô tả: Người dùng lấy danh sách tat cả các phòng
+Người dùng: Người thuê trọ hoặc quản lý
+Tiền đề: Người dùng đã đăng nhập
+Kich ban:
Trang 8Người dùng chọn xem danh sách phòng từ giao diện trang chủ
Hệ thống gửi yêu cầu đến server đề lấy danh sách phòng
Server truy xuất danh sách phòng từ cơ sở dữ liệu
Server trả về danh sách phòng cho người dùng
Giao diện hiển thị danh sách phòng
-Use Case 7: Thém Toa Nha (Add Building) +Mô tả: Quản lý thêm một tòa nhà mới vào hệ thống
+Người dùng: Quản lý nhà trọ
+Tiền đề: Người dùng đã đăng nhập với quyền quản lý
+Kich ban:
Quản lý chọn thêm tòa nhà từ giao diện trang chủ
Giao diện thêm tòa nhà xuất hiện
Quản lý nhập tên và địa chỉ tòa nhà
Hệ thống gửi yêu cầu thêm tòa nhà đến server
Server lưu thông tin tòa nhà vào cơ sở đữ liệu
Nếu thành công, hệ thống thông báo thành công
Nếu thất bại, hệ thống thông bảo lỗi
-Use Case 8: X6a Toa Nha (Delete Building)
+Mô tả: Quản lý xóa một tòa nhả khỏi hệ thống
+Người dùng: Quản lý nhà trọ
+Tiền đề: Người dùng đã đăng nhập với quyền quản lý
+Kich ban:
Quản lý chọn xóa tòa nhà từ giao diện trang chủ
Giao diện xóa tòa nhà xuất hiện, liệt kê các tòa nhà
Quản lý chọn tòa nhà muốn xóa
Hệ thống gửi yêu cầu xóa tòa nhà đến server
Server xóa tòa nhà khỏi cơ sở dữ liệu
Nếu thành công, hệ thống thông báo thành công
Nếu thất bại, hệ thống thông bảo lỗi
-Use Case 9: Cap Nhat Toa Nha (Update Building) +M6 tả: Quản ly cập nhật thông tin toa nha
+Người dùng: Quản lý nhà trọ
+Tiền đề: Người dùng đã đăng nhập với quyền quản lý
+Kich ban:
Quản lý chọn cập nhật tòa nhà từ giao diện trang chủ
Giao diện cập nhật tòa nhà xuất hiện, liệt kê các tòa nhà
Quản lý chọn tòa nhà và nhập thông tin mới
Hệ thống gửi yêu cầu cập nhật tòa nhà đến server
Trang 9Nếu thành công, hệ thống thông báo thành công
Nếu thất bại, hệ thống thông bảo lỗi
-Use Case 10: Đăng Xuất (Logout) +Mô tả: Người dùng đăng xuất khỏi hệ thống
+Người dùng: Người thuê trọ hoặc quản lý
+Tiền đề: Người dùng đã đăng nhập
+Kich ban:
Người dùng chọn đăng xuất từ giao diện trang chủ
Hệ thống đóng kết nối và hiển thị lại giao diện đăng nhập
2.2.2 Sơ đồ quan hệ database:
FS Rooms
123 room_id int 5 Buildings
AZroom_name — varchar(255) 123 building_id int
123 price decimal(10,2) AZ building_name — varchar(255)
128 building_id int AZ address text
AZ address text
—S users
AZusername — varchar(100)
AZ password varchar(100)
3 Cai dat và triển khai
3.1 Yêu câu cài đặt
- Database: MySQL server
- Product Version: IntelliJ IDE
Trang 10- Java: 11+
- Runtime: Java(TM) SE Runtime Environment 11+
- System: MacOS
3.2 Giao dién chuong trinh
1 Login ee@ Login User: |
Password:
Login Register
2 Register
ee@ Register
User:
Password:
Register Back to Login
3 Main Menu
10
Trang 11
Tìm kiếm phòng trọ
Danh sách phòng trọ Thêm phòng tro Cập nhật thông tin phòng trọ Xóa phòng trọ Thêm dãy nhà trọ Cập nhật thông tin dãy trọ Xóa dãy nhà trọ Thoát
4, Thêm dãy trọ:
Main Menu
Tìm kiếm phòng trọ
Danh sách phòng trọ Thêm phòng trọ
Cập nhật thông tin phòng trọ
@@@ = Thém Day Nha
Thêm Dãy Nhà
Cập nhật thông tin dãy trọ Xóa dãy nhà trọ Thoát
5Š Sửa dãy trọ:
11
Trang 126 Xoa day tro
7 Thêm phòng
Tìm kiếm phòng trọ
Danh sách phòng trọ eee Sửa Thông Tin Day Nha
Chon Day Nha: (8
Tên Dãy Nhà: AI 5
& Lưu Hủy F
n ng tin trọ Xóa dãy nhà trọ Thoát
Main Menu
Tìm kiếm phòng trọ
Danh sách phòng trọ
eee Xóa Dãy Nha
A3
F Xóa Bình Minh G9
Cap nha g tin dãy trọ
Xóa dãy nhà trọ Thoát
12
Trang 13Tim kiém phong tro Danh sach phong tro
Gia:
_ Địa chi: E
Thêm Phòng E6 Quỳnh Mai
ay Binh Minh Eo
G9 Cập nhật thông tin dãy trọ Xóa dãy nhà trọ Thoát
§ Sửa phòng
Main Menu
Tìm kiếm phòng trọ
Chọn Phòng: ý 303 )
305
ên Phòng: 666
ia: 2000.00 F
L ưu Hủ ủy 8
Xóa dãy nhà trọ
Thoát
9, Xoá phòng
13
Trang 14Tìm kiếm phòng trọ Danh sách phòng trọ
Thêm phòng trọ
Xóa
Cập nhật thông tin dãy trọ Xóa dãy nhà trọ
Thoát
10 Danh sách phòng
Tìm kiếm phòng trọ
Tên phòng Giá Địa chỉ Tên dãy nhà
303 2000.00 Lạc Trung E6 Quỳnh Mai
305 1200.00 Minh Khai Al Binh Minh 002 2000.00 Vong Thi Binh Minh
666 3000.00 Quang Trung G9
14
Trang 15¢ KET LUAN VA HUONG PHAT TRIEN
- Uudiém
Trong quả trình khao sat bai toan quan ly nha tro co bản đã hoàn thành được những
cộng việc sau:
+* Cập nhật ,lưu trữ, sửa ,xoả, thêm thông tin
%% Báo biểu:
*ˆ Danh mục phòng
` Danh sách phòng s* Tra cứu:
` 'Tra cứu thông tin Phòng địa chỉ và giá
- NHƯỢC DIEM
Chường trình quản lý nhà trọ còn rất nhiều hạn chế Trong quá trình xây dựng vả hoán thiện chường trình em nhận thấy chường trinh rất nhiều thiêu sót như:
¥ Nha tro còn thiếu nhiều chức năng như quản lí số người ở theo dãy nhà trọ, quản lí phòng đã còn hay hết
v Chương trình còn trung lập dữ liệu v_ Giao diện chưa tối ưu với người sử dụng
LỜI CẢM ƠN
Em cảm ơn thây GVC.Nguyễn Hoàng Anh đã truyền dạy những kiến thức cần thiết và bô ích trong học phân “Lập trình mạng” đê chúng em có thê hoàn thành được
bài tập này
Sinh Viên thực hiện:
Luu Thanh Cong — B21DTCN107 Nhom 10- Lop D21TXCN04-B
15