Phần mềm cho phép nhân viên phòng nhân sự tìm kiếm nhân viên trong công ty theo phòng ban, ngày sinh, độ tuổi hay theo các dự án đã và đang thực hiện.. Sau đây là CSDL được sử dụng trong
Trang 1Đ c l p – T do – H nh phúc ộ ậ ự ạ
Môn thi: Thực hành
Mã đề thi: UDPM_TH _40106 Thời gian: 04 giờ (không kể thời gian giao đề thi)
Sinh viên có thể lựa chọn một trong hai phần để làm bài, gồm:
1 Phần 1: Lập trình và Cơ sở dữ liệu
2 Phần 2: Mạng máy tính
Trang 2PHẦN I: LẬP TRÌNH VÀ CƠ SỞ DỮ LIỆU
A TỔNG QUAN
Cấu trúc đề thi
Lưu ý khi làm bài
Tạo thư mục mang tên <tên sinh viên>_<mã số sinh viên> của thí sinh trên Desktop, lưu tất cả nội dung bài làm vào thư mục này Yêu cầu phải nộp database dạng sql script
B: YÊU CẦU ĐỀ THI
Một công ty sử dụng phần mềm để phân công nhân sự thực hiện các dự án Phòng nhân sự lập một phiếu phân công công việc cho từng nhân viên tham gia dự án Trên phiếu chỉ rõ nhân viên nào, tham gia dự án
gì và thời gian tham gia
Nhân viên trong công ty được phân chia theo phòng ban Phần mềm cho phép nhân viên phòng nhân sự tìm kiếm nhân viên trong công ty theo phòng ban, ngày sinh, độ tuổi hay theo các dự án đã và đang thực hiện
Phần mềm cũng hỗ trợ phòng nhân sự thống kê số ngày công của mỗi nhân viên tham gia từng dự án Sau đây là CSDL được sử dụng trong phần mềm để quản lý thông tin nhân viên, phòng ban, dự án và phân công nhân viên tham gia dự án như mô tả ở trên
Mô hình quan hệ
Hình 1: Mô hình CSDL
Chi tiết các bảng
Trang 3Tạo các bảng có chi tiết được mô tả như sau Chú ý mặc định của các cột là không cho phép để trống (NOT NULL) Các cột cho phép để trống được mô tả ở cột ràng buộc của các bảng thông tin chi tiết
Bảng PhongBan lưu thông tin các phòng ban trong công ty
Tên cột Kiểu dữ liệu Mặc định Ràng buộc Mô tả
Bảng NhanVien lưu thông tin nhân viên
Tên cột Kiểu dữ liệu Mặc định Ràng buộc Mô tả
Bảng DuAn lưu thông tin các dự án đã thực hiện
Tên cột Kiểu dữ liệu Mặc định Ràng buộc Mô tả
Bảng CongViec lưu thông tin phân công nhân viên tham gia dự án
Tên cột Kiểu dữ liệu Mặc định Ràng buộc Mô tả
Mã công việc được phân công
Module 1: Tạo Cơ sở dữ liệu trên SQL Server
Hãy sử dụng tập tin NhanSu.sql để tạo CSDL sau đó thiết lập quan hệ và nhập dữ liệu cho các bảng theo yêu cầu sau:
1.1 Thiết lập quan hệ giữa các bảng
Thiết lập quan hệ giữa các bảng như Hình 1 và đặc các thuộc tính ràng buộc sao cho
Xóa dự án thì xóa luôn các công việc đã phân công cho dự án đó
Không cho phép xóa phòng ban nếu đã có nhân viên
Trang 41.2 Nhập dữ liệu
Nhập dữ liệu mẫu cho mỗi bảng như file NhanSu.xls đính kèm
Module 2: Tạo các thủ tục trên CSDL SQL Server
Tạo 5 thủ tục lưu theo yêu cầu sau:
ST
T
Tên thủ tục lưu Chức năng
1 usp_Them_NhanVien() cho phép thêm mới một nhân viên
2 usp_Sua_ NhanVien() cho phép sửa một nhân viên theo mã
3 usp_Xoa_ NhanVien() cho phép xóa một nhân viên theo mã
4 usp_Tim_NhanVien() Tìm nhân viên theo ngày sinh Khoảng ngày sinh (từ ngày, đến ngày)
được truyền qua tham số
5 usp_ThongKe() Thống kê số ngày công của mỗi nhân viên trên từng dự án theo mẫu:
Module 3: Tạo form với VB.NET
Thiết kế form quản lý thông tin nhân viên bao gồm các chức năng thêm, xóa, sửa và hiển thị như hình sau:
Trang 5Hình 2: Form quản lý nhân viên
Lưu ý: bạn phần này chỉ cần thiết kế giao diện mà chưa cần lập trình gì thêm Phần lập trình sẽ được yêu cầu ở Module sau.
Module 4: Xử lý các chức năng với VB.NET và file
Hãy sử dụng các file dữ liệu cho sẵn để thực hiện các chức năng trong module này Các file dữ liệu bao gồm:
nhan-vien.txt: Chứa dữ liệu nhân viên
phong-ban.txt: Chứa dữ liệu phòng ban
du-an.txt: Chứa dữ liệu dự án
cong-viec.txt: Chứa dữ liệu công việc của dự án phân công cho các nhân viên
Cấu trúc thông tin trong mỗi file tương tự như các sheet của file excel đính kèm Mỗi hàng trong file là thông tin mỗi thực thể Mỗi hàng gồm nhiều cột phân cách bởi dấu tab
4.1 Chức năng quản lý
Viết mã cho các chức năng theo yêu cầu trên giao diện module 3 như sau
TT Hành động Yêu cầu xử lý
1 Khởi động
form
Đọc toàn bộ các phòng ban từ phong-ban.txt hiển thị trong ComboBox phòng ban
Đọc toàn bộ các nhân viên từ nhan-vien.txt và hiển thị trên lưới
2 Nhấp một hàng
trên lưới
Hiển thị thông tin chi tiết nhân viên được chọn lên form
3 Nhấp nút
[Thêm]
Thêm một nhân viên mới vào file nhan-vien.txt
Bạn cần phải kiểm lỗi không cho phép trùng mã nhân viên và thông báo cho người dùng biết việc thêm mới có thành công hay không
4 Nhấp nút [Sửa] Cập nhật thông tin nhân viên đang xem và ghi dữ liệu mới vào file
Bạn cần kiểm lỗi tuổi của nhân viên phải từ 16 đến 65 và thông báo cho người dùng biết là đã cập nhật thành công hay thất bại
5 Nhấp nút [Xóa] Xóa nhân viên đang xem trên form khỏi file nhan-vien.txt
Bạn cần kiểm lỗi không để trống mã nhân viên, yêu cầu người dùng xác nhận xóa trước khi xóa và thông báo kết quả sau khi xóa
6 Nhấp nút
[Nhập lại]
Xóa trắng dữ liệu các trường trên form cho phép nhập thông tin nhân viên mới
7 Nhấp hình Mở hộp thoại OpenFileDialog cho phép chọn hình Sau khi hình được chọn:
o Hình sẽ được chép vào thư mục Hinh của ứng dụng
o Hiển thị hình đã chọn lên PictureBox
o Đưa tên hình vào trường Hình ảnh trên form
4.2 Tìm kiếm theo ngày sinh
Thiết kế form cho phép tìm kiếm các nhân viên theo ngày sinh có giao diện như sau
Trang 6Hình 3: Tìm kiếm nhân viên theo ngày sinh Viết mã xử lý sự kiện nhấp nút [Tìm] sao cho các nhân viên có ngày sinh trong khoảng thời gian được chỉ định được hiển thị trên lưới
4.3 Tạo form chính
Tạo form chính chứa các menu cho phép đóng mở các form con dạng MDI như hình sau
Hình 5: Form chính Menu có các chức năng được bố trí và hoạt động như mô tả sau
Đóng form: Thực hiện đóng form
con đăng làm việc
Kết thúc: thoát khỏi ứng dụng
Mục menu: Mở form tương ứng đã thực hiện trong bài thi
C TIÊU CHÍ CHẤM ĐIỂM
Trang 7STT Tên Module Điểm
3.1 Tạo form với đầy đủ các thành phần giao diện theo yêu cầu 15
Module 4 Tạo các form xử lý theo yêu cầu 50
4.1.1 Hiển thị lưới
Hiển thị combo-box
Hiển thị dữ liệu lên form khi nhấp một hàng trên lưới
10
4.1.2 Viết chức năng thêm
Validate dữ liệu khi thêm dữ liệu
10
4.1.3 Viết chức năng sửa
Validate dữ liệu khi sửa dữ liệu
5
4.1.4 Viết chức năng xóa dữ liệu
Kiểm tra điều kiện xóa dữ liệu và xác nhận xóa
5
4.1.5 Xóa trắng form
Copy hình vào thư mục và hiển thị hình
5
4.2 Thiết kế form
Form tìm kiếm theo ngày sinh
3 7