Xét bài toán ở mức độ đơn giản có thể nhận thấy 2 tác nhân chính tham gia ứng dụng là khách hàng và người quản lí. Các hoạt động liên quan đến 2 tác nhân này được mô phỏng trong lược đồ dưới đây.
Trang 1Ngày nay tin học đã trở thành một ngành khoa học cực kì quan trọng trong cuộc sống hiện đại Có thể nói mọi ngành khoa học khác đều rất cần sự trợ giúp của máy vi tính Ngược lại tin học cũng liên quan đến rất nhiều ngành
Do đó việc học tập và nghiên cứu về tin học cũng trở nên hết sức cần thiết và tất yếu đối với mọi người
Sự ra đời của máy tính kèm theo sự phát triển của các ngôn ngữ lập trình
Có rất nhiều ngôn ngữ lập trình nhằm tạo sự thuận lợi trong việc giao tiếp giữa máy tính và người sử dụng Và hiện nay các ngôn ngữ phát triển theo hướng đối tượng tức lấy yêu cầu người dùng làm tiêu chuẩn
Đa số sinh viên chúng em đều xa nhà nên phải tự thuê cho mình một căn nhà trọ do đó sau khi học môn Lập Trình Hướng Đối Tượng , chúng em chọn
đề tài làm bài tập lớn là:
Mô phỏng lệnh tạo thư mục (MD/MKDIR) trong hệ điều hành MSDOS
Vì đây là lần đầu tiên thực hiện đề tài này nên vẫn còn thiếu kinh nghiệm nên chúng em mong sự giúp đỡ, hướng dẫn tận tình của thầy cô và các bạn để hoàn thiện hơn đề tài đồ án này
GV hướng dẫn: Lê Thị Mỹ Hạnh
Sinh viên: Võ Đức Khánh Nguyễn Sỹ Thìn
Viết chương trình quản lí nhà trọ( khách sạn).
Trang 2BÀI TOÁN QUẢN LÝ KHÁCH SẠN
I Đặt bài toán
Quản lí phòng trọ là một ứng dụng của lập trình hướng đối tượng vào thực tế Các bài toán quản lí có trong khá nhiều môn học khác như Phân tích và thiết hệ thống ,cơ sở dữ liệu Đây là ví dụ cho ming chứng cho phương pháp phân tích thiết kế
và lập trình hướng đối tượng
II Khảo sát yêu cầu
Để nắm bắt được các nhu cầu , trước tiên chúng ta cần phải xác định những tác nhân chính trong ứng dụng quản lí Xét bài toán ở mức độ đơn giản có thể nhận thấy 2 tác nhân chính tham gia ứng dụng là khách hàng và người quản lí Các hoạt động liên quan đến 2 tác nhân này được mô phỏng trong lược đồ dưới đây
1 Đăng kí
Tác vụ này cho phép khách hàng mới có thể đăng kí vào ở trong nhà trọ, sau khi đăng kí khách hàng mới được chính thức vào tìm phòng và thuê phòng Thủ tục
Trả phòng Thuê phòng Tìm phòng
Danh sách các phòng
Danh sách khách hàng
Danh sách phòng đang thuê đ
Danh sách phòng đang thuê đ
Nhập phòng
Nhập phòng
Đăng kí
Khách
hàng
Khách
hàng
Quản lí
Tìm khách hàng
Trang 3đăng kí đơn giản để lấy mã số và thông tin khách hàng Để đơn giản hóa bài toán chúng em chỉ đưa ra 2 thông tin là mã số khách hàng và tên khách hàng
2 Nhập phòng
Nhà trọ quản lí theo phòng Mổi phòng có các thông tin chính là mã phòng và tên phòng Tác vụ này cho phép chủ quản lí bổ sung thêm phòng và mã các phòng mới
3 Danh sách các phòng
Sau khi nhập dữ liệu phòng vào thì chủ quản lí sẽ có bảng danh sách các phòng
để cho thuê
4 Tìm phòng
Dựa vào danh sách phòng thì khách hàng có thể tìm cho mình căn phòng ưng ý nhất
5 Đăng kí thuê phòng
Sau khi đăng kí và tìm được phòng ưng ý khách hàng có thể thuê phòng cho mình
6 Đăng kí trả phòng
Sau khi kết thúc quá trình học tập , làm việc khách hàng trả phòng để về quê hay chuyển chổ ở thì khách hàng phải đăng kí trả phòng
7 Danh sách các khách hàng
Sau khi đăng kí thì toàn bộ thông tin khách hàng được đưa vào đây khi nào cần thông tin gì về khách hàng thì quản lí chỉ cần vào đây để xem
8 Tìm khách hàng
Khi xảy ra sự cố hay có vấn đề gì của khách hàng thì có thể vào đây để tìm thông tin khách hàng đó
9 Danh sách các phòng đang cho thuê
Đây là danh sách các phòng đã có khách hàng thuê ở
Trang 4III Phân tích thiết kế
Dễ dàng phát hiện các lớp trong ứng dụng, trước tiên cần phân tích sơ bộ các tác vụ hệ thống như đã nêu trong khảo sát
không trùng không trùng
Từ lược đồ hoạt động đăng kí mới khách hàng có thể thấy hệ thống phải có một lớp khách hàng để quản lí thông tin về các khách hàng Mổi khách hàng sẽ được thể hiện như một đối tượng của lớp khách hàng Danh sách các bạn đọc và tệp lưu trữ thông
tin khách hàng được lưu trữ như các thành phần tĩnh của lớp
Nhập thông
tin khách
hàng
Nhập thông
tin khách
hàng
Nhập phòng mới
Nhập phòng mới
Tạo đối tượng
khách hàng
Tạo đối tượng
khách hàng Tạo danh sách phòng
Tạo danh sách phòng
Ghi ra tệp Ghi ra tệp
Trang 5sai sai thông báo
thuê phòng trả phòng
Từ lược đồ hoạt động thuê phòng và trả phòng ta thấy cần phát sinh thêm lớp phòng và khách hàng
Còn các tác vụ danh sách khách hàng ,danh sách các phòng ,danh sách các phòng đang cho thuê và danh sách khách hàng chỉ đơn thuần là in danh sách Thống kê lại thông tin phân tích bên trên và chi tiết hơn nữa các thuộc tính
và phương thức được thể hiện qua các bảng dưới đây
Đăng kí thuê phòng Đăng kí trả phòng
Nhập vào mã phòng
Nhập mã khách hàng
Nhập vào mã phòng
Nhập mã khách hàng
Nhập mã phòng trả Nhập mã khách hàng
Nhập mã phòng trả Nhập mã khách hàng
Lập dữ liệu Thiết lập lại dữ liệu
như ban đầu
Thiết lập lại dữ liệu như ban đầu
Báo đã có người thuê Không có phòng này Thông tin sai
Báo đã có người thuê Không có phòng này Thông tin sai
Trang 61 Lớp khachhang (khách hàng)
thuê 3 phòng
có trong khách sạn
Khachhang(char
*ma,char *ten)
public Lấy thông tin khách
hàng
hàng mới
biết mã khách hàng Hienthimotkhachhang() Virtual Hiển thị thông tin
khách hàng Danhsachcackhachhang() static Danh sách các khách
hàng đã đăng kí
nhớ
ưu tiên hoặc không ưu tiên
2 Lớp khachhangut(khách hàng ưu tiên)
Trang 7uutien private Nhập loại khách hàng
Khachhangut(char *ma,
char *ten,char *ut)
hàng
tiên hoặc không ưu tiên Hienthimotkhachhang() Virtual Hiển thị thông tin khách
hàng
3 Lớp phong (phòng)
tongsophong static Tổng số phòng có trong
khách sạn Cacphong[100] static Danh sách lưu trữ các
phòng
Phong(char *ma,char
*ten)
Lietkephong() static Liệt kê tất cả các có
phòng trong khách sạn
mã
vào khách sạn Hienthimotphong() public Đưa ra thông tin của một
phòng
Trang 8Doctep() static Đọc dữ liệu từ tệp
4 Lớp thuephong (thuê phòng)
cho thuê
Thuephong(char
*ma,char *ten)
mã phiếu thuê
Hienthiphongthue() public Hiển thị phòng đang cho
thuê Danhsachcacphongthue() static Đưa ra danh sách các
phòng đang cho thuê
5 Lớp traphong (trả phòng)
maphieutra private Mã khách hàng khi đăng kí vào nhà trọ
tramotphong() static Đăng kí trả một phòng
Trang 9HÌNH ẢNH DEMO
Giao diện người sử dụng:
Nhập thêm một phòng mới:
Đăng kí mới cho một khách hàng:
Trang 10KẾT LUẬN
Sau một thời gian nghiên cứu thực hiện đề tài thì chúng em cũng hoàn thành đề tài với kết quả khả quan Tuy nhiên do các điều kiện khách quan cũng như chủ quan và đặt biệt là do công việc học hành dày đặc nên bài nghiên cứu còn vài thiếu sót mong cô thông cảm
Nhìn chung ,chương trình thực hiện cơ bản đầy đủ các chức năng của yêu cầu trong công việc quản lý phòng trọ (khách sạn) Kèm theo các lớp với tính hướng đối tượng trong bài toán thì tạo điều kiện dễ dàng cho việc nâng cấp chương trình
để hoàn thiện hơn, thêm nhiều tác vụ hơn để tiện quản lý
Nhược điểm:
- Thiếu việc tính tiền sau khi trả phòng và giá phòng cũng như xếp loại phòng
- Chương trình có tính hướng đối tượng chưa cao
- Còn thiếu vài tác vụ trong việc quản lý
Tài liệu tham khảo:
- Giáo trình Lập trình hướng đối tượng – Lê Thị Mỹ Hạnh – ĐHBK Đà Nẵng
- Tài liệu tìm kiếm trên internet
- Diễn đàn congdongcviet.com
…
MỤC LỤC
Trang 11LỜI MỞ ĐẦU 1
BÀI TOÁN QUẢN LÝ KHÁCH SẠN 2
I Đặt bài toán 2
II Khảo sát yêu cầu 2
1 Đăng kí 2
2 Nhập phòng 3
3 Danh sách các phòng 3
4 Tìm phòng 3
5 Đăng kí thuê phòng 3
6 Đăng kí trả phòng 3
7 Danh sách các khách hàng 3
8 Tìm khách hàng 3
9 Danh sách các phòng đang cho thuê 3
III Phân tích thiết kế 4
1 Lớp khachhang (khách hàng) 6
2 Lớp khachhangut(khách hàng ưu tiên) 7
3 Lớp phong (phòng) 7
4 Lớp thuephong (thuê phòng) 8
5 Lớp traphong (trả phòng) 8
HÌNH ẢNH DEMO 9
KẾT LUẬN 10