Xây dựng phần mềm quản lý và phân loại nhân viên cho công ty :Mỗi nhân viên Staff được công ty chia thành 3 loại sau: Nhân viên có kinh nghiệm lâu năm Experience, nhân viên mới ra trường
Trang 1ĐẠI HỌC UEHTRƯỜNG KINH DOANH
KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH
ĐỒ ÁN
Môn học: Lập trình hướng đối tượng
Giảng viên: Huỳnh Văn ĐứcMã lớp học phần: 23D1INF50903701Khóa – Lớp: 47-SE001
Nhóm thực hiện:
Nguyễn Việt Khôi: 31211027587
Trang 2CHƯƠNG 1 CÁC TÍNH CHẤT CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 3
2.2.1.Lớp cơ sở Staff (Nhân viên): 7
2.2.2 Lớp Fresher (kế thừa từ lớp Staff): 9
2.2.3.Lớp Intern (Kế thừa từ lớp Staff): 10
2.2.4.Lớp Experience (Kế thừa từ lớp Staff): 11
Trang 3CHƯƠNG 1 CÁC TÍNH CHẤT CỦA LẬP TRÌNH HƯỚNG ĐỐITƯỢNG
Để thể hiện được tính đa hình:
Các lớp phải có quan hệ kế thừa với cùng 1 lớp cha nào đó.Phương thức đa hình phải được ghi đè (override) ở các lớp con.
Trang 4CHƯƠNG 2 PHÂN TÍCH VÀ CÀI ĐẶT LỚP2.1 Phân tích đề bài.
Xây dựng phần mềm quản lý và phân loại nhân viên cho công ty :Mỗi nhân viên (Staff) được công ty chia thành 3 loại sau: Nhân viên có kinh nghiệm lâu năm (Experience), nhân viên mới ra trường (Fresher) , Nhân viên thực tập (Intern).
Tất cả các Employee đều có các thuộc tính là: ID, FullName, BirthDay,Phone, Email, Employee_type, Employee_count và phương thức là ShowInfo để hiển
thị thông tin của nhân viên đó (hiển thị thông tin nhân viên ra màn hình console).Trong đó :
- Employee_type có giá trị tương ứng là 0 : Experience, 1: Fresher ,
2 : Intern (tùy vào người dùng nhập vào ứng viên loại nào).
- Employee_count dùng để người dùng đếm số lượng nhân viên trong một đợt người dùng nhập nhân viên mới vào cơ sở dữ liệu (mỗi lần người dùngnhập thêm mới nhân viên thì thuộc tính Employee_count của class Employee sẽ tăng lên 1).
- Đối với nhân viên Intern có thêm thuộc tính: Chuyên ngành đang học (Majors), Học kì đang học (Semester), Tên trường đang học
CertificatedID, CertificateName, CertificateRank, CertificatedDate.
Too long to read onyour phone? Save to
read later on yourcomputer
Save to a Studylist
Trang 51 Hãy thiết kế và viết code của chương trình trên làm sao để tuân thủ theo đúng mô hình OOP đã học, áp dụng đầy đủ 4 tính chất : đóng gói
( ) , kế thừa ( ) , đa hình ( ) , trừu tượng
2 Xác định và viết code constructor cho tất cả các class.3 Xác định và viết code cho các abstract method, abstract class,
override/overload method, static field.
4 Viết chức năng cho phép thêm, sửa (Nhập ID để xác định một nhân viên, nếu tồn tại cho phép người dùng chỉnh sửa thông tin của nhân viên), xóa(xóatheo ID) các loại nhân viên trên.
5 Viết các hàm kiểm tra tính hợp lệ của ngày sinh, email, tên và số điện thoại của nhân viên Áp dụng các hàm này vào chức năng số 7.
6 Viết chương trình tìm tất cả các nhân viên intern.7 Viết chương trình tìm tất cả các nhân viên experience.8 Viết chương trình tìm tất cả các nhân viên fresher.
9 Tạo ra các BirthDayException PhoneException EmailException, , ,
FullNameException để ném ra ngoại lệ trong trường hợp birthday, email,
và phone người dùng nhập vào không hợp lệ.
Trang 62.2 Cài đặt lớp :Sơ đồ các lớp:
2.2.1.Lớp cơ sở Staff (Nhân viên):
- Nhìn sơ lược, ta có thể thấy được lớp này sẽ bao gồm các thuộc tính chung
của tất cả nhân viên như : ID FullName Dob, , (Ngày sinh), Phone(SĐT),
6
Trang 7CertificateID CertificateName CertificateRankCertificateDate
- Ngoài ra, lớp Staff còn có thêm một thuộc tính ảo là employee_type
- Lớp này cũng được khởi tạo thêm 2 phương thức ảo là :
Trang 8- Và để lấy ra thông tin về nhân viên ta lại có thêm 2 phương thức lần lượt là
2.2.2 Lớp Fresher (kế thừa từ lớp Staff):
protected
8
Trang 9- Lớp này cũng có thêm 2 phương thức là :
Phương thức cho phép thiết lập giá trị cho các thuộc tính.
- Và thuộc tính
-2.2.3 Lớp Intern (Kế thừa từ lớp Staff):
- Lớp Intern kế thừa từ lớp Staff Lớp Intern có các thuộc tính
Trang 10
Lớp này có hai phương thức: một phương thức để thiết lập giá trị cho các thuộc tính và một phương thức để hiển thị giá trị của các thuộc tính.
2.2.4 Lớp Experience (Kế thừa từ lớp Staff):
- Tương tự như lớp Intern lớp Experience cũng kế thừa từ lớp Staff Lớp Experience có các thuộc tính và
10
Trang 112.3 Cài đặt hàm Main() :
Tạo các danh sách để lưu và phân loại nhân viên :
Đưa ra menu để người dùng thực hiện các thao tác cập nhật danh sách:
Ở lựa chọn 3, hệ thống sẽ tiếp tục để ta lựa chọn loại nhân viên cần tìm qua các
Trang 12Vòng lặp (while)
Cấu trúc rẽ nhánh (switch – case)
CHƯƠNG 3 ỨNG DỤNG VÀ HẠN CHẾ3.1 Ứng dụng :
3.1.1 Đối tượng sử dụng phần mềm :- Bộ phận nhân sự hoặc các cấp lãnh đạo.
3.1.2.Mục đích sử dụng :
- Lưu trữ được khối lượng lớn thông tin nhân viên.
- Giúp tra cứu thông tin nhân viên một cách dễ dàng và nhanh chóng hơn.3.2 Hạn chế :
- Quá trình làm việc nhóm gặp nhiều hạn chế về thời gian.
- Yêu cầu chủ đề cần sử dụng những kiến thức phức tạp nên yêu cầu nhóm
phải tìm hiểu thêm.
12