2.5.1.1. Xác định các lớp trong chương trình
Nghiên cứu kĩ các yêu cầu Use Case và nghiên cứu các hệ thống tương ứng để xác định lớp thông qua việc xác định các đối tượng trong hệ thống. Xem xét Use Case của hệ thống tôi nhận thấy cần có các lớp như sau:
- Lớp phòng ban
- Lớp huyện
- Lớp tài liệu đính kèm
- Lớp kiểu tài liệu
- Lớp tài liệu cá nhân nhân sự
- Lớp người sử dụng
- Lớp nhân sự
- Lớp tỉnh
2.5.1.2. Xác định thuộc tính của từng lớp
Sau khi xác định được các lớp tham gia trong hệ thống, chúng ta sẽ xác định thuộc tính của từng lớp đó như sau:
- Lớp phòng ban: mã phòng ban (khóa chính), tên phòng ban, tên phòng ban
bằng tiếng Anh, trạng thái phòng ban
- Lớp huyện: mã huyện (khóa chính), tên huyện, tên huyện bằng tiếng Anh, mã
tỉnh (khóa ngoài)
- Lớp tài liệu đính kèm: mã ảnh (khóa chính), mã tài liệu (khóa ngoài), ảnh đính kèm
- Lớp kiểu tài liệu: mã kiểu tài liệu (khóa chính), tên kiểu tài liệu
- Lớp tài liệu cá nhân nhân sự: mã tài liệu (khóa chính), mã kiểu tài liệu (khóa
ngoài), mã nhân sự (khóa ngoài), ngày nhập thông tin tài liệu, mô tả thông tin tài liệu
- Lớp người sử dụng: tên tài khoản (khóa chính), mật khẩu, tên người dùng,
loại người dùng, trạng thái tài khoản
- Lớp nhân sự: mã nhân sự (khóa chính), họ tên nhân sự, họ tên tiếng Anh nhân
sự, số tài khoản ngân hàng, ngày sinh, ngày nhập công chức, cấp, bậc, trạng thái hôn nhân, mã phòng ban (khóa ngoài), chức vụ, trạng thái nhân sự, huyện (khóa ngoài)
34
2.5.1.3. Biểu đồ lớp hoàn chỉnh
hình 0-21: Biểu đồ lớp hoàn chỉnh
class Class Model
Departments
- dep_id: int
- dep_name: nvarchar
- dep_name_en: varchar
- dep_status: bit
+ insert, update, delete(): void + load_department(): void Districts - dis_id: int - dis_name: nvarchar - dis_name_en: varchar - dis_prov: int
+ insert, update, delete(): void + load_district(): void + search_districts_by_prov(): void docAttachment - img_id: int - img_doc_id: int - img_pic: image
+ insert, delete(): void
+ load_pic_by_employeeid(): void
docsType
- dt_id: int
- dt_name: nvarchar
+ insert, update, delete(): void + load_doctype(): void documents - docs_id: int - docs_type: int - docs_employee: int - docs_date: date - docs_description: nvarchar - docs_user_adding: varchar + add_employee_docs(): void + get_document_info(): void + edit_employee_docs(): void users - username: varchar - password: varchar - account_name: nvarchar - account_type: int - account_status: bit
+ insert, update, delete(): void + validate_login(): void employee - emp_id: int - emp_name: nvarchar - emp_name_en: varchar - emp_facc: varchar - emp_bd: date - emp_wd: date - emp_level: int - emp_degree: int - emp_married: bit - emp_dep: int - emp_pos: nvarchar - emp_status: bit - emp_distric: int - emp_village: nvarchar
+ insert, update, delete(): void + search_employee(): void
provinces
- prov_id: int
- prov_name: nvarchar
- prov_name_en: varchar
+ insert, update, delete(): void + load_districts_by_province(): void
35