HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH MẠNG ĐỀ TÀI QUẢN LÝ DÃY NHÀ, PHÒNG TRỌ Giảng viên hướng dẫn Thầy Nguyễn Hoàng Anh Sinh viên thực hiện Đỗ Đình Nam Mã sinh viên B17DCCN434 Hà Nội 112021 MỤC LỤC CHƯƠNG I MỞ ĐẦU 5 I GIỚI THIỆU ỨNG DỤNG 5 II PHÂN TÍCH YÊU CẦU ỨNG DỤNGHỆ THỐNG 5 1 Phân tích yêu cầu hệ thống 5 2 Phân tích yêu cầu phía Client 5 3 Phân tích yêu cầu phía Server 5 CHƯƠNG II PHÂN TÍCH THIẾT KẾ HỆ THỐNG 6 I PHÂN TÍCH THIẾT.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
MÔN: LẬP TRÌNH MẠNG
ĐỀ TÀI: QUẢN LÝ DÃY NHÀ, PHÒNG TRỌ
Giảng viên hướng dẫn: Thầy Nguyễn Hoàng Anh
Sinh viên thực hiện: Đỗ Đình Nam
Mã sinh viên: B17DCCN434
Hà Nội 11/2021
Trang 2MỤC LỤC
CHƯƠNG I: MỞ ĐẦU 5
I GIỚI THIỆU ỨNG DỤNG 5
II PHÂN TÍCH YÊU CẦU ỨNG DỤNG/HỆ THỐNG 5
1 Phân tích yêu cầu hệ thống 5
2 Phân tích yêu cầu phía Client 5
3 Phân tích yêu cầu phía Server 5
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 6
I PHÂN TÍCH THIẾT KẾ TỔNG QUAN ỨNG DỤNG 6
1 Kiến trúc tổng quan 6
2 Sơ đồ khối các chức năng của Client và Server 7
3 Sơ đồ Usecase tổng quan 13
II PHÂN TÍCH CHI TIẾT HỆ THỐNG 14
1 Sơ đồ Usecase chi tiết 14
2 Sơ đồ lớp 16
3 Sơ đồ tuần tự các chức năng 17
4 Sơ đồ thực thể quan hệ (ERD) 22
CHƯƠNG III: KẾT QUẢ ỨNG DỤNG 23
I KIẾN TRỨC ỨNG DỤNG 23
II CÀI ĐẶT VÀ TRIỂN KHAI ỨNG DỤNG 24
1 Cài đặt 24
Trang 33 Triển khai ứng dụng 26
III KẾT QUẢ THỰC HIỆN – TRIỂN KHAI 30
IV KẾT LUẬN, ĐIỂM HẠN CHẾ 30
1 Kết luận 30
2 Điểm hạn chế 30
V TÀI LIỆU THAM KHẢO 30
Trang 4CHƯƠNG I: MỞ ĐẦU
I GIỚI THIỆU ỨNG DỤNG
- Tên ứng dụng: Quản lý nhà trọ cho thuê.
- Website quản lý nhà trọ cho thuê dành cho các chủ nhà quản lý phòng củamình một cách thông minh và tiện lợi hơn Với các chức năng cơ bản với 2 đối tượngchính: Nhà trọ và Dãy nhà, với các chức năng:
Dãy nhà: Thêm sửa xóa Dãy nhà trọ trong CSDL
Nhà trọ: Thêm sửa xóa Nhà trọ trong CSDL
Gán nhà trọ vào dãy
Tìm kiếm nhà trọ
II PHÂN TÍCH YÊU CẦU ỨNG DỤNG/HỆ THỐNG
1 Phân tích yêu cầu hệ thống.
- Hệ thống có một Webservice, giao diện FrontEnd cho client thao tác và mộtgiao diện kiểm tra dữ liệu trên database
- Webservice cung cấp dịch vụ cho các thao tác Thêm, sửa, xóa, cho client
- Database lưu toàn bộ dữ liệu
2 Phân tích yêu cầu phía Client.
- Người dùng thao tác trên website với các giao diện với các chức năng tươngứng:
o Giao diện thêm nhà trọ, tìm kiếm nhà trọ
o Tìm kiếm và hiển thị nhà trọ theo giá phòng và số người ở tối đa
o Cập nhật thông tin một Nhà trọ
o Cập nhật thông tin một Dãy trọ
3 Phân tích yêu cầu phía Server.
- Webservice nhận yêu cầu từ client, thực hiện kết nốt với database và thaotác trên dữ liệu trên database
Trang 6CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
I PHÂN TÍCH THIẾT KẾ TỔNG QUAN ỨNG DỤNG.
1 Kiến trúc tổng quan
- Ứng dụng được thiết kế theo mô hình MVC cổ điển.
- Webservice với nền tảng cơ bản là XML và HTTP Bao gồm các thành phần chính:
WSDL – Web Service Description Language (Ngôn ngữ mô tả webservice): WSDL là một ngôn ngữ dựa trên XML để mô tả các dịch vụ web
và cách thức truy cập của chúng WSDL mô tả dịch vụ web, với định dạngthông báo và các chi tiết giao thức cho dịch vụ web
SOAP – Simple Object Access Protocol (Giao thức truy cập đối tượng đơngiản): SOAP là một giao thức dựa trên XML đơn giản cho phép các ứngdụng trao đổi thông tin qua HTTP
Trang 8trọ trọ
Trang 92.1.3 Chức năng tìm kiếm nhà trọ 2.1.4 Chức năng tìm kiếm theo giá
phòng và số người ở tối đa
Hình 4 Sơ đồ khối chức năng tìm kiếm
nhà trọ
Hình 5 Sơ đồ khối chức năng tìm kiếm
nhà trọ theo mức giá phòng và số lượng
người ở tối đa
Trang 102.1.5 Chức năng Xóa nhà trọ
Hình 6 Sơ đồ khối chức năng xóa nhà trọ
Trang 112.1.6 Chức năng thêm dãy nhà 2.1.7 Chức năng cập nhật dãy nhà
Hình 7 Sơ đồ khối chức năng thêm dãy
nhà
Hình 8 Sơ đồ khối chức năng cập nhật
dãy nhà
Trang 122.1.8 Chức năng tìm kiếm dãy nhà 2.1.9 Chức năng xóa dãy nhà
Hình 9 Sơ đồ khối chức năng tìm kiếm
dãy nhà
Hình 10 Sơ đồ khối chức năng xóa dãy
nhà
Trang 13Hình 12 Sơ đồ Server chức năng
thêm/sửa xóa/tìm kiếm dãy nhà.
Trang 143 Sơ đồ Usecase tổng quan
Hình 13 Sơ đồ Usecase tổng quan Tác nhân:
- User(Client)
- Webservice(Server)
Mô tả Usecase tổng quan:
- UC Thêm dãy nhà: cho phép người dùng thêm một dãy nhà
- UC Sửa dãy nhà: cho phép người dùng sửa thông tin dãy nhà
Trang 15- UC Tìm kiếm dãy nhà: cho phép người dùng tìm kiếm dãy nhà theo tên.
- UC Xem danh sách dãy nhà: cho phép người dùng xem danh sách dãy nhà
- UC Thêm nhà trọ: cho phép người dùng thêm một nhà trọ
- UC Sửa nhà trọ: cho phép người dùng sửa thông tin nhà trọ
- UC Xóa nhà trọ: cho phép người dùng xóa thông tin nhà trọ
- UC Tìm kiếm nhà trọ: cho phép người dùng tìm kiếm nhà trọ theo tên,khoảng giá, số lượng người ở tối đa
- UC Xem danh sách nhà trọ: cho phép người dùng xem danh sách nhà trọ
II PHÂN TÍCH CHI TIẾT HỆ THỐNG
1 Sơ đồ Usecase chi tiết
Trang 16Tác nhân:
- User ( Client)
- Server (Webservice)
Mô tả Usecase chi tiết:
- UC Thêm dãy nhà: cho phép người dùng thêm một dãy nhà
- UC Sửa dãy nhà: cho phép người dùng sửa thông tin dãy nhà
- UC Xóa dãy nhà: cho phép người dùng xóa thông tin dãy nhà
- UC Tìm kiếm dãy nhà: cho phép người dùng tìm kiếm dãy nhà theo tên
- UC Xem danh sách dãy nhà: cho phép người dùng xem danh sách dãy nhà
- UC Thêm nhà trọ: cho phép người dùng thêm một nhà trọ
- UC Sửa nhà trọ: cho phép người dùng sửa thông tin nhà trọ
- UC Xóa nhà trọ: cho phép người dùng xóa thông tin nhà trọ
- UC Tìm kiếm nhà trọ: cho phép người dùng tìm kiếm nhà trọ theo tên,khoảng giá, số lượng người ở tối đa
- UC Xem danh sách nhà trọ: cho phép người dùng xem danh sách nhà trọ
Trang 172 Sơ đồ lớp
2.1 Phía client
Hình 14 Sơ đồ lớp chức năng của Client
2.2 Phía Server
Trang 183 Sơ đồ tuần tự các chức năng
Trang 203.5 Chức năng tìm kiếm nhà trọ
Hình 20 Sơ đồ tuần tự chức năng tìm kiếm nhà trọ
3.6 Chức năng thêm dãy nhà
Hình 21.Sơ đồ tuần tự chức năng thêm dãy nhà
Trang 213.7 Chức năng sửa dãy nhà
Hình 22.Sơ đồ tuần tự chức năng sửa dãy nhà
3.8 Chức năng xóa dãy nhà
Hình 23.Sơ đồ tuần tự chức năng xóa dãy nhà
Trang 223.9 Chức năng xem dãy nhà
Hình 24 Sơ đồ tuần tự chức năng xem dãy nhà
3.10 Chức năng tìm kiếm dãy nhà
Hình 25 Sơ đồ tuần tự chức năng tìm dãy nhà
Trang 234 Sơ đồ thực thể quan hệ (ERD)
Hình 26 Sơ đồ thực thể quan hệ ERD
Trang 24CHƯƠNG III: KẾT QUẢ ỨNG DỤNG
I KIẾN TRỨC ỨNG DỤNG
Hình 27 Kiến trúc ứng dụng
*Mô hình Client-Server sử dụng WebService cung cấp dịch vụ:
Trang 25Hình 28 Mô hình Client giao tiếp với WebService
Một ứng dụng WS bao gồm 2 thành phần: Client và Server giao tiếp với nhau quagiao thức HTTP
Client gửi yêu cầu qua các lời gọi hàm thông qua HTTP Request đến Server
Server gửi các kết quả được thực thi các ở hàm thông qua HTTP Request
Mô hình hoạt động của ứng dụng WebService gồm 3 thành phần chính:
UDDI register: Công cụ giúp nhà phát triển WS công bố những thông tin vềWebService của mình cho cộng đồng các nhà phát triển ứng dụng Người dùng
sẽ dựa vào các thông tin này để sử dụng WebService trong ứng dụng riêng củaminh
WebService: Chứa giao thức SOAP định dạng dữ liệu, tài liệu WSDL địnhnghĩa các hàm trong WebService, XML để xây dựng ứng dụng phân tán
Applicantion Client: Ứng dụng phía Client sử dụng WebService xây dựngriêng cho mình
Cách thức hoạt động có thể mô tả như sau: Đầu tiên, Applicantion Client cần truy vấncác mẫu tin UDDI theo 1 thông tin nào đó(chẳng hạn tên loại) để xác địnhWebService cần tìm Khi đã xác định được WebService cần cho ứng dụng, Client cóthế lấy thông tin về địa chỉ của tài liệu WSDL của WebService này dựa trên mẫu tinUDDI Tài liệu WSDL sẽ mô tả cách thức liên lạc với WebService, định dạng gói tintruy vấn và phản hồi Dựa vào những thông tin này, Client có thể tạo những gói tinSOAP tương ứng để liên lạc với Service
II CÀI ĐẶT VÀ TRIỂN KHAI ỨNG DỤNG
1 Cài đặt
- Công cụ: trình biên dịch Netbean 8.2 trở lên hoặc các trình biên dịch khác cho ngôn
Trang 273 Triển khai ứng dụng
3.1 Giao diện Trang chủ
Hình 31 Giao diện trang chủ
Giao diện Trang chủ gồm: nút chọn Dãy nhà, nút chọn Phòng trọ
Nếu người dùng chọn Dãy nhà, web sẽ chuyển tới trang Quản lý Dãy nhà.Ngược lại nếu chọn Phòng trọ sẽ chuyển tới trang Quản lý Phòng trọ
3.2 Giao diện Quản lý dãy nhà
Hình 32 Giao diện quản lý dãy nhà
Trang 28 Sau khi người dùng chọn thêm dãy nhà mới thì sẽ được update ngay ở bảngdãy nhà ở bên dưới
Tìm kiếm dãy nhà theo tên dãy, các dãy có thông tin gần giống sẽ hiện thị trênbảng danh sách
3.3 Giao diện sửa dãy nhà
Hình 33 Giao diện sửa dãy nhà
Giao diện bao gồm: các input về thông tin dãy nhà: tên dãy nhà, mô tả, nútSubmit để xác nhận sửa dãy nhà, nút Close để hủy sửa
3.4 Giao diện xóa dãy nhà
Hình 34 Giao diện xóa dãy nhà
Giao diện bao gồm: thể hiện thông tin tên dãy nhà, nút Delete để xác nhậnxóa dãy nhà, nút Close để hủy xóa
Trang 293.5 Giao diện quản lý phòng trọ
Hình 35 Giao diện quản lý phòng trọ
Giao diện Quản lý phòng trọ bao gồm: các field input số phòng, giá phòng, sốngười ở tối đa Input để tìm kiếm phòng trọ và bảng danh sách các phòng trọ
Sau khi người dùng chọn Thêm phòng trọ mới thì sẽ được update ngay ở bảngdanh sách phòng trọ ở bên dưới
Tìm kiếm theo số phòng trọ, mức giá và số người ở tối đa, các phòng có thôngtin gần giống sẽ hiện thị trên bảng danh sách
3.6 Giao diện sửa phòng trọ (nhà trọ)
Giao diện bao gồm: các input về thông tin dãy nhà: tên dãy nhà, mô tả, nút
Trang 30Hình 36 Giao diện sửa phòng trọ
3.7 Giao diện xóa phòng trọ
Hình37 Giao diện xem xóa phòng trọ
Giao diện bao gồm: thể hiện thông tin tên dãy nhà, nút Delete để xác nhận xóadãy nhà, nút Close để hủy xóa
3.8 Giao diện thông báo khi thực hiện chức năng thành công
Giao diện bao gồm: thông báo thao tác vừa thực hiện thành công và một nútQuay về trang chủ
Trang 31III KẾT QUẢ THỰC HIỆN – TRIỂN KHAI
- Đã tạo được WebService và Client sử dụng JSP để giao tiếp với Webservice
V TÀI LIỆU THAM KHẢO
1 Bài giảng môn Lập trình mạng – Thầy Nguyễn Hoàng Anh, Học viện Công nghệBưu chính Viễn thông
Trang 32LỜI CẢM ƠN
Đầu tiên, em xin chân thành gửi lời cảm ơn sâu sắc đến giảng viên bộ môn –
Thầy Nguyễn Hoàng Anh đã tận tình hướng dẫn, truyền đạt những kiến thức cho
chúng em trong suốt kỳ học vừa qua Thầy luôn nhiệt tình, tạo điều kiện giúp chúng
em có tinh thần học tập hiệu quả, nghiêm túc để hoàn thành môn học này Em cũngxin cảm ơn các bạn luôn sẵn sàng trao đổi, góp ý, cho em trong quá trình hoàn thiệnbài tập lớn
Do vốn kiến thức của chúng em còn hạn chế, khả năng tìm đọc còn chậm nên
sẽ còn nhiều thiếu sót và chưa chính xác, em rất mong có thể nhận được góp ý từ thầy
để bài báo cáo được hoàn thiện hơn ạ
Em xin chân thành cảm ơn!