Thiết kế dùng bean thay cho control

Một phần của tài liệu BÀI GIẢNG NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (Trang 115 - 123)

Tư tưởng chủ đạo của phương pháp này là đóng gói thông tin và hành động của các lớp thực thể thành một lớp chung, gọi là lớp bean (bản chất không còn là lớp thực thể nữa, mà đã bao gồm các phương thức của lớp điều khiển). Do đó, hệ thống sẽ không còn cần đến lớp điều khiển. Khi có sự kiện trên form, lớp giao diện sẽ gọi hàm actionPerformed(), hàm này sẽ gọi phương thức tương ứng của lớp bean để truy cập CSDL.

a. Thiết kế cho chức năng thêm/sửa phòng + Sơ đồ lớp chi tiết cho modul

Hình 9.10: Sơ đồ lớp thiết kế kiểu bean cho modul thêm/sửa phòng

Vì thiết kế theo kiểu dùng bean nên lớp RoomBean vừa chứa các thuộc tính của phòng, vừa chứa các phương thức thêm, sửa, tìm kiếm phòng từ CSDL. Trong các lớp giao diện thì các phương thức xử lí sự kiện actionPerformed() sẽ gọi trực tiếp các phương thức của lớp bean để thự hiện. + Viết lại scenario cho chức năng nhập mới thông tin phòng

Chương 9: Pha thiết kế

1. Người quản lí nhập thông tin một phòng mới vào AddRoomFrm và click vào nút Submit trên form

2. Lớp AddRoomFrm gọi phương thức addRoom() của lớp RoomBean

3. Lớp Roombean thực hiện phương thức addRoom() rồi trả về cho lớp AddRoomFrm 4. Lớp AddRoomFrm hiện thông báo thêm phòng thành công cho người quản lí. + Sơ đồ tuần tự cho chức năng nhập mới thông tin phòng

Hình 9.11: Sơ đồ tuần tự cho chức năng thêm phòng, dùng bean + Viết lại scenario cho chức năng cập nhật thông tin phòng

1. Người quản lí nhập tên phòng muốn thay đổi vào EditRoomFrm và click vào nút Search trên form

2. Lớp EditRoomFrm gọi phương thức searchRoom(ID) của lớp RoomBean

3. Lớp Roombean thực hiện phương thức searchRoom(ID) rồi trả về cho lớp EditRoomFrm 4. Lớp EditRoomFrm hiện thông tin phòng lên các ô thuộc tính tương ứng trên form cho

người quản lí sửa đổi.

5. Người quản lí sửa đổi các thuộc tính cần thiết trên form và click vào nút Submit 6. Lớp EditRoomFrm gọi phương thức btnSubmit_actionPerformed() để thực hiện.

7. Phương thức btnSubmit_actionPerformed() gọi phương thức editRoom() của lớp RoomBean

Chương 9: Pha thiết kế

8. Lớp Roombean thực hiện phương thức editRoom() rồi trả về cho lớp EditRoomFrm 9. Lớp EditRoomFrm hiện thông báo sửa đổi thành công cho người quản lí.

+ Sơ đồ tuần tự cho chức năng cập nhật thông tin phòng

Hình 9.12: Sơ đồ tuần tự cho chức năng sửa thông tin phòng, dùng bean b. Thiết kế cho chức năng đặt phòng

+ Sơ đồ lớp chi tiết cho modul

Chương 9: Pha thiết kế

Hình 9.13: Sơ đồ lớp cho chức năng thêm/sửa phòng, thiết kế dùng bean + Viết lại scenario

1. Khách hàng gọi điện cho nhân viên bán hàng yêu cầu đặt phòng.

2. Nhân viên chọn chức năng tìm kiếm phòng trống trên form AddBookingFrm. 3. Lớp AddBookingFrm gọi form SearchRoomFrm hiển thị.

4. Lớp form SearchRoomFrm hiển thị yêu cầu nhân viên nhập ngày checkin, ngày checkout để tìm kiếm.

5. Nhân viên nhập ngày checkin, checkout theo yêu cầu khách hàng và click vào nút tìm kiếm.

6. Lớp SearchRoomFrm gọi phương thức searchRoom() của lớp RoomBean. PTIT

Chương 9: Pha thiết kế

7. Lớp RoomBean thực hiện hàm searchRoom() và trả kết quả lại cho lớp SearchRoomFrm. 8. Lớp SearchRoomFrm hiển thị danh sách các phòng trống lên cho nhân viên.

9. Nhân viên thông báo các phòng có thể đặt cho khách hàng. 10.Khách hàng chọn 1 phòng theo yêu cầu và trả lời cho nhân viên.

11.Nhân viên click chọn phòng tương ứng trên giao diện SearchRoomFrm. (adsbygoogle = window.adsbygoogle || []).push({});

12.Lớp SearchRoomFrm gọi hàm setRoom() của lớp AddBookingFrm và tự đóng form lại. 13.Lớp AddBookingFrm cập nhật thông tin phòng đã chọn và yêu cầu nhân viên chọn nhập

thông tin khách hàng.

14.Nhân viên click vào nút tìm kiếm khách hàng trên form AddBookingFrm. 15.Lớp AddBookingFrm gọi lớp form AddClientFrm hiển thị.

16.Lớp AddClientFrm hiển thị yêu cầu nhân viên nhập tên khách hàng để tìm kiếm. 17.Nhân viên hỏi lại khách hàng thông tin cá nhân đầy đủ.

18.Khách hàng cung cấp đầy đủ thông tin cá nhân cho nhân viên.

19.Nhân viên gõ tên khách hàng vào và click nút tìm kiếm trên form AddClientFrm. 20.Lớp AddClientFrm gọi hàm searchClient() của lớp ClientBean.

21.Lớp ClientBean thực hiện hàm searchClient() và trả kết quả lại cho lớp AddClientFrm. 22.Lớp AddClientFrm hiện kết quả các khách hàng có tên đã nhập lên cho nhân viên lựa

chọn.

23.Vì khác hàng chưa có trong danh sách đã đặt chỗ nên nhân viên chọn nhập thông tin khách hàng mới và click vào nút Submit trên form AddClientFrm.

24.Lớp AddClientFrm gọi phương thức addClient() của lớp ClientBean.

25.Lớp ClientBean thực hiện hàm addClient() và trả về cho lớp AddClientFrm.

26.Lớp AddClientFrm gọi phương thức setClient() của lớp AddBookingFrm và tự đóng form của mình.

27.Lớp AddBookingFrm cập nhật thông tin khách hàng lên form và yêu cầu nhân viên hoàn thành các thông tin đặt chỗ còn lại.

28.Nhân viên nhập các thông tin đặt chỗ còn lại và click vào Submit. PTIT

Chương 9: Pha thiết kế

29.Lớp AddBookingFrm gọi phương thức addBooking() của lớp BookingBean.

30.Lớp BookingBean thực hiện hàm addBooking() và trả về cho lớp AddBookingFrm. 31.Lớp AddBookingFrm thông báo đặt chỗ thành công cho nhân viên.

32.Nhân viên xác nhận lại cho khách hàng thông tin đặt chỗ thành công và kết thúc giao dịch.

+ Sơ đồ tuần tự

Chương 9. Pha thiết kế

Chương 9: Pha thiết kế

Chương 9. Pha thiết kế

Một phần của tài liệu BÀI GIẢNG NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (Trang 115 - 123)