Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

ĐỀ THI JAVA NÂNG CAO

Thời gian làm bài: 180 phút

Thí sinh không được sử dụng mạng LAN, internet, USB Flash, Bluetooth.
Không được sao chép đề thi dưới mọi hình thức.
Không được trao đổi, không cho thí sinh khác copy bài.
Họ tên: __________________________________ Lớp: _________

Phần 1: Mô tả bài toán


Cho một ứng dụng quản lý đặt chỗ của các cửa hàng cắt tóc. Ứng dụng có các chức năng sau
đây:

- Hệ thống cho phép khách hàng có thể tạo đơn đặt chỗ cắt tóc.
Thông tin đặt chỗ bao gồm: Mã đặt chỗ, Tên khách hàng, Số điện thoại, Mã cửa hàng, Ngày
đặt cắt tóc, Giờ đặt cắt tóc
- Khi tạo đơn đặt chỗ cắt tóc, khách hàng có thể lựa chọn một cửa hàng từ danh sách cửa hàng
có trên hệ thống.
- Hệ thống còn cho phép nhân viên giao dịch vào xem thông tin các đơn đặt chỗ cắt tóc của
cửa hàng. Ngoài ra, nhân viên có thể cập nhật thông tin đặt chỗ bằng cách thêm mã thợ cắt
tóc( mã nhân viên) và trạng thái.

Lược đồ cơ sở dữ liệu quan hệ của hệ thống được mô tả như sau:

(Các trường PK là trường khóa chính của bảng, kiểu dữ liệu của các trường do học viên tự
định nghĩa)
Ví dụ về data:

Phần 2: Yêu cầu


Yêu cầu kỹ thuật
a. Thiết kế lược đồ cơ sở dữ liệu cho các chức năng ở trên bằng JPA/Hibernate và kết
nối được đến CSDL. (1 điểm) . (Nếu không tạo được bằng JPA/Hibernate hoặc không kết
nối được đến CSDL thì không có điểm câu này)
b. Sử dụng SpringMVC Framework theo đúng mô hình MVC để thiết kế web (Yêu cầu bắt
buộc - Nếu chỉ sử dụng JSP và Servlet thì bị trừ 2 điểm).
c. Sử dụng Hibernate Framework cho tầng xử lý database (có thể sử dụng Spring JPA với
provider là Hibernate) (Yêu cầu bắt buộc). Nếu không tuần thủ thì sẽ bị trừ 2 điểm
d. Tuân thủ Java coding convention (theo tài liệu hướng dẫn đã được cung cấp). Nếu không
tuần thủ thì sẽ bị trừ 0.5 điểm

Yêu cầu về chức năng: Xây dựng các màn hình cho các chức năng sau (Lưu ý: Không cần làm
chức năng login và logout cho các chức năng này):
1. Chức năng 1: (4.0 điểm) Tạo mới 1 màn hình Thêm mới đơn đặt chỗ cho phép người
dùng thêm 1 đơn đặt chỗ với các thông tin: Mã đặt chỗ, Tên khách hàng, Số điện thoại,
Mã cửa hàng, Ngày đặt cắt tóc, Giờ đặt cắt tóc.
1.1. Dữ liệu đầu vào cần được validate theo các quy tắc sau (1.5 điểm)
a. Validate bắt buộc phải nhập dữ liệu ở phía client cho các trường: Tên khách
hàng, Số điện thoại, Ngày đặt cắt tóc và Giờ đặt cắt tóc (0.5 điểm)
b. Validate phía server kiểm tra Số điện thoại phải từ 10 đến 11 chữ số và bắt đầu
với đầu số là “09” hoặc “08”, nếu không hợp lệ thì thông báo ra màn hình nội
dung message: “So dien thoai khong hop le” (0.25 điểm)
c. Validate phía server kiểm tra Ngày đặt cắt tóc phải lớn hơn hoặc bằng ngày
hiện tại, nếu không hợp lệ thì thông báo ra màn hình nội dung message: “Ngay
dat cat toc phai lon hon hoac bang ngay hien tai” (0.25 điểm)
d. Mã cửa hàng phải là combo box/Dropdown List với data được lấy từ database và
có 1 option mặc định hiển thị là ---SELECT--- và value = blank (0.5 điểm)

1.2. Danh sách cửa hàng và địa chỉ của các cửa hàng luôn được cập nhật trên hệ thống
Do đó, khi thực hiện thêm mới đơn đặt chỗ, khách hàng có thể nhập hoặc chọn lựa cửa
hàng từ danh sách cửa hàng.
Tại màn hình thêm mới, học viên thiết kế thêm 1 button “Chọn” phía bên phải textbox
Mã cửa hàng.

a. Khi click vào button chọn thì mở popup Danh sách cửa hàng. Popup liệt kê toàn
bộ Mã cửa hàng có trong hệ thống ( 1.0 điểm)
b. Khi chọn 1 cửa hàng ở popup thì đóng popup lại và fill Mã cửa hàng đã chọn
vào textbox Mã cửa hàng ( 0.5 điểm)

Lưu ý:
o Nếu chỉ thực hiện được việc thêm mới đơn đặt chỗ mà chưa thực hiện được yêu
cầu 1.1 & 1.2 thì chỉ được 1.0 điểm

2. Chức năng 2: (2 điểm) Liệt kê thông tin danh sách các đơn đặt chỗ của một cửa
hàng bao gồm:
+ Liệt kê thông tin: Mã đặt chỗ, Tên khách hàng, Số điện thoại, Mã của hàng, Ngày đặt
cắt tóc, Giờ đặt cắt tóc, Mã nhân viên, Trạng thái (1 điểm)
+ Học viên có sử dụng điều kiện tìm kiếm theo Tên khách hàng và Giờ đặt cắt tóc (1
điểm)

3. Chức năng 3: (2 điểm) Nhân viên có thể bổ sung thông tin đơn đặt chỗ
3.1. Khi nhân viên click vào link Mã đặt chỗ ở list thông tin đặt chỗ của màn hình 2 thì
di chuyển đến màn hình Cập nhật thông tin đặt chỗ.
Nhân viên có thể bổ sung Mã nhân viên và thay đổi trạng thái từ Open thành Confirmed (
hoặc Done). (1.5 điểm)
3.2. Trường hợp Mã nhân viên, Ngày Đặt và Giờ đặt trùng với một đơn đặt chỗ khác
thì không cho phép cập nhật và hiển thị thông báo “ Nhan vien da nhan mot don dat cho
khac” . (0.5 điểm)

4. Chức năng 4: (0.5 điểm) Chức năng liên kết màn hình
Học viên liên kết được màn hình của chức năng 1, chức năng 2 và chức năng 3 với nhau
thì được 0.5 điểm.
Tại chức năng 1 khi thực hiện đăng ký đặt chỗ thành công sẽ quay về màn hình liêt kê list
đặt chỗ chức năng 2.
Tại chức năng 2, khi click vào link Mã đặt chỗ thì di chuyển sang màn hình update chức
năng 3.
Từ chức năng 3 cập nhật xong thì quay về chức năng 2.

5. Chức năng 5: (0.5 điểm)


Giao diện có tính mỹ thuật cao (có sử dụng CSS, Bootstrap...) sẽ được tối đa 0.5 điểm
Điểm tối đa toàn bài: 10 điểm

You might also like