Đề tài Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tí

Tài liệu Đề tài Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tí: KH OA C NT T – Đ H KH TN 1 Lời cảm ơn Lời đầu tiên, chúng con xin gửi đến cha mẹ lòng biết ơn, sự tôn kính của chúng con. Cha mẹ đã tạo mọi điều kiện tốt nhất cho chúng con có được ngày hôm nay. Chúng em cám ơn khoa Công nghệ thông tin trường Đại học Khoa học Tự nhiên đã tạo điều kiện cho chúng em thực hiện đề tài này. Chúng em xin chân thành cám ơn thầy Phạm Nguyễn Cương, Cô Nguyễn Trần Minh Thư đã tận tâm hướng dẫn, giúp đỡ chúng em hoàn thành đề tài này. Chúng em xin gửi lời cám ơn tất cả các thầy cô đã giảng dạy, cung cấp kiến thức, truyền đạt những kinh nghiệm quý báu cho chúng em suốt những năm học vừa qua. Chúng tôi cũng xin cám ơn các bạn đã nhiệt tình giúp đỡ chúng tôi trong suốt quá trình thực hiện đề tài luận văn tốt nghiệp này. Mặc dù chúng em đã cố gắng để hoàn thành tốt luận văn, nhưng chắc chắn không tránh khỏi những thiếu sót, chúng em rất mong được sự cảm thông và tận tình giúp đỡ của quý thầy cô. Tp. Hồ Chí Minh, 07/2004 ...

pdf154 trang | Chia sẻ: hunglv | Lượt xem: 1144 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tí, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
KH OA C NT T – Đ H KH TN 1 Lời cảm ơn Lời đầu tiên, chúng con xin gửi đến cha mẹ lòng biết ơn, sự tôn kính của chúng con. Cha mẹ đã tạo mọi điều kiện tốt nhất cho chúng con có được ngày hôm nay. Chúng em cám ơn khoa Công nghệ thông tin trường Đại học Khoa học Tự nhiên đã tạo điều kiện cho chúng em thực hiện đề tài này. Chúng em xin chân thành cám ơn thầy Phạm Nguyễn Cương, Cô Nguyễn Trần Minh Thư đã tận tâm hướng dẫn, giúp đỡ chúng em hoàn thành đề tài này. Chúng em xin gửi lời cám ơn tất cả các thầy cô đã giảng dạy, cung cấp kiến thức, truyền đạt những kinh nghiệm quý báu cho chúng em suốt những năm học vừa qua. Chúng tôi cũng xin cám ơn các bạn đã nhiệt tình giúp đỡ chúng tôi trong suốt quá trình thực hiện đề tài luận văn tốt nghiệp này. Mặc dù chúng em đã cố gắng để hoàn thành tốt luận văn, nhưng chắc chắn không tránh khỏi những thiếu sót, chúng em rất mong được sự cảm thông và tận tình giúp đỡ của quý thầy cô. Tp. Hồ Chí Minh, 07/2004 Nhóm sinh viên thực hiện Trần Hoàng Minh – Lê Thùy Trang KH OA C NT T – Đ H KH TN 2 Lời mở đầu Từ những năm 70 của thế kỷ trước, ở Việt Nam CNTT đã được ứng dụng trong một số lĩnh vực quan trọng. Nhưng chúng ta chưa thể theo kịp với sự phát triển như vũ bão của CNTT trên thế giới vì nhiều lý do. Hiện nay đất nước ta đang bước vào thế kỷ XXI, thế kỷ của CNTT và vật liệu mới. CNTT đã được quan tâm của mọi cấp, mọi ngành, mọi lĩnh vực, thậm chí với mọi người, mọi lứa tuổi. CNTT đã thực sự tỏ rõ được vai trò của nó trong tất cả các ngành khoa học và đời sống văn hoá, kinh tế xã hội. Công nghệ thông tin đã góp phần nâng cao chất lượng và hiệu quả của nhiều công việc, giúp cho con người xử lý những thông tin cần thiết trong lĩnh vực công tác của mình. Tuy nhiên trong quá trình phân tích và thiết kế các hệ thống thông tin, các nhà phát triển hệ thống đã gặp nhiều khó khăn trong việc vẽ các loại sơ đồ và đúc kết các tri thức kinh nghiệm. Khoa học ngày càng phát triển là do thế hệ sau luôn có sự kế thừa và phát triển những thành quả của thế hệ trước, vì thế phương pháp hướng đối tượng ra đời. Đó là sự kế thừa những cái đã có trước đó và phát triển lên cho phù hợp với cái mới. Phân tích thiết kế hệ thống thông tin là công việc rất khó, nó đòi hỏi người phát triển phải có những tri thức nhất định về lĩnh vực này, đồng thời phải có rất nhiều kinh nghiệm. Một công cụ tốt không những phải hỗ trợ cho người dùng vẽ các sơ đồ phân tích, thiết kế mà còn phải giúp người dùng lưu trữ lại những tri thức mà họ sử dụng trong quá trình vẽ các sơ đồ này. Điều này sẽ giúp cho chính bản thân người dùng đó tiết kiệm được rất nhiều thời gian cho những công việc đã làm trước đây, để giành thời gian cho sự sáng tạo, nó còn giúp cho những người dùng khác học hỏi kinh nghiệm của những người đi trước để có thể có những giải pháp hay. Vậy tại sao chúng ta không phát triển một công cụ hỗ trợ cho việc kế thừa này? Luận văn này xây dựng Support Tool, chính là công cụ hỗ trợ đó. KH OA C NT T – Đ H KH TN 3 Luận văn gồm có các chương: Chương 1-Tổng quan: Giới thiệu sơ lược về phương pháp hướng đối tượng và các case tool hiện nay Chương 2- Tìm hiểu về một số mẫu phân tích: Chương này trình bày lý thuyết các mẫu phân tích bao gồm giới thiệu, định nghĩa, và nội dung các mẫu phân tích Chương 3-Mô tả công cụ hỗ trợ: Trong chương này, luận văn giới thiệu về Support Tool và các chức năng của công cụ Chương 4-Phân tích thiết kế: Trình bày mô hình dữ liệu và sơ đồ lớp của Support Tool Chương 5-Cài đặt và thử nghiệm: Chương này mô tả các màn hình chính của Support Tool và kết quả thử nghiệm của công cụ Chương 6-Đánh giá và hướng phát triển: Đánh giá kết quả và hướng phát triển của Support Tool. KH OA C NT T – Đ H KH TN 4 Mục lục Lời cảm ơn .................................................................................................................................. 1 Lời mở đầu.................................................................................................................................. 2 Mục lục ....................................................................................................................................... 4 Danh sách hình............................................................................................................................ 7 Chương 1 TỔNG QUAN......................................................................................................... 9 1.1 Phân tích thiết kế hướng đối tượng............................................................................. 9 1.1.1 Giới thiệu ............................................................................................................ 9 1.1.2 Phương pháp phân loại đối tượng..................................................................... 10 1.2 Giới thiệu các case tool hiện nay .............................................................................. 11 1.2.1 Ưu điểm của các case tool ................................................................................ 11 1.2.2 Khuyết điểm...................................................................................................... 11 Chương 2 TÌM HIỂU VỀ MỘT SỐ MẪU PHÂN TÍCH...................................................... 12 2.1 Dẫn nhập ................................................................................................................... 12 2.2 Lý thuyết về mẫu phân tích....................................................................................... 12 2.2.1 Định nghĩa......................................................................................................... 12 2.2.2 Nội dung một số mẩu phân tích ........................................................................ 13 2.2.2.1 Đối tượng trách nhiệm (Accountability)....................................................... 13 2.2.2.1.1 Mẫu nhóm (party pattern) ....................................................................... 13 2.2.2.1.2 Mẫu sự phân cấp trong một tổ chức (Organization hierarchies) ............ 14 2.2.2.1.3 Mẫu cấu trúc của tổ chức (Organization structure) ................................ 17 2.2.2.1.4 Mẫu trách nhiệm (Accountability).......................................................... 20 2.2.2.1.5 Mẫu về mức tri thức trách nhiệm (accountability knowledge level) ...... 21 2.2.2.1.6 Mẫu tổng quát hóa loại nhóm (party type generalizations) .................... 23 2.2.2.1.7 Mẫu sự phân cấp của trách nhiệm (hierarchy accountability) ................ 24 2.2.2.1.8 Mẫu phạm vi hoạt động (Operating scopes)........................................... 26 2.2.2.1.9 Chức vụ (Post) ........................................................................................ 28 2.2.2.2 Quan sát và đo lường (Observations and measurements)............................. 28 2.2.2.2.1 Mẫu Số lượng (Quantity)........................................................................ 29 2.2.2.2.2 Mẫu tỷ lệ chuyển đổi(Conversion ratio ) ................................................ 30 2.2.2.2.3 Mẫu đơn vị phức hợp (Compound Units)............................................... 30 2.2.2.2.4 Mẫu đo lường (Measurement) ................................................................ 32 2.2.2.2.5 Mẫu quan sát (Observation).................................................................... 33 2.2.2.2.6 Khái niệm về đối tượng quan sát con (Subtyping observation concepts)36 2.2.2.2.7 Cách thức đo (protocol) .......................................................................... 37 2.2.2.2.8 Mẫu ghi thời gian kép (Dual time record) .............................................. 38 2.2.2.2.9 Loại bỏ đối tượng theo dõi (rejected observation).................................. 39 2.2.2.2.10 Quan sát chính xác, giả thuyết, dự đoán (Active observation, hypothesis, projection).............................................................................................. 40 2.2.2.2.11 Đối tượng theo dõi liên quan (Associated observation) ....................... 41 2.2.2.3 Đối tượng quan sát đối với tập đoàn tài chính .............................................. 42 KH OA C NT T – Đ H KH TN 5 2.2.2.3.1 Mẫu đơn vị công việc (enterprise segment)............................................ 43 2.2.2.3.2 Phương pháp của các phép đo (Measurement protocol)......................... 47 2.2.2.3.3 Dãy (range) ............................................................................................. 52 2.2.2.3.4 Hiện tượng của dãy số đo (Phenomenon with range)............................. 53 2.2.2.4 Tham chiếu đến đối tượng (Referring to objects)......................................... 53 2.2.2.4.1 Tên (name).............................................................................................. 53 2.2.2.4.2 Lược đồ định danh (identification scheme) ............................................ 54 2.2.2.4.3 Kết hợp đối tượng (Object merge).......................................................... 54 2.2.2.4.4 Sự tương đương đối tượng (Object equivalent)...................................... 56 2.2.2.5 Tồn kho và kế toán (Inventory and accounting) ........................................... 57 2.2.2.5.1 Tài khoản (account) ................................................................................ 57 2.2.2.5.2 Giao dịch (Transaction) .......................................................................... 58 2.2.2.5.3 Tài khoản tổng hợp (summary tran account) .......................................... 60 2.2.2.5.4 Tài khoản ghi nhớ (memo account) ........................................................ 61 2.2.2.5.5 Nguyên tắc ghi sổ (Posting rule)............................................................. 62 2.2.2.5.6 Nguyên tắc ghi sổ cho nhiều tài khoản (posting rule for many accounts) 63 2.2.2.5.7 Chọn các khoản mục (Choosing entries) ................................................ 65 2.2.2.5.8 Phương pháp kế toán (accounting practice)............................................ 66 2.2.2.5.9 Nguồn gốc của một khoản mục trong tài khoản (sources of an entry) ... 68 2.2.2.5.10 Bản kê tài sản và thông báo thu nhập ( balance sheet and income statement) 69 2.2.2.5.11 Tài khoản tương ứng (corresponding account)..................................... 70 2.2.2.5.12 Mô hình tài khoản chuyên dụng (specialized account model).............. 71 2.2.2.5.13 Đăng ký các khoản mục đến nhiều tài khoản (booking entries to multiple account) ...................................................................................................... 73 Chương 3 MÔ TẢ CÔNG CỤ HỖ TRỢ ............................................................................... 75 3.1 Giới thiệu .................................................................................................................. 75 3.2 Mô tả chức năng phân loại từ theo ngữ cảnh và xây dựng sơ đồ lớp ...................... 75 3.2.1 Phương pháp phân loại đối tượng theo cụm danh từ ........................................ 75 3.2.2 Ứng dụng hướng tiếp cận cụm danh từ............................................................. 77 3.2.3 Mô tả về chức năng phân loại từ....................................................................... 78 3.3 Mô tả chức năng sử dụng các mẩu phân tích............................................................ 78 Chương 4 PHÂN TÍCH THIẾT KẾ ...................................................................................... 80 4.1 Mô hình dữ liệu của chức năng phân loại từ ............................................................ 80 4.1.1 Mô hình thực thể kết hợp – ERM (Entity Relationship Model) ....................... 80 4.1.2 Mô hình quan niệm dữ liệu – CDM (Conceptual Data Model)........................ 83 4.1.3 Mô hình ở mức vật lý – PDM (Physical Data Model)...................................... 84 4.2 Mô hình dữ liệu cho việc lưu trữ và xử lý các mẫu phân tích .................................. 85 4.2.1 Mô hình thực thể kết hợp – ERM (Entity Relationship Model) ....................... 85 4.2.2 Mô hình quan niệm dữ liệu – CDM (Conceptual Data Model)........................ 90 4.2.3 Mô hình ở mức vật lý – PDM (Physical Data Model)...................................... 91 4.3 Mô hình dữ liệu để lưu trữ và xử lý các tri thức kinh nghiệm được đưa vào .......... 92 4.3.1 Mô hình thực thể kết hợp – ERM (Entity Relationship Model) ....................... 92 KH OA C NT T – Đ H KH TN 6 4.3.2 Mô hình quan niệm dữ liệu – CDM (Conceptual Data Model)........................ 96 4.3.3 Mô hình ở mức vật lý – PDM (Physical Data Model)...................................... 97 4.4 Mô hình dữ liệu để lưu trữ và xử lý các tri thức kinh nghiệm dạng văn bản ........... 98 4.4.1 Mô hình thực thể kết hợp – ERM (Entity Relationship Model) ....................... 98 4.4.2 Mô hình quan niệm dữ liệu – CDM (Conceptual Data Model)........................ 99 4.4.3 Mô hình ở mức vật lý – PDM (Physical Data Model).................................... 100 4.5 Sơ đồ lớp................................................................................................................. 100 Chương 5 CÀI ĐẶT VÀ THỬ NGHIỆM ........................................................................... 103 5.1 Cài đặt ..................................................................................................................... 103 5.1.1 Sơ đồ liên kết các màn hình............................................................................ 103 5.1.2 Các màn hình chính ........................................................................................ 104 5.2 Thử nghiệm............................................................................................................. 120 5.2.1 Mô tả bài toán thử nghiệm.............................................................................. 120 5.2.2 Kết quả thử nghiệm......................................................................................... 124 Chương 6 ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN .......................................................... 131 6.1 Đánh giá.................................................................................................................. 131 6.2 Hướng phát triển ..................................................................................................... 131 Tài liệu tham khảo .................................................................................................................. 132 Phụ lục .................................................................................................................................... 133 Phụ lục A Mô tả các thực thể, mối kết hợp cho việc phân lọai từ ...................................... 133 Phụ lục B Mô tả các thực thể, mối kết hợp cho việc lưu trữ và xử lý các mẫu phân tích .. 138 Phụ lục C Mô tả các thực thể, mối kết hợp để lưu trữ và xử lý các tri thức kinh nghiệm được đưa vào................................................................................................................................ 149 KH OA C NT T – Đ H KH TN 7 Danh sách hình Hình 2-1 Tổng quát hóa bằng cách sử dụng party.................................................................... 14 Hình 2-2 Cấu trúc tổ chức với các mức được phân cấp tường minh ........................................ 15 Hình 2-3 Cấu trúc tổ chức với mối quan hệ phân cấp .............................................................. 16 Hình 2-4 Hai hệ thống phân cấp của tổ chức............................................................................ 17 Hình 2-5 Sử dụng một quan hệ phân loại ................................................................................. 19 Hình 2-6 Thêm một quan hệ bộ luật (rule) vào hình 4.5 .......................................................... 20 Hình 2-7 Mẫu trách nhiệm........................................................................................................ 21 Hình 2-8 Mức tri thức và mức xử lý của mẫu trách nhiệm ...................................................... 22 Hình 2-9 Cho phép party type có sub- và supertype................................................................. 23 Hình 2-10 Kiểu trách nhiệm được phân cấp............................................................................. 25 Hình 2-11 Giữ cân bằng cho các loại con của accountability type........................................... 26 Hình 2-12 Mẫu phạm vi hoạt động........................................................................................... 27 Hình 2-13 Mẫu chức vụ ............................................................................................................ 28 Hình 2-14 Các số đo là các thuộc tính sử dụng quantity .......................................................... 29 Hình 2-15 Thêm tỉ lệ chuyển đổi vào các đơn vị...................................................................... 30 Hình 2-16 Đơn vị phức hợp...................................................................................................... 31 Hình 2-17 Đơn vị phức hợp sử dụng các túi chứa.................................................................... 32 Hình 2-18 Số đo và loại hiện tượng.......................................................................................... 33 Hình 2-19 Đối tượng quan sát và phạm trù quan sát ................................................................ 35 Hình 2-20 Mối quan hệ hồi quy được dùng để ghi lại những dấu hiệu và đánh giá................. 36 Hình 2-21 Hiện tượng (phenomenon) nằm ở mức tri thức....................................................... 36 Hình 2-22 Có và không có của các khái niệm quan sát............................................................ 38 Hình 2-23 Mẫu ghi thời gian kép cho đối tượng quan sát ........................................................ 39 Hình 2-24 Loại bỏ đối tượng theo dõi ...................................................................................... 40 Hình 2-25 Mẫu quan sát chính xác, giả thuyết, dự đoán .......................................................... 41 Hình 2-26 Liên kết giữa các đối tượng quan sát....................................................................... 42 Hình 2-27 Cách thức các đơn vị công việc liên kết với các thành phần của các chiều ............ 44 Hình 2-28 Định nghĩa đơn vị công việc với các thành phần chiều........................................... 45 Hình 2-29 Định nghĩa đơn vị công việc bằng cách sử dụng các chiều và các thành phần chiều .......................................................................................................................................... 46 Hình 2-30 Thêm vào một mức chiều(Dimension level) vào hình 2-29.................................... 46 Hình 2-31 Phép đo và phương pháp đo .................................................................................... 49 Hình 2-32 Phương thức của phương pháp đo dựa vào các phép tính....................................... 50 Hình 2-33 Các loại kết quả tính toán theo phương pháp đo dựa vào các phép tính ................. 51 Hình 2-34 Thể hiện một dãy với cận trên và cận dưới ............................................................. 52 Hình 2-35 Sử dụng một đối tượng dãy tường minh.................................................................. 53 Hình 2-36 Một định danh cho một đối tượng ........................................................................... 54 Hình 2-37 Mẫu lược đồ định danh............................................................................................ 54 Hình 2-38 Đối tượng được thay thế bởi một đối tượng khác ................................................... 55 Hình 2-39 Bản chất và hình thức .............................................................................................. 56 Hình 2-40 Sự tương đương giữa các đối tượng ........................................................................ 56 KH OA C NT T – Đ H KH TN 8 Hình 2-41 Tài khoản và khoản mục.......................................................................................... 58 Hình 2-42 Một giao dịch với 2 bản ghi..................................................................................... 59 Hình 2-43 Giao dịch nhiều nhánh............................................................................................. 59 Hình 2-44 Mô hình giao dịch 2 nhánh không sử dụng khoản mục (entry)............................... 60 Hình 2-45 Tài khoản tổng hợp và tài khoản chi tiết ................................................................. 61 Hình 2-46 Một cấu trúc đơn giản của nguyên tắc ghi sổ được nhân với một hệ số ................. 62 Hình 2-47 Nguyên tắc ghi sổ với các phương thức để tính giá trị cho các khoản mục............ 63 Hình 2-48 Sử dụng các loại tài khoản (Account type) ............................................................. 64 Hình 2-49 Sử dụng một phương thức tìm kiếm tài khoản ........................................................ 65 Hình 2-50 Phương pháp kế toán ............................................................................................... 67 Hình 2-51 Loại phương pháp kế toán (Accounting practice type) ........................................... 68 Hình 2-52 Nguồn gốc một giao dịch ........................................................................................ 69 Hình 2-53 Tài khoản tài sản, tài khoản thu nhập, và tài khoản chi phí .................................... 70 Hình 2-54 Tài khoản tương ứng ............................................................................................... 71 Hình 2-55 Chuyên biệt hóa mô hình tài khoản để hỗ trợ cho bài toán tồn kho........................ 72 Hình 2-56 Cho phép nhiều tài khoản tổng hợp......................................................................... 74 Hình 4-1 Mô hình thực thể kết hợp cho chức năng phân tích .................................................. 80 Hình 4-2 Mô hình quan niệm dữ liệu cho chức năng phân tích ............................................... 83 Hình 4-3 Mô hình mức vật lý cho chức năng phân tích ........................................................... 84 Hình 4-4 Mô hình thực thể kết hợp cho mẫu phân tích ............................................................ 85 Hình 4-5 Mô hình quan niệm dữ liệu cho mẫu phân tích ......................................................... 90 Hình 4-6 Mô hình mức vật lý cho mẩu phân tích ..................................................................... 91 Hình 4-7 Mô hình thực thể kết hợp cho Class Diagram ........................................................... 92 Hình 4-8 Mô hình quan niệm dữ liệu cho Class Diagram ........................................................ 96 Hình 4-9 Mô hình mức vật lý cho Class Diagram.................................................................... 97 Hình 4-10 Mô hình thực thể kết hợp cho Lưu trữ dữ liệu ........................................................ 98 Hình 4-11 Mô hình quan niệm dữ liệu cho Lưu trữ dữ liệu ..................................................... 99 Hình 4-12 Mô hình mức vật lý cho Lưu trữ dữ liệu ............................................................... 100 Hình 4-13 Sơ đồ lớp cho chức năng phân loại từ ................................................................... 100 Hình 4-14 Sơ đồ lớp cho chức năng Sử dụng mẫu phân tích ................................................. 101 Hình 5-1 Sơ đồ liên kết các màn hình chính........................................................................... 103 Hình 5-2 Màn hình chính........................................................................................................ 104 Hình 5-3 Màn hình tạo và chỉnh sửa Mẫu phân tích .............................................................. 105 Hình 5-4 Màn hình nhập yêu cầu hệ thống............................................................................. 106 Hình 5-5 Màn hình liệt kê danh từ, cụm danh từ .................................................................... 108 Hình 5-6 Màn hình liệt kê class giả ........................................................................................ 109 Hình 5-7 Màn hình chọn ngữ cảnh hệ thống .......................................................................... 111 Hình 5-8 Màn hình liệt kê class giả trong ngữ cảnh tương ứng ............................................. 113 Hình 5-9 Màn hình liệt kê các từ trùng lắp............................................................................. 115 Hình 5-10 Màn hình xử lý từ trùng lắp................................................................................... 117 Hình 5-11 Màn hình liệt kê class ............................................................................................ 119 KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 9 Chương 1 TỔNG QUAN 1.1 Phân tích thiết kế hướng đối tượng 1.1.1 Giới thiệu Trước đây mặc dù trong quá trình phân tích thiết kế hệ thống thông tin, người ta đã nghĩ đến việc sử dụng một số loại mô hình để biểu diễn cho kết quả phân tích thiết kế, nhưng họ vẫn chưa nghĩ đến vấn đề sử dụng lại các mô hình đó. Nhưng trong thực tế có rất nhiều vấn đề giải quyết mang tính chất lặp đị lặp lại, và vấn đề sử dụng lại các mô hình đã thiết kế trước đây là không thể không nghĩ đến, chính vì thế mà khái niệm về hướng đối tượng đã ra đời. Mặc dù thời kỳ đầu của máy tính chúng ta đã tái sử dụng mã của chương trình nhưng kỹ thuật hướng đối tượng cho phép tái sử dụng nhiều thứ hơn là chỉ có mã như: các yêu cầu phân tích thiết kế, kế hoạch kiểm thử, giao diện người dùng, kiến trúc phần mềm. Theo phương pháp hướng đối tượng chúng ta có hai phần đó là phân tích hướng đối tượng và thiết kế hướng đối tượng. Do đề tài của luận văn, ở đây ta chỉ tập trung vào quá trình phân tích hướng đối tượng. Mô hình phân tích hướng đối tượng phục vụ cho hai mục đích : · Đầu tiên nó hình thức hóa cách nhìn về thế giới thực trong phạm vi mà phần mềm được xây dựng. Nó thiết lập các đối tượng phục vụ như các cấu trúc cơ bản của hệ thống phần mềm và các quy luật hay các ràng buộc đa dạng mà thế giới thực buộc phải có cho bất kỳ phần mềm nào được xây dựng trong dạng ứng dụng đó. · Thứ hai, nó thiết lập tập các đối tượng cộng tác với nhau như thế nào để thực hiện công việc của hệ thống phần mềm sẽ xây dựng. Sự cộng tác này được mô tả trong mô hình như là một tập hợp các mối liên hệ mà cho thấy mỗi đối tượng giao tiếp với các đối tượng khác như thế nào. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 10 1.1.2 Phương pháp phân loại đối tượng Phương pháp này có 4 hướng tiếp cận để xác định class: · Cụm danh từ: Phương pháp tiếp cận theo cụm danh từ được đề xuất bởi Rebecca Wirfs-Block, Brian Wilkerson, và Lauren Wiener. Phương pháp đề xuất việc xác định các class qua việc tìm kiếm trong các use case và các mô tả yêu cầu để tìm kiếm các cụm danh từ. Các danh từ có thể trở thành ứng viên của các class. Tất cả các danh từ và cụm danh từ tìm được sẽ được phân thành 3 loại : § Các class hiển nhiên § Các class mờ § Các class giả tạo · Mẫu chung: Phương pháp này dựa trên một cơ sở tri thức về việc phân loại class theo những mẫu chung. Các mẫu chung này là: § Class khái niệm § Class sự kiện § Class tổ chức § Class con người § Class vị trí § Sự vật hữu hình và các class thiết bị · Gia tăng: Ý tưởng của cách tiếp cận này là từ một khái niệm chính ban đầu chúng ta mở rộng xung quanh nó các khái niệm có liên quan. Quá trình mở rộng sẽ được lặp lại cho đến khi tất cả các đối tượng thuộc phạm vi hệ thống đã được đưa vào mô hình. · Theo use case: Phương pháp tiếp cận xây dựng chi tiết các đối tượng của hệ thống rồi tích hợp thành mô hình chung biểu diễn toàn bộ đối tượng hệ thống. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 11 1.2 Giới thiệu các case tool hiện nay 1.2.1 Ưu điểm của các case tool Trước đây để vẽ các loại sơ đồ trong giai đoạn phân tích thiết kế phần mềm, người ta thường phải tốn rất nhiều thời gian để hoàn tất cho một sơ đồ cuối cùng vì họ phải vẽ đi vẽ lại để có một sơ đồ tối ưu, bên cạnh đó nếu người ta muốn lưu trữ các sơ đồ đã hoàn tất để tham khảo sau này cũng gặp rất nhiều khó khăn. Chính vì thế mà đã có nhiều công cụ hỗ trợ cho những nhà phân tích thiết kế được ra đời. Sự ra đời của các công cụ đó đã làm cho việc phân tích, thiết kế trở nên dễ dàng hơn nhiều. Các công cụ không những hỗ trợ trong việc vẽ các loại sơ đồ mà còn hỗ trợ ở mức cao hơn là phát sinh các đoạn mã chương trình, đem lại nhiều thuận lợi hơn cho các nhà lập trình. 1.2.2 Khuyết điểm Tuy các case tool hiện nay đã hỗ trợ rất nhiều cho các nhà phát triển nhưng các công cụ này chỉ hỗ trợ về việc vẽ mô hình mà chưa có sự hỗ trợ về các tri thức kinh nghiệm, trong khi đó phân tích và thiết kế là những công việc đòi hỏi rất nhiều tri thức và kinh nghiệm. Qua quá trình này người phát triển có thể rút ra được những tri thức kinh nghiệm mới có ích cho những lần phân tích thiết kế sau đó. Những tri thức kinh nghiệm này không những rất quý giá đối với chính người phát triển mà còn giúp cho những người khác học hỏi các kinh nghiệm này để phát triển thêm cho sơ đồ và từ đó lại có thêm những kinh nghiệm mới. Kinh nghiệm là vốn rất quý nhưng các công cụ hỗ trợ hiện nay chỉ hỗ trợ ở mức lưu trữ những gì mà người dùng thực hiện mà không hỗ trợ cho việc đúc kết các tri thức kinh nghiệm từ quá trình làm việc của người dùng. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 12 Chương 2 TÌM HIỂU VỀ MỘT SỐ MẪU PHÂN TÍCH 2.1 Dẫn nhập Trước đây trong giai đoạn phân tích hệ thông thông tin, mẫu phân tích vẫn chưa được sử dụng rộng rãi. Nguyên nhân chính là do thiếu các thư viện mẫu phân tích chuẩn và các mẫu phân tích thích hợp. Từ khi Martin Fowler công bố về thư viện các mẫu phân tích do ông đưa ra từ những đề án thực tế vào năm 1997, mẫu phân tích đã được sự quan tâm đặc biệt của những người phân tích hệ thống. Martin Fowler đã đưa ra 9 nhóm mẫu, mỗi nhóm có khoảng từ 4 đến 15 mẫu, mỗi mẫu mô tả một hoặc một vài mô hình có thể giải quyết cho một vấn đề nào đó trong giai đoạn phân tích hệ thống và cách lựa chọn các mô hình này trong từng trường hợp cụ thể. 2.2 Lý thuyết về mẫu phân tích 2.2.1 Định nghĩa Mẫu phân tích được xây dựng từ một hay nhiều dự án thực tế. Các nhà phân tích chắt lọc các đặt trưng nổi bật của một số vấn đề nào đó và đưa vào các mẫu phân tích để có thể tái sử dụng cho những đề án khác . Martin Flower cho rằng các mẫu phân tích chứa rất nhiều lĩnh vực tri thức. Các mẫu phân tích và các mẫu nói chung đều được trừu tượng hóa để thích ứng với các yêu cầu khác nhau của hệ thống, chúng không phải là những giải pháp hiển nhiên cho các vấn đề cần giải quyết mà chúng được rút trích từ những kinh nghiệm thực tế trong những vấn đề tương tự. Mẫu phân tích mang tính quan niệm vì chúng mô tả cách thức mà chúng ta nghĩ đến một hướng giải quyết chứ không phải là cách chúng ta thiết kế một hệ thống để giải quyết vấn đề đó. Và muốn giải quyết một vấn đề thì phải đặt vấn đề đó vào ngữ KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 13 cảnh cụ thể của nó sau đó mới đưa ra giải pháp cho vấn đề trong ngữ cảnh cụ thể này. Martin Flower chia thành 2 danh sách mẫu: · Mẫu phân tích: là những nhóm các khái niệm miêu tả một cấu trúc chung trong mô hình kinh doanh. Nó có thể chỉ thích hợp với duy nhất một ngữ cảnh hoặc nó có thể mở rộng để áp dụng trong nhiều ngữ cảnh khác nhau. · Mẫu hỗ trợ: có vai trò đặc biệt là chúng mô tả cách thức để chọn và áp dụng các mẫu phân tích. 2.2.2 Nội dung một số mẩu phân tích 2.2.2.1 Đối tượng trách nhiệm (Accountability) Khái niệm trách nhiệm được áp dụng khi một người hoặc một tổ chức chịu trách nhiệm với một người hoặc một tổ chức khác (chẳng hạn như cấu trúc của một tổ chức, một hợp đồng lao động, một giao kết ). 2.2.2.1.1 Mẫu nhóm (party pattern) Mẫu này được áp dụng khi các đối tượng có một số trách nhiệm giống nhau và ta sẽ sử dụng một class cha và các đối tượng có trách nhiệm giống nhau sẽ là các class con. Ví dụ về một cuốn sổ địa chỉ, nó sẽ bao gồm rất nhiều địa chỉ, số điện thoại, địa chỉ mail… liên quan đến một tên riêng. Tên riêng ở đây thường là một cá nhân nhưng đôi khi nó có thể là một công ty. Áp dụng mẫu trên, ta mô hình hóa cho người và công KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 14 ty để tránh sự trùng lắp bằng cách sử dụng một party như hình dưới đây: Hình 2-1 Tổng quát hóa bằng cách sử dụng party 2.2.2.1.2 Mẫu sự phân cấp trong một tổ chức (Organization hierarchies) Mẫu này được áp dụng để mô hình hóa cấu trúc của một tổ chức phân cấp. Có 3 mô hình, tùy thuộc vào từng trường hợp cụ thể ta chọn mô hình thích hợp: § Nếu cấu trúc phân cấp ổn định thì ta sẽ lựa chọn mô hình đơn giản nhất (mô hình đầu tiên). § Nếu cấu trúc phân cấp không ổn định nhưng hệ thống ổn định (không thêm hệ thống phân cấp nào khác thì mô hình thứ hai là giải pháp tốt). § Nếu cấu trúc phân cấp không ổn định và hệ thống cũng không ổn định (chẳng hạn thêm một hệ thống phân cấp khác) thì chỉ có thể chọn mô hình thứ ba. Ví dụ công ty đa quốc gia: Aroma Coffee Maker (ACM). Công ty này có nhiều đơn vị hoạt động (operating unit), mỗi đơn vị lại được chia thành nhiều vùng khác nhau (region), mỗi vùng lại được chia thành các khu vực(division) khác nhau, mỗi khu vực lại có nhiều bộ phận bán hàng (sale office) khác nhau. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 15 Nếu công ty có cấu trúc phân cấp ổn định thì sử dụng hình sau là tốt: Hình 2-2 Cấu trúc tổ chức với các mức được phân cấp tường minh Nhưng mô hình này không tốt khi tổ chức này thay đổi, chẳng hạn tổ chức này muốn bỏ đi các regions ta phải thay đổi mô hình. Do đó, khi cấu trúc của tổ chức có thể thay đổi thì ta sử dụng mô hình sau sẽ tốt hơn vì nó đơn giản, dễ thay đổi. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 16 Hình 2-3 Cấu trúc tổ chức với mối quan hệ phân cấp Mô hình này gặp phải một vấn đề cần giải quyết. Đó là do mối quan hệ quy hồi trên Organization nên nó cho phép division là một bộ phận của sale office. Để giải quyết vấn đề này ta định nghĩa một subtype tương ứng với mỗi level và đặt các ràng buộc trên các subtype này. Khi hệ thống phân cấp trong tổ chức thay đổi ta chỉ cần thay đổi các subtype và các rule. Thường thì thay đổi một rule dễ thay đổi hơn thay đổi một cấu trúc mô hình. Cấu trúc phân cấp cung cấp một số nguyên tắc chung nhưng nó lại có một vài giới hạn, chẳng hạn như nó chỉ hỗ trợ một cấu trúc phân cấp đơn. Giả sử ACM cần gắn thêm các đội ngũ dịch vụ (service team) cho các dòng sản phẩm chính của họ vào các sale offices. Những đội ngũ dịch vụ này có một cấu trúc báo cáo kép: họ báo cáo với đội ngũ bán hàng (sales team) cũng như bộ phận dịch vụ của mỗi họ sản phẩm, mà bộ KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 17 phận dịch vụ của mỗi họ sản phẩm lại báo cáo lần lượt với các đơn vị hỗ trợ các loại sản phẩm. Ví dụ đội ngũ dịch vụ(service team) cho máy pha café cappuccino 2176 dung tích cao ở Boston báo cáo với bộ phận bán hàng ở Boston và với trung tâm dịch vụ của họ sản phẩm 2176, trung tâm này lại báo cáo với khu vực(division) quản lý cho họ sản phẩm máy pha café dung tích cao ở Italia, và division này báo cáo với division dịch vụ cho các sản phẩm café high-volume. Với tình huống này mô hình trên trở nên khó sử dụng. Và để giải quyết tình huống này chúng ta cần thêm vào mô hình một hệ thống phân cấp thứ hai như hình sau: Hình 2-4 Hai hệ thống phân cấp của tổ chức 2.2.2.1.3 Mẫu cấu trúc của tổ chức (Organization structure) Mẫu phân cấp tổ chức ở trên mô hình hóa sự phân cấp bên trong của hệ thống và được áp dụng cho những tổ chức nhỏ, đơn giản. Còn mẫu này áp dụng cho cấu trúc của các tổ chức lớn có nhiều hệ thống phân cấp khác nhau hoặc có nhiều liên kết phức tạp. Ngoài ra mẫu này còn được áp dụng khi trong cấu trúc có thể xuất hiện thêm những loại liên kết mới hoặc cần phải ghi quá trình thay đổi cấu trúc phân cấp của tổ chức. Mẫu này có hai sự lựa chọn. Mục đích chung khi đưa ra các mô hình là để hạn chế tối đa sự thay đổi trên mô hình. Vì vậy chúng ta nên đưa các luật vào những class dễ thay đổi nhất: KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 18 § Trường hợp 1: Organization structure type ít thay đổi nhưng việc thêm các subtype lại xảy ra thường xuyên thì mô hình đầu tiên hoạt động tốt, ta đưa các luật này vào các subtype tương ứng của organization. § Trường hợp 2: Organization structure type hay thay đổi nhưng việc thêm các subtype lại ít khi xảy ra thì mô hình thứ hai hoạt động tốt. Xét ví dụ trên với việc thêm một hệ thống phân cấp vào tổ chức thì mô hình sau thực hiện được dễ dàng mà không cần chỉnh sửa lại mô hình. Với mô hình này có thể giải quyết vấn đề nêu trên với 2 thể hiện của organization structure type: sale organization và service organization. Hệ thống phân cấp được thêm vào bằng cách thêm một organization structure type. Mỗi organization có một time period cho phép chúng ta ghi lại thời gian thay đổi cấu trúc của tổ chức. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 19 Hình 2-5 Sử dụng một quan hệ phân loại Nhưng việc đơn giản hóa cấu trúc của đối tượng lại đặt nặng về vấn đề rule. Ví dụ rule: ”nếu ta có một organization structure mà loại của nó là sale organization và con của nó là một division thì nó phải là một region”. Khi muốn mở rộng hệ thống bằng cách thêm vào một organization structure type mới thì mô hình trên phải thay đổi các rule trong organization structure đó. Hơn nữa, bộ luật (rule) sẽ ngày càng trở nên kềnh càng khi số lượng các organization structure type tăng lên. Trong trường hợp này mô hình ở hình dưới đây là giải pháp tốt hơn: tất cả các luật của một organization structure type cụ thể được lưu trữ tại một KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 20 nơi– Rule. Điều này giúp cho việc thêm một organization structure type mới dễ dàng hơn. Hình 2-6 Thêm một quan hệ bộ luật (rule) vào hình 4.5 2.2.2.1.4 Mẫu trách nhiệm (Accountability) Mẫu này thể hiện những cấu trúc phân cấp như công việc, quản lý đăng ký việc làm hợp đồng …có cấu trúc tương tự như cấu trúc phân cấp trong tổ chức. Ta có thể thấy trong mẫu party người và tổ chức có những trách nhiệm giống nhau. Do đó từ các mẫu cho tổ chức ta có thể nghĩ đến các mẫu tương tự cho người. Mẫu dưới đây có thể KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 21 áp dụng để mô hình hóa trách nhiệm của một party (bao gồm cả người và tổ chức) như mô hình sau: Hình 2-7 Mẫu trách nhiệm Ví dụ: John Smith làm việc cho công ty ACM. Điều này được mô hình hóa như sau: Accountablility chứa các thông tin sau: accountability type là employment, commissioner party là ACM, responsible party là John Smith. 2.2.2.1.5 Mẫu về mức tri thức trách nhiệm (accountability knowledge level) Thực tế là có nhiều loại accountability type hơn organization structure type. Các quy định về định nghĩa accountability type sẽ càng phức tạp hơn. Sự phức tạp này có KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 22 thể được quản lý bằng cách sử dụng mức tri thức. Dùng một mức tri thức tách mô hình thành 2 phần: mức xử lý và mức tri thức. Mức tri thức bao gồm accountability type, party type, và những mối quan hệ giữa chúng. Ở mức xử lý (operation level) ghi lại các sự kiện xảy ra hàng ngày trong domain. Ở mức tri thức (knowledge level) ghi lại những luật chung ảnh hưởng đến cấu trúc này. Những thể hiện của mức tri thức ảnh hưởng đến cấu hình của những thể hiện trong mức xử lý. Do đó mẫu này áp dụng để ghi lại các quy định mô tả cách thức các trách nhiệm được thực hiện theo cách dễ dàng thay đổi nhất. Hình 2-8 Mức tri thức và mức xử lý của mẫu trách nhiệm KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 23 Thông thường ta chỉ cần một ánh xạ đến party type hoặc là những trường hợp cụ thể của party (các lớp con của party). 2.2.2.1.6 Mẫu tổng quát hóa loại nhóm (party type generalizations) Với mẫu mức tri thức trách nhiệm một người chỉ có thể có một trách nhiệm, ví dụ mô hình trên chỉ có thể cho phép tiến sĩ Edward hoặc là một bác sĩ hoặc là một thầy thuốc chứ không cho phép cả hai vai trò đó. Bất kỳ một accountability type nào được định nghĩa cho một bác sĩ mà muốn áp dụng cho cả thầy thuốc thì phải sao chép toàn bộ sang accountability type của thầy thuốc. Trong trường hợp bài toán có nhiều loại nhóm và hầu hết chúng tương tự như nhau, mẫu này giúp ta giảm bớt những sự sao chép này bằng cách cho phép party type có quan hệ cha con như mô hình sau: Hình 2-9 Cho phép party type có sub- và supertype KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 24 2.2.2.1.7 Mẫu sự phân cấp của trách nhiệm (hierarchy accountability) Cấu trúc linh hoạt của mô hình trách nhiệm phải trả giá về độ phức tạp của các ràng buộc. Chẳng hạn để mô hình hóa hệ phân cấp của công ty ACM đã nêu trong mẫu cấu trúc tổ chức (organization structure), mô hình trách nhiệm không có những quy định chặt chẽ như trong một hệ phân cấp. Mẫu này được áp dụng để mô hình hóa những bài toán sử dụng lại mô hình trách nhiệm nhưng có những ràng buộc chặt chẽ. Mẫu này gồm 2 mô hình: § Mô hình 1: Thêm vào mô hình trách nhiệm hai subtype của Accountability type là hierarchic accountability type và leveled accoutability type cùng với các ràng buộc của nó để tạo ra tính chất phân cấp ở mức xử lý. Để mô hình hóa vấn đề đặt ra ở mẫu cấu trúc tổ chức (Organization structure), mô hình này có một accountability type là cấu trúc về khu vực địa lý. Party type gồm: đơn vị hoạt động, vùng, khu vực, bộ phận bán hàng. Với mô hình này ta dễ dàng thêm một leveled accountability type và bổ sung mỗi level trong các cấu trúc đó khi cần. Hierarchic accountability type có thể mô tả trách nhiệm của các party tạo thành một hệ phân cấp. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 25 Hình 2-10 Kiểu trách nhiệm được phân cấp Những ràng buộc áp dụng trên các subtype có tác dụng với các ràng buộc được định nghĩa trên accountability type. Trong trường hợp leveled accountability type, ràng buộc bao gồm ràng buộc của accountability type, và làm cho ánh xạ commissioners và responsibles trở nên không cần thiết. § Mô hình 2: Leveled accountability type là một subtype hoàn hảo của accountability vì ràng buộc trên accountability vẫn có hiệu lực với leveled accountability type. Ánh xạ commissioners và responsibles cũng sẽ tiếp tục có giá trị, mặc dù chúng được bắt nguồn từ ánh xạ levels. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 26 Hình 2-11 Giữ cân bằng cho các loại con của accountability type 2.2.2.1.8 Mẫu phạm vi hoạt động (Operating scopes) Accountability cho phép mô tả cách các party quan hệ với nhau. Loại accountability mô tả loại quan hệ mà chúng có. Xem xét một bác sĩ có thể được nhận làm việc với tư cách một bác sĩ phẫu thuật gan thực hiện 20 ca ghép gan ở bệnh viện Đông Nam Luân Đôn năm 1997. Một đội ngũ chăm sóc bệnh nhân tiểu đường ở một bệnh viện có thể được yêu cầu chăm sóc cho bệnh nhân tiểu đường bằng insulin của tổ chức chăm sóc sức khỏe ở phía Tây Massachusetts. Những chi tiết này là các phạm vi hoạt động của accountability như hình sau. Mỗi phạm vi hoạt động định nghĩa một số phần quan trọng của accountability với party tương ứng. Khó có thể liệt kê được các tính từ của một phạm vi hoạt động. Vì vậy chúng ta thấy accountability có một số phạm vi hoạt động, mỗi phạm vi này là một subtype mô tả các đặc điểm chính xác. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 27 Hình 2-12 Mẫu phạm vi hoạt động Ví dụ: Một bác sĩ phẫu thuật gan chịu trách nhiệm thực hiện 20 ca ghép gan một năm ở bệnh viện Tây Nam Luân Đôn có: accountability là employment, protocol scope với number là 20, protocol là ghép gan, và địa điểm là Tây Nam Luân Đôn. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 28 2.2.2.1.9 Chức vụ (Post) Thường những phạm vi hoạt động của một người bao gồm nhiều trách nhiệm được định nghĩa như sự mô tả công việc của họ. Khi một người nghỉ việc, người thay thế có thể kế thừa một tập đầy đủ những trách nhiệm. Những trách nhiệm này được gắn với công việc chứ không phải với người. Chúng ta có thể giải quyết tình huống này bằng cách định nghĩa một chức vụ (post) là một subtype thứ 3 của party. Bất kỳ một trách nhiệm không thay đổi đối với một công việc nào đó dù cho ai thực hiện công việc này thì trách nhiệm này được gắn với một chức vụ. Một người giữ một chức vụ nếu người đó có trách nhiệm với chức vụ đó. Hình 2-13 Mẫu chức vụ Ví dụ: Paul Smith là đội trưởng của đội ngũ phát triển sản phẩm dung lượng lớn. Chúng ta có thể mô tả điều này như sau: chức vụ là đội trưởng của đội ngũ phát triển sản phẩm dung lượng lớn. 2.2.2.2 Quan sát và đo lường (Observations and measurements) Nhiều hệ thống máy tính ghi lại các thông tin về các đối tượng trong thế giới thực. Các thông tin này được ghi lại trong hệ thống dưới dạng các mẫu tin, các thuộc tính, các objects và các mô tả khác. Một cách điển hình là ghi lại một mẫu tin dưới KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 29 dạng một thuộc tính của một đối tượng. Ví dụ một người nặng 185 pound, thông tin về trọng lượng của người này được ghi lại dưới dạng một thuộc tính của đối tượng người. Số lượng là một loại kết hợp giữa một số và một đơn vị. Bằng cách kết hợp một số với một đơn vị giúp ta mô hình hóa thế giới thực một cách chính xác hơn. Và chúng ta có thể mô tả sự chuyển đổi số lượng giữa các đơn vị bằng một tỉ lệ chuyển đổi. Mẫu quantity có thể mở rộng bằng cách sử dụng các đơn vị kép. Quantity có thể được sử dụng như một thuộc tính của các đối tượng để ghi lại thông tin về chúng. Nhưng hướng tiếp cận này bắt đầu gặp trở ngại khi số lượng các thuộc tính rất lớn vì nó làm objects lớn và operation phức tạp. Trong những tình huống như vậy tốt hơn nên sử dụng measurement. Mẫu này cũng hữu dụng khi ta cần lưu lại thông tin về các độ đo đặc biệt. 2.2.2.2.1 Mẫu Số lượng (Quantity) Áp dụng để ghi giá trị của các đại lượng có đơn vị cụ thể như chiều cao: 6 feet, 1.7 met, cân nặng 100 pound, 80 kg… Cách đơn giản và phổ biến nhất trong việc ghi lại các số đo trong các hệ thống máy tính hiện nay là ghi một số vào một trường được thiết kế cho một số đo cụ thể. Một vấn đề xảy ra khi sử dụng phương pháp này là sử dụng một số để thể hiện chiều cao của một người thì không được thích hợp vì cần phải có đơn vị. Giả sử trường được thiết kế để lưu trọng lượng của một người với đơn vị là pound, nhưng thông tin về một người có khối lượng 80 kg sẽ dễ gây nhầm lẫn. Trong ngữ cảnh này mô hình tốt hơn là mô tả một số đi kèm với một đơn vị và các phép toán +, -, *, /, =, >,<. Hình 2-14 Các số đo là các thuộc tính sử dụng quantity KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 30 2.2.2.2.2 Mẫu tỷ lệ chuyển đổi(Conversion ratio ) Vì các đại lượng có đơn vị nên nảy sinh vấn đề chuyển đổi giữa các đơn vị chẳng hạn chuyển đổi chiều cao từ feet thành met, khối lượng từ pound sang kg… Mẫu này được áp dụng để chuyển đổi giữa các đơn vị bằng cách sử dụng tối tượng tỷ lệ chuyển đổi (conversion ratio) giữa các đơn vị, sau đó mỗi quantity có một operation: ConvertTo (Unit) thực hiện việc chuyển đổi giữa các đơn vị và trả về một giá trị mới ứng với đơn vị được cho. Hình 2-15 Thêm tỉ lệ chuyển đổi vào các đơn vị 2.2.2.2.3 Mẫu đơn vị phức hợp (Compound Units) Các đơn vị có thể là đơn vị nguyên tố hoặc đơn vị phức hợp (compound). Một đơn vị phức hợp là sự kết hợp của các đơn vị nguyên tố như m/s. Phép toán thực hiện việc chuyển đổi giữa các đơn vị kết hợp sử dụng các tỉ lệ chuyển đổi của các đơn vị nguyên tố. Do đó mẫu này áp dụng để mô hình hóa việc chuyển đổi giữa các đơn vị phức hợp (Lưu ý lũy thừa (power) có thể âm hoặc dương ). Mẫu này có 2 mô hình: Sự khác nhau giữa 2 mô hình này không nhiều. Việc lựa chọn giữa 2 mô hình này phụ thuộc vào yêu cầu của bài toán. Mô hình thứ hai dựa vào những thuận lợi trong việc sử dụng túi chứa (bag). Không giống như các loại tập hợp khác, túi chứa cho phép sử dụng một đối tượng nhiều lần trong một ánh xạ. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 31 § Mô hình 1: Hình 2-16 Đơn vị phức hợp Với hầu hết các trường hợp, ta có thể chọn một trong 2 mô hình, nhưng với trường hợp đòi hỏi phải phân rã đơn vị phức hợp thành các đơn vị nguyên tố thì ta nên chọn mô hình 2. Nhưng nếu có yêu cầu không được phép sử dụng túi chứa trong ánh xạ thì đương nhiên ta chỉ có thể chọn mô hình 1. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 32 § Mô hình 2: Hình 2-17 Đơn vị phức hợp sử dụng các túi chứa 2.2.2.2.4 Mẫu đo lường (Measurement) Mô hình này áp dụng khi một thể hiện có rất nhiều thuộc tính số lượng (quantity) và không thể cho mỗi số lượng một thuộc tính.Ta sử dụng mô hình sau với phenomenon type chỉ mỗi loại số lượng, quantity để chỉ giá trị và đơn vị của số lượng đó, person ứng với thể hiện có những số lượng này. Xét ví dụ trong tất cả các lĩnh vực y học, chúng ta sẽ nhận thấy hàng ngàn số đo có thể được thực hiện trên một người. Việc định nghĩa một số đo là một thuộc tính có nghĩa là mỗi người có đến hàng ngàn operation. Mô hình ở hình sau là một giải pháp. Một người có nhiều số đo, mỗi số đo gồm một quantity và một loại độ đo(phenomenon type). Như vậy, mỗi người chỉ có một thuộc tính cho tất cả các số đo. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 33 Hình 2-18 Số đo và loại hiện tượng Ví dụ: John Smith cao 6 feet, có thể được ghi lại một measurement là: person: John Smith, phenomynon Type: Chiều cao, quantity: 6 feet. 2.2.2.2.5 Mẫu quan sát (Observation) Mẫu này tương tự mẫu trên nhưng có nhiều trường hợp giá trị của các đại lượng không phải là số kết hợp với đơn vị mà có thể là một chuỗi các từ như: giới tính thì có giá trị là ‘nam’ hoặc ‘nữ’… Và do đó không thể sử dụng mẫu trên để mô hình hóa các đại lượng này mà phải dùng mẫu quan sát với 3 mô hình: § Mô hình một là mô hình đơn giản nhất, nó thể hiện được các giá trị định tính như giới tính, nhóm máu, có bị bệnh tiểu đường hay không,... § Mô hình thứ hai giúp chúng ta có thể ghi lại sự kết nối giữa các observation. Mô hình này có thể ghi lại sự liện hệ giữa bệnh tiểu đường và các căn cứ khi chẩn đoán. Ngoái ra nó còn ghi lại sự liện hệ giữa hiện tượng giảm cân và bệnh tiểu đường. Với mô hình một, việc ghi lại các tri thức này rất khó thực hiện. § Mô hình sau cùng quy định mỗi category chỉ thuộc một Phenomenon. Mô hình 2 có thể ghi lại các tri thức khác nhưng nó có một nhược điểm là phenomenon type thay đổi trọng lượng và category giảm cân chỉ được KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 34 liên kết với nhau khi có một onservation. Nhưng có nhiều trường hợp chúng ta cũng cần thể hiện hiện tượng giảm cân mà không cần phải có một observation. Mô hình thứ ba có thể thực hiện điều này. Ví dụ: Một bệnh nhân có nhiều số liệu cần ghi nhận, trong số đó có những số liệu quan trọng như giới tính, nhóm máu... Chúng ta không thể sử dụng các thuộc tính cho các số liệu này vì nó có thể có một miền giá trị lớn. Xem xét việc ghi lại giới tính của con người, có thể có 2 giá trị: nam hoặc nữ. Đây là 2 giá trị và nó không có một số và đơn vị, do đó không thể thể hiện bằng một quantity. Ta thay thế quantitty bằng một loại mới là category observation như hình dưới đây. Cụ thể: một người phụ nữ sẽ có phenomenon type là giới tính, category là nữ (category có 2 thể hiện: nam và nữ) person là chính người đó. Với mô hình ở hình sau, một thể hiện của category có thể thuộc nhiều phenomenon type khác nhau. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 35 Hình 2-19 Đối tượng quan sát và phạm trù quan sát Mô hình dưới đây giúp chúng ta có thể ghi lại sự kết nối giữa các observation. Trường hợp một bệnh nhân bị giảm cân, đây là loai Phenomenon type thay đổi trọng lượng. Phenomenon type này liên kết với category: tăng cân, giảm cân, trọng lượng ổn định. Tương tự có một Phenomenon type tiểu đường liên kết với category: các triệu chứng có biểu hiện và các triệu chứng không biểu hiện. Mô hình này có thể ghi lại sự liên kết giữa sự quan sát của bệnh tiểu đường và các triệu chứng của nó. Chúng ta cũng cần ghi lại tri thức về khám và điều trị của liên kết giữa giảm cân và bệnh tiểu đường. Mô hình trên rất khó để ghi lại những điều này. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 36 Hình 2-20 Mối quan hệ hồi quy được dùng để ghi lại những dấu hiệu và đánh giá Mô hình sau cùng giúp ta quy định mỗi category chỉ thuộc một Phenomenon type và đổi tên category thành Phenomenon. Hình 2-21 Hiện tượng (phenomenon) nằm ở mức tri thức 2.2.2.2.6 Khái niệm về đối tượng quan sát con (Subtyping observation concepts) Mô hình của mẫu nghi thức tổng quát hóa khái niệm đối tượng quan sát. Nếu một đối tượng quan sát có xuất hiện thì dẫn đến tất cả các đối tượng quan sát cha của nó được xem là có xuất hiện. Ngược lại một đối tượng quan sát không biểu hiện thì KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 37 không xác định được cha của nó có biểu hiện không nhưng chắc chắn các đối tượng quan sát con của nó đều không biểu hiện. Ví dụ 1: Bệnh tiểu đường là một khái niệm đối tượng quan sát với 2 đối tượng con: tiểu đường loại 1 và loại 2. Nếu John Smith (biểu hiện)bị bệnh tiểu đường loại 1 thì chắc chắn anh ta bị mắc bệnh tiểu đường. Ví dụ 2: Nhóm máu A có 2 loại con là A1 và A2. Một người không thuộc nhóm máu A thì cũng không thuộc nhóm máu A1 và A2. 2.2.2.2.7 Cách thức đo (protocol) Protocol là phương thức mà một đối tượng quan sát được thực hiện. Chẳng hạn chúng ta có thể đo thân nhiệt của một người bằng cách để một nhiệt kế vào miệng, vào nách hoặc trực tràng của họ để đo. Khi ghi lại nhiệt độ đo được này phải ghi lại là nhiệt kế được đặt ở đâu: miệng, vào nách hay trực tràng. Thường thì nhiệt độ đọc được từ 3 cách trên đều giống nhau; nhưng việc ghi lại các cách thức đo này cũng là điều quan trọng. Một trong những giá trị của một protocol là nó được dùng để xác định chính xác về các số đo (measurement). KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 38 Hình 2-22 Có và không có của các khái niệm quan sát 2.2.2.2.8 Mẫu ghi thời gian kép (Dual time record) Các observation thường chỉ được ứng dụng trong một khoảng thời gian giới hạn. Cuối khoảng thời gian đó thì observation không còn được áp dụng. Khoảng thời gian này khác với thời gian obsevation được thực hiện. Vì vậy mẫu này áp dụng để ghi lại 2 thời gian với mỗi observation: một để ghi lại thời gian observation được ứng dụng và một để ghi lại thời điểm mẫu tin được ghi như hình sau: KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 39 Hình 2-23 Mẫu ghi thời gian kép cho đối tượng quan sát Ví dụ: Vào ngày 1/5/97 John Smith nói với bác sĩ của anh ta rằng anh ấy bị đau ở vùng ngực 6 tháng trước và cơn đau kéo dài một tuần. Bác sĩ ghi lại đối tượng quan sát này như sau: đối tượng quan sát là đau ngực, thời gian đối tượng quan sát này được ứng dụng (thời gian cơn đau xảy ra ) từ 1/11/96 đến 8/1/96 và thời điểm ghi lại đối tượng quan sát này là 1/5/97. 2.2.2.2.9 Loại bỏ đối tượng theo dõi (rejected observation) Không thể tránh được những lỗi sai khi thực hiện các việc theo dõi nhưng trong trường hợp các mẫu tin về y tế thì không thể xóa chúng đi. Và việc chữa trị dựa trên những lỗi sai này sẽ dẫn đến nhiều hạn chế. Do đó mẫu này được áp dụng để xử lý vấn đề như trên bằng cách phân loại đối tượng theo dõi thành 2 loại:đối tượng theo dõi và đối tượng theo dõi bị loại bỏ khi ta nhận thấy chúng không đúng (Chú ý phân biệt sự khác nhau giữa một đối tượng theo dõi bị bỏ đi và một đối tượng theo dõi đã hết thời gian được áp dụng như: một ca gãy tay đã được chữa lành không bao giờ là một đối tượng theo dõi bị loại bỏ, mà thời gian áp dụng của nó được ghi lại ngày bắt đầu chữa trị và ngày lành bệnh). KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 40 Hình 2-24 Loại bỏ đối tượng theo dõi Ví dụ: John Smith xét nghiệm máu và được xác định có một lượng huyết cầu lớn. Điều này có thể do 2 nguyên nhân: bệnh lý hoặc do uống rượu. John Smith nói với bác sĩ là anh ta uống rượu rất ít. Điều này có nghĩa là nguyên nhân gây ra hiện tượng này là do bệnh lý. Nhưng 6 tháng sau người ta phát hiện ra John Smith uống rất nhiều rượu. Vậy nguyên nhân đã xác định ở trên là sai cần phải được loại bỏ và thay vào đó nguyên nhân là do uống rượu. Nhưng loại bỏ ở đây chỉ là đánh dấu bỏ đi chứ không được xóa mà phải giữ lại vì nó giải thích cho quá trình điều trị của bác sĩ trong thời gian đó. 2.2.2.2.10 Quan sát chính xác, giả thuyết, dự đoán (Active observation, hypothesis, projection) Khi một đối tượng theo dõi được ghi lại có nhiều mức độ chắc chắn khác nhau. Một đối tượng theo dõi được xác định chắc chắn sẽ được ghi lại trong active observation, một đối tượng theo dõi chỉ là chẩn đoán chưa chắc chắn sẽ được lưu lại trong hypothesis(giả thuyết). Ví dụ: một bệnh nhân có các biểu hiện khát nước, giảm cân và được xác định là mắc bệnh tiểu đường. Tuy nhiên chỉ với những triệu chứng này chưa đủ để kết luận bệnh nhân có thực sự bị mắc bệnh hay không. Do đó thông tin này được đưa vào giả thuyết (hypothesis) và bác sĩ yêu cầu bệnh nhân làm các xét nghiệm khác để đi đến kết luận giả thuyết có đúng hay không. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 41 Hình 2-25 Mẫu quan sát chính xác, giả thuyết, dự đoán 2.2.2.2.11 Đối tượng theo dõi liên quan (Associated observation) Mẫu này được áp dụng để ghi lại các căn cứ của một chẩn đoán. Ý tưởng cơ bản là cho phép các observation liên kết với nhau. Mức tri thức và mức xử lý ánh xạ với nhau như mô hình sau. Những sự ánh xạ này được kết nối với nhau bởi một mối kết hợp thể hiện cách thức các khái niệm tri thức được áp dụng vào mức xử lý. Trong tình huống này sự liên kết không chỉ xảy ra giữa observation và observation concept mà còn giữa các căn cứ và kết luận. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 42 Hình 2-26 Liên kết giữa các đối tượng quan sát Ví dụ: một bệnh nhân có các biểu hiện khát nước, giảm cân và được xác định là mắc bệnh tiểu đường. Tuy nhiên chỉ với những triệu chứng này chưa đủ để kết luận bệnh nhân có thực sự bị mắc bệnh hay không. Do đó thông tin này được đưa vào giả thuyết (hypothesis) và bác sĩ yêu cầu bệnh nhân làm các xét nghiệm khác để đi đến kết luận giả thuyết có đúng hay không. 2.2.2.3 Đối tượng quan sát đối với tập đoàn tài chính Trong một tập đoàn lớn, việc xác định các vấn đề ở cấp cao khá dễ dàng, nhưng việc tìm ra nguyên nhân gây ra những vấn đề này thì rất phức tạp. Những tập đoàn như vậy gây ra sự tràn ngập thông tin và có thể làm cho những ai cố phân tích nó bị chìm ngập trong lượng thông tin khổng lồ này. Ví dụ khi nhận thấy lợi nhuận của công ty giảm xuống thấp thì phải tiến hành tìm hiểu nguyên nhân để khắc phục. Quá trình phân tích nguyên nhân này khá giống với quá trình các bác sĩ lâm sàng chẩn đoán bệnh khi biết các triệu chứng của bệnh KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 43 nhân. Từ đây ta có thể suy nghĩ về việc ứng dụng mô hình chẩn đoán lâm sàng cho tập đoàn tài chính. 2.2.2.3.1 Mẫu đơn vị công việc (enterprise segment) Mẫu này được áp dụng để phân rã những công việc có kích thước lớn thành những đơn vị công việc nhỏ hơn theo những tiêu chuẩn khác nhau. Những tiêu chuẩn như vậy được gọi là chiều và các thành phần nhỏ được chia theo mỗi chiều được gọi là thành phần chiều (dimension element). Mỗi chiều sẽ tạo ra một sự phân cấp các thành phần chiều. Một đơn vị công việc (enterprise segment) là một sự kết hợp các thành phần chiều của tất cả các chiều, mỗi chiều một thành phần. Ví dụ: Công ty đa quốc gia ACM chuyên bán máy pha café có thể được chia nhỏ theo dòng sản phẩm, theo vị trí địa lý hoặc theo khu vực công nghiệp mà các sản phẩm được bán….Vậy dòng sản phẩm, vị trí địa lý, khu vực công nghiệp mà các sản phẩm được bán được gọi là chiều. Theo chiều vị trí địa lý thì có sự phân cấp: cấp 1 là thị trường: USA, cấp 2 là khu vực (region): Northeast, cấp 3 là vùng: New Hampshire… Đơn vị công việc là sự kết hợp các thành phần của tất cả các chiều: 11- 10 (chiều dòng sản phẩm), Northeast (chiều vị trí địa lý ), chính phủ (chiều khu vực công nghiệp tiêu thụ sản phẩm). Sự phân chia được miêu tả cụ thể như hình sau: KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 44 Hình 2-27 Cách thức các đơn vị công việc liên kết với các thành phần của các chiều Để mô hình những dạng bài toán loại này thì có 3 mô hình: § Mô hình 1: mô hình này xử lý các tình huống khá tốt nhưng nó có 2 khuyết điểm: Ø Khái niệm chiều và sự phân cấp chiều không đuợc định nghĩa Ø Khi thêm một chiều mới sẽ phải thay đổi mô hình KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 45 Hình 2-28 Định nghĩa đơn vị công việc với các thành phần chiều § Mô hình 2: mô hình này có thêm một lớp loại chiều do đó khi thêm một chiều mới chỉ cần thêm vào loại chiều mà không thay đổi mô hình. Ngoài ra để đơn vị công việc kết nối với một thành phần chiều của mỗi chiều ta có thể sử dụng ánh xạ khóa. Tuy nhiên với mô hình này việc xác định cấp bậc của các thành phần trong cấu trúc phân cấp theo chiều sẽ khó khăn. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 46 Hình 2-29 Định nghĩa đơn vị công việc bằng cách sử dụng các chiều và các thành phần chiều § Mô hình 3: mô hình này đầy đủ hơn 2 mô hình trước nhưng có một khuyết điểm là việc cài đặt sẽ phức tạp hơn. Mô hình 3 định nghĩa một (mức chiều) dimension level, mức của chiều được xác định dựa vào vị trí của nó trong cấu trúc phân cấp. Mô hình này gán cho mỗi dimension một danh sách để định nghĩa dimension element của nó. Dimension element sử dụng level của nó trong cấu trúc phân cấp và danh sách để xác định dimension level. Hình 2-30 Thêm vào một mức chiều(Dimension level) vào hình 2-29 KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 47 Những thuộc tính của chiều và đơn vị kinh doanh § Một quy luật quan trọng về chiều là phép đo theo chiều ở tầng thấp hơn có thể được kết hợp với nhau tạo thành giá trị của tầng trên. Vì vậy nếu chúng ta muốn xem doanh thu bán hàng ở Northeast, chúng ta có thể thực hiện bằng cách tính tổng các doanh thu bán hàng ở tất cả các khu vực thuộc vùng Northeast. Bất kỳ chiều nào được định nghĩa đều phải hỗ trợ thuộc tính này. Ngoài những chiều được định nghĩa trong cấu trúc kinh doanh, một chiều thường dùng khác là chiều về thời gian. Thời gian được xử lý như một chiều bằng cách sắp xếp các sự kiện theo những khoảng thời gian. Nếu những khoảng thời gian này là tháng ta có thể thể hiện doanh thu là (11-10, Northeast, 03/1994). Theo chiều thời gian, thành phần chiều theo tháng 03/1994 là con của thành chiều năm 1994. § Đơn vị công việc có một thuộc tính thú vị, đó là tất cả các đơn vị công việc đều tồn tại một cách khái niệm. Không có khái niệm tạo ra một số 5, một quantity $5, hoặc một ngày 1/1/2314 một cách khái niệm. Những điều này chỉ tồn tại trong đầu chúng ta nhưng cũng có thể cần tạo ra như một đối tượng trong máy tính. Đơn vị công việc giúp thực hiện những điều này. Một khi tất cả các chiều được xác định với các thành phần chiều của chúng thì tất cả các đơn vị công việc đều tồn tại một cách khái niệm, mặc dù chúng không thể được tạo ra như các đối tượng phần mềm. 2.2.2.3.2 Phương pháp của các phép đo (Measurement protocol) Trong một bài toán ta thường sử dụng nhiều số đo. Trong đó, nhiều số đo không phải được đưa vào một cách thủ công mà thường được đưa vào từ nhiều cơ sở dữ liệu khác hoặc tính từ các số đo khác.Cách tính những số đo này được gọi là phương pháp của phép đo. Mẫu này được áp dụng với 3 tình huống sau: § Xác định số đo được tính toán hay đọc từ cơ sở dữ liệu. § Ghi lại công thức của phép tính để tính số đo. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 48 § Cùng một phenomenon type có thể được xác định theo những cách khác nhau tùy theo ngữ cảnh bài toán. Mô hình dưới đây chỉ ra một quy tắc chung về số đo và quy tắc của phép đo. Có 2 loại phương pháp đo: § Phương pháp số đo nguồn (source measurement protocol): chỉ những truy vấn đến một nhóm cơ sở dữ liệu. Người dùng quyết định cơ sở dữ liệu nào được truy cập. Phép đo này lấy thông tin từ các CSDL sẵn có khác bằng những câu truy vấn đến CSDL đó. § Phương pháp tính toán phép đo(calculated measurement protocol): mô tả một phép tính được thực hiện trên các số đo đã có trong domain này. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 49 Hình 2-31 Phép đo và phương pháp đo Lưu giữ các phép tính Quy tắc tính số đo bao gồm các công thức để tính các số đo đó. Những công thức để tính quy tắc phép đo thường là đơn giản, vì vậy chúng ta có thể sử dụng những phép chuyển đổi đơn giản để chuyển đổi và lưu các công thức này ở dạng các bảng tính. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 50 Một đặc điểm quan trọng của mô hình là cách các tham số được biểu diễn. Mỗi quy tắc tính số đo có một danh sách các tham số. Danh sách này miêu tả các phenomenon type được kết hợp trong công thức. Chú ý rằng phép ánh xạ là một danh sách. Để công thức có ý nghĩa, các thành phần trong ánh xạ phải có thể phân biệt được. Một danh sách (list) là một cách tốt để làm điều này. Hình 2-32 Phương thức của phương pháp đo dựa vào các phép tính Nghi thức đo sử dụng phép so sánh và phép nhân quả Trong các ứng dụng về tập đoàn tài chính, số đo không phải là giá trị tuyệt đối. Người dùng thường không quá quan tâm đến số doanh thu là bao nhiêu $ mà họ thường quan tâm đến sự chênh lệch giữa doanh thu thực tế và doanh thu theo dự kiến hoặc doanh thu của năm nay so với năm trước… Để xem xét các phép so sánh này chúng ta cần phải mô tả những loại số đo khác nhau có thể có. Phép so sánh thường so sánh giữa giá trị thực tế với giá trị tương ứng KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 51 trong thời gian trước đó hoặc giá trị dự kiến. Giá trị tương ứng trong thời gian trước đó có thể được xem xét theo thời gian đó hoặc bằng cách tìm các số đo trong đơn vị công việc có chiều thời gian trước đó. Phép đo dự kiến đòi hỏi chúng ta phải phân biệt giữa các giá trị thực tế và giá trị dự kiến mà tương ứng với active observation và project observation. Loại tình trạng: tình trạng dự kiến và tình trạng thực tế Những số đo được xác định theo phương pháp đo nguồn hoặc tính toán luôn luôn được tính toán theo phương pháp đo của chúng. Phương pháp đo cung cấp một phương thức factory cho số đo. Mô hình ở trên cung cấp một cách tốt để xác định thông tin này từ một số đo đã có, nhưng lại không cung cấp cách tiện lợi để yêu cầu các thông tin này. Mô hình dưới đây sẽ khắc phục điều này. Hình 2-33 Các loại kết quả tính toán theo phương pháp đo dựa vào các phép tính KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 52 Ví dụ: Một tập đoàn quy định 4 loại tài chính: giá trị thực tế, giá trị của năm trước, kế hoạch hàng năm và kế hoạch dự kiến cho quý gần nhất. 2.2.2.3.3 Dãy (range) Cho đến lúc này chúng ta đã biết cách làm sao để có thể sử dụng các phép đo, phép đo do tính toán và phép đo từ nguồn CSDL đã có, để đánh giá hiệu quả kinh doanh của công ty. Mẫu phương pháp đo cho chúng ta một cách để xem thông tin với tính định lượng. Tuy nhiên để nắm bắt được vấn đề ta phải xem xét một lượng rất lớn các con số, và cách hữu dụng nhất là phân nhóm các số đo theo từng loại. Chúng ta có thể muốn chia các doanh thu tuyệt đối thành một số nhóm, hoặc chúng ta có thể đánh dấu để làm nổi bật tất cả các phép so sánh về các vấn đề dưới 10% CSDL. Đầu tiên chúng ta mô tả dãy các số đo. Sau đó nối những dãy số đo này trong một hệ thống chung. Dãy có thể chứa các giá trị số (như 1..10 ), ngày (01/01/04..30/04/04), số lượng ( như 10..20 kg)… Thường một dãy các số đo được mô tả bằng hai giá trị cận trên và cận dưới. Mẫu này có 2 mô hình: § Mô hình 1: đơn giản hơn và áp dụng cho những bài toán chỉ quan tâm đến 2 giá trị cận trên và cận dưới Hình 2-34 Thể hiện một dãy với cận trên và cận dưới § Mô hình 2: ngoài 2 giá trị cận trên và cận dưới, mô hình này có thể mô tả các tri thức khác như liệu một giá trị cụ thể có nằm trong dãy đã cho hay không, hai dãy có trùng lắp hay không, hai dãy có KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 53 giao nhau không, hoặc các giá trị trong dãy có liên tiếp nhau không… Hình 2-35 Sử dụng một đối tượng dãy tường minh 2.2.2.3.4 Hiện tượng của dãy số đo (Phenomenon with range) Mẫu này mô tả một hiện tượng được định nghĩa như một dãy các giá trị trên một loại hiện tượng. Khái niệm dãy cho chúng ta một cách để định nghĩa những loại số đo khác nhau. Chúng ta cần liên kết các dãy này trong một mô hình chung về quan sát và đo lường. Khác với mô hình thứ 3 của mẫu observation đã nói ở phần trên mà observation chỉ có thể là measurement hoặc category observation mà không thể là cả hai. Ở mô hình này chúng ta có thể cho phép một observation duy nhất là cả measurement và category observation. Mô hình này được kế thừa và phát triển từ mô hình observationở phần trên. Sư lựa chọn giữa hai mô hình phụ thuộc vào cách chúng ta phân chia quá trình xử lý. Nếu chia thành 2 bước: bước 1 là đo lường và bước 2 là quan sát thì dùng mô hình observation. Nếu ta nhập thành một bước duy nhất thì dùng mô hình này. 2.2.2.4 Tham chiếu đến đối tượng (Referring to objects) 2.2.2.4.1 Tên (name) KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 54 Áp dụng khi ta muốn định danh cho một đối tượng. Mô hình sau là mô hình chung nhất cho một định danh. Hình 2-36 Một định danh cho một đối tượng 2.2.2.4.2 Lược đồ định danh (identification scheme) Áp dụng cho những đối tượng có nhiều định danh khác nhau trong các hệ thống phức tạp để đảm bảo một định danh chỉ tham chiếu đến duy nhất một đối. Muốn vậy ta tạo ra một lược đồ định danh chứa các định danh và mỗi định danh này tham chiếu đến duy nhất một đơn vị. Cấu trúc: Hình 2-37 Mẫu lược đồ định danh 2.2.2.4.3 Kết hợp đối tượng (Object merge) Mẫu kết hợp đối tượng được áp dụng trong trường hợp xử lý 2 đối tượng giống nhau. Ví dụ một bệnh nhân đến bệnh viện khám bệnh, và thông tin bệnh nhân được lưu vào CSDL với một record mới. Nhưng sau đó người ta phát hiện bệnh nhân này đã KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 55 từng đến khám ở một khoa khác của bệnh viện và như vậy trong CSDL của bệnh viện có 2 record chứa cùng thông tin của cùng bệnh nhân. Giải pháp: có 3 giải pháp: § Sao chép và thay thế: sao chép mọi thuộc tính của một đối tượng sang một đối tượng kia và xóa đối tượng được sao chép. Định danh đến đối tượng bị xóa sẽ được thay đổi để ánh xạ đến đối tượng tượng được giữ lại. Nhưng một vấn đề phải giải quyết ở đây là các tham chiếu đến object đã bị xóa trong phần mềm. Nếu không nắm bắt được các tham chiếu này thì sẽ có nguy cơ dẫn đến một hậu quả tồi tệ. § Loại bỏ: Phân thành 2 loại đối tượng, mỗi đối tượng hoặc là thuộc loại bị loại bỏ hoặc là thuộc loại đang hoạt động. Đối tượng bị loại bỏ được kết nối với một đối tượng đang hoạt động tương ứng của nó. Và mọi xử lý sau đó đuợc thực hiện trên đối tượng đang hoạt động, đối tượng bị loại bỏ được giữ lại chỉ để cho biết quá trình của đối tượng. Hình 2-38 Đối tượng được thay thế bởi một đối tượng khác § Bản chất và hình thức: Sử dụng bản chất đối tượng (object essence) để kết nối các đối tượng với nhau, và bản chất đối tượng này không có thuộc tính nào khác. Với giải pháp này sự hợp nhất được thực hiện KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 56 bằng cách kết nối các đối tượng với cùng một bản chất đối tượng. Vì vậy chúng ta cần một vài thông báo về sự thay đổi được chuyển đi, trong đó các đối tượng phải biết về những sự xuất hiện khác của nó và đưa vào bản danh sách các đối tượng giống mình mà nó biết khi trả lời. Hình 2-39 Bản chất và hình thức 2.2.2.4.4 Sự tương đương đối tượng (Object equivalent) Trên thực tế, có một số đối tượng được xác định theo những cách khác nhau bởi những người khác nhau. Những sự khác nhau này thường là rất ít và có thể được xem như tương tự. Một vấn đề quan trọng có thể dẫn đến sai ngữ nghĩa là khi sự tương đương này không được tất cả mọi người đồng tình. Một số người cho rằng hai đối tượng giống nhau và một số người khác lại cho rằng không. Mẫu này được áp dụng để thể hiện cách nhìn nhận của những người khác nhau về các đối tượng khác nhau đó bằng cách định nghĩa một sự tương đương để thể hiện các nhóm người có ý kiến khác nhau này. Một party có thể sử dụng sự tương đương này chỉ nếu nó tán thành ý kiến về sự tương đương đó. Hình 2-40 Sự tương đương giữa các đối tượng Ví dụ: Nhiều bác sĩ cho rằng bệnh viêm gan G và viêm gan GBC là cùng một loại bệnh nhưng không phải tất cả các bác sĩ đều đồng tình với ý kiến đó. Điều này được thể hiện KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 57 bằng sự tương đương giữa 2 loại bệnh. Nếu một bác sĩ muốn liệt kê danh sách các bệnh nhân mắc bệnh viêm gan G và bác sĩ này thuộc nhóm người đồng tình với ý kiến rằng 2 loại bệnh là giống nhau thì danh sách các bệnh nhân bao gồm cả những bệnh nhân mắc bệnh viêm gan GBC. 2.2.2.5 Tồn kho và kế toán (Inventory and accounting) Phần lớn các hệ thống máy tính thương mại được thiết kế để ghi lại quá trình lưu thông tiền tệ và hàng hóa trong quá trình kinh doanh, ghi lại tiền thu được từ những nguồn gốc nào và tiền được chi tiêu vào những việc gì. Ý tưởng nền tảng của kế toán và tồn kho là có nhiều khoản tiền và hàng hóa khác nhau, và chúng ta phải ghi lại phương thức lưu thông của các khoản tiền và hàng hóa này. Nhóm mẫu tồn kho và kế toán dùng để thể hiện điều đó. 2.2.2.5.1 Tài khoản (account) Áp dụng trong những bài toán cần ghi lại mọi sự kiện xảy ra theo thời gian của các đối tượng. Trong nhiều trường hợp không những chỉ cần ghi lại giá trị hiện tại mà còn phải ghi lại chi tiết mọi sự thay đổi tác động đến giá trị đó. Ví dụ: Với một tài khoản ngân hàng cần phải ghi lại tất cả các giao dịch gởi tiền, rút tiền của khách hàng, một mẫu tin tồn kho phải ghi lại mỗi lần một hàng hóa nào đó được thêm vào hay chuyển đi. Một tài khoản tương tự như một thuộc tính số lượng và phải thêm vào một khoản mục (entry) để ghi lại mọi thay đổi lên giá trị của nó. Số dư thể hiện ở giá trị hiện tại của tài khoản là một mạng lưới tác động đến tất cả các khoản mục kết nối với nó. Điều này không có nghĩa là số dư cần được tính toán lại mỗi lần nó được yêu cầu. Giá trị nhận được có thể được lưu trữ mặc dù việc lưu trữ này người dùng không nhìn thấy. Bằng cách sử dụng các khoản mục, khách hàng có thể xác định được những thay đổi theo thời cũng như tổng số tiền đã rút và gởi. Dấu âm và dương trên giá trị của số tiền cho biết tiền được gởi hay rút. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 58 Cấu trúc: Hình 2-41 Tài khoản và khoản mục Ví dụ: Khi một người rút $100 từ tài khoản ngân hàng của họ. Điều này thể hiện trên một khoản mục với số tiền -$100 gắn với tài khoản ngân hàng của người đó. 2.2.2.5.2 Giao dịch (Transaction) Các khoản mục giúp ta ghi lại những thay đổi của một tài khoản. Những thay đổi này thường liên quan đến việc chuyển một khoản tiền từ một tài khoản đến một tài khoản khác chẳng hạn khi một người rút tiền từ tài khoản ngân hàng và bỏ tiền vào ví hoặc chuyển vào tài khoản tiền mặt. Với nhiều tài khoản thì việc ghi lại cách thức đến và đi là chưa đủ; chúng ta còn phải ghi lại nơi đến và đi. Mẫu này giúp ta ghi lại kết nối một tài khoản được rút và một tài khoản khác được gởi. Một nguyên tắc kế toán cơ bản là tiền không bao giờ được tạo ra hoặc hủy bỏ đi, nó luôn luôn chuyển từ một tài khoản này đến một tài khoản khác. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 59 Hình 2-42 Một giao dịch với 2 bản ghi Giao dịch nhiều nhánh Với mẫu trên, mỗi giao dịch chỉ chứa một tài khoản rút và một tài khoản gởi. Nhưng thực tế có nhiều trường hợp một giao dịch thực hiện nhiều tài khoản rút và gởi. Mẫu này giúp ta thể hiện các giao dịch có nhiều rút và gởi bằng một giao dịch nhiều nhánh. Hình 2-43 Giao dịch nhiều nhánh Mô hình 2 nhánh là trường hợp đặc biệt của mô hình nhiều nhánh, trong đó giao dịch chỉ có 2 entry. Trong một số ứng dụng, mô hình 2 giai đoạn chiếm ưu thế hơn. Mô KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 60 hình nhiều nhánh linh hoạt hơn, và mô hình 2 nhánh có thể dễ dàng tạo ra từ mô hình nhiều nhánh nhưng mô hình 2 nhánh thì đơn giản hơn. Hình 2-44 Mô hình giao dịch 2 nhánh không sử dụng khoản mục (entry) 2.2.2.5.3 Tài khoản tổng hợp (summary tran account) Trong một hệ thống các tài khoản, việc gom nhóm các tài khoản với nhau rất hữu dụng. Chẳng hạn khi muốn nhập toàn bộ tài khoản Telecommunication và Megabank thành một tài khoản lợi tức kinh doanh. Tương tự khi muốn gom nhóm các khoản tiền thuê nhà và chi phí ăn uống thành chi phí cá nhân, chi phí cho công việc và các khoản chi phí khác trong công việc thành chi phí công tác. Mẫu này hỗ trợ việc mô tả một hệ phân cấp các tài khoản chi tiết và tài khoản tổng hợp. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 61 Hình 2-45 Tài khoản tổng hợp và tài khoản chi tiết 2.2.2.5.4 Tài khoản ghi nhớ (memo account) Một tài khoản ghi nhớ chứa một số tiền nhưng nó không thể hiện cho một khoản tiền thực sự. Điều quan trọng là khoản tiền không có thật này trích từ hoặc chuyển đến một tài khoản ghi nhớ. Ví dụ một người khi có thu nhập cao thì phải nộp thuế thu nhập, để biết được mức thuế của mình là bao nhiêu thì mỗi khi kiếm được tiền người đó lại trừ một khoản vào thuế phải nộp để tính được số tiền thực sự của mình là bao nhiêu. Tài khoản ghi lại mức thuế phải nộp là tài khoản ghi nhớ. Thực sự thì số tiền này chưa được nộp cho cục thuế mà nó chỉ ghi lại số tiền mà người đó sẽ phải nộp. Vì vậy khi người đó chuyển tiền từ tài khoản thu nhập của mình vào tài khoản ngân hàng thì cùng lúc đó cũng phải ghi lại một khoản mục trong tài khoản ghi nhớ. Tài khoản ghi nhớ trở thành một subtype của tài khoản. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 62 2.2.2.5.5 Nguyên tắc ghi sổ (Posting rule) Sử dụng một tài khoản ghi nhớ có thể ghi sổ vào tài khoản nợ thuế nhưng thực tế số tiền này chưa được nộp và ta phải nhớ nộp thuế. Chẳng hạn một người phải nộp 45% thu nhập của mình vào thuế thu nhập cho chính phủ. Vì mỗi lần ghi một mục vào tài khoản thì 45% số tiền này được đưa vào tài khoản ghi nhớ nên một hệ thống máy tính hoàn toàn có thể làm việc này một cách tự động cho chúng ta. Mẫu nguyên tắc ghi sổ giúp chúng ta chuyển tiền giữa các tài khoản một cách tự động. Điều mà ta cần làm ở đây là đưa ra các nguyên tắc để quy định khi có một khoản mục của một tài khoản thì phải tạo ra một khoản mục mới tương ứng với tiền thuế phải nộp và tự động chuyển tiền giữa tài khoản này và tài khoản nợ thuế tương ứng. Để mô hình hóa vấn đề trên,ta mô tả một nguyên tắc ghi sổ bằng cách xác định một tài khoản để phát sinh sự kiện (trigger). Một khoản mục trong tài khoản phát sinh sự kiện dẫn đến một khoản mục mới được tạo ra và có giá trị bằng giá trị của khoản mục ban đầu nhân với một hệ số (multiplier). Hình 2-46 Một cấu trúc đơn giản của nguyên tắc ghi sổ được nhân với một hệ số Ví dụ: Tài khoản thu nhập là tài khoản phát sinh sự kiện, tài khoản nợ thuế là tài khoản đầu ra và hệ số là 0.45. Để nguyên tắc ghi sổ linh hoạt hơn, chúng ta phải kết nối một phép tính với mỗi nguyên tắc đo, vì mọi nguyên tắc đều có những cách tính khác nhau và số lượng khoản mục cần phát sinh mới khác nhau. Điều này có nghĩa là mỗi nguyên tắc ghi sổ đều cần có một phương thức riêng để thực hiện các phép tính như mô hình sau: KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 63 Hình 2-47 Nguyên tắc ghi sổ với các phương thức để tính giá trị cho các khoản mục Nghịch đảo (Reversibility) Một thuộc tính quan trọng của nguyên tắc ghi sổ là chúng phải có thể nghịch đảo. Thường thì chúng ta không thể xóa một khoản mục bị ghi sai vì nó có thể dẫn đến sai các khoản mục khác và chúng ta sửa lỗi có thể bị sót. Và chỉ có một cách duy nhất là thêm một khoản mục nghịch đảo là khoản mục ngược lại với khoản mục ban đầu bị sai và có giá trị đúng. Hủy bỏ các giao dịch (Abandoning transactions) Trong một số tài khoản như tài khoản nợ thuế ở trên, hầu hết các giao tác được phát sinh từ các nguyên tắc ghi sổ. Tài khoản input được dùng để ghi lại các khoản mục khởi tạo từ thế giới thực. Tất cả các khoản mục khác được phát sinh tự động từ nguyên tắc ghi sổ. Và do đó ta thấy có vẻ như việc ghi lại các giao tác là không cần thiết và có thể bỏ đi khỏi mô hình. Nhưng điều này sẽ dẫn đến một sự nguy hiểm khi có sai sót xảy ra. Do đó nếu không sử dụng các giao dịch để ghi lại thì ta vẫn phải cần một số cơ chế kiểm tra chặt chẽ để có thể phục hồi số liệu khi xảy ra sai sót. 2.2.2.5.6 Nguyên tắc ghi sổ cho nhiều tài khoản (posting rule for many accounts) Mẫu này được áp dụng để định nghĩa một nguyên tắc ghi sổ cho nhiều tài khoản giống nhau. Ví dụ ở phần trước ta đã xem xét việc tính thuế cho một người cụ thể. Chúng ta có thể mở rộng ra bằng cách tính thuế cho nhiều người. Với sự mở rộng này không phải một nguyến tắc ghi sổ trên một tài khoản riêng lẻ nữa mà trên nhiều tài khoản khác nhau. Có hai cách giải quyết vấn đề này ứng với hai mô hình sau. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 64 § Mô hình 1: Sử dụng khái niệm mức tri thức và mức xử lý, chúng ta thiết lập nguyên tắc ghi sổ (posting rule) và liên kết chúng với loại tài khoản (account type). Hình 2-48 Sử dụng các loại tài khoản (Account type) Ví dụ: Tất cả các nhân viên đều được 1 ngày nghỉ sau 18 ngày làm việc. Điều này được thể hiện như một nguyên tắc ghi sổ: posting rule: 1 ngày nghỉ cứ sau mỗi 18 ngày làm việc, phát sinh sự kiện của account type là 18 ngày làm việc, output là 1 ngày nghỉ. Phương pháp này đảm bảo tài khoản ngày nghỉ có giá trị (balance) bằng 1/18 giá trị của tài khoản ngày làm việc. Mỗi lần tài khoản nhân viên được phát sinh, nó sẽ dựa vào nguyên tắc ghi sổ được định nghĩa trên loại tài khoản của nó tùy theo loại phát sinh được sử dụng. § Mô hình 2: Sử dụng tài khoản tổng quát. Một nguyên tắc ghi sổ được định nghĩa trên tài khoản tổng quát được kích hoạt khi bất kỳ một khoản mục nào được đưa vào trong bất kỳ một subsidiary nào của tài khoản tổng quát (hoặc chính bản thân tài khoản, nếu việc ghi sổ trên tài khoản tổng quát là được phép). Tài khoản output KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 65 trên tài khoản tổng quát cũng được định nghĩa một cách tương tự với ,một quy định là điều này sẽ dẫn đến một khoản mục trên tài khoản con thích hợp. Hình 2-49 Sử dụng một phương thức tìm kiếm tài khoản Ví dụ: Từ ví dụ ở mô hình 1, nếu trong trường hợp có những tài khoản tổng quát về số ngày làm việc và ngày nghỉ. Nguyên tắc ghi sổ giống như trên. Thay vì kiểm tra nguyên tắc ghi sổ của các loại tài khoản, thì ở mô hình này tài khoản tổng quát sẽ được kiểm tra. Sự lựa chọn giữa hai mô hình phụ thuộc vào mức độ khác nhau giữa tài khoản và loại tài khoản. Nếu tất cả các nguyên tắc ghi sổ được định nghĩa trên loại tài khoản và các khoản mục được thực hiện trên các tài khoản thì sử dụng mô hình 1 sẽ hợp lý hơn. ngược lại thì ta chọn mô hình 2. 2.2.2.5.7 Chọn các khoản mục (Choosing entries) Trong nhiều tình huống, một nguyên tắc ghi sổ cần lựa chọn một tập con các khoản mục từ tài khoản trigger của nó. Nó có thể muốn xem tất cả các khoản mục từ một số ngày cho trước, số dư của tất cả xuất hiện trong tháng 7, …Có 3 cách thực hiện các lựa chọn: § Kỹ thuật 1: đây là cách đơn giản nhất: tài khoản trả về tất cả các khoản mục và client xử lý tập hợp này để chọn các khoản mục mà nó cần. Cách này không đòi hỏi phải xử lý trên tài khoản mà chuyển tất cả trách nhiệm cho client. Nếu nhiều client cần thực KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 66 hiện những lựa chọn tương tự nhau, thì việc xử lý trùng lắp xảy ra nhiều. Nếu có nhiều khoản mục, có thể tốn chi phí cho việc truyền các tập hợp này, đặc biệt nếu tập hợp này cần được sao chép. Với cách trên, các client phải chịu trách nhiệm tính tổng giá trị của các khoản mục để nhận được số dư. § Kỹ thuật 2: nếu có nhiều client cùng được yêu cầu những lựa chọn tương tự nhau như các khoản mục trong một một khoảng thời gian nào đó, ta có thể thêm các xử lý vào tài khoản để giải quyết vấn đề này (như thêm hàm Lấy các khoản mục theo khoản thời gian –entriesChargeDuring(timePeriod)). Ngoài ra chúng ta có thể thêm vào phương thức tính số dư tự động theo thời gian (như balanceChargeDuring). Có một vấn đề gặp phải với giải pháp này là khi có nhiều sự lựa chọn, giao diện của tài khoản sẽ phát triển rất lớn. § Kỹ thuật 3: sử dụng bộ lọc(filter), bộ lọc là mộ đối tượng được đóng gói trong một câu truy vấn. 2.2.2.5.8 Phương pháp kế toán (accounting practice) Mẫu này được áp dụng với các mạng lớn có nhiều nguyên tắc ghi sổ và các nguyên tắc ghi sổ này được phân thành các nhóm. Khi chúng ta gặp những mạng lớn với rất nhiều tài khoản và rất nhiều nguyên tắc ghi sổ, mạng trở nên quá lớn và khó mà xử lý được các nghiệp vụ cần thiết. Trong tình huống này, ta cần một số cách để phân rã mạng thành những mảnh nhỏ. Xem xét những thủ tục tính hóa đơn cho khách hàng của một dịch vụ. Trước tiên, họ lập danh sách các loại khách hàng khác nhau với những xử lý theo từng loại khác nhau. Sau đó, quy định mỗi loại khách hàng có các quy tắc tính hóa đơn khác nhau và được xử lý với những mạng tài khoản khác nhau. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 67 § Mô hình 1: sử dụng type phương pháp kế toán, một phương pháp kế toán là một tập hợp các nguyên tắc ghi sổ. Mỗi loại khách hàng được gán một phương pháp kế toán để xử lý hóa đơn như hình sau. Một nguyên tắc ghi sổ có thể tồn tại trong nhiều phương pháp kế toán khác nhau. Chú ý phân biệt giữa sao chép một nguyên tắc từ phương pháp này sang phương pháp khác và cùng một nguyên tắc ở các phương pháp khác nhau. Nếu là nguyên tắc sao chép từ phương pháp này sang phương pháp kia thì khi thay đổi một nguyên tắc nào đó thì các nguyên tắc khác không bị ảnh hưởng. Nhưng nếu cùng một nguyên tắc được sử dụng trong nhiều phương pháp khác nhau thì khi thay đổi phải thay đổi ở tất cả các phương pháp. Hình 2-50 Phương pháp kế toán § Mô hình 2: Khi các giai đoạn xử lý khác nhau tách biệt các nguyên tắc ghi sổ thành các khối riêng lẻ thì chúng ta có thể tách các nguyên tắc này thành các loại phương pháp khác nhau và cho một người dùng một phương pháp riêng từ mỗi loại này như hình sau. Trong mô hình, user có thể là khách hàng, có thể là nhân viên…Mỗi user có một phương pháp kế toán thuộc một loại nào đó, và một ràng buộc phải được thỏa mãn bởi ánh xạ khóa (key: accounting practice type). KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 68 Hình 2-51 Loại phương pháp kế toán (Accounting practice type) 2.2.2.5.9 Nguồn gốc của một khoản mục trong tài khoản (sources of an entry) Mẫu này ghi lại cách thức một giao dịch được thực hiện và tính số dư. Chẳng hạn, một khách hàng hỏi về một khoản mục cụ thể, các mô hình trên có thể cho chúng ta khá nhiều thông tin về cách mà các khoản mục được tạo ra. Chúng ta có thể xác định trạng thái của tài khoản tại thời điểm đó bằng cách dựa vào ngày của các khoản mục. Chúng ta có thể xác định nguyên tắc tính khoản mục. Mẫu giúp chúng ta xử lý những câu hỏi như vậy của khách hàng một cách nhanh chóng bằng cách lưu lại các giao dịch để ghi lại các nguyên tắc tạo ra khoản mục và khoản mục nào được dùng làm dữ liệu vào cho giao dịch như mô hình sau. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 69 Hình 2-52 Nguồn gốc một giao dịch Ví dụ: Khi một nhân viên nhận được một khoản tiền lương là $2000, điều này được ghi lại trong mô hình trên như sau: giao dịch từ tài khoản thu nhập đến tài khoản ngân hàng: $2000. Từ nguyên tắc ghi sổ, giao dich này sẽ tạo ra một giao dịch khác trong tài khoản nợ thuế, nguyên tắc ghi sổ (posting rule) là 45%, nguồn gốc của giao dịch này chứa khoản mục rút tiền từ tài khoản thu nhập. 2.2.2.5.10 Bản kê tài sản và thông báo thu nhập ( balance sheet and income statement) Mẫu này được áp dụng để thể hiện bản kê tài sản và thông báo thu nhập của một khách hàng. Khi sử dụng một tài khoản để mô tả một hệ thống, sự phân biệt giữa bản kê tài sản (balance sheet) và tài khoản thông báo thu nhập (income statement account ) là điều quan trọng. Ví dụ: Tài khoản ngân hàng (checking account) là một tài khoản tài sản (asset account ), tài khoản thẻ tín dụng là tài khoản phải trả. Chúng phản ánh tiền mà khách hàng của tài khoản này đang có tại bất kỳ thời điểm nào. Những giá trị này xuất hiện trên bản kê tài sản. Còn tài khoản thu nhập và chi phí phản ánh tiền có từ đâu và chi dùng vào việc gì. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 70 Hình 2-53 Tài khoản tài sản, tài khoản thu nhập, và tài khoản chi phí Ví dụ: một người mua vé máy bay từ thành phố Hồ Chí Minh đi Hà Nội và thanh toán bằng thẻ tín dụng của anh ta. Khi đó tài khoản thẻ tín dụng của người này là tài khoản nợ (liability account), và tài khoản vé máy bay từ TPHCM đi Hà Nội là một tài khoản chi phí. 2.2.2.5.11 Tài khoản tương ứng (corresponding account) Mẫu này được áp dụng để thống nhất 2 quan điểm của 2 nhóm thành một tài khoản. Xem xét trường hợp sau: Một người có một tài khoản ngân hàng là tài sản trong hệ thống tài khoản của cá nhân người đó. Ngân hàng cũng có một tài khoản trong hệ thống của nó để lưu giữ về tài khoản ngân hàng của người này. Chúng ta có thể xem 2 tài khoản trên là một, nhưng điều này không hoàn toàn hợp lý. Khi người đó rút tiền KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 71 từ một máy ATM vào ngày 01/06/04 thì sẽ có một sự sai khác giữa 2 tài khoản này. Trong khoản của tài khoản trong hệ thống tài khoản cá nhân của người đó thì ngày rút tiền là ngày 01/06/04, còn trong tài khoản của chính người đó trong ngân hàng thì ngày rút tiền là ngày hôm sau, ngày 02/02/04. Vì vậy 2 tài khoản này không thể xem là giống nhau mà chỉ tương ứng nhau. Mô hình sau mô hình hóa tình huống trên. Mối quan hệ tương ứng thể hiện 2 tính chất đặc biệt: tính đối xứng và tính bắc cầu. Tính đối xứng: nếu tài khoản x tương ứng với tài khoản y thì tài khoản y cũng tương ứng với tài khoản x. Tính bắc cầu: nếu tài khoản x tương ứng với tài khoản y và tài khoản y tương ứng với tài khoản z thì tài khoản x tương ứng với tài khoản z. Hình 2-54 Tài khoản tương ứng 2.2.2.5.12 Mô hình tài khoản chuyên dụng (specialized account model) Mẫu này được áp dụng cho mẫu kế toán trong một trường hợp cụ thể. Xét bài toán về quản lý tồn kho-bài toán thích hợp để sử dụng các tài khoản. Chúng ta có thể hình thành một tài khoản cho mỗi sự kết hợp loại hàng hóa và vị trí. Vì vậy nếu ta theo dõi những chai whiskey Macallans, Talisker, and Laphroig giữa London và Pari và Amsterdam, ta sẽ có 9 tài khoản như sau: London –Macallans, London- Talisker, London- Laphroig, …Bất kỳ khi nào ta chuyển hàng hóa từ một vị trí đến một vị trí KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 72 khác, ta tạo ra một giao dịch chuyển để xử lý việc vận chuyển này. Cũng như đối với tiền, giao dịch chuyển cũng có một số dư. Hình 2-55 Chuyên biệt hóa mô hình tài khoản để hỗ trợ cho bài toán tồn kho Mẫu này còn có thể áp dụng để theo dõi đơn đặt hàng, cả đơn đặt hàng của khách hàng và đơn đặt hàng mà công ty đặt hàng cho nhà cung cấp. Mỗi nhà cung cấp có một tài khoản doanh thu, có thể có nhiều hơn một nếu việc xác định vị trí của nhà cung cấp là quan trọng. Tương tự, mỗi khách hàng có một tài khoản chi phí. Ta có thể ghi lại đơn đặt hàng bằng 2 cách: § Ta có thể cho phép các subtype của giao dịch chuyển, hoặc theo đặt hàng hoặc theo thực tế. § Ta có thể cung cấp tập hợp các tài khoản khác cho những đơn đặt hàng. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 73 Ví dụ: Với đơn đặt hàng -London-Talisker và London-Talisker-Thực tế, khi một đơn đặt hàng được thêm vào, ta thực hiện một giao dịch từ tài khoản đặt hàng của nhà cung cấp đến tài khoản đặt hàng của vị trí mà ta muốn giao hàng. Khi đơn đặt hàng được giao, ta thực hiện một giao dịch giữa tài khoản đặt hàng và tài khoản thực tế tại vị trí được giao. Ta có thể sử dụng tài khoản tổng hợp cho tất cả các tài khoản đặt hàng của từng vị trí để theo dõi tổng quát. 2.2.2.5.13 Đăng ký các khoản mục đến nhiều tài khoản (booking entries to multiple account) Một vấn đề thường gặp với các tài khoản là khi có nhiều hơn một nguồn để ghi vào một mục (item). Một cố vấn đến một công ty để làm việc trong một thời gian. Người này nhận được $6000. Bên cạnh đó, ông phải chi phí các khoản trong thời gian ở và làm việc tại công ty này: $500 tiền vé máy bay, $250 tiền khách sạn, $150 tiền thuê xe đi lại khi đi làm, $100 ăn uống. Để mô tả tình huống này, một tài khoản là không đủ. Mô hình sau mô hình hóa các tài khoản để giúp một người có thể theo dõi số tiền mà mình kiếm được và các khoản chi phí mà mình đã dùng. KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 74 Hình 2-56 Cho phép nhiều tài khoản tổng hợp KH OA C NT T – Đ H KH TN Tìm hiểu một số mẫu phân tích – Xây dựng công cụ hỗ trợ giai đoạn phân tích 75 Chương 3 MÔ TẢ CÔNG CỤ HỖ TRỢ 3.1 Giới thiệu Trong quá trình phân tích hướng đối tượng, việc tìm kiếm và lựa chọn các class là khâu quan trọng có vai trò quyết định đối với sự tối ưu của mô hình. Quyết định một đối tượng có phải là class hay không là một công việc không dễ dàng. Nó phụ thuộc rất nhiều vào kinh nghiệm của người phát triển. Nhưng chỉ phân tích sơ đồ cho từng hệ thống cụ thể thì chưa đủ. Một nhà phát triển thực thụ không những chỉ tìm kiếm các giải pháp cho các sơ đồ của một hệ thống cụ thể mà còn phải khái quát hóa các sơ đồ này để tạo thành các mẫu có thể áp dụng được cho nhiều hệ thống khác trong nhiều ngữ cảnh khác. Các mẫu giúp ích rất nhiều trong việc tìm kiếm giải pháp và tối ưu các sơ đồ. Hiện nay có nhiều mẫu phân tích đã được đưa ra và được những người phân tích hệ thống rất hoan nghênh. Các mẫu này chính là những tri thức kinh nghiệm gợi ý cho người phân tích tìm ra các giải pháp hay và thậm chí có thể sáng tạo ra những mẫu mới từ những mẫu đã có. Vì vậy việc lưu trữ các mẫu trong một công cụ hỗ trợ phân tích là một điều hết sức cần thiết. 3.2 Mô tả chức năng phân loại từ theo ngữ cảnh và xây dựng sơ đồ

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

  • pdfUnlock-0012058-0012082.pdf
Tài liệu liên quan