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
...
154 trang |
Chia sẻ: hunglv | Lượt xem: 1144 | Lượt tải: 0
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:
- Unlock-0012058-0012082.pdf