Đề tài Nghiên cứu, phân tích và thiết kế hệ thống thông tin quản lý nhân sự và lương trong hệ thống hoạch định nguồn lực doanh nghiệp

Tài liệu Đề tài Nghiên cứu, phân tích và thiết kế hệ thống thông tin quản lý nhân sự và lương trong hệ thống hoạch định nguồn lực doanh nghiệp: Luận văn thạc sĩ - 1 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên MỤC LỤC DANH MỤC CÁC TỪ TIẾNG ANH VÀ VIẾT TẮT ............................................... 4 DANH MỤC CÁC BẢNG ........................................................................................ 4 DANH MỤC CÁC HÌNH, SƠ ĐỒ ........................................................................ 6 MỞ ĐẦU .......................................................................................................................... 7 Mục tiêu, phạm vi của đề tài .......................................................................................... 7 CHƯƠNG I: HỆ THỐNG HOẠCH ĐỊNH NGUỒN LỰC DOANH NGHIỆP - ERP VÀ CÁC VẤN ĐỀ ĐẶT RA.......................................................................................... 10 I. Khái niệm về ERP. .............................................................................................. 10 II. Hiện trạng ERP ở Việt Nam và n...

pdf121 trang | Chia sẻ: hunglv | Lượt xem: 1411 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Nghiên cứu, phân tích và thiết kế hệ thống thông tin quản lý nhân sự và lương trong hệ thống hoạch định nguồn lực doanh nghiệp, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Luận văn thạc sĩ - 1 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên MỤC LỤC DANH MỤC CÁC TỪ TIẾNG ANH VÀ VIẾT TẮT ............................................... 4 DANH MỤC CÁC BẢNG ........................................................................................ 4 DANH MỤC CÁC HÌNH, SƠ ĐỒ ........................................................................ 6 MỞ ĐẦU .......................................................................................................................... 7 Mục tiêu, phạm vi của đề tài .......................................................................................... 7 CHƯƠNG I: HỆ THỐNG HOẠCH ĐỊNH NGUỒN LỰC DOANH NGHIỆP - ERP VÀ CÁC VẤN ĐỀ ĐẶT RA.......................................................................................... 10 I. Khái niệm về ERP. .............................................................................................. 10 II. Hiện trạng ERP ở Việt Nam và những bất cập...................................................... 12 III. Lựa chọn phương pháp tiếp cận phát triển hệ thống ERP ..................................... 13 1. Cách tiếp cận hướng chức năng........................................................................... 13 2. Cách tiếp cận hướng đối tượng ............................................................................ 18 3. So sánh sự giống và khác nhau của hai cách tiếp cận trong quá trình phát triển phần mềm: ............................................................................................................... 20 4. Ưu điểm chính của phương pháp hướng đối tượng ............................................... 21 5. Lựa chọn phương pháp tiếp cận để phát triển Hệ thống thông tin quản trị nhân sự&Lương trong bài toán ERP. ................................................................................ 22 CHƯƠNG II: QUY TRÌNH PHÂN TÍCH, THIẾT KẾ HƯỚNG ĐỐI TƯỢNG ...... 23 I. Xây dụng mô hình nghiệp vụ ............................................................................... 23 1. Mở đầu ........................................................................................................ 23 2. Tìm hiểu nắm vững nghiệp vụ ...................................................................... 23 II. Xác định yêu cầu ................................................................................................. 25 1. Mở đầu ........................................................................................................ 25 2. Luồng công việc xác định yêu cầu ................................................................ 25 3. Tìm các tác nhân và các ca sử dụng .............................................................. 26 4. Thứ tự ưu tiên các ca sử dụng ....................................................................... 28 5. Mô tả chi tiết một ca sử dụng ....................................................................... 29 6. Tạo bản mẫu Giao diện người dùng .............................................................. 30 7. Cấu trúc mô hình ca sử dụng ........................................................................ 31 III. Phân tích .............................................................................................................. 32 1. Mở đầu ........................................................................................................ 32 2. Luồng công việc phân tích ........................................................................... 33 3. Phân tích kiến trúc........................................................................................ 33 4. Phân tích một ca sử dụng.............................................................................. 36 Luận văn thạc sĩ - 2 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 5. Phân tích một lớp ......................................................................................... 39 6. Phân tích một gói ......................................................................................... 40 IV. Thiết kế ............................................................................................................... 41 1. Mở đầu ........................................................................................................ 41 2. Luồng công việc thiết kế .............................................................................. 42 3. Thiết kế kiến trúc ......................................................................................... 42 4. Thiết kế một ca sử dụng ............................................................................... 46 5. Thiết kế một lớp ........................................................................................... 49 6. Thiết kế một hệ thống con ............................................................................ 52 CHƯƠNG III: HỆ THỐNG QUẢN LÝ NHÂN SỰ - TIỀN LƯƠNG ........................ 54 I. Chức năng nhiệm vụ ............................................................................................ 54 II. Mô tả hoạt động nghiệp vụ quy trình quản lý nhân sự, tiền lương ......................... 55 1.Đặc tả yêu cầu ...................................................................................................... 55 2.Quy trình quản lý nhân sự tiền lương .................................................................... 57 2.1 Biểu đồ hoạt động nghiệp vụ quản lý thông tin tuyển dụng nhân viên ....... 57 2.2 Biểu đồ hoạt động nghiệp vụ quản lý Hợp đồng lao động ......................... 59 2.3 Biểu đồ hoạt động nghiệp vụ quản lý Quá trình công tác .......................... 62 2.4 Biểu đồ hoạt động nghiệp vụ quản lý quá trình khen thưởng, kỷ luật ........ 63 2.5 Biểu đồ hoạt động nghiệp vụ quản lý Quá trình đào tạo ............................ 66 2.6 Biểu đồ hoạt động nghiệp vụ quản lý Lương ............................................ 68 Tổng hợp các chức năng của quy trình quản lý Nhân sự - Tiền lương ......................... 69 III. Phát triển mô hình ca sử dụng .............................................................................. 71 1. Xác định tác nhân ................................................................................................ 71 2. Xác định ca sử dụng............................................................................................. 71 3. Mô hình ca sử dụng mức gộp ............................................................................... 73 3.1 Mô hình ca sử dụng mức gộp quản lý thông tin tuyển dụng nhân viên ...... 73 3.2 Mô hình ca sử dụng mức gộp quản lý Hợp đồng lao dộng ........................ 74 3.3 Mô hình ca sử dụng mức gộp quản lý Khen thưởng – Kỷ luật................... 75 3.4 Mô hình ca sử dụng mức gộp quản lý Quá trình đào tạo ........................... 75 3.5 Mô hình ca sử dụng mức gộp quản lý Lương ............................................ 76 IV. Mô tả chi tiết các ca sử dụng điển hình................................................................. 76 1.Ca sử dụng cập nhật danh mục công việc .............................................................. 76 2.Ca sử dụng cập nhật Hợp đồng lao động ............................................................... 79 2.1 Ca sử dụng thêm mới hợp đồng lao động .................................................. 80 2.2 Ca sử dụng sửa thông tin hợp đồng lao động ............................................ 81 2.3 Ca sử dụng xóa hợp đồng lao động ........................................................... 82 2.4 Ca sử dụng tìm kiếm hợp đồng lao động ................................................... 82 Luận văn thạc sĩ - 3 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên V. Phân tích hệ thống ............................................................................................... 83 1. Ca sử dụng cập nhật danh mục công việc ............................................................. 83 2. Ca sử dụng cập nhật Hợp đồng lao động .............................................................. 84 2.1 Mô hình khái niệm ................................................................................... 84 2.2 Biểu đồ tuần tự ......................................................................................... 86 VI. Biểu đồ lớp .......................................................................................................... 87 1. Biểu đồ lớp quản lý thông tin Tuyển dụng nhân viên ........................................... 87 2. Biểu đồ lớp quản lý Hợp đồng lao động ............................................................... 88 3. Biểu đồ lớp quản lý Quá trình công tác ................................................................ 89 4. Biểu đồ lớp quản lý Quá trình khen thưởng – kỷ luật ........................................... 90 5. Biểu đồ lớp quản lý Quá trình đào tạo .................................................................. 91 6. Biểu đồ lớp quản lý Lương .................................................................................. 92 VII. Thiết kế bảng thực thể dữ liệu .............................................................................. 93 VIII. Chương trình thử nghiệm ................................................................................... 116 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................. 118 TÀI LIỆU THAM KHẢO ......................................................................................... 121 Luận văn thạc sĩ - 4 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên DANH MỤC CÁC TỪ TIẾNG ANH VÀ VIẾT TẮT Từ gốc Giải nghĩa HTTT Hệ thông thông tin ERP (Enterprise Resource Planning) Hoạch định nguồn lực doanh nghiệp CSDL Cơ sở dữ liệu CNTT Công nghệ thông tin DANH MỤC CÁC BẢNG Bảng 1: Đợt tuyển dụng - NS_UV_DotTuyendung .......................................................... 93 Bảng 2: Đề nghị tuyển dụng - NS_DeNghiTuyenDung .................................................... 93 Bảng 3: Vị trí tuyển dụng - NS_Vitri ............................................................................... 93 Bảng 4: Chi tiết đề nghị tuyển dụng - NS_DeNghiChiTiet ............................................... 94 Bảng 5: Hội đồng tuyển dụng - NS_Hoidong ................................................................... 94 Bảng 6: Chi tiết hội đồng - NS_ChiTietHoidong ............................................................. 94 Bảng 7: Kết quả phỏng vấn - Kiểm tra - NS_KetQuaPhongVan....................................... 94 Bảng 8: Hồ sơ dự tuyển - NS_UV_Hosotuyendung ......................................................... 95 Bảng 9: Bằng cấp của ứng viên - NS_UV_BangCap ........................................................ 95 Bảng 10: Quá trình làm việc của ứng viên - NS_UV_QuaTrinhLamViec ........................ 96 Bảng 11: Quá trình học tập của ứng viên - NS_UV_QuaTrinhHocTap ............................ 96 Bảng 12: Danh mục công ty thành viên/Chi nhánh - NS_DM_CongTy ............................ 96 Bảng 13: Danh mục bộ phận - NS_DM_Bophan ............................................................. 98 Bảng 14: Danh mục Chức danh - NS_DM_Chucdanh ..................................................... 98 Bảng 15 : Danh mục Chức vụ - NS_DM_Chucvu ............................................................ 98 Bảng 16: Danh mục Bằng cấp - NS_DM_Bangcap .......................................................... 98 Bảng 17: Danh mục Loại hợp đồng - NS_DM_Hopdong ................................................. 99 Bảng 18: Danh mục Lý do vắng mặt- NS_DM_LydoVang .............................................. 99 Bảng 19: Danh mục Ca làm việc - NS_DM_Ca ............................................................... 99 Bảng 20: Danh mục Bộ phận - NS_DM_BoPhan ............................................................. 99 Bảng 21: Thông tin nhân viên - NS_Nhanvien ............................................................... 100 Bảng 22: Hợp đồng lao động/Thử việc - NS_HopdongLD ............................................. 101 Bảng 23: Nhận xét thử việc - NS_NhanxetThuviec ........................................................ 101 Luận văn thạc sĩ - 5 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Bảng 24: Tạm hoãn hợp đồng - NS_TamhoanHDLD..................................................... 103 Bảng 25: Chấm dứt hợp đồng - NS_ChamdutHDLD ..................................................... 103 Bảng 26: Thông tin sức khỏe nhân viên - NS_SucKhoe ................................................. 103 Bảng 27: Thông tin quan hệ nhân viên - NS_QuanHe .................................................... 104 Bảng 28: Lý lịch làm việc nhân viên - NS_LylichLamviec ............................................ 104 Bảng 29: Quá trình làm việc nhân viên - NS_QuatrinhLamviec ..................................... 104 Bảng 30: Nghỉ phép năm nhân viên - NS_NghiphepNam .............................................. 105 Bảng 31: Nghỉ phép nhân viên - NS_Nghiphep ............................................................. 105 Bảng 32: Bảo hiểm Y tế nhân viên - NS_BHYT ............................................................ 105 Bảng 33: Bảo hiểm xã hội nhân viên - NS_BHXH ........................................................ 106 Bảng 34: Xếp ca nhân viên - NS_XepCa ....................................................................... 106 Bảng 35: Lương cơ bản - NS_LuongCoBan .................................................................. 106 Bảng 36: Bảng Hệ số lương - NS_BangHeSoLuong ...................................................... 107 Bảng 37: Bảng lương chi tiết - NS_BangLuongChitiet .................................................. 107 Bảng 38: Bảng chấm công - NS_BangChamCong ......................................................... 108 Bảng 39: Tạm ứng - NS_TamUng ................................................................................. 109 Bảng 40: Bảng mã chấm công - NS_MaChamcong ....................................................... 109 Bảng 41: Cách tính lương - NS_CachtinhLuong ............................................................ 109 Bảng 42: Bảng thuế thu nhập - NS_ThueThuNhap ........................................................ 111 Bảng 43: Ngày nghỉ - NS_NgayNghi............................................................................. 111 Bảng 44: Yêu cầu khen thưởng kỷ luật - NS_YeucauKTKL .......................................... 111 Bảng 45: Loại khen thưởng kỷ luật - NS_LoaiKTKL .................................................... 111 Bảng 46: Hội đồng khen thưởng kỷ luật - NS_HoidongKTKL ....................................... 112 Bảng 47: Chi tiết hội đồng khen thưởng kỷ luật - NS_ChitietHoidongKTKL ................ 112 Bảng 48: Kết luận khen thưởng kỷ luật - NS_KetluanKTKL ......................................... 112 Bảng 49: Danh mục dự án - NS_DM_DuAn .................................................................. 112 Bảng 50: Thành viên dự án - NS_ThanhvienDuAn ........................................................ 113 Bảng 51: Danh mục công việc - NS_DM_Congviec ...................................................... 113 Bảng 52: Quá trình công tác - NS_QuatrinhCongtac ...................................................... 113 Bảng 53: Yêu cầu đào tạo - NS_YeucauDaotao ............................................................. 113 Bảng 54: Khóa học - NS_KhoaHoc ............................................................................... 114 Bảng 55: Khóa học - NS_ChiTietKhoaHoc ................................................................... 114 Bảng 56: Phê duyệt khóa học - NS_PheDuyetKhoahoc ................................................. 115 Bảng 57: Qua trình đào tạo - NS_QuatrinhDaotao ......................................................... 115 Luận văn thạc sĩ - 6 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên DANH MỤC CÁC HÌNH, SƠ ĐỒ. Hình 1: Biểu đồ hoạt động nghiệp vụ quản lý thông tin Tuyển dụng Nhân viên ................ 57 Hình 2: Biểu đồ hoạt động nghiệp vụ quản lý Hợp đồng lao động.................................... 60 Hình 3: Biểu đồ hoạt động nghiệp vụ quản lý Quá trình công tác ..................................... 62 Hình 4: Biểu đồ hoạt động nghiệp vụ quản lý Khen thưởng – Kỷ luật .............................. 63 Hình 5: Biểu đồ hoạt động nghiệp vụ quản lý Quá trình đào tạo ...................................... 66 Hình 6: Biểu đồ hoạt động nghiệp vụ quản lý Lương ....................................................... 68 Hình 7: Mô hình ca sử dụng mức gộp quản lý Tuyển dụng nhân viên .............................. 73 Hình 8: Mô hình ca sử dụng mức gộp quản lý Hợp đồng lao động ................................... 74 Hình 9: Mô hình ca sử dụng mức gộp quản lý Khen thưởng – Kỷ luật ............................. 75 Hình 10: Mô hình ca sử dụng mức gộp quản lý Quá trình đào tạo .................................... 75 Hình 11: Mô hình ca sử dụng mức gộp quản lý Lương .................................................... 76 Hình 12: Mô hình ca sử dụng mức gộp quản lý Công việc ............................................... 77 Hình 13: Mô tả chi tiết ca sử dụng cập nhật Hợp đồng lao động ...................................... 79 Hình 14: Sơ đồ liên kết ca sử dụng cập nhật danh mục Công việc .................................... 83 Hình 15: Biểu đồ tuần tự ca sử dụng cập nhật danh mục Công việc ................................. 83 Hình 16: Sơ đồ liên kết ca sử dụng cập nhật Hợp đồng lao động ...................................... 85 Hình 17: Biểu đồ tuần tự ca sử dụng cập nhật Hợp đồng lao động ................................... 86 Hình 18: Biểu đồ lớp quản lý thông tin tuyển dụng nhân viên .......................................... 87 Hình 19Biểu đồ lớp quản lý thông tin Hợp đồng lao động ............................................... 88 Hình 20: Biểu đồ lớp quản lý Quá trình công tác ............................................................. 89 Hình 21: Biểu đồ lớp quản lý Quá trình khen thưởng – kỷ luật ........................................ 90 Hình 22: Biểu đồ lớp quản lý Quá trình đào tạo ............................................................... 91 Hình 23: Biểu đồ lớp quản lý Lương ............................................................................... 92 Luận văn thạc sĩ - 7 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên MỞ ĐẦU Mục tiêu, phạm vi của đề tài Đề tài nghiên cứu, phân tích và thiết kế Hệ thống thông tin quản lý Nhân sự & Lương trong Hệ thống hoạch định nguồn lực doanh nghiệp (Enterprise Resource Planning - ERP) làm cơ sở cho việc xây dựng sản phẩm phần mềm ERP phục vụ, hỗ trợ và hiện đại hoá công tác quản lý các hoạt động của doanh nghiệp. ERP - Hoạch định nguồn lực doanh nghiệp (Enterprise resources Planning) là bộ giải pháp công nghệ thông tin có khả năng tích hợp toàn bộ ứng dụng quản lí sản xuất kinh doanh vào một hệ thống duy nhất, có thể tự động hoá các quy trình quản lý, điều hành. Mọi hoạt động của doanh nghiệp, từ quản trị nguồn nhân lực, quản lý dây chuyền sản xuất và cung ứng vật tư, quản lý tài chính nội bộ đến việc bán hàng, tiếp thị sản phẩm, trao đổi với các đối tác, với khách hàng... đều được thực hiện trên một hệ thống duy nhất. Đặc trưng của phần mềm ERP là có cấu trúc phân hệ (module). Phần mềm có cấu trúc phân hệ là một tập hợp gồm nhiều phần riêng lẻ, mỗi phần có một chức năng riêng. Từng phân hệ có thể hoạt động độc lâp nhưng do bản chất của hệ thống ERP, chúng kết nôi với nhau để tự động chia sẻ thông tin với các phân hệ khác nhau nhằm tạo nên một hệ thống mạnh hơn. Theo tài liệu chính thức của CIBRES, cơ quan tổ chức thi và cấp chứng chỉ CIERP (Certified Implementer of ERP – Chứng chỉ chuyên viên triển khai hệ thống ERP) thì một ERP tiêu chuẩn sẽ bao gồm các thành phần sau đây: 1. Kế toán tài chính + Sổ cái + Sổ phụ tiền mặt, sổ phụ ngân hàng + Bán hàng và các khoản phải thu + Mua hàng và các khoản phải trả 2. Nhân sự & Lương 3. Tài sản cố định 4. Hậu cần + Quản lý kho và tồn kho + Quản lý giao nhận Luận văn thạc sĩ - 8 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên + Quản lý nhà cung cấp 5. Sản xuất + Lập kế hoạch sản xuất + Lập kế hoạch nguyên vật liệu + Lập kế hoạch phân phối + Lập kế hoạch điều phối năng lực + Công thức sản phẩm + Quản lý luồng sản xuất + Quản lý mã vạch + Quản lý lệnh sản xuất 6. Dự báo và lập kế hoạch 7. Công cụ lập báo cáo Như vậy, ERP là một tổ hợp các thành phần dành cho các phòng ban chức năng trong một doanh nghiệp như kế toán, bán hàng, vật tư, sản xuất... Một hệ thống ERP cụ thể có thể gồm không đầy đủ các thành phần trên. Nhưng, như đã nói, "tích hợp" mới là điều chính yếu nhất của ERP. Tích hợp ở đây hiểu là mọi phân hệ trong ERP cuối cùng đều đưa dữ liệu về một CSDL chung và duy nhất, sau đó dữ liệu sẽ tự tìm đường đi để có mặt trong các bước xử lý tiếp theo ở những bộ phận liên quan, cũng như trên các báo cáo tài chính và quản trị. Nói một cách khác, không có dữ liệu nào cần phải nhập vào hai lần trong toàn bộ hệ thống này, là điều khó tránh khi doanh nghiệp sử dụng nhiều hệ thống chức năng riêng rẽ trước kia. ERP giúp doanh nghiệp đánh giá được dịch vụ hoặc vùng tập trung nhiều khách hàng, đánh giá dịch vụ khách hàng ưa thích sử dụng cũng như khách hàng tiềm năng. Bên cạnh đó, ERP còn thể hiện nhiều lợi ích khác với tính năng tích hợp như: Phát triển khả năng mua bán và đặt hàng cũng như đăng kí dịch vụ trên mạng; điều phối toàn bộ giá cả cho các dự án; Theo dõi, quản lí và sử dụng các tài sản; Xác định quyền hạn và trách nhiệm của từng người tham gia hệ thống ... Như đã giới thiệu ở trên, ERP là một hệ thống quản lý bao trùm lên mọi hoạt động của doanh nghiệp. Trong phạm vi đề tài này em chỉ tiến hành nghiên cứu, phân tích và thiết kế một phần trong bài toán ERP đó là: Xây dựng hệ thống thông tin Quản lý Nhân sự & Tiền lương trong hệ thống ERP . Luận văn thạc sĩ - 9 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Luận văn thạc sĩ - 10 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên CHƯƠNG I: HỆ THỐNG HOẠCH ĐỊNH NGUỒN LỰC DOANH NGHIỆP - ERP VÀ CÁC VẤN ĐỀ ĐẶT RA I. Khái niệm về ERP. Hệ thống hoạch định Nguồn lực Doanh nghiệp - Enterprise Resource Planning (ERP) là một thuật ngữ được dùng liên quan tới một loạt hoạt động của doanh nghiệp, do phần mềm máy tính hỗ trợ , giúp doanh nghiệp quản lý một cách hiệu quả các nguồn lực. Đồng thời quản lý, theo dõi và đánh giá các hoạt động trong doanh nghiệp bao gồm: kế toán, phân tích tài chính, quản lý mua hàng, quản lý tồn kho, hoạch định và quản lý sản xuát, quản lý hậu cần, quản lý quan hệ với khách hàng, v.v... Mục tiêu tổng quát của hệ thống này là đảm bảo các nguồn lực thích hợp của doanh nghiệp như nhân lực, vật tư, máy móc và tiền bạc có sẵn với số lượng đủ khi cần, bằng cách sử dụng các công cụ hoạch định và lên kế hoạch. Các nhà quản lý đã sớm nhận thấy máy tính không chỉ đơn thuần là một công cụ trợ giúp nâng cao năng suất mà đã trở thành công cụ chủ đạo giúp doanh nghiệp tạo sự chuyển biến triệt để trong cách làm việc, tiết kiệm chi phí, nâng cao chất lượng sản phẩm cũng như cải thiện đáng kể mối quan hệ với khách hàng... Từ những năm 60 đến nay, trên thế giới đã có nhiều hệ thống quản lý được áp dụng cho các doanh nghiệp: MRP – Material Requirement Planning – Hoạch định nhu cầu nguyên liệu MRPII – Manufacturing Resource Planning – Hoạch định nguồn lực sản xuất MES – Manufacturing Execution System – Hệ thống điều hành sản xuất ERP – Enterprise Resource Planning – Hoạch định nguồn lực doanh nghiệp ERM – Enterprise Resource Management – Quản trị nguồn lực doanh nghiệp CRM – Client Relationship Management – Quản trị quan hệ khách hàng SCM – Supply Chain Management – Quản trị dây chuyền cung cấp Luận văn thạc sĩ - 11 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên MRP và MRPII: Hệ thống MRP được phát triển từ giữa những năm 60, đến giữa những năm 70 thì chuyển qua hệ thống MRPII. MRP chủ yếu đưa ra các tính toán về nguyên vật liệu cần thiết để hoàn thành kế hoạch sản xuất, MRPII chú trọng vào khái niệm quản lý, bao gồm quản lý lao động và chi phí. Thời kỳ này các hệ thống chạy trên các hệ thống máy lớn Mainframe và máy Mini. ERP: Đến những năm 90, cùng với sự phát triển của công nghệ phần cứng và mạng máy tính dựa trên cấu trúc Client – Server sử dụng máy chủ PC thay cho máy lớn trở thành phổ biến, các hệ thống MRP nhường chỗ cho hệ thống mới là ERP. ERP không chỉ giới hạn trong quản lý sản xuất mà còn bao trùm lên toàn bộ các hoạt động chính của doanh nghiệp như: Kế toán, Quản trị nhân lực, Quản trị hậu cần, Quản trị hệ thống bán hàng... Thập kỷ 90 là thời kỳ hoàng kim của ERP tất cả các công ty đa quốc gia và đại đa số các công ty tại các nước phát triển đều đã triển khai ERP. Đầu thế kỷ 21 thế giới bắt đầu nói nhiều đến bước phát triển tiếp theo của ERP là ERM cùng các hệ thống khác tận dụng tiến bộ của công nghệ Internet là CRM và SCM. ERM: ERM tuy gần với ERP về cách viết nhưng là khái niệm rộng hơn, nó không phải là một bước tiến hóa về chức năng hay kỹ thuật như MRP tiến hóa lên ERP, ERM thực chất là một bộ công cụ quản lý doanh nghiệp mà phần mềm chỉ là một bộ phận. Các công cụ khác có thể hoàn toàn mang tính quản lý như: Huấn luyện, Kỹ thuật quản trị dự án... các yếu tố phi máy tính của ERM là điểm tiến hóa rất quan trọng, nhiều dự án ERP không thành công là do thiếu yếu tố này. CRM: Đặt trọng tâm vào khả năng giao tiếp với bên ngoài (Khách hàng, Nhà cung cấp...) của một hệ thống quản lý. CRM quản lý từ phân tích thị trường, lập kế hoạch tiếp thị và bán hàng đến các hoạt động tiếp thị như chiến dịch tiếp thị trực tiếp qua Email, quản lý hoạt động chăm sóc khách hàng... CRM còn phân tích nhiều chiều về khách hàng để giúp doanh nghiệp định hướng các hoạt động phát triển sản phẩm và bán hàng. SCM: Được định nghĩa là quá trình từ lập kế hoạch mua nguyên vật liệu, lựa chọn nhà cung cấp, đưa ra các quy trình theo đó nhà cung cấp sẽ phải tuân thủ trong việc cung cấp nguyên vật liệu cho doanh nghiệp, lập kế hoạch cho lượng hàng sản xuất, Luận văn thạc sĩ - 12 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên quản lý quá trình giao hàng cho đến quản lý hàng trả lại và hỗ trợ khách hàng trong việc nhận hàng. Trong các hệ thống phần mềm quản lý nói trên, thì ERP là quan trọng nhất, đó là xương sống của mọi hệ thống quản lý trong các công ty lớn trên thế giới. Tất cả các công ty đa quốc gia hiện nay sẽ ngừng hoạt động nếu hệ thống ERP của họ bị trục trặc vì bằng cách thủ công, công ty không thể kiểm soát được hàng trăm chi nhánh và hàng triệu giao dịch diễn ra hàng ngày trên khắp thế giới. Với các công ty vừa và nhỏ, ERP cũng là công cụ chính để họ tăng hiệu quả quản lý. II. Hiện trạng ERP ở Việt Nam và những bất cập ERP là sản phẩm của sự kết hợp giữa công nghệ thông tin cùng với bề dày kinh nghiệm quản lý trong đó cho phép nhà quản lý tối ưu hoá quy trình hoạt động theo hệ thống quản trị tiêu chuẩn quốc tế. Một hệ thống hoạt động mang tính mạng lưới, do vậy yêu cầu người phát triển hệ thống phải có cái nhìn sâu rộng, tổng quát không những về CNTT mà còn phải có tầm nhìn chiến lược trong quản lý. Ở Việt Nam hiện còn tụt hậu khá xa trong tổ chức sản xuất, phân phối và triển khai ERP. Số lượng các nhà sản xuất trong nước và nhập khẩu cũng đã đưa ra được sự lựa chọn nhất định cho nhiều đối tượng khách hàng. Tuy nhiên, chưa hãng phần mềm ERP của Việt Nam nào xây dựng được một hệ thống ERP mạnh và chuyên nghiệp. Các công ty lớn trong nước cũng mới chỉ bắt đầu bắt tay vào xây dựng sản phẩm. Các hãng phần mềm của Việt Nam chủ yếu làm đại lý Hệ thống phân phối sản phẩm cho các hãng sản xuất ERP của nước ngoài, nên chỉ tác động được vào một khoảng hẹp các khách hàng có vốn đầu tư nước ngoài. Việc triển khai ERP cho các doanh nghiệp Việt Nam còn gặp rất nhiều khó khăn, hầu hết các doanh nghiệp đều chưa triển khai ERP với nhiều lý do chủ quan và khách quan sau: + Nhận thức: Các đối tượng triển khai ERP chủ yếu là các doanh nghiệp lớn, các doanh nghiệp Việt Nam chưa có thói quen chi trả một số tiền lớn để mua một hệ thống phần mềm quản lý các hoạt động của họ. Phần lớn chỉ dừng lại ở mức triển khai một số phần mềm kế toán và một số phần mềm quản lý khác cho các bộ phận Luận văn thạc sĩ - 13 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên trong công ty. Tuy nhiên những phần mềm này hoạt động đơn lẻ không chia sẻ thông tin với nhau. + Quy trình quản lý: Để triển khai được hệ thống ERP đòi hỏi doanh nghiệp phải có các quy trình chặt chẽ, khoa học trong mọi hoạt động. Muốn áp dụng được ERP trước hết phải chuẩn hóa quy trình nghiệp vụ, hiện nay hầu hết các doanh nghiệp Việt nam chưa có quy trình nghiệp vụ rõ ràng, cụ thể do đó không phải doanh nghiệp nào cũng dùng được ERP. Những doanh nghiệp đã đạt chuẩn ISO về quy trình quản lý sẽ dễ dàng hơn khi triển khai ERP. + Yêu cầu triển khai cao: ERP là một hệ thống phức tạp, do vậy khi triển khai phải đảm bảo các điều kiện cần thiết như cơ cấu nhân sự bao gồm cả phía triển khai và khách hàng, cán bộ tư vấn quản lý, tư vấn kỹ thuật, tư vấn hệ thống... Công việc triển khai được chia làm nhiều giai đoạn: Phân tích và lập kế hoạch, thiết kế, chuyển đổi dữ liệu, chạy thử, chuyển giao. III. Lựa chọn phương pháp tiếp cận phát triển hệ thống ERP Có hai cách tiếp cận cơ bản để phát triển phần mềm: · Cách tiếp hướng chức năng và · Cách tiếp cận hướng đối tượng. 1. Cách tiếp cận hướng chức năng Phần lớn các chương trình được viết bằng ngôn ngữ lập trình như C, VB, FoxPro hay Pascal từ trước đến nay đều được thực hiện theo cách tiếp cận hướng chức năng hay còn được gọi là cách tiếp cận hướng thủ tục. Cách tiếp cận này có những đặc trưng sau: Dựa vào chức năng, nhiệm vụ là chính. Khi khảo sát, phân tích một hệ thống chúng ta thường tập trung vào các nhiệm vụ mà nó cần thực hiện. Chúng ta tập trung trước hết nghiên cứu các yêu cầu của bài toán để xác định các chức năng chính của hệ thống. Do đó, hệ thống phần mềm được xem như là tập các chức năng, nhiệm vụ cần tổ chức thực thi. Phương pháp phân tích hệ thống có cấu trúc bắt nguồn vững chắc từ cách tiếp cận hệ thống. Hệ thống được hoàn thiện theo cách phân tích top-down. Phân tích hệ thống có cấu trúc không chỉ là “một ý tưởng tốt” hay một cái gì đó mà nhà thực Luận văn thạc sĩ - 14 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên hành tìm ra để làm việc, nó còn là ứng dụng thực tế của một khái niệm lý thuyết đầy hiệu lực. Theo cách tiếp cận này, việc phân rã chức năng và làm mịn dần được thực hiện theo cách từ trên xuống. Khả năng của con người là có giới hạn khi khảo sát, nghiên cứu để hiểu và thực thi những gì mà hệ thống thực tế đòi hỏi. Để thống trị (quản lý được) độ phức tạp của những vấn đề phức tạp trong thực tế thường chúng ta phải sử dụng nguyên lý chia để trị, nghĩa là phân tách nhỏ các chức năng chính thành các chức năng đơn giản hơn theo cách từ trên xuống. Quá trình này được lặp lại cho đến khi thu được những đơn thể chức năng tương đối đơn giản, hiểu được và thực hiện cài đặt chúng mà không làm tăng thêm độ phức tạp để liên kết chúng trong hệ thống. Độ phức tạp liên kết các thành phần chức năng của hệ thống thường là tỉ lệ nghịch với độ phức tạp của các đơn thể. Vì thế một vấn đề đặt ra là có cách nào để biết khi nào quá trình phân tách các đơn thể chức năng hay còn gọi là quá trình làm mịn dần này kết thúc. Thông thường thì quá trình thực hiện phân rã các chức năng của hệ thống phụ thuộc nhiều vào độ phức hợp của bài toán ứng dụng và vào trình độ của những người tham gia phát triển phần mềm. Một hệ thống được phân tích dựa trên các chức năng hoặc quá trình sẽ được chia thành các hệ thống con và tạo ra cấu trúc phân cấp các chức năng. Ví dụ, hệ thống quản lý thư viện có thể phân chia từ trên xuống như sau: Chúng ta có thể khẳng định là các chức năng của nhiều hệ thống thông tin quản lý đều có thể tổ chức thành sơ đồ chức năng theo cấu trúc phân cấp có thứ bậc. Các hoạt động trong quá trình phân tích HTTT được tiến hành theo một trình tự khoa học, mang tính công nghệ cao. Trước hết phải có kế hoạch phân tích tỷ mỷ, chu đáo đễn từng khâu công việc. Sau đó tiến hành từ bước phân tích chức năng của HTTT, phân tích dòng thông tin nghiệp vụ và sau đó tiến hành mô hình Hệ thống quản lý thư viện 1. Quản lý bạn đọc 2. Cho mượn tài liệu 3. Nhận trả tài liệu 4. Nhắc trả tài liệu Luận văn thạc sĩ - 15 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên hoá HTTT bằng các mô hình như sơ đồ luồng dữ liệu, các ma trận phân tích phạm vi, cân đối chức năng và dữ liệu. Cuối cùng là bản báo cáo chi tiết toàn bộ những kết quả của quá trình phân tích hệ thống. Kết quả của giai đoạn phân tích sẽ là cơ sở rất quan trọng để đưa ra quyết định có tiếp tục thiết kế hệ thống hay không. Và nếu có thì tài liệu phân tích sẽ là nền tảng cơ bản để thiết kế hệ thống. Quá trình phân tích thiết kế sử dụng một nhóm các công cụ, kĩ thuật và mô hình để ghi nhận phân tích hệ thống hiện tại cũng như các yêu cầu mới của người sử dụng, đồng thời xác định khuôn dạng mới của hệ thống tương lai. Phân tích thiết kế hệ thống có cấu trúc có những quy tắc chung, chỉ ra những công cụ sẽ được dùng ở từng giai đoạn của quá trình phát triển và quan hệ giữa chúng. Mỗi quy tắc gồm một loạt các bước và giai đoạn, được hỗ trợ bởi các mẫu và các bảng kiểm tra, sẽ áp đặt cách tiếp cận chuẩn hoá cho tiến trình phát triển. Giữa các bước có sự phụ thuộc lẫn nhau, sản phẩm của bước này là đầu vào của bước tiếp theo. Điều này làm cho hệ thống đáng tin cậy hơn. Có sự tách bạch giữa mô hình vật lý và mô hình lôgic. Mô hình vật lý thường được dùng để khảo sát hệ thống hiện tại và thiết kế hệ thống mới. Mô hình lôgic dùng cho việc phân tích các yêu cầu của hệ thống. Một điểm khá nổi bật là trong phương pháp phân tích có cấu trúc này đã ghi nhận vai trò của người sử dụng trong các giai đoạn phát triển hệ thống. Trong chu trình phát triển hệ thống, người sử dụng tham gia vào hầu hết các pha trong vòng đời của mình, trừ pha mã hoá Các giai đoạn thực hiện gần nhau trong quá trình phân tích thiết kế có thể tiến hành gần như song song. Mỗi giai đoạn có thể cung cấp những sửa đổi phù hợp cho một hoặc nhiều giai đoạn trước đó. Quá trình xây dựng một HTTT bao gồm nhiều giai đoạn, mỗi giai đoạn có một nhiệm vụ cụ thể, giai đoạn sau dựa trên thành quả của giai đoạn trước, giai đoạn trước tạo tiền đề cho giai đoạn sau. Do vậy, để đảm bảo cho quá trình thiết kế hệ thống được hiệu quả thì người phải tuân theo nguyên tắc tuần tự, không được bỏ Luận văn thạc sĩ - 16 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên qua bất cứ một giai đoạn nào. Đồng thời sau mỗi một giai đoạn, trên cơ sở phân tích đánh giá bổ sung phương án được thiết kế, người ta có thể quay lại giai đoạn trước đó để hoàn thiện thêm rồi mới chuyển sang thiết kế giai đoạn tiếp theo, theo cấu trúc chu trình (lặp). Đây là một phương pháp khoa học làm cho quá trình thiết kế hệ thống trở nên mềm dẻo, không cứng nhắc và mỗi giai đoạn đều được bổ sung hoàn thiện thêm trong quy trình thiết kế. Giảm được độ phức tạp khi phát triển hệ thống do được hỗ trợ bởi những tiến bộ trong cả phần cứng và phần mềm. Chương trình được thể hiện dưới cùng dạng ngôn ngữ thế hệ thứ tư (4GL) nên không cần những lập trình viên chuyên nghiệp. Việc thiết kế kết hợp với các bản mẫu giúp cho người dùng sớm hình dung được hệ thống mới, trong đó vai trò của người sử dụng được nhấn mạnh đặc biệt. Người phát triển và khách hàng gặp nhau và xác định mục tiêu tổng thể cho phần mềm, xác định các yêu cầu nào đã biết, miền nào cần khảo sát thêm. Rồi đến việc thiết kế nhanh. Thiết kế nhanh tập trung vào việc biểu diễn các khía cạnh của phần mềm thấy được đối với người dùng (cách đưa vào và định dạng đưa ra). Thiết kế nhanh ® xây dựng một bản mẫu ® người dùng đánh giá ® làm mịn các yêu cầu cho phần mềm. Tiến trình lặp đi lặp lại xảy ra để cho bản mẫu được “vi chỉnh” thoả mãn yêu cầu của khách, đồng thời giúp người phát triển hiểu kỹ hơn cần phải thực hiện nhu cầu nào Các đơn thể chức năng trao đổi với nhau bằng cách truyền tham số hay sử dụng dữ liệu chung. Một hệ thống phần mềm bao giờ cũng phải được xem như là một thể thống nhất, do đó các đơn thể chức năng phải có quan hệ trao đổi thống tin, dữ liệu với nhau. Trong một chương trình gồm nhiều hàm (thực hiện nhiều chức Giai đoạn n Giai đoạn n+1 Giai đoạn n+2 Luận văn thạc sĩ - 17 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên năng khác nhau) muốn trao đổi dữ liệu được với nhau thì nhất thiết phải sử dụng dữ liệu liệu chung hoặc liên kết với nhau bằng cách truyền tham biến. Mỗi đơn thể chức năng không những chỉ thao tác, xử lý trên những biến dữ liệu cục bộ mà còn phải sử dụng các biến chung, thường đó là các biến toàn cục. Với việc sử dụng những biến toàn cục thì những bất lợi trong quá trình thiết kế và lập trình là khó tránh khỏi. Đối với những dự án lớn, phức tạp có nhiều nhóm thamgia, mỗi nhóm chỉ đảm nhận một số chức năng nhất định và như thế khi một nhóm có yêu cầu thay đổi về dữ liệu chung đó thì sẽ kéo theo tất cả các nhóm khác có liên quan cũng phải thay đổi theo. Kết quả là khi có yêu cầu thay đổi của một đơn thể chức năng sẽ ảnh hưởng tới các chức năng khác và do đó sẽ ảnh hưởng tới hiệu xuất lao động của các nhóm cũng như của cả dự án. Mặt khác, các chức năng của hệ thống có nhu cầu phải thay đổi là tất yếu và rất thường xuyên. Tính mở và thích nghi của hệ thống được xây dựng theo cách tiếp cận này là thấp vì: Hệ thống được xây dựng dựa vào chức năng là chính mà trong thực tế thì chức năng, nhiệm vụ của hệ thống lại hay thay đổi. Để đảm bảo cho hệ thống thực hiện được công việc theo yêu cầu, nhất là những yêu cầu về mặt chức năng đó lại bị thay đổi là công việc phức tạp và rất tốn kém. Ví dụ: giám đốc thư viện yêu cầu thay đổi cách quản lý bạn đọc hoặc hơn nữa, yêu cầu bổ sung chức năng theo dõi những tài liệu mới mà bạn đọc thường xuyên yêu cầu để đặt mua, v.v. Khi đó vấn đề duy trì hệ thống phần mềm không phải là vấn đề dễ thực hiện. Nhiều khi có những yêu cầu thay đổi cơ bản mà việc sửa đổi không hiệu quả và vì thế đòi hỏi phải thiết kế lại hệ thống thì hiệu quả hơn. Dữ liệu chung Dữ liệu chung Chức năng 1 Chức năng 2 Dữ liệu riêng Dữ liệu riêng Luận văn thạc sĩ - 18 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Các bộ phận của hệ thống phải sử dụng biến toàn cục để trao đổi với nhau, do vậy khả năng thay đổi, mở rộng của chúng và của cả hệ thống là bị hạn chế. Như trên đã phân tích, những thay đổi liên quan đến các dữ liệu chung sẽ ảnh hưởng tới các bộ phận liên quan. Do đó, một thiết kế tốt phải rõ ràng, dễ hiểu và mọi sửa đổi chỉ có hiệu ứng cục bộ. Khả năng tái sử dụng bị hạn chế và không hỗ trợ cơ chế kế thừa. Để có độ thích nghi cao thì mỗi thành phần phải là tự chứa. Muốn là tự chứa hoàn toàn thì một thành phần không nên dùng các thành phần ngoại lai. Tuy nhiên, điều này lại mâu thuẫn với kinh nghiệm nói rằng các thành phần hiện có nên là dùng lại được. Vậy là cần có một sự cân bằng giữa tính ưu việt của sự dùng lại các thành phần (ở đây chủ yếu là các hàm) và sự mất mát tính thích ứng được của chúng. Các thành của hệ thống phải có tính cố kết nhưng phải tương đối lỏng để dễ thích nghi. Một trong cơ chế chính hỗ trợ để dễ có được tính thích nghi là kế thừa thì cách tiếp cận hướng chức năng lại không hỗ trợ. Đó là cơ chế biểu diễn tính tương tự của các thực thể, đơn giản hoá định nghĩa những khái niệm tương tự từ những sự vật đã được định nghĩa trước trên cơ sở bổ sung hay thay đổi một số các đặc trưng hay tính chất của chúng. Cơ chế này giúp chúng ta thực hiện được nguyên lý tổng quát hoá và chi tiết hoá các thành phần của hệ thống phần mềm. 2. Cách tiếp cận hướng đối tượng Để khắc phục được những vấn đề tồn tại nêu trên thì chúng ta cần phải nghiên cứu phương pháp, mô hình và công cụ mới, thích hợp cho việc phát triển phần mềm đáp ứng các yêu cầu của khách hàng. Mô hình hướng đối tượng có thể giúp chúng ta vượt được khủng hoảng trong công nghệ phần mềm và hy vọng sẽ đưa ra được những sản phẩm phần mềm thương mại chất lượng cao: tin cậy, dễ mở rộng, dễ thích nghi, cường tráng và phù hợp với yêu cầu của khách hàng. Cách tiếp cận hướng đối tượng có những đặc trưng sau. Đặt trọng tâm vào dữ liệu (thực thể). Khi khảo sát, phân tích một hệ thống chúng ta không tập trung vào các nhiệm vụ như trước đây mà tìm hiểu xem nó gồm những thực thể nào. Thực thể hay còn gọi là đối tượng, là những gì như người, vật, sự kiện, v.v. mà chúng ta đang quan tâm, hay cần phải xử lý. Ví dụ, khi xây dựng “Hệ thống Luận văn thạc sĩ - 19 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên quản lý thư viện” thì trước hết chúng ta tìm hiểu xem nó gồm những lớp đối tượng hoặc những khái niệm nào. Xem hệ thống như là tập các thực thể, các đối tượng. Để hiểu rõ về hệ thống, chúng ta phân tách hệ thống thành các đơn thể đơn giản hơn. Quá trình này được lặp lại cho đến khi thu được những đơn thể tương đối đơn giản, dễ hiểu và thực hiện cài đặt chúng mà không làm tăng thêm độ phức tạp khi liên kết chúng trong hệ thống. Xét “Hệ thống quản lý thư viện”, chúng ta có các lớp đối tượng sau: Các lớp đối tượng trao đổi với nhau bằng các thông điệp. Theo nghĩa thông thường thì lớp là nhóm một số người, vật có những đặc tính tương tự nhau hoặc có những hành vi ứng xử giống nhau. Trong mô hình đối tượng, khái niệm lớp là cấu trúc mô tả hợp nhất các thuộc tính, hay dữ liệu thành phần thể hiện các đặc tính của mỗi đối tượng và các phương thức, hay hàm thành phần thao tác trên các dữ liệu riêng và là giao diện trao đổi với các đối tượng khác để xác định hành vi của chúng trong hệ thống. Khi có yêu cầu dữ liệu để thực hiện một nhiệm vụ nào đó, một đối tượng sẽ gửi một thông điệp (gọi một phương thức) cho đối tượng khác. Đối tượng nhận được thông điệp yêu cầu sẽ phải thực hiện một số công việc trên các dữ liệu mà nó sẵn có hoặc lại tiếp tục yêu cầu những đối tượng khác hỗ trợ để có những thông tin trả lời cho đối tượng yêu cầu. Với phương thức xử lý như thế thì một chương trình hướng đối tượng thực sự có thể không cần sử dụng biến toàn cục nữa. Tính mở và thích nghi của hệ thống cao hơn vì: · Hệ thống được xây dựng dựa vào các lớp đối tượng nên khi có yêu cầu thay đổi thì chỉ thay đổi những lớp đối tượng có liên quan hoặc bổ sung thêm một số lớp đối tượng mới (có thể kế thừa từ những lớp có trước) để thực thi những nhiệm vụ mới mà hệ thống cần thực hiện. Ví dụ: Giám đốc thư viện yêu cầu bổ sung chức năng theo dõi những tài liệu mới mà bạn đọc thường Tập_Danh_Mục Sách Bạn_Đọc Tạp_Chí Luận văn thạc sĩ - 20 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên xuyên yêu cầu để đặt mua, ta có thể bổ sung thêm lớp mới để theo dõi yêu cầu: lớp Yêu_Cầu. · Trong các chương trình hướng đối tượng có thể không cần sử dụng biến toàn cục nên mọi sửa đổi, cập nhật trong mỗi thành phần chỉ có hiệu ứng cục bộ. Hỗ trợ sử dụng lại và cơ chế kế thừa. Các lớp đối tượng được tổ chức theo nguyên lý bao gói và che giấu thông tin, điều này làm tăng thêm hiệu quả của kế thừa và độ tin cậy của hệ thống. Các ngôn ngữ lập trình hướng đối tượng như: C++, Java, C#, Delphi, v.v. đều hỗ trợ quan hệ kế thừa 3. So sánh sự giống và khác nhau của hai cách tiếp cận trong quá trình phát triển phần mềm: Phát triển phần mềm hướng đối tượng Phát triển phần mềm có cấu trúc Lập trình hướng đối tượng CSDL Phân tích Thiết kế Lập trình CSDL hướng đối tượng CSDL Phân tích Thiết kế Lập trình Lập trình có cấu trúc CSDL quan hệ Bước đệm Bước đệm Bước đệm Luận văn thạc sĩ - 21 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 4. Ưu điểm chính của phương pháp hướng đối tượng · Đối tượng là cơ sở để kết hợp các đơn thể có thể sử dụng lại thành hệ thống lớn hơn, tạo ra những sản phẩm có chất lượng cao. · Qui ước truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các giao diện giữa các đối tượng thành phần bên trong hệ thống và những hệ thống bên ngoài trở nên dễ dàng hơn. Điều đó giúp cho việc phân chia những dự án lớn, phức tạp để phân tích, thiết kế theo cách chia nhỏ bài toán thành các lớp đối tượng hoàn toàn tương ứng với quan điểm hướng tới lời giải phù hợp với thế giới thực một các tự nhiên. · Nguyên lý bao gói, che giấu thông tin hỗ trợ cho việc xây dựng những hệ thống thông tin an toàn. · Nguyên lý kế thừa dựa chính vào dữ liệu rất phù hợp với ngữ nghĩa của mô hình trong cài đặt. · Lập trình hướng đối tượng đặc biệt là kỹ thuật kế thừa cho phép dễ dàng xác định các đơn thể và sử dụng ngay khi chúng chưa thực hiện đầy đủ các chức năg (đơn thể mở) và sau đó mở rộng được mà không làm ảnh hưởng tới các đơn thể khác. · Định hướng đối tượng cung cấp những công cụ, môi trường mới, hiệu quả để phát triển phần mềm theo hướng công nghiệp và hỗ trợ để tận dụng được những khả năng kế thừa, sử dụng lại ở phạm vi diện rộng để xây dựng được những hệ thống phức tạp, nhạy cảm như: hệ thống động, hệ thống thời gian thực, v,v. · Xoá bỏ được hố ngăn cách giữa các pha phân tích, thiết kế và cài đặt trong quá trình xây dựng phần mềm. Luận văn thạc sĩ - 22 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 5. Lựa chọn phương pháp tiếp cận để phát triển Hệ thống thông tin quản trị nhân sự&Lương trong bài toán ERP. Như đã trình bầy ở chương I, đặc trưng của ERP là có cấu trúc phân hệ (module). Nó được cấu thành từ nhiều phần riêng lẻ, mỗi phần có một chức năng riêng và có thể hoạt động độc lập. Nhưng tích hợp mới là đặc trưng nhất của ERP, tích hợp ở đây được hiểu là: · Tích hợp từ nhiều phân hệ (module) · Tích hợp nhiều chức năng. · Tích hợp cho nhiều mô hình quản lý của doanh nghiệp. Khi triển khai, việc phải thay đổi lại cấu trúc, chức năng và các lựa chọn là không thể tránh khỏi để phù hợp với từng doanh nghiệp cụ thể. Mặt khác khi xã hội ngày càng phát triển thì các quan hệ lao động, cách thức quản lý cũng phải thay đổi để phù hợp với yêu cầu, chính vì vậy những nhà phát triển ERP phải luôn luôn cải tiến sản phẩm của mình sao cho hài lòng khách hàng. Căn cứ vào các đặc điểm trên của ERP và các ưu điểm của phương pháp tiếp cận hướng đối tượng nên em chọn phương pháp này cho để thực hiện luận văn này. Luận văn thạc sĩ - 23 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên CHƯƠNG II: QUY TRÌNH PHÂN TÍCH, THIẾT KẾ HƯỚNG ĐỐI TƯỢNG I. Xây dụng mô hình nghiệp vụ 1. Mở đầu Để nắm bắt được yêu cầu của một hệ thống tin học hóa, ta cần tìm hiểu hệ thống thực. Công việc này được tiến hành bằng cách tìm hiểu hoạt động nghiệp vụ và xây dựng các mô hình miền và mô hình nghiệp vụ để nắm bắt toàn bộ các vấn đề thuần nghiệp vụ của hệ thống 2. Tìm hiểu nắm vững nghiệp vụ Việc tìm hiểu nghiệp vụ được tiến hành qua các bước sau · Tìm hiểu bối cảnh hệ thống · Nắm bắt các yêu cầu phi chức năng 2.1 Tìm hiểu bối cảnh hệ thống Mô tả bối cảnh của một hệ thống bằng cách xây dựng mô hình miền và mô hình nghiệp vụ của nó. Tùy theo yêu cầu của từng bài toán cụ thể mà ta có thể xây dựng một mô hình miền hoặc mô mô hình nghiệp vụ đầy đủ, hoặc cả hai hoặc không cần mô hình nào cả Xây dựng mô hình miền Mục đich của mô hình hóa miền là để hiểu và mô tả các lớp quan trọng nhất bối cảnh của miền. Ta có thể lập một từ điển giải thích để định nghĩa về các lớp miền. Từ điển thuật ngữ và mô hình miền giúp khách hàng và người phát triển chia sẻ những thuật ngữ khái niệm chung. Đối với những miền nghiệp vụ rất nhỏ, không cần thiết phát triển một mô hình miền mà chỉ cần sử dụng từ điển thuật ngữ là đủ Mô hình miền (domain model) Mô hình miền mô tả các khái niệm quan trọng của hệ thống qua các đối tượng của miền nghiệp vụ và liên kết giữa chúng với nhau. Các đối tượng miền là những vật hay khái niệm trong thực tế hoặc các sự kiện diễn ra trong môi trường mà hệ thống làm việc. Có 3 dạng lớp đối tượng miền điển hình Luận văn thạc sĩ - 24 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên · Các đối tượng nghiệp vụ thể hiện những vật được quản lý trong hoạt động nghiệp vụ như: bản yêu cầu nhân sự, tài khoản, hợp đồng ... · Các đối tượng thế giới thực và các khái niệm mà một hệ thống cần theo dõi, ví dụ như giao dịch thanh toán, mua hàng, rút tiền… · Các sự kiện sẽ hoặc đã xuất hiện: Chấm công, phỏng vấn, ký hợp đồng lao động … · Mô hình miền có thể mô tả bằng nhiều biểu đồ lớp của UML Xây dựng mô hình nghiệp vụ Một mô hình nghiệp vụ được phát triển qua hai bước: § Xây dựng một mô hình ca sử dụng nghiệp vụ bao gồm việc xác định các tác nhân nghiệp vụ mà các tác nhân sử dụng. Mô hình cho phép người phát triển hiểu rõ hơn về giá trị mà nghiệp vụ đem lại cho tác nhân sử dụng nó § Phát triển một mô hình đối tượng nghiệp vụ bao chứa những người tham gia nghiệp vụ, các thực thể nghiệp vụ và các đơn vị công việc cùng nhau thực hiện các ca sử dụng nghiệp vụ. Các quy tác nghiệp vụ và các điều chình khác trong nghiệp vụ được liên kết với các đối tượng khác Mô hình nghiệp vụ (bussiness model) Mô hình nghiệp vụ được thể hiện ra bằng một mô hình ca sử dụng nghiệp vụ. Nó có thể bao gồm các chế tác(thành phần) sau: § Đối tượng miền § Đối tượng nghiệp vụ § Người tham gia nghiệp vụ và các trách nhiệm, thao tác tương ứng Mô hình ca sử dụng nghiệp vụ Mô hình ca sử dụng nghiệp vụ mô tả các quá trình nghiệp vụ của một tổ chức dưới dạng các ca sử dụng nghiệp vụ và các tác nhân nghiệp vụ tương ứng. Nó xem xét một hệ thống nghiệp vụ từ quan điểm người sử dụng và chỉ ra làm thế nào để hệ thống cung cấp một giá trị gia tăng cho tác nhân nghiệp vụ hệ thống đó. Mô hình ca sử dụng nghiệp vụ được miêu tả bằng sơ đồ ca sử dụng[3] Luận văn thạc sĩ - 25 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Mô hình miền là một trường hợp riêng của mô hình nghiệp vụ mà ở đó ta chỉ tập trung vào các vật – các lớp miền hoặc các thực thể nghiệp vụ mà người tham gia nghiệp vụ sẽ phải làm với chúng 2.2. Xác định các yêu cầu bổ sung Các yêu cầu bổ sung là các yêu cầu phi chức năng mà không thể liên kết với các ca sử dụng nghiệp vụ cụ thể nào. Chúng có ảnh hưởng đến nhiều ca sử dụng hoặc chỉ đến một ca sử dụng nghiệp vụ nào đó. Ví dụ như tính thể hiện, các giao diện, các yêu cầu thiết kế vật lý và kiến trúc, các rằng buộc về thiết kế và cài đặt II. Xác định yêu cầu 1. Mở đầu Mục tiêu của việc xác định yêu cầu la phát triển một mô hình ca sử dụng của hệ thống cần xây dựng bằng cách dùng các ca sử dụng. Các ca sử dụng cung cấp một cách có hệ thống và trực quan để nắm bắt các yêu cầu có tính chức năng mà tập trung đặc biệt vào giá trị gia tăng đem lại cho mỗi cá nhân người dùng hoặc mỗi hệ thống bên ngoài tương tác với hệ thống 2. Luồng công việc xác định yêu cầu Để mô tả các yêu cầu nghiệp vụ của hệ thống dưới góc độ phát triển phần mềm cần: · Tìm các tác nhân và các ca sử dụng: nhằm đưa ra một phiên bản đầu tiên của mô hình ca sử dụng. · Xác định các ca sử dụng có ý nghĩa về mặt kiến trúc và sắp ưu tiên các ca sử dụng sẽ được triển khai trong mỗi vòng lặp · Mô tả chi tiết mọi ca sử dụng đã được sắp thứ tự ưu tiên · Đưa ra các giao diện – người dùng thích hợp cho mỗi tác nhân tương tác trong các ca sử dụng · Tái cấu trúc mô hình ca sử dụng bằng cách xác định và đưa ra các tổng quát hóa của các ca sử dụng để làm sao cho chúng càng dễ hiểu càng tốt Kết quả của luồng công việc này là một phiên bản đầu tiên của mô hình ca sử dụng, các ca sử dụng và các bản mẫu giao diện – người sử dụng đã được tổng hợp lại. Các kết quả của các lần lặp tiếp theo sẽ gồm các phiên bản mới của các thành phần này Luận văn thạc sĩ - 26 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên nhưng chúng sẽ được hoàn thiện, được cải tiến và làm mịn dần trong quá trình các bước lặp 3. Tìm các tác nhân và các ca sử dụng Việc xác định các ca sử dụng và các tác nhân gồm bốn bước: § Tìm các tác nhân § Tìm các ca sử dụng § Mô tả ngắn gọn mỗi ca sử dụng § Mô tả mô hình ca sử dụng tổng thể Các bước này không bắt buộc phải thực hiện theo thứ tự mà thường được thực hiện đồng thời. Kết quả của hoạt động này là một phiên bản của mô hình ca sử dụng với các tác nhân và các ca sử dụng 3.1. Tìm các tác nhân Có hai tiêu chuẩn để xác định các tác nhân: § Phải có ít nhất một người dùng mà có thể thực hiện vai trò của tác nhân dự kiến § Sự trùng lặp giữa các vai trò của những tác nhân khác nhau đóng vai trong mối quan hệ với hệ thống là tối thiểu nhất Sau khi tìm được tác nhân cần: Mô tả ngắn gọn các vai trò của mỗi tác nhân tương tác với hệ thống và mục tiêu sử dụng hệ thống. Việc mô tả ngắn gọn mỗi tác nhân phải nêu bật được các yêu cầu và các trách nhiệm của tác nhân đó Các tác nhân nhận được ở đây có thể dùng làm điểm xuất phát để tìm các ca sử dụng Tác nhân (actor) Tác nhân thể hiện cho những phần ngoài hệ thống mà tương tác với hệ thống. Tác nhân có thể là các kiểu người dùng hoặc các kiểu hệ thống ngoài của hệ thống Một tác nhân đóng một vai trò nào đó đối với mỗi ca sử dụng mà nó tương tác. Mỗi khi một người dùng( hoặc hệ thống ngoài cụ thể) tương tác với hệ thống, thể hiện của tác nhân tương ứng đóng một vai trò mà người dùng thực hiện Luận văn thạc sĩ - 27 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 3.2. Tìm các ca sử dụng Từ danh sách các tác nhân, ta xác định các ca sử dụng mà mỗi tác nhân này thực hiện. Khi xác định được đầy đủ và chính xác các tác nhân cũng như các ca sử dụng mà các tác nhân này thực hiện để tương tác với hệ thống, ta sẽ có được các ca sử dụng bao gói được toàn bộ các chức năng cần có của hệ thống Khi xác định các ca sử dụng, nên áp dụng hai tiêu chuẩn sau: Kết quả có giá trị: Mỗi ca sử dụng được thực hiện thành công phải cung cấp một giá trị cho tác nhân để đạt được một mục tiêu nào đó khi tác nhân tương tác với hệ thống. Tác nhân cụ thể: Nhờ việc xác định các ca sử dụng mà chúng cung cấp giá trị cho tác nhân người dùng thực. Các ca sử dụng không nên quá lớn Ca sử dụng (use case) Mỗi cách thức mà tác nhân sử dụng hệ thống được gọi là một ca sử dụng. Có thể coi các ca sử dụng như là những “khúc” chức năng mà hệ thống cung cấp và đem lại một giá trị gia tăng cho tác nhân. Nói một cách khác, mỗi ca sử dụng đặc tả một chuỗi các hành động(kể cả các chuỗi hành động thay thế) mà hệ thống có thể thực hiện khi tương tác với các tác nhân của nó. Một thể hiện ca sử dụng là sự thực hiện(hoặc xử lý) của ca sử dụng đó 3.3. Mô tả ngắn gọn mỗi ca sử dụng Sau khi tìm được các ca sử dụng, trước hết mô tả nó một cách ngắn gọn để tóm tắt các hành động của ca sử dụng. 3.4. Mô tả Mô hình ca sử dụng tổng thể Chúng ta sử dụng các biểu đồ và các các mô tả để diễn đạt mô hình ca sử dụng tổng thể, đặc biệt là các ca sử dụng có liên quan đến nhau. Các ca sử dụng trong mô hình ca sử dụng có thể được tổ chức thành các cụm ca sử dụng được gọi là các gói ca sử dụng Để đảm bảo tính nhất quán khi mô tả nhiều ca sử dụng cùng một lúc, ta nên xây dựng từ điển giải thích, các thuật ngữ này có thể xuất phát từ các lớp trong mô hình miền hoặc mô hình nghiệp vụ Từ điển giải thích(glossary) Luận văn thạc sĩ - 28 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Một từ điển giải thích thường được dùng để xác định các thuật ngữ quan trọng và thông dụng mà người phát triển sử dụng để mô tả hệ thống. Một từ điển giải thích đem lại sự thống nhất trong việc định nghĩa các khái niệm và các cách diễn đạt giữa những người phát triển Mô hình ca sử dụng Một mô hình ca sử dụng là một mô hình của một hệ thống. Nó bao gồm các tác nhân, các ca sử dụng và các mối quan hệ giữa chúng Mô hình ca sử dụng cho phép những nhà phát triển và các khách hàng cùng làm việc về các yêu cầu, đó là các điều kiện hoặc các khả năng mà hệ thống phải tuân theo Kết quả của bước này cũng là một mô tả tổng quan của mô hình ca sử dụng. Nó mô tả các tác nhân và các ca sử dụng tương tác với nhau như thế nào, và các ca sử dụng liên kết với nhau như thế nào. Sau đó cần thẩm định mô hình ca sử dụng theo các tiêu chí sau: § Mọi yêu cầu cần thiết về mặt chức năng đã được nắm bắt thành các ca sử dụng chưa? § Chuỗi các hành động đã la đúng đắn, đầy đủ và có thể hiểu được đối với mỗi ca sử dụng chưa? § Bất kỳ các ca sử dụng nào đều phải cung cấp ít nhất một giá trị gia tăng cho tác nhân. Nếu không thì các ca sử dụng này phải được xem xét lại 4. Thứ tự ưu tiên các ca sử dụng Mục đích hoạt động này là nhằm lập thứ tự ưu tiên các ca sử dụng để quyết định những ca sử dụng nào cần được triển khai ngay trong những lần lặp đầu và chúng đóng vai trò như kiến trúc của hệ thống Mô tả kiến trúc Mô tả kiến trúc la một cái nhìn về mặt kiến trúc của mô hình ca sử dụng. Nó gồm những ca sử dụng mang ý nghĩa về mặt kiến trúc. Một mô tả kiến trúc của một mô hình ca sử dụng thường bao gồm các ca sử dụng mô tả một vài chức năng cốt yếu và quan trọng hoặc liên quan đến một vài yêu cầu Luận văn thạc sĩ - 29 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên quan trọng mà cần được phát triển. Mô tả kiến trúc này thường được sử dụng như là đầu vào để phân loại các ca sử dụng cho việc phát triển trong một vài bước lặp đầu 5. Mô tả chi tiết một ca sử dụng Mục đích chính ở đây là mô tả luồng các sự kiện của ca sử dụng một cách chi tiết khi khởi đông, tương tác với các tác nhân như thế nào đến kết thúc. Để mô tả chi tiết ca sử dụng ta có thể mô tả bằng văn bản(hay bảng) và các biểu đồ ca sử dụng kèm theo Luồng các sự kiện của một ca sử dụng Là luồng các sự kiện đặc tả chuỗi công việc mà hệ thống làm khi một ca sử dụng cụ thể được thực hiện. Luồng các sự kiện cũng đặc tả cách thức mà hệ thống tương tác với các tác nhân khi ca sử dụng được thực hiện. Nó có thể được mô tả dưới dạng văn bản(hay bảng) chuỗi các hoạt động của một ca sử dụng 5.1. Cấu trúc của một Mô tả ca sử dụng Cấu trúc của mô tả ca sử dụng thường được tổ chức sao cho cả người phát triển, khách hàng, và người dùng đều có thể hiểu được. Mô tả ca sử dụng cần có cấu trúc như sau: § Trạng thái xuất phát(tiền điều kiện) § Làm thế nào và khi nào thì ca sử dụng khởi động( tức là hành động thứ nhất được thực hiện như thế nào) § Các chuỗi hành động phải được thực hiện theo thứ tự. Ở đây thứ tự được xác định bởi chuỗi hành động đã đánh số § Ca sử dụng kết thúc như thế nào và khi nào § Trạng thái khi kết thúc(hậu điều kiện) § Các con đường không được phép thực hiện § Mô tả các con đường cơ bản(phương án) mà dãy hành động xảy ra § Mô tả các phương án ngoại lệ Có thể mô tả mỗi phương án thực hiện ca sử dụng bằng văn bản( hay một bảng với cột tác nhân và cột phản ứng của hệ thống) Một nhiệm vụ quan trọng nữa là đặc tả là những yêu cầu phi chức năng. Đa số các yêu cầu phi chức năng đều có liên quan tới một ca sử dụng cụ thể nào đó. Chẳng hạn các yêu cầu về tốc độ thực hiện, tính khả dụng, độ chính xác, thời gian phúc Luận văn thạc sĩ - 30 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên đáp, thời gian phục hồi. Các yêu cầu như vậy được gọi là các yêu cầu đặc biệt của ca sử dụng đang xét. Ta có thể chuẩn bị chúng như một phần tài liệ của Mô tả ca sử dụng 5.2. Hình thức hóa các Mô tả ca sử dụng Đối với các ca sử dụng phức tạp, có nhiều trạng thái và sự chuyển tiếp, các mô tả ca sử dụng bằng văn bản thương không đảm bảo tính chất nhất quán và làm cho người phát triển khó hình dung. Do vậy, có thể mô tả cấu trúc đó bằng cách sử dụng các biểu đồ có tính trực quan hơn 6. Tạo bản mẫu Giao diện người dùng Bây giờ ta cần phác thảo các giao diện người dùng để giúp cho người thực hiện các ca sử dụng một cách hiệu quả. Với mỗi ca sử dụng, ta cố gắng để nhận biết xem cái gì là cần đối với các giao diện người dùng để tạo ra khả năng cho mỗi tác nhân dùng các ca sử dụng. Công việc này gọi là thiết kế giao diện người dùng logic. Sau đó ta tạo thiết kế giao diện người dùng thực và phát triển các bản mẫu để minh họa cách thức mà các người dùng có thể dùng hệ thống để thực hiện các ca sử dụng 6.1. Tạo một thiết kế Giao diện người dùng Logic Khi các tác nhân tương tác với hệ thống, tác nhân sẽ dùng và thao tác qua yếu tố giao diện người dùng thể hiện cho các thuộc tính của các ca sử dụng. Ta sẽ xác định và đặc tả các yếu tố này cho một tác nhân tại một thời điểm xác định bằng cách duyệt qua mọi ca sử dụng mà tác nhân có thể truy nhập và xác định các yếu tố giao diện người dùng tương ứng cho mỗi ca sử dụng Để nhận được các yếu tố giao diện cho mỗi tác nhân cần xác định: § Yếu tố nào của giao diện người dùng cần có để dùng được các ca sử dụng? § Các yêu tố này sẽ quan hệ với nhau như thế nào? § Chúng sẽ được sử dụng như thế nào trong các ca sử dụng khác nhau? § Dáng dấp của chúng là ra sao? § Chúng sẽ được điều khiển như thế nào? Luận văn thạc sĩ - 31 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Để xác định những yếu tố giao diện – người dùng nào là cần có trong mỗi ca sử dụng, chúng ta có thể trả lời các câu hỏi sau: § Cái nào trong số các lớp lĩnh vực, các thực thể nghiệp vụ, hoặc các đơn vị công việc là thích hợp để làm các yếu tố giao diện – người dùng cho ca sử dụng này? § Những yếu tố giao diện – người dùng nào mà tác nhân phải làm việc với chúng § Những hành động nào mà tác nhân có thể gọi đến và những quyết định nào mà tác nhân có thể tạo ra? § Hướng dẫn nào và thông tin nào mà tác nhân cần có trước khi gọi đến mỗi hành động trong ca sử dụng § Thông tin gì mà tác nhân cần cung cấp cho hệ thống? § Thông tin gì mà hệ thống cần cung cấp cho tác nhận? § Các giá trị trung bình đối với mọi tham số đầu vào/ đầu ra là gì? 6.2. Tạo một thiết kế giao diện người dùng thực và làm bản mẫu Trước tiên, ta chuẩn bị các phác thảo thô của chùm các yếu tố giao diện - người dùng hình thành các giao diện người dùng có ích cho các tác nhân. Sau đó bổ sung các yếu tố cần thiết để tổ hợp hàng yếu tố của giao diện – người dùng thành các giao diện người dùng đầy đủ. Các yếu tố bổ sung này có thể bao gồm các bộ chứa(container) các yếu tố giao diện – người dùng, các cửa sổ, các công cụ và các điều khiển Ta chuẩn bị xây dựng các bản mẫu có khả năng thi hành các chùm các yếu tố giao diện – người dùng quan trọng nhất. Các bản mẫu này có thể được xây dựng bằng một công cụ lập bản mẫu nhanh nào đó Cuối cùng cần phải thẩm định giao diện người dùng thông qua các lần xét duyệt các bản mẫu, các phác thảo và thực hiện càng sớm càng tốt để có thể tránh được những sai sót 7. Cấu trúc mô hình ca sử dụng Mục đích cấu trúc mô hình ca sử dụng là Luận văn thạc sĩ - 32 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên · Tìm ra các mô tả chức năng có đặc tính chung hay được chia sẻ trong nhiều ca sử dụng để tách ra mô tả riêng · Tìm ra các chức năng phụ hoặc tùy chọn để mở rộng mô tả chức năng thành các chức năng mới 7.1. Xác định các mô tả chức năng chung Chúng ta cần tìm hành động hoặc các phần của các hành động mà là chung hoặc được chia sẻ cho nhiều ca sử dụng. Phần chung này có thể được tách ra và được mô tả trong một ca sử dụng riêng biệt. Ca sử dụng này được thể hiện bằng một sự tổng quát hóa của các ca sử dụng đã có và là một ca sử dụng trừu tượng Ca sử dụng “thực” là kết quả mà chúng ta nhận được sau khi áp dụng sự tổng hợp hai ca sử dụng: một cụ thể, một trừu tượng. Ca sử dụng thực này trình bày hành vi của thể hiện ca sử dụng mà một tác nhân nhận thức được khi tương tác với hệ thống 7.2. Xác định các mô tả chức năng bổ sung và tùy chọn Một mối quan hệ mở rộng các ca sử dụng là một thể hiện sự mở rộng thêm một chuỗi các hành động của một ca sử dụng. Một mối quan hệ mở rộng như là một các được thêm vào trong mô tả của một ca sử dụng gốc. Các ca sử dụng “thực” có được nhờ việc áp dụng các quan hệ tổng quát hóa và mở rộng đối với các ca sử dụng trong mô hình. Các ca sử dụng thực mới đem lại giá trị cho người dùng 7.3. Xác định mối quan hệ khác giữa các ca sử dụng Mối quan hệ bao gồm là mối quan hệ mở rộng đảo ngược, nó cung cấp các mở rộng tường minh và vô điều kiện cho một ca sử dụng. Khi bao gồm một ca sử dụng, thì chuỗi hành vi và các thuộc tính của ca sử dụng bị bao gồm đều được đóng gói và không thể bị thay đổi hoặc truy nhập – chỉ có kết quả(hoặc chức năng) của ca sử dụng bị bao gồm là có thể khai thác được, điều này là một điểm khác so với việc dùng mối quan hệ tổng quát hóa III. Phân tích 1. Mở đầu Khi nắm bắt yêu cầu ta đã xác định các yêu cầu chức năng dưới dạng các ca sử dụng và các yêu cầu phi chức năng dưới dạng các tài liệu bổ sung cho các mô tả ca Luận văn thạc sĩ - 33 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên sử dụng. Tuy nhiên, hầu như vẫn còn các vấn đề tồn tại chưa được giải quyết về yêu cầu của hệ thống. Để giải quyết các vấn đề tồn tại, ta cần phân tích các yêu cầu bằng cách sử dụng ngôn ngữ của nhà phát triển để mô tả các kết quả nhận được và ta sẽ nhận được một mô hình phân tích Mô hình phân tích Mô hình phân tích là một mô hình đối tượng khái niệm. Nó xác định các yêu cầu và lập luận về cấu trúc nội tại của hệ thống. Mô hình phân tích được thể hiện ở mức cao bằng một hệ thống các gói phân tích. Trong mô hình phân tích, các ca sử dụng được thực thi bởi các lớp và các đối tượng phân tích 2. Luồng công việc phân tích Để tạo ra mô hình phân tích cần tiến hành § Phân tích kiến trúc § Phân tích một ca sử dụng § Phân tích một lớp § Phân tích một gói Trong quá trình phân tích, ta sẽ liên tục tìm các gói, các lớp phân tích mới và các yêu cầu chung khi mô hình phân tích được tiếp tục làm mịn bằng cách phân rã các gói phân tích và duy trì các gói đó 3. Phân tích kiến trúc Mục đích của phân tích kiến trúc là phác họa những nét lớn của mô hình phân tích thông qua việc xác định các gói phân tích, các lớp phân tích hiển nhiên, và các yêu cầu chuyên biệt chung 3.1. Xác định các gói phân tích Việc xác định các gói phân tích có thể được tiến hành một cách tự nhiên dựa trên các yêu cầu chức năng và nghiệp vụ của bài toán được xet. Một cách trực tiếp để xác định các gói phân tích là bố trí phần lớn các ca sử dụng vào một gói riêng rồi sau đó tiến hành thực thi chức năng tương ứng bên trong gói đó Gom các ca sử dụng vào một gói riêng thích hợp có thể dựa trên các tiêu chí sau: § Các ca sử dụng cần có để hỗ trợ một quá trình nghiệp vụ riêng Luận văn thạc sĩ - 34 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên § Các ca sử dụng cần có để hỗ trợ một tác nhân riêng của hệ thống § Các ca sử dụng có quan hệ với nhau thông qua các quan hệ tổng quát hóa và mở rộng Gói phân tích Các gói phân tích cung cấp một phương tiện để tổ chức các chế tác của mô hình phân tích thành các “cụm” nhỏ hơn và dễ quản lý. Một gói phân tích có thể chứa đựng các lớp phân tích, các thực thi ca sử dụng và các gói phân tích khác 3.2. Xử lý phần chung của các gói phân tích Trong nhiều trường hợp ta có thể tìm thấy các phần chung giữa các gói phân tích, chẳng hạn: một lớp phân tích. Một cách thích hợp để xử lý vấn đề này là đặt phần chung đó vào trong gói riêng nằm ngoài các gói chứa nó, rồi sau đó để các gói khác có liên quan phụ thuộc vào gói chứa lớp chung này Những lớp được chia sẻ có các phần chung như vậy thường là các lớp thực thể. Chúng có thể được lần vết tới các lớp thực thể miền hoặc nghiệp vụ. Do vậy, ta nên nghiên cứu các lớp thực thể miền hoặc lớp thực thể nghiệp vụ để tìm ra phần chung và tạo nên các gói phân tích tổng quát ngay từ đầu 3.3. Xác định các gói dịch vụ Việc xác định các dịch vụ thích hợp thường được tiến hành sau khi các yêu cầu chức năng đã được hiểu rõ và đã xác định phần lớn các lớp phân tích. Các lớp phân tích trong một gói dịch vụ cần đóng góp thực hiện cùng một dịch vụ Để xác định các gói dịch vụ, ta có thể làm như sau · Xác định một gói dịch vụ cho mỗi dịch vụ được chọn · Xác định một gói dịch vụ cho mỗi dịch vụ mà có thể khiến dịch vụ đó trở thành lựa chọn. Ta sẽ xác định một gói dịch vụ cho mỗi dịch vụ được cung cấp bởi các lớp liên quan về mặt chức năng Gói dịch vụ Mỗi hệ thống cung cấp một tập hợp các dịch vụ cho khách hàng. Ta sử dụng khái niệm gói dịch vụ để mô tả các gói được sử dụng ở một mức thấp hơn trong sơ đồ Luận văn thạc sĩ - 35 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên phân cấp phân tích để cấu trúc hệ thống các dịch vụ mà nó cung cấp. Một gói dịch vụ có thể có các tính chất sau: § Một gói dịch vụ chưa một tập hợp các lớp có liên quan với nhau về mặt chức năng § Một gói dịch vụ là không thể chia nhỏ § Một hoặc nhiều gói dịch vụ có thể tham gia vào một thực thi ca sử dụng và một gói dịch vụ có thể tham gia vào nhiều thực thi ca sử dụng § Một gói dịch vụ phụ thuộc rất ít vào các gói dịch vụ khác § Một gói dịch vụ thường liên quan đến chỉ một hoặc một vài tác nhân § Các chức năng mà một gói dịch vụ cung cấp có thể được quản lý như một đơn vị riêng biệt 3.4. Xác định các mối quan hệ phụ thuộc giữa các gói phân tích Mục tiêu ở đây là tìm ra các gói phân tích tương đối độc lập với các gói khác, tự chúng được ghép nối lỏng lẻo với nhau nhưng có kết quả kết dính cao bên trọng. Với mục tiêu trên ta cố gắng giảm số lượng các mối quan hệ giữa các lớp thuộc tính các gói khác nhau. Cách tốt nhất để thực hiện công việc này là tổ chức mô hình phân tích thành các tầng bằng cách ghép các gói ứng dụng cụ thể ở một tầng đỉnh và các gói tổng quát hơn ở một tầng thấp hơn 3.5. Xác định các lớp thực thể hiển nhiên Ta có thể xác định các lớp thực thể quan trọng nhất dựa trên các lớp miền hoặc các thực thể nghiệp vụ đã được xác định trong quá trình nắm bắt các yêu cầu. Ở bước này không nên xác định quá nhiều lớp và đi quá sâu vào chi tiết. Một phác thảo ban đầu bao gồm các lớp có ý nghĩa về mặt kiến trúc là đủ 3.6. Xác định các yêu cầu đặc biệt chung Một yêu cầu đặc biệt là một yêu cầu nảy sinh ra trong quá trình phân tích và việc nắm bắt nó là quan trọng. Các yêu cầu kiểu này có thể là: § Tính lâu bền § Sự phân bố và tính tương tranh § Các điểm đặc trưng về an toàn § Dung sai về lỗi Luận văn thạc sĩ - 36 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên § Quản lý giao dịch Các yêu cầu đặc biệt chung có thể được tham chiếu tới như là các yêu cầu đặc biệt của các thực thi ca sử dụng cụ thể và các lớp phân tích 4. Phân tích một ca sử dụng Việc phân tích một ca sử dụng nhằm: · Xác định các lớp phân tích mà các đối tượng của nó cần thiết phải thực hiện luồng các sự kiện của ca sử dụng · Phân phối hành vi của ca sử dụng cho các đối tượng phân tích khi tương tác với nhau · Nắm bắt các yêu cầu đặc biệt để thực thi ca sử dụng 4.1. Xác định các lớp phân tích Chúng ta sẽ xác định các lớp điều khiển, lớp thực thể, và lớp biên cần thiết để thực thi ca sử dụng và phác thảo các tên gọi, các trách nhiệm, các thuộc tính và các mối quan hệ của chúng Một thực thi ca sử dụng phân tích là một sự cộng tác trong mô hình phân tích mô tả làm thế nào một ca sử dụng cụ thể được thực hiện và thể hiện dưới dạng các lớp phân tích và các đối tượng phân tích tương tác với nhau Để xác định các lớp phân tích, ta làm mịn ca sử dụng dựa trên luồng các sự kiện mô tả bằng văn bản – mô tả phân tích của thực thi ca sử dụng Ta có thể xác định các lớp phân tích theo cách sau: § Xác định các thực thể bằng việc nghiên cứu mô tả ca sử dụng và bất kỳ mô hình miền chi tiết nào đang có, sau đó xét xem thông tin nào cần được đưa vào và cần thao tác trong thực thi ca sử dụng § Xác định một lớp biên trung tâm đối với mỗi tác nhân là người và chọn lớp này làm cửa sổ co bản trong giao diện người sử dụng mà tác nhân tương tác với nó. Nếu tác nhân đã tương tác với một lớp biên nào đó, thì có thể dùng lại lớp này § Xác định một lớp biên nguyên thủy cho mỗi thực thể đã được tìm ra lúc trước. Các lớp này đại diện cho các đối tượng logic tương tác với tác nhân trong giao diện người dùng trong suốt một ca sử dụng Luận văn thạc sĩ - 37 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên § Xác định một lớp biên trung tâm cho mõi tác nhân hệ thống ngoài, và chọn nó làm đại diện cho giao diện truyền thông § Xác định một lớp điều khiển chịu trách nhiệm quản lý việc điều khiển và phối hợp thực thi ca sử dụng, sau đó làm mịnh lớp điều khiển này theo các yêu cầu của ca sử dụng Tập hợp các lớp phân tích tham gia một thực thi ca sử dụng vào một biểu đồ lớp và sử dụng biểu đồ lớp nàu để chỉ ra các mối quan hệ được dùng trong việc thực thi ca sử dụng Lớp phân tích Một lớp phân tích thể hiện cho một sự trừu tượng của một hoặc nhiều lớp và/hoặc hệ thống con trong thiết kế hệ thống. Có ba kiểu lớp cơ bản sau: lớp biên, lớp điều khiển, và lớp thực thể Lớp biên Một lớp biên thường được sử dụng để mô hình hóa tương tác giữa hệ thống và các tác nhân của nó. Tương tác này bao gồm có việc nhận và hiển thị thông tin từ các yêu cầu của người dùng và của các hệ thống ngoài. Mỗi lớp biên liên quan đến ít nhất một tác nhân và ngược lại Các lớp biên thường thể hiện như các trừu tượng hóa của các cửa sổ(window), các biểu mẫu(form), các bảng hiển thị(pane), các giao diện truyền thông(communication interface), giao diện máy in(printer interface), các bộ cảm biến(sensor), các đầu cuối(terminal)…, nhưng ở một mức độ tương đối cao và mang tính khái niệm chứ không đi quá sau vào chi tiết giao diện người dùng Lớp thực thể Một lớp thực thể được dùng để mô hình hóa các thông tin tồn tại lâu dài và có thể được lưu trữ. Các lớp thực thể thường thể hiện các cấu trúc dữ liệu logic và góp phần làm rõ về các thông tin nào mà hệ thống phải dựa vào Lớp điều khiển Các lớp điều khiển thể hiện sự phối hợp, sắp trình tự, các giao dịch, sự điều khiển của các đối tượng và thường được sử dụng để bao gói các điều khiển liên Luận văn thạc sĩ - 38 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên quan đến một ca sử dụng cụ thể. Các khía cạnh động của hệ thống được mô hình hóa qua các lớp điều khiển 4.2. Mô tả các tương tác giữa các đối tượng phân tích Khi đã có một phác thảo về các lớp phân tích cần thiết để thực thi các ca sử dụng chúng ta cần phải mô tả cách thức mà các đối tượng phân tích tương tác với nhau như thế nào. Việc này được tiến hành bằng cách sử dụng các biểu đồ cộng tác, chúng chứa các thể hiện của tác nhân tham gia, các đối tượng phân tích, và các mối liên kết giữa chúng. Nếu ca sử dụng có các luồng hoặc luồng con khác nhau và tách biệt thì nên tạo một biểu đồ cộng tác riêng cho mỗi luồng Một biểu đồ cộng tác xuất phát từ một điểm khởi đầu của luồng sự kiện ca sử dụng sau đó di theo luồng từng bước và xác định xem đối tượng phân tích nào và các tương tác của các thể hiện tác nhân nào là cần thiết để thực thi ca sử dụng đó. Trong một biểu đồ cộng tác có các lưu ý sau: § Một ca sử dụng được gọi bằng một thông báo từ một tác nhân chuyển tới một đối tượng biên § Mỗi lớp phân tích được xác định trong bước trước phải có ít nhất một đối tượng phân tích tham gia trong một biểu đồ cộng tác § Các thông báo không được phép gán cho các tác vụ vì chúng ta không đặc tả các tác vụ cho các lớp phân tích. Các kết nối trong biểu đồ là các thể hiện của các liên kết giữa các lớp phân tích § Không tập trung chính vào sự tuần tự trong biểu đồ mà nên tập trung vào các quan hệ(liên kết) giữa các đối tượng và các yêu cầu(như nắm bắt trên các thông báo) về các đối tượng cụ thể § Biểu đồ cộng tác phải quản lý được mọi mối quan hệ của ca sử dụng được thực thi Trong một số trường hợp, có thể bổ sung các mô tả bằng văn bản cho các biểu đồ cộng tác, đặc biệt nếu có nhiều biểu đồ thực thi cùng một ca sử dụng hoặc nếu có các biểu đồ trình bày các luồng phức tạp 4.3. Nắm bắt các yêu cầu đặc biệt Luận văn thạc sĩ - 39 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Ta cần nắm bắt các yêu cầu(phi chức năng) cần cho việc thực thi một ca sử dụng mà đã được xác định trong phân tích nhưng phải được xử lý trong thiết kế và thực thi 5. Phân tích một lớp Mục đích của việc phân tích một lớp là: · Xác định và duy trì các trách nhiệm của một lớp phân tích dựa trên vai trò của nó trong các thực thi ca sử dụng · Xác định và duy trì các thuộc tính và các mối quan hệ của lớp phân tích · Nắm bắt các yêu cầu đặc biệt về việc thực thi của lớp phân tích 5.1. Xác định các trách nhiệm Các trách nhiệm của một lớp có thể được xác định bằng cách tổ hợp mọi vai trò mà lớp đó đảm nhận trong các thực thi ca sử dụng khác nhau. Ta có thể tìm thấy mọi thực thi ca sử dụng mà lớp đó có tham gia, rút ra các trách nhiệm từ một vai trò mỗi lần nó đóng, thêm các trách nhiệm bổ sung hoặc thay đổi các trách nhiệm đang có dựa trên mỗi lần thực thi một ca sử dụng 5.2. Xác định các thuộc tính Một thuộc tính đặc tả một tính chất của một lớp phân tích và nó thường được gợi ý và đòi hỏi bởi các trách nhiệm của lớp của nó. Các hướng dẫn khi xác định các thuộc tính § Tên của thuộc tính phải là một danh từ § Các kiểu của thuộc tính chỉ mang tính khai niệm trong phân tích, chúng không bị hạn chế bởi môi trường thực thi. Khi chọn một kiểu thuộc tính, nên dùng một kiểu đã có sẵn § Nếu một thể hiện thuộc tính đơn độc không thể chia sẻ cho nhiều đối tượng phân tích thì bắt buộc xác định thuộc tính đó là một lớp riêng § Nếu một lớp phân tích trở nên quá phức tạp vì các thuộc tính của nó thì có thể tách ra thành các lớp riêng § Các thuộc tính của các lớp thực thể thường là tương đối rõ ràng § Các thuộc tính của các lớp biên tương tác với các tác nhân bên ngoài đại diện các hạng mục thông tin mà các tác nhân thao tác Luận văn thạc sĩ - 40 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên § Các thuộc tính của các lớp biên tương tác với các tác nhân hệ thống ngoài của hệ thống thường đại diện các tính chất của một giao diện truyền thông § Các lớp điều khiển có ít thuộc tính vì tuổi thọ của chúng ngắn. Tuy nhiên, các lớp điều khiển có thể có các thuộc tính đại diện các giá trị được tích lũy hoặc được dẫn xuất trong quá trình thực thi một ca sử dụng 5.3. Xác định các liên kết và các kết hợp Số lượng các mối quan hệ giữa các lớp phải được tối thiểu hóa. Trước hết chúng không phải là các mối quan hệ ở thế giới thực mà là các mối quan hệ cần phải tồn tại để đáp ứng lại các đòi hỏi từ các thực thi ca sử dụng khác nhau Các kết hợp phải được dùng khi các đối tượng đại diện cho: § Các khái niệm mà về mặt vật lý là chứa đựng lẫn nhau, chẳng hạn oto chưa người lái và khách hàng trong đó § Các khái niệm được tổng hợp từ nhau, chẳng hạn một ô tô gồm có động cơ và các bánh xe § Các khái niệm mà chúng hình thành sau một sưu tập có tính khái niệm về các đối tượng, như nhân sự bao gồm giám đốc, các trưởng bộ phận, nhân viên … 5.4. Xác định các tổng quát hóa Các tổng quát hóa được dùng trong quá trình phân tích để biểu diễn hành vi chia sẻ và hành vi chung của các lớp phân tích khác nhau. Các tổng quát hóa phải được giữ ở một mức cao và có tính khái niệm, chúng làm cho mô hình phân tích dễ hiểu hơn 5.5. Nắm bắt các yêu cầu đặc biệt Khi nắm bắt các yêu cầu này, hãy tham khảo bất kỳ các yêu cầu đặc biệt chung nào đã được nhà kiến trúc xác định, nếu có thể 6. Phân tích một gói Mục đích của việc phân tích một gói nhằm: Luận văn thạc sĩ - 41 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên · Đảm bảo rằng gói phân tích càng độc lập đối với các gói khác càng tốt · Đảm bảo rằng gói phân tích hoàn thành mục đích của nó là thực thi những lớp miền hoặc các ca sử dụng nào đó · Mô tả các mối quan hệ phụ thuộc sao cho hiệu ứng của các thay đổi sau này có thể ước tính được Một số nguyên tắc chung đối với hoạt động này: · Xác định và duy trì các mối quan hệ phụ thuộc của gói này với các gói khác mà các lớp được chưa trong các gói khác đó là được liên kết với gói này · Gói chứa các lớp đung. Hãy cố gắng làm cho gói trở thành kết dính bằng cách chỉ đưa các đối tượng có liên quan về mặt chức năng vào trong gói · Hạn chế các mối quan hệ phụ thuộc tới các gói khác. Bố trí lại các lớp chứa trong một gói sang gói khác nếu nó quá phụ thuộc vào các gói khác IV. Thiết kế 1. Mở đầu Trong thiết kế, chúng ta định hình hệ thống và tìm hình thức biểu diễn nó để thực hiện được mọi yêu cầu – kể cả các yêu cầu phi chức năng và các ràng buộc khác – được đặt ra cho hệ thống đó. Một đầu vào cho thiết kế là mô hình phân tích. Khi thiết kế sẽ cố gắng bảo tồn được càng nhiều càng tốt cấu trúc của hệ thống được định hình từ mô hình phân tích. Kết quả của thiết kế là mô hình thiết kế. Nó là một bản vẽ thiết kế của việc thực thi mô hình phân tích Mô hình thiết kế Mô hình thiết kế là một mô hình đối tượng mô tả sự thực thi các ca sử dụng bằng cách tập trung vào việc xác định các yêu cầu chức năng và phi chức năng, cũng như các rằng buộc khác liên quan đến môi trường triển khai và ảnh hưởng của chúng lên hệ thống § Mô hình thiết kế bao gồm các yếu tố sau đây: § Các lớp thiết kế, bao gồm các lớp hoạt động, các tác vụ, các thuộc tính, các mối quan hệ và các yêu cầu thực thi của chúng § Các thực thi ca sử dụng thiết kế. Chúng mô tả cách thức mà các ca sử dụng được thiết kế dưới dạng những sự cộng tác bên trong mô hình thiết kế Luận văn thạc sĩ - 42 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên § Khung nhìn kiến trúc của mô hình thiết kế, bao gồm các yếu tố quan trọng về mặt kiến trúc 2. Luồng công việc thiết kế Để nhận được mô hình thiết kế ta cần thực hiện các công việc sau: · Thiết kế kiến trúc · Thiết kế một ca sử dụng · Thiết kế một lớp · Thiết kế một hệ thống con 3. Thiết kế kiến trúc Mục đích của thiết kế kiến trúc là phác họa các mô hình thiết kế và sự bố trí của chúng bằng cách xác định: · Các nút và các cấu hình mạng của hệ thống · Các hệ thống con và các giao diện của chúng · Các lớp thiết kế quan trọng về mặt kiến trúc · Các cơ chế thiết kế chung để xử lý các yêu cầu chung Các hệ thống con, các giao diện, hoặc các yếu tố thiết kế khác nhận được sẽ được tích hợp vào trong mô hình thiết kế. Sau đó ta cần bảo trì, thẩm định lại và cập nhật mô tả kiến trúc của các mô hình thiết kế và mô hình bố trí Mô hình bố trí Mô hình bố trí là một mô hình đối tượng mô tả sự phân bố về mặt vật lỹ của hệ thống dưới dạng phân tán các chức năng trên các nút như thế nào. Mô hình bố trí bao gồm: § Các nút, các đặc trưng, và các kết nối của chúng § Một sự sắp xếp ban đầu các lớp hoạt động trên các nút Mỗi nút thể hiện cho một nguồn tài nguyên tính toán. Các nút có các mối quan hệ với nhau thể hiện các phương tiện truyền thống giữa chúng Mô hình bố trí có thể mô tả rất nhiều cấu hình mạng khác nhau. Chức năng của một nút được xác định bởi các thành phần được triển khai trên các nút đó Mô hình bố trí thể hiện một ánh xạ giữa kiến trúc phần mềm và kiến trúc hệ thống Luận văn thạc sĩ - 43 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Xác định các nút và các cấu hình mạng Các cấu hình mạng chung thường dùng một dạng mẫu hai/ba tầng trong đó các ứng dụng khách hàng được phân vào một tâng, chức năng cơ sở dữ liệu vào một tầng, và logic nghiệp vụ/ứng dụng vào một tầng. Dạng đơn giản của kiến trúc máy khách/dịch vụ là một trường hợp đặc biệt của dạng mẫu ba tâng, trong đó logic nghiệp vụ/ứng dụng được bố trí vào cùng trong một tầng Những mặt khác nhau của các cấu hình mạng cần lưu ý bao gồm: § Những nút nào liên quan với nhau, các khả nang về công suất xử lý và kích cỡ bộ nhớ của chúng là bao nhiêu? § Kết nối giữa các nút thuộc loại nào, các giao thức truyền thông giữa chúng là gì? § Các đặc trưng của các kết nối và các giao thức truyền § Nhu cầu về khả năng xử lý dư thừa, về chế độ hỏng hóc, về sự di trú tiến trình, về việc duy trì các bản sao dữ liệu dự phòng? Xác định các hệ thống con và các giao diện của chúng Các hệ thống con thiết kế cung cấp một cách thức để tổ chức mô hình thiết kế thành các cụm có thể quản lý được. Chúng có thể được xác minh ngay từ đầu như là một cách để phân chia công việc thiết kế hoặc được xác định khi mô hình thiết kế tiến hóa và một cấu trúc lớn cần được phân rã ra Việc đưa các hệ thống con như thế vào trong mô hình thiết kế cho phép có thể lập luận và đánh giá các cơ hội tái sử dụng của chúng Hệ thống con thiết kế Một hệ thống con có thể bao gồm các lớp thiết kế, các thực thi ca sử dụng, các giao diện và các hệ thống con. Ngoài ra, một hệ thống con có thể còn cung cấp các giao diện thể hiện cho các chức năng xuất ra dưới dạng các tác vụ Xác định các hệ thống con ứng dụng Trước hết xác định các hệ thống con trong các tầng ứng dụng cụ thể và tầng ứng dụng tổng quát Luận văn thạc sĩ - 44 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Các gói phân tích đã được tìm thấy trong quá trình phân tích có thể được sử dụng càng nhiều càng tốt để xác định các hệ thống con tương ứng bên trong mô hình thiết kế. Điều này là đặc biệt quan trọng khi xảy ra đối với các gói dịch vụ, giúp chúng ta xác định các hệ thống con dịch vụ tương ứng mà không phá vỡ cấu trúc của hệ thống tùy theo dịch vụ mà hệ thống cung cấp. Tuy nhiên, việc xác định ban đầu các hệ thống con này sẽ được tinh chế lại trong quá trình thiết kế. Việc thẩm định sự phân rã hệ thống con ban đầu này có thể là cần thiết trong một số trường hợp Xác định các hệ thống con phần giữa và phần mềm hệ thống Phần giữa và phần mềm hệ thống là nền móng của một hệ thống, vì mọi tính chức năng đều ở đỉnh của phần mềm như là các hệ điều hành, các hệ quản trị cơ sở dữ liệu, phần mềm truyền thống, các công nghệ phân tán đối tượng, các bộ dụng cụ thiết kế GUI, và các công nghệ quản lý giao dịch Xác định các mối quan hệ phụ thuộc giữa các hệ thống con Các mối quan hệ phụ thuộc giữa các hệ thống con phải được xác định nếu nội dung của chúng có các quan hệ lẫn nhau. Hướng của mối quan hệ phụ thuộc phải là cùng hướng với hướng của mối quan hệ. Hãy xét các mối quan hệ phụ thuộc giữa các gói phân tích tương ứng với các hệ thống con thiết kế Xác định các giao diện của hệ thống con Các giao diện được một hệ thống con cung cấp xác định các thao tác mà từ “bên ngoài” hệ thống con đó có thể được truy nhập đến nó. Các giao diện này do các lớp hoặc các hệ thống con khác bên trong hệ thống con đó cung cấp Giao diện Các giao diện được sử dụng để đặc tả các tác vụ mà các lớp thiết kế và các hệ thống con cung cấp. Phần lớn các giao diện giữa các hệ thống con đều mang ý nghĩa về mặt kiến trúc, xác định phạm vi và cách thức mà các hệ thống con được phép tương tác với nhau Một lớp thiết kế cung cấp một giao diện thì cũng phải cung cấp các phương thức thực thi các tác vụ của giao diện đó. Một hệ thống con cung cấp một giao diện Luận văn thạc sĩ - 45 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên thì phải chứa đựng các lớp thiết kế hoặc các hệ thống con khác cung cấp phương thức thực thi giao diện đó Xác định các lớp thiết kế quan trọng về mặt kiến trúc Trong thực tế, ta sớm xác định các lớp thiết kế quan trọng về mặt kiến trúc trong vòng đời của phần mềm để khởi đầu công việc thiết kế. Tuy nhiên, đa số các lớp thiết kế sẽ được xác định khi thiết kế các lớp và được tinh chế lại dựa trên các kết quả có được từ hoạt động thiết kế ca sử dụng Mô tả kiến trúc thiết kế Mô tả kiến trúc cho một mô hình thiết kế thường gồm: Các hệ thống con, các giao diện và các phụ thuộc giữa chúng Các lớp thiết kế cốt lõi, chẳng hạn như các lớp thiết kế mà lần vết tới các lớp phân tích mang ý nghĩa kiến trúc, các lớp động, và các lớp thiết kế có tính chất tổng quát và trung tâm, thể hiện cho các cơ chế thiết kế chung và có nhiều mối quan hệ với các lớp thiết kế khác Các thực thi ca sử dụng thiết kế để thực thi những chức năng cốt lõi và quan trọng nhất cần được phát triển trong vòng đời phát triển, liên quan rất nhiều các lớp thiết kế và có mức độ bao trùm lớm, qua nhiều hệ thống con khác nhau, hoặc liên quan đến những lớp thiết kế cốt lõi + Xác định các lớp thiết kế từ các lớp phân tích Lúc bắt đầu một số lớp thiết kế có thể được phác thảo từ các lớp phân tích quan trọng về mặt kiến trúc đã xác định trong quá trình phân tích. Tương tự, các mối quan hệ giữa các lớp phân tích này có thể được dùng để xác định các mối quan hệ giữa các lớp thiết kế tương ứng + Xác định các lớp hoạt động Ta cũng có thể xác định các lớp hoạt động do hệ thống yêu cầu bằng cách xem xét các yêu cầu đồng thời đối với hệ thống, chẳng hạn như: § Các yêu cầu về hiệu năng, lưu lượng, và tính sẵn sàng mà các tác nhân cần có khi chúng tương tác với hệ thống. Chẳng hạn, nếu một tác nhân nào đó có các yêu cầu cao về thời gian phúc đáp, thì yêu cầu đó có thể được quản Luận văn thạc sĩ - 46 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên lý bằng một đối tượng hoạt động dành riêng để nhận đầu vào từ tác nhân và cung cấp đầu ra cho tác nhân đó – một đối tượng mà không bị dừng lại chỉ vì các đối tượng hoạt động khác chịu tải nặng rồi § Sự phân bố hệ thống trên các nút. Các đối tượng hoạt động cần hỗ trợ bằng sự phân bố trên nhiều nút khác nhau § Các yêu cầu khác như là các yêu cầu về sự khởi động và kết thúc hệ thống Để phác thảo các lớp hoạt động ban đầu có thể sử dụng các kết quả của sự phân tích mô hình bố trí làm đầu vào rồi sau đó bố trí các thiết kế tương ứng của các lớp phân tích cho các nút thông qua các lớp hoạt động Một khả năng khác để phác thảo các lớp hoạt động là sử dụng các hệ thống con được xác định trước đó và phân toàn bộ một hệ thống con cho một nút riêng bằng cách xác định một lớp hoạt động bên trong hệ thống con Xác định các cơ chế thiết kế chung Ta cần đưa ra một bộ các cơ chế thiết kế chung. Các cơ chế này có thể biểu thị là các lớp thiết kế, các cộng tác, hoặc ngay cả các hệ thống con Các yêu cầu cần phải xử lý thường có liên quan tới các vấn đề nhau sau: § Tính lâu bền § Phân bố đối tượng trong suốt § Các đặc trưng an toàn § Phát hiện lỗi và phục hồi § Quản lý giao dịch Trong một số trường hợp, không thể tìm tháy cơ chế ngay nhưng thay vào đó lại tìm được khi các thực thi ca sử dụng và các lớp thiết kế được khảo sát Người phát triển cũng phải xác định các cộng tác chung mà chúng có thể làm việc như là các dạng mẫu(pattern) và được sử dụng bởi nhiều thực thi ca sử dụng bên trong mô hình thiết kế 4. Thiết kế một ca sử dụng Mục tiêu của việc thiết kế một ca sử dụng là: Luận văn thạc sĩ - 47 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên · Xác định các lớp thiết kế và/hoặc các hệ thống con mà các thể hiện của chúng là cần thiết để thực hiện luồng các sự kiện của ca sử dụng đó · Phân phối hành vi của ca sử dụng cho các đối tượng thiết kế tương tác và/hoặc cho các hệ thống con tham gia · Xác định các yêu cầu về các tác vụ của các lớp thiết kế và/hoặc các hệ thống con và các giao diện của chúng · Nắm bắt các yêu cầu triển khai cho ca sử dụng đó Xác định các lớp thiết kế tham gia Chúng ta xác định các lớp thiết kế cần thiết để thực thi ca sử dụng thiết kế như sau: § Nghiên cứu các lớp phân tích tham gia vào việc thực thi ca sử dụng phân tích. Xác định các lớp thiết kế bằng cách lần vết tới các lớp phân tích đó § Nghiên cứu các yêu cầu đặc biệt của việc thực thi ca sử dụng phân tích tương ứng. Xác định các lớp thiết kế cần để thực thi các yêu cầu đặc biệt đó § Nếu vẫn còn thiều một lớp thiết kế nào đó để thiết kế một ca sử dụng cụ thể thì lớp được yêu cầu đó phải được xác định Ta tập hợp các lớp thiết kế tham gia thực thi ca sử dụng vào một biểu đồ lớp. Sử dụng biểu đồ này để chỉ ra các mối quan hệ đã được dùng trong việc thực thi ca sử dụng này Thực thi ca sử dụng thiết kế Một thực thi ca sử dụng thiết kế là một sự cộng tác trong mô hình thiết kế miêu tả làm thế nào một ca sử dụng cụ thể được thực thi và được thể hiện dưới dạng các lớp thiết kế và các đối tượng của chúng. Một thực thi ca sử dụng thiết kế cung cấp một “lần vết” tới một thực thi ca sử dụng phân tích trong mô hình phân tích, tức là lần vết tới một ca sử dụng trong mô hình ca sử dụng Một thực thi ca sử dụng thiết kế có thể mô tả bằng văn bản luồng các sự kiện, các biểu đồ lớp với các lớp thiết kế tham gia, và các biểu đồ tương tác mô tả sự thực thi của một luồng hoặc một kịch bản cụ thể của ca sử dụng dưới dạng tương tác giữa các đối tượng thiết kế Luận văn thạc sĩ - 48 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Một thực thi ca sử dụng thiết kế cung cấp một sự thực thi về mặt vật lý đối với một thực thi ca sử dụng phân tích và nó cũng đồng thời quản lý phần lớn các yêu cầu phi chức năng đã được nắm bát trong thực thi ca sử dụng phân tích Mô tả các tương tác giữa các đối tượng thiết kế Khi chúng ta đã có một phác thảo về các lớp thiết kế cần thiết để thực thi ca sử dụng, ta cần phải mô tả cách thức mà các đối tượng thiết kế tương ứng tương tác với nhau. Điều này được tiến hành bằng cách sử dụng các biểu đồ tuần tự chức các thể hiện của tác nhân tham gia, các đối tượng thiết kế và sự truyền thông báo giữa chúng. Nếu các ca sử dụng có các luồng hoặc luồng con khác nhau và tách biệt thì thường phải tạo ra biểu đồ tuần tự cho mỗi luồng tách biệt đó Trước hết, hãy nghiên cứ việc thực thi ca sử dụng phân tích tương ứng để đưa ra một phác thảo về chuỗi các thông báo cần thiết giữa các đối tượng thiết kế. Trong một số trường hợp, có thể chuyển trực tiếp một biểu đồ cộng tác thực thi ca sử dụng phân tích thành một phác thảo ban đầu của một biểu đồ thiết kế tuần tự tương ứng Khi chi tiết hóa các biểu đồ tương tác, phần lớn các trường hợp sẽ tìm ra các con đường – phương án mới mà ca sử dụng đó có thể chọn. Những con đường như thế có thể được mô tả bằng các nhãn của các biểu đồ hoặc trong chính các biểu đồ tương tác của chúng. Khi đưa thêm thông tin mới vào, người phát triển thường phát hiện ra các ngoại lệ mới mà đã bị bỏ qua trong quá trình nắm bắt hoặc phân tích các yêu cầu. Xác định các hệ thống con và các giao diện tham gia Chúng ta đã thiết kế một ca sử dụng dướ dạng một sự cộng tác của các lớp và các đối tượng của chúng. Tuy nhiên, đôi khi ta nên thiết kế một ca sử dụng dưới dạng các hệ thống con tham gia và/hoặc các giao diện của chúng. Chẳng hạn, trong quá trình phát triển từ trên xuống, cần phải nắm bắt các yêu cầu về các hệ thống con và các giao diện của chúng trước khi thiết kế phần bên trong. Trong những trường hợp như thế, một thực thi ca sử dụng thiết kế có thể được mô tả ở nhiều mức trong hệ thống phân cấp các hệ thống con Việc tìm ra các hệ thống con cần có để thực thi ca sử dụng có thể thực hiện bằng cách lần vết tới các lớp phân tích tham gia và thực thi ca sử dụng phân tích tương Luận văn thạc sĩ - 49 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ứng. Xác định các gói phân tích mà chúng chứa các lớp phân tích đó, nếu có. Sau đó, xác định các hệ thống con thiết kế mà chúng lần vết tới các gói phân tích đó. Các hệ thống con có tham gia vào việc thực thi ca sử dụng được đưa vào một biểu đồ lớp. Ta sẽ dùng biểu đồ lớp này để đưa ra các mối quan hệ phụ thuộc giữa các hệ thống con đó và các giao diện bất kỳ mà đã được dùng trong việc thực thi ca sử dụng Mô tả các tương tác giữa các hệ thống con Khi chúng ta có một phác thảo về các hệ thống con cần thiết để thực thi ca sử dụng, chúng ta phải mô tả cách thức mà các đối tượng của các lớp trong chúng tương tác trên một cấp độ của hệ thống. Việc này được tiến hành bằng cách sử dụng các biểu đồ tuần tự chứa các thể hiện của tác nhân tham gia, các hệ thống con, và những sự truyền thông báo giữa chúng Nắm bắt các yêu cầu triển khai Chúng ta nắm bắt mọi yêu cầu về thực thi một ca sử dụng, chẳng hạn, các yêu cầu phi chức năng đã được xác định trong thiết kế nhưng sẽ phải được xử lý trong triển khai 5. Thiết kế một lớp Mục tiêu của việc thiết kế một lớp là tạo ra một lớp thiết kế sao cho hoàn thành vai trò của nó trong các thực thi ca sử dụng và các yêu cầu phi chức năng được áp dụng cho nó. Công việc này bao gồm việc bảo trì chính bản thân lớp thiết kế, và các mặt sau đây của nó: · Các tác vụ của nó · Các thuộc tính của nó · Các mối quan hệ mà nó tham gia vào đó · Các phương pháp hóa học · Các trạng thái được áp đặt cho nó · Các mối quan hệ phụ thuộc của nó với bất kỳ các cơ chế thiết kế chung nào · Các yêu cầu thích hợp cho việc thực thi của nó · Sự thực thi đúng đắn của bất kỳ giao diện nào mà nó được yêu cầu cung cấp Phác thảo lớp thiết kế Luận văn thạc sĩ - 50 - Nguyễn Chí Thành Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Trước hết, chúng ta cần phác thảo một hoặc nhiều lớp thiết kế dựa trên đầu vào là các lớp phân tích và/hoặc các giao diện. Khi một giao diện được dùng làm đầu vào thì vấn đề trở nên đơn giản và điều cần làm chỉ là gán một lớp thiết kế để cung cấp giao diện đó Khi sử dụng các lớp phân tích được cho làm đầu vào thì phương pháp được sử dụng phụ thuộc vào khuôn mẫu của lớp phân tích: § Việc thiết kế của lớp biên phụ thuộc vào các công nghệ giao diện cụ thể nào được sử dụng § Việc thiết kế các lớp thực thể biểu diễn các thông tin lâu dài thường kéo theo việc sử dụng một công nghệ cơ sở dữ liệu riêng. Chẳng hạn, tạo ra các lớp thiết kế được ánh xạ tương ứng thành các bản ghi trong một mô hình dữ liệu quan hệ § Thiết kế các lớp điều khiển là việc làm tinh tế, vì chúng bao gói các chuỗi, sự phù hợp của các đối tượng khác, và đôi khi có tính logic nghiệp vụ thuần túy Xác định các thao tác Chúng ta xác định các tác vụ được cung cấp bởi lớp thiết kế và mô tả các tác vụ đó bằng cách sử dụng cú pháp của ngôn ngữ lập trình. Các đầu vào quan trọng của bước này là: § Các trách nhiệm của một lớp phân tích bất kỳ mà lớp thiết kế lần vết tới nó. Một trách nhiệm thường chưa một hoặc nhiều tác vụ. Hơn nữa, nếu đã có mô tả về đầu vào và đầu ra cho các trách nhiệm, ta có thể dùng chúng n

Các file đính kèm theo tài liệu này:

  • pdfThSTN07.pdf
Tài liệu liên quan