CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.2. Thiết kế phần mềm
2.2.3. Thiết kế các lớp
2.2.3.1. Xác định các lớp biên
- Lớp biên là các lớp nhằm chuyển đổi thông tin giao tiếp giữa các tác nhân và hệ thống. Đó chính là các giao diện để tác nhân giao tiếp với hệ thống, cho phép thu thập thông tin hay xuất các kết quả. Mỗi cặp tác nhân-ca sử dụng có ít nhất 01 lớp biên.
- Dựa vào các ca sử dụng đã được xây dựng ở trên, hệ thống có các lớp biên như sau:
Đối với ca sử dụng đăng nhập:
I_TV_DN: giao diện cho phép thành viên nhập vào các thông tin đăng nhập hệ thống.
40
Đối với ca sử dụng đăng ký:
I_TV_DKTV: giao diện cho phép người dùng nhập thông tin để đăng ký thành viên của website.
Đối với ca sử dụng đặt dịch vụ:
I_NSD_DH: giao diện cho phép thành viên xem và chọn dịch vụ muốn đặt.
Đối với ca sử dụng tìm kiếm người giúp việc:
Lớp I_NSD_TKDV: giao diện cho phép tác nhân người sử dụng tìm kiếm người giúp việc.
Đối với ca sử dụng tìm kiếm nhân viên:
Lớp I_NSD_TKNV: giao diện cho phép tác nhân quản trị viên tìm kiếm thông tin của nhân viên.
Đối với ca sử dụng tìm kiếm khách hàng:
Lớp I_NSD_TKKH: giao diện cho phép tác nhân quản trị viên tìm kiếm thông tin của khách hàng.
Đối với ca sử dụng xem thông tin cá nhân:
Lớp I_NSD_XTT: giao diện cho phép tác nhân quản trị viên xem thông tin cá nhân.
Đối với ca sử dụng sửa thông tin cá nhân :
Lớp I_NSD_SuaTT: giao diện cho phép tác nhân quản trị viên sửa thông tin cá nhân.
Đối với ca sử dụng kiểm tra đơn đặt dịch vụ :
Lớp I_QL_KTĐDV: giao diện cho phép tác nhân quản lý kiểm tra đơn đặt dịch vụ.
Đối với ca sử dụng thêm dịch vụ :
Lớp I_QL_TDV: giao diện cho phép tác nhân quản lý thêm dịch vụ.
41
Đối với ca sử dụng thêm tin:
Lớp I_QL_TT: giao diện cho phép tác nhân quản lý thêm tin.
Đối với ca sử dụng sửa tin:
Lớp I_QL_ST: giao diện cho phép tác nhân quản lý sửa tin.
Đối với ca sử dụng xóa tin:
Lớp I_QL_XT: giao diện cho phép tác nhân quản lý xóa tin .
Đối với ca sử dụng thống kê:
Lớp I_QL_TK: giao diện cho phép tác nhân quản lý thống kê đơn đặt dịch vụ, doanh thu . Hệ thống thống kê liên hệ, nhân viên, khách hàng.
2.2.3.2. Xác định các lớp điều khiển
Lớp điều khiển là các lớp điều hành sự diễn biến trong một ca sử dụng.
Các lớp điều khiển chứa các quy tắc nghiệp vụ và đứng trung gian giữa lớp biên và lớp thực thể, cho phép từ màn hình có thể truy xuất được các thông tin chứa trong các lớp thực thể. Mỗi ca sử dụng có ít nhất một lớp điều khiển.
Các lớp điều khiển chính của hệ thống:
Lớp C_NSD_DK: lớp điều khiển cho ca sử dụng đăng ký thành viên.
Lớp C_NSD_DN: lớp điều khiển cho ca sử dụng đăng nhập hệ thống.
Lớp C_NSD_ĐDV: lớp điều khiển cho ca sử dụng đặt dịch vụ.
Lớp C_NSD_XTTCN: lớp điều khiển cho ca sử dụng Xem thông tin cá nhân.
Lớp C_TV_STTCN: lớp điều khiển cho ca sử dụng Sửa thông tin cá nhân.
Lớp C_QL_KTĐDV: lớp điều khiển cho ca sử dụng Kiểm tra đơn đặt dịch vụ.
Lớp C_QL_XDV: lớp điều khiển cho ca sử dụng Xóa dịch vụ.
Lớp C_QL_SDV: lớp điều khiển cho ca sử dụng Sửa dịch vụ.
42
Lớp C_NSD_TDV: lớp điều khiển cho ca sử dụng Thêm dịch vụ.
Lớp C_NSD_TKDV: lớp điều khiển cho ca sử dụng Tìm kiếm người giúp việc.
Lớp C_NSD_TKKH: lớp điều khiển cho ca sử dụng Tìm kiếm khách hàng.
Lớp C_QL_TT: lớp điều khiển cho ca sử dụng Thêm tin.
Lớp C_QL_ST: lớp điều khiển cho ca sử dụng Sửa tin.
Lớp C_QL_XT: lớp điều khiển cho ca sử dụng Xóa tin.
Lớp C_QL_TK: lớp điều khiển cho ca sử dụng Thống kê tổng số nhân viên, liên hệ , doanh thu, số lượng khách hàng.
2.2.3.3. Xác định các lớp thực thể
Lớp Tài khoản (TaiKhoan) gồm các thuộc tính:
Idtk: Id tài khoản.
Hoten: Họ và tên thành viên.
Email: email của bạn (Tên tài khoản đăng nhập).
Sdt: Số điện thoại của thành viên.
Matkhau: Mật khẩu đăng nhập vào tài khoản.
Diachi: địa chỉ liên lạc.
Lớp Quản trị (users) gồm các thuộc tính
Idtk: Id User.
Username: Tên đăng nhập.
Password : Mật khẩu đăng nhập.
Fullname: Họ và tên đầy đủ.
Email: Địa chỉ Email.
Phone: Số điện thoại.
Gioitinh: Giới tính.
43 Lớp Dịch vụ gồm các thuộc tính
Id_sevice: Id dịch vụ.
Name_sevice: Tên dịch vụ.
Preview_text : Mô tả dịch vụ.
Detail_text : Chi tiết dịch vụ.
Ud_sevice : Ưu điểm của dịch vụ.
Images : Ảnh dịch vụ.
Active : Trạng thái.
Lớp Nhân viên gồm các thuộc tính
Id_staff: Id nhân viên.
Ten_staff: Tên nhân viên.
Lht_ staff: Lương hiện tại.
Lmm_ staff: Lương mong muốn.
Quequan: Quê quán.
Tongiao : Tôn giáo.
Chieucao : Chiều cao.
Knlv : Kinh nghiệm làm việc.
Hcgd : Hoàn cảnh gia đình.
Knlv : Kỹ năng làm việc.
Sdt : Số điện thoại.
Images: Ảnh đại diện.
Vietxu : Số xu của nhân viên.
Gioitinh : Giới tính.
Cangnang : Cân nặng.
Active : Trạng thái.
44
Lớp đánh giá nhân viên (review) gồm các thuộc tính
Id_review: Id đánh giá.
Content : Nội dung đánh giá.
Id_staff : Id nhân viên.
Id_taikhoan : Id tài khoản.
Qty : Điểm đánh giá.
Lớp Tuyển dụng nhân viên gồm các thuộc tính
Id_recruitment : Id tuyển dụng.
Name : Tên tuyển dụng.
Preview_text: Mô tả.
Detail_text : Chi tiết.
Date_posted : Ngày đăng.
Active : Trạng thái.
Author : Tác giả.
Images : Ảnh đại diện.
Slug : Tạo link thân thiện cho người dùng.
Lớp New gồm các thuộc tính sau
Id_news : Id tin.
Name : Tên tin.
Id_cat : Id danh mục tin.
Preview_text: Mô tả.
Detail_text : Chi tiết.
Active : Trạng thái.
Date_posted : Ngày đăng.
Author : Tác giả.
Picture : Ảnh đại diện.
45
Slug : Tạo link thân thiện cho người dùng.
Id_tk : Id tài khoản.
Lớp giới thiệu gồm các thuộc tính sau
Id_introduce : Id giới thiệu.
Name : Tên giới thiệu.
Detail_introduce : Chi tiết.
Active : Trạng thái.
Lớp Khách hàng gồm các thuộc tính sau
Id_customer : Id khách hàng.
Name : Tên khách hàng.
Phone : Số điện thoại.
Address : Địa chỉ.
Email : Email của khách hàng.
Data : Thời gian khách hàng đặt dịch vụ.
Id_staff : Id nhân viên.
Lớp Liên hệ gồm các thuộc tính sau
Id_contact : Id liên hệ.
Fullname : Họ tên người liên hệ.
Email : Email.
Address : Địa chỉ.
Phone : Số điện thoại.
Content : Nội dung liên hệ.
Active : Trạng thái.
Lớp Bình luận gồm các thuộc tính sau
Id_comment : Id bình luận.
Content : Nội dung bình luận.
46
Id_staff : Id nhân viên.
Date : Ngày bình luận.
Id_tk : Id tài khoản.
Lớp Danh mục gồm các thuộc tính sau
Id_cat : Id danh mục.
Name : Tên danh mục.
Active : Trạng thái.
2.2.3.4 Xây dựng thẻ CRC của các lớp thực thể Bảng 2.6. Thẻ CRC lớp Staff Front:
Tên lớp: Staff ID: 1
Mô tả: Lưu trữ thông tin chi tiết của nhóm nhân viên giúp việc.
Các Ca sử dụng kết hợp: QL thông tin và tìm kiếm nhân viên Trách nhiệm
Hiển thị thông tin Nhân viên Cập nhật thông tin Nhân viên
Lớp cộng tác Customer
Back:
Thuộc tính:
Id: Id nhân viên.
Name : Tên nhân viên.
Quequan: Quê quán .
Images: Ảnh đại diện .
Slug: Tạo link thân thiện cho người dùng.
Kinang: Kĩ năng .
Mối quan hệ:
- Generalization:
- Aggregation: Customer.
- Other associations:
47
Bảng 2.7. Thẻ CRC lớp Category Front:
Tên lớp: Category ID: 2
Mô tả: Lưu trữ danh mục tin. Các Ca sử dụng kết hợp: QL thông tin danh mục, tìm kiếm nhóm tin theo danh mục . Trách nhiệm
Hiển thị thông tin Nhóm tin theo danh mục.
Cập nhật danh mục , tin .
Lớp cộng tác News
Back:
Thuộc tính:
Id_cat: Id của danh mục.
Name: tên danh mục.
Active : Trạng thái.
- Generalization:
- Aggregation: News.
- Other associations:
48
Bảng 2.8. Thẻ CRC lớp Customer Front:
Tên lớp: Customer ID: 3
Mô tả: Lưu trữ thông tin chi tiết của khách hàng.
Các Ca sử dụng kết hợp: QL thông tin khách hàng , tìm khách hàng.
Trách nhiệm Hiển thị thông tin Khách hàng Cập nhật thông tin Khách hàng
Lớp cộng tác Staff
Back:
Thuộc tính:
Id_customer : Id khách hàng.
Name: Tên khách hàng.
Sdt : Số điện thoại khách hàng.
Id_staff : Id nhân viên.
- Generalization:
- Aggregation: Staff - Other associations:
49 2.2.3.5 Biểu đồ lớp của hệ thống
Hình 2.6. Biểu đồ lớp của hệ thống