Đây là một phương pháp mới, đem lại hiệu quả tối ưu đối với phân tích và thiết kế hệ thống lớn, có nhiều ưu điểm hơn so với các phương pháp mô hình hóa thông tin truyền thống.. Các mô hì
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
VÕ NGỌC ĐÀO
NGHIÊN CỨU PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÝ CÁN BỘ, CÔNG CHỨC, VIÊN CHỨC THEO HƯỚNG GIAO TIẾP TOÀN DIỆN
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Người hướng dẫn khoa học: TS Phạm Anh Phương
Đà Nẵng – Năm 2016
Trang 2LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được
ai công bố trong bất kỳ công trình nào khác
Tác giả luận văn
Võ Ngọc Đào
Trang 3MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu của đề tài 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Bố cục của luận văn 2
CHƯƠNG 1.TỔNG QUAN VỀ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 4
1.1 GIỚI THIỆU VỀ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN .4
1.1.1 Khái niệm hệ thống thông tin 4
1.1.2 Quy trình phát triển hệ thống thông tin 6
1.2 PHƯƠNG PHÁP THEO HƯỚNG CHỨC NĂNG 7
1.3 PHƯƠNG PHÁP THEO HƯỚNG ĐỐI TƯỢNG 8
1.4 PHƯƠNG PHÁP MÔ HÌNH HÓA THÔNG TIN THEO HƯỚNG GIAO TIẾP TOÀN DIỆN 9
1.5 KẾT LUẬN CHƯƠNG 1 10
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THEO HƯỚNG GIAO TIẾP TOÀN DIỆN 11
2.1 GIỚI THIỆU VỀ FCO-IM 11
2.1.1 Khái niệm 11
2.1.2 Lịch sử hình thành và xu hướng phát triển 12
2.1.3 Các bước mô hình dữ liệu bằng phương pháp FCO-IM 13
2.1.4 Các nguyên tắc cơ bản của FCO-IM 14
2.1.5 So sánh FCO-IM và phương pháp khác 15
2.2 CÁC CÔNG CỤ HỖ TRỢ FCO-IM 16
Trang 42.2.1 Phần mềm Infagon 16
2.2.2 Phần mềm CaseTalk 16
2.3 QUY TRÌNH MÔ HÌNH HỆ THỐNG BẰNG PHƯƠNG PHÁP FCO-IM17 2.3.1 Xây dựng bộ tài liệu mô tả hệ thống 17
2.3.2 Ví dụ cụ thể 17
2.3.3 Diễn đạt các mô tả hệ thống dưới dạng biểu thức sự kiện 18
2.3.4 Phân loại và định danh 18
2.3.5 Xây dựng sơ đồ ngữ pháp thông tin IGD 20
2.3.6 Các ràng buộc 22
2.3.7 Thuật toán chuyển đổi GLR 29
2.3.8 Lược đồ quan hệ 30
2.3.9 Xây dựng sơ đồ CSDL quan hệ từ mô hình dữ liệu FCO-IM 31
2.4 KẾT LUẬN CHƯƠNG 2 32
CHƯƠNG 3 ỨNG DỤNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG QUẢN LÝ CÁN BỘ, CÔNG CHỨC, VIÊN CHỨC THEO PHƯƠNG PHÁP FCO-IM 33
3.1 HIỆN TRẠNG QUẢN LÝ CÁN BỘ, CÔNG CHỨC, VIÊN CHỨC HUYỆN THĂNG BÌNH, TỈNH QUẢNG NAM 33
3.2 PHÂN TÍCH DỮ LIỆU 33
3.2.1 Xây dựng bộ tài liệu mô tả hệ thống 33
3.2.2 Diễn đạt các biểu thức sự kiện 34
3.2.3 Phân loại và định danh 34
3.2.4 Xây dựng sơ đồ ngữ pháp thông tin IGD 35
3.2.5 Xác định các ràng buộc 37
3.2.6 Thực hiện các biến đổi tương đương 39
3.2.7 Hình thành lược đồ quan hệ 41
3.2.8 Xây dựng sơ đồ cơ sở dữ liệu quan hệ từ mô hình dữ liệu 59
Trang 53.3 XÂY DỰNG PHẦN MỀM QUẢN LÝ CÁN BỘ, CÔNG CHỨC, VIÊN
CHỨC HUYỆN THĂNG BÌNH 61
3.3.1 Yêu cầu chức năng 61
3.3.2 Thiết kế giao diện 62
3.4 KẾT LUẬN CHƯƠNG 3 64
KẾT LUẬN 65 TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)
PHỤ LỤC
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
Access Database Management System MS Access
CNTT Công nghệ thông tin
CC Cardinality Constraint
DDL Data Definition Language
ERD Entity Relationship Diagram
ERP Enterprise Resource Planning
IGD Information Grammar Diagram
NIAM Natural Language Information Analysis Method
OOA Object Oriented Analysis - OOA
OOD Object Oriented Design - OOD
OOP Object Oriented Programming - OOP
SQL Structured Query Language
Trang 7DANH MỤC CÁC BẢNG
Số hiệu
bảng
2.1 Ví dụ về phân loại và định danh cho bài toán 19
2.4 Bảng quy tắc chuyển đổi FCO-IM sang lược đồ quan hệ 31
3.3 Ràng buộc toàn diện của biểu thức Tỉnh 38
Trang 8DANH MỤC CÁC HÌNH
2.1 Quá trình xây dựng mô hình thông tin cho một hệ
thống theo hướng giao tiếp toàn diện
3.14 Lược đồ quan hệ Hình thức tuyển dụng 46
3.18 Lược đồ quan hệ Quá trình tuyển dụng 48
Trang 9Số hiệu Tên hình Trang
3.19 Lược đồ quan hệ Tổ chức chính trị xã hội 49 3.20 Lược đồ quan hệ Đào tạo - Bồi dưỡng 49 3.21 Lược đồ quan hệ Quá trình Đào tạo - Bồi dưỡng 50 3.22 Lược đồ quan hệ Khen thưởng - Kỷ luật 50 3.23 Lược đồ quan hệ Quá trình Khen thưởng - Kỷ luật 51
3.28 Lược đồ quan hệ Nhóm ngạch - Bậc lương 53
3.31 Lược đồ quan hệ Đánh giá hàng năm 55 3.32 Lược đồ quan hệ Điều động Bổ nhiệm Luân chuyển
Biệt phái
55
3.33 Lược đồ quan hệ Quá trình Điều động Bổ nhiệm Luân
chuyển Biệt phái
56
3.38 Lược đồ quan hệ Quản lý người dùng 58
Trang 10Số hiệu Tên hình Trang
Trang 11Trên thế giới hiện nay đã có một phương pháp mô hình hóa thông tin mới được nhiều trường đại học đưa vào giảng dạy và nghiên cứu, nhiều nhà phân tích lựa chọn sử dụng, đó là phương pháp mô hình hóa thông tin theo hướng giao tiếp toàn diện FCO-IM (Fully Communication Oriented Information Modeling) Đây là một phương pháp mới, đem lại hiệu quả tối ưu đối với phân tích và thiết kế hệ thống lớn, có nhiều ưu điểm hơn so với các phương pháp mô hình hóa thông tin truyền thống
Hiện nay, các cơ quan Nhà nước đang đẩy mạnh việc ứng dụng công nghệ thông tin trong xử lý công việc, phục vụ người dân và doanh nghiệp Tại huyện Thăng Bình, việc quản lý cán bộ, công chức, viên chức vẫn còn trên giấy tờ, chưa có một hệ thống quản lý một cách chuyên nghiệp, khoa học,
chính vì vậy, tôi chọn đề tài “Nghiên cứu phân tích thiết kế hệ thống quản
lý cán bộ, công chức, viên chức theo hướng giao tiếp toàn diện” để áp
dụng thực tế tại huyện Thăng Bình Hệ thống này giúp cho việc theo dõi quá trình biến đổi thông tin của mỗi cán bộ, công chức, viên chức trong quá trình công tác từ khi bắt đầu vào cơ quan cho đến nghỉ hưu Hệ thống giúp các đơn
vị có thẩm quyền quản lý cán bộ công chức, viên chức quản lý hồ sơ nhân sự
Trang 12hiệu quả, giảm chi phí, thời gian, công sức, thuận tiện trong việc tra cứu tìm kiếm hồ sơ cán bộ công chức, viên chức
2 Mục tiêu của đề tài
- Nghiên cứu phương pháp mô hình hóa dữ liệu FCO-IM
- Sử dụng công cụ CaseTalk để phân tích và thiết kế hệ thống quản lý
cán bộ, công chức, viên chức huyện Thăng Bình, tỉnh Quảng Nam
- Xây dựng chương trình quản lý cán bộ, công chức, viên chức với giao diện Winform bằng công cụ C#
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Phương pháp phân tích và thiết kế hệ thống
- Phương pháp mô hình hóa dữ liệu FCO-IM thông qua công cụ CaseTalk
3.2 Phạm vi nghiên cứu
- Phân tích và thiết kế hệ thống quản lý cán bộ, công chức, viên chức tại Phòng Nội vụ huyện Thăng Bình
4 Phương pháp nghiên cứu
4.1 Phương pháp nghiên cứu tài liệu
- Các tài liệu về FCO-IM, phần mềm CaseTalk
- Các bài báo, sách chính thống và các website đáng tin cậy
5 Bố cục của luận văn
Báo cáo của luận văn được tổ chức thành 3 chương chính như sau:
Trang 13Chương 1: Tổng quan về phân tích và thiết kế hệ thống
Trong chương này tập trung vào nghiên cứu tổng quan về phân tích và thiết kế hệ thống thông tin, các phương pháp phân tích thiết kế một hệ thống thông tin, nghiên cứu tổng quan về phân tích thiết kế theo hướng giao tiếp toàn diện
Chương 2: Phân tích và thiết kế hệ thống theo hướng giao tiếp toàn diện
Trong chương này đi sâu vào nghiên cứu phương pháp phân tích và thiết
kế hệ thống thông tin theo hướng giao tiếp toàn diện, tìm hiểu về các công cụ
hỗ trợ thiết kế hệ thống thông tin theo hướng giao tiếp toàn diện
Chương 3: Ứng dụng phân tích và thiết kế hệ thống quản lý cán bộ, công chức, viên chức theo phương pháp FCO-IM
Trong chương này tập trung phân tích dữ liệu hệ thống quản lý cán bộ, công chức, viên chức huyện Thăng Bình, tỉnh Quảng Nam, sử dụng công cụ CaseTalk để xây dựng sơ đồ ngữ pháp thông tin IGD và sử dụng GLR để biến đổi tương đương; sử dụng MS SQL Server 2008, Visual Studio 2010, ngôn ngữ lập trình C# để lập trình phần mềm quản lý cán bộ, công chức, viên chức huyện Thăng Bình
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1.1 GIỚI THIỆU VỀ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN
1.1.1 Khái niệm hệ thống thông tin
Hệ thống là tập hợp các phần tử có quan hệ qua lại với nhau cùng hoạt động hướng đến một mục tiêu chung thông qua việc tiếp nhận các đầu vào và sản xuất các đầu ra nhờ một quá trình chuyển đổi được tổ chức Hệ thống này còn được gọi là hệ thống động.[1]
Hệ thống thông tin là một tập hợp gồm nhiều thành phần mà mối liên hệ giữa các thành phần này cũng như liên hệ giữa chúng với các hệ thống khác là liên hệ thông tin với nhau [1]
a Phân loại hệ thống thông tin [2]
Các hệ thống thông tin có thể được phân loại theo các chức năng chúng phục vụ
Hệ thống xử lý giao dịch (Transaction Processing System - TPS): là hệ thống thông tin có chức năng thu thập và xử lý dữ liệu về các giao dịch nghiệp vụ
Hệ thống thông tin quản lý (Management Information System - MIS): là
hệ thống thông tin cung cấp thông tin cho việc báo cáo hướng quản lý dựa trên việc xử lý giao dịch và các hoạt động của tổ chức
Hệ thống hỗ trợ quyết định (Decision Support System - DSS): là hệ thống thông tin vừa có thể trợ giúp xác định các thời cơ ra quyết định, vừa có thể cung cấp thông tin để trợ giúp việc ra quyết định
Hệ thống thông tin điều hành (Excutive Information System - EIS): là một
hệ thống thông tin hỗ trợ nhu cầu lập kế hoạch và đánh giá của các nhà quản
Trang 15lý điều hành
Hệ thống chuyên gia (Expert System - ES): là hệ thống thông tin thu thập tri thức chuyên môn của các chuyên gia rồi mô phỏng tri thức đó nhằm đem lại lợi ích cho người sử dụng
Hệ thống truyền thông và cộng tác (Communication and Collaboration System): là một hệ thống thông tin làm tăng hiệu quả giao tiếp giữa các nhân viên, đối tác, khách hàng và nhà cung cấp để củng cố khả năng cộng tác giữa
họ
Hệ thống tự động văn phòng (Office Automation System): là hệ thống thông tin hỗ trợ các hoạt động nghiệp vụ văn phòng nhằm cải thiện luồng công việc giữa các nhân viên
b Các công nghệ mới ứng dụng trong các hệ thống [2]
Các công nghệ mới đang được tích hợp vào các hệ thống truyền thống: Thương mại điện tử (E-Commerce) sử dụng Web thực hiện các hoạt động kinh doanh
Lập kế hoạch khai thác nguồn tài nguyên doanh nghiệp (ERP-Enterprise Resource Planning) có mục đích tích hợp các hệ thống thông tin khác nhau trong một tổ chức
Các thiết bị cầm tay và không dây bao gồm thương mại di động Commerce)
(M-Phần mềm mã nguồn mở (Open Source)
Trang 16Hình 1.1 Các công nghệ mới tác động tới tất cả các hệ thống
c Nhiệm vụ của phân tích thiết kế hệ thống [2]
Phân tích và thiết kế hệ thống là cách tiếp cận có hệ thống tới:
+ Việc xác định các vấn đề, cơ hội và mục tiêu
+ Việc phân tích các luồng thông tin trong các tổ chức
+ Việc thiết kế các hệ thống thông tin trên máy tính để giải quyết vấn đề
1.1.2 Quy trình phát triển hệ thống thông tin [2]
Hầu hết các quy trình phát triển hệ thống của các tổ chức đều hướng theo cách tiếp cận giải quyết vấn đề Cách tiếp cận này thường kết hợp các bước giải quyết vấn đề nói chung sau:
- Xác định vấn đề
- Phân tích và hiểu vấn đề
- Xác định các yêu cầu giải pháp
- Xác định các giải pháp khác nhau và chọn cách "tốt nhất”
- Thiết kế giải pháp đã lựa chọn
- Cài đặt giải pháp đã lựa chọn
Trang 17- Đánh giá kết quả (nếu vấn đề vẫn chưa được giải quyết thì quay lại bước
1 hoặc 2)
Bảng dưới đây thể hiện quan hệ giữa các bước giải quyết vấn đề nói chung:
Bảng 1.1 Quy trình phát triển hệ thống Quy trình phát triển
hệ thống đơn giản hóa
Các bước giải quyết vấn đề nói chung
Khởi đầu hệ thống - Xác định vấn đề
Phân tích hệ thống - Phân tích và hiểu vấn đề
- Xác định các yêu cầu giải pháp Thiết kế hệ thống - Xác định các giải pháp khác nhau và chọn cách
Cần lưu ý là bất cứ quy trình phát triển hệ thống nào cũng phải được quản
lý trên cơ sở dự án Phải có ít nhất một nhân sự nhận trách nhiệm làm người quản lý dự án để đảm bảo rằng hệ thống được phát triển đúng thời gian, trong giới hạn ngân sách cho phép và có chất lượng chấp nhận được Hoạt động quản lý một dự án được gọi là quản lý dự án
1.2 PHƯƠNG PHÁP THEO HƯỚNG CHỨC NĂNG
Đây là lối tiếp cận truyền thống của ngành Công nghệ phần mềm Theo lối tiếp cận này, chúng ta quan tâm chủ yếu tới những thông tin mà hệ thống
sẽ giữ gìn Chúng ta hỏi người dùng xem họ sẽ cần những thông tin nào, rồi chúng ta thiết kế ngân hàng dữ liệu để chứa những thông tin đó, cung cấp giao diện để nhập thông tin và in báo cáo để trình bày các thông tin Nói một cách
Trang 18khác, chúng ta tập trung vào thông tin và không mấy để ý đến những gì có thể xảy ra với những hệ thống đó và cách hoạt động (ứng xử) của hệ thống là ra sao Đây là lối tiệm cận xoay quanh dữ liệu và đã được áp dụng để tạo nên hàng ngàn hệ thống trong suốt nhiều năm trời
Lối tiếp cận xoay quanh dữ liệu là phương pháp tốt cho việc thiết kế ngân hàng dữ liệu và nắm bắt thông tin, nhưng nếu áp dụng cho việc thiết kế ứng dụng lại có thể khiến phát sinh nhiều khó khăn Một trong những thách thức lớn là yêu cầu đối với các hệ thống thường xuyên thay đổi Một hệ thống xoay quanh dữ liệu có thể dể dàng xử lý việc thay đổi ngân hàng dữ liệu, nhưng lại khó thực thi những thay đổi trong nguyên tắc nghiệp vụ hay cách hoạt động của hệ thống
Phương pháp hướng đối tượng đã được phát triển để trả lời cho vấn đề đó Với lối tiếp cận hướng đối tượng, chúng ta tập trung vào cả hai mặt của vấn đề: thông tin và cách hoạt động
1.3 PHƯƠNG PHÁP THEO HƯỚNG ĐỐI TƯỢNG
Hướng đối tượng là thuật ngữ thông dụng hiện thời của ngành công
nghiệp phần mềm Các công ty đang nhanh chóng tìm cách áp dụng và tích hợp công nghệ mới này vào các ứng dụng của họ Thật sự là đa phần các ứng dụng hiện thời đều mang tính hướng đối tượng Nhưng hướng đối tượng có nghĩa là gì?
Lối tiếp cận hướng đối tượng là một lối tư duy về vấn đề theo lối ánh xạ các thành phần trong bài toán vào các đối tượng ngoài đời thực Với lối tiếp cận này, chúng ta chia ứng dụng thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau Sau đó ta có thể xây dựng ứng dụng bằng cách chắp các đối tượng đó lại với nhau Hãy nghĩ đến trò chơi xây lâu đài bằng các mẫu gỗ Bước đầu tiên là tạo hay mua một vài loại mẫu gỗ căn bản, từ đó tạo nên các khối xây dựng căn bản của mình Một khi đã có các
Trang 19khối xây dựng đó, bạn có thể chắp ráp chúng lại với nhau để tạo lâu đài Tương tự như vậy một khi đã xây dựng một số đối tượng căn bản trong thế giới máy tính, bạn có thể chắp chúng lại với nhau để tạo ứng dụng của mình Xin lấy một ví dụ đơn giản: vấn đề rút tiền mặt tại ngân hàng Các “mẫu gỗ“ thành phần ở đây sẽ là ánh xạ của các đối tượng ngoài đời thực như tài khoản, nhân viên, khách hàng, …Và ứng dụng sẽ được sẽ được nhận diện cũng như giải đáp xoay quanh các đối tượng đó
1.4 PHƯƠNG PHÁP MÔ HÌNH HÓA THÔNG TIN THEO HƯỚNG GIAO TIẾP TOÀN DIỆN
Phương pháp mô hình hóa thông tin theo hướng giao tiếp toàn diện IM) là một phương pháp mới và ưu việt để xây dựng các mô hình thông tin khái niệm Các mô hình này có thể tự động chuyển thành các mô hình ERD, UML, các mô hình quan hệ hay đa hướng khác một cách dễ dàng thông qua công cụ FCO-IM bridge hoặc sinh ra các mã DDL cho các hệ quản trị cơ sở
(FCO-dữ liệu (CSDL) khác nhau như Access, Borland, XML, Oracle…
FCO-IM là mô hình thông tin của một hệ thống dựa trên các cuộc giao tiếp, các mô tả, các cuộc phỏng vấn của các nhà phân tích với các chuyên gia
hệ thống Kết quả là các biểu đồ ngữ pháp thông tin IGD (Information Grammar Diagram) dựa trên các mô tả hệ thống bằng ngôn ngữ tự nhiên và lược đồ quan hệ sinh ra từ các biểu đồ đó Các nguyên tắc mô hình hệ thống theo hướng FCO-IM [4]:
- FCO-IM mô hình tất cả các mặt khái niệm của thông tin về hệ thống
- FCO-IM không mô hình hóa thực tế mà nó mô hình hóa các thông tin về thực tế
- Các chuyên gia hệ thống phải có thể kiểm chứng được tính đúng đắn của các mô tả sự kiện trong bộ ngữ pháp thông tin FCO-IM
- Luôn có thể biểu diễn sơ đồ ngữ pháp thông tin FCO-IM và lược đồ
Trang 20quan hệ sử dụng cùng một kỹ thuật sơ đồ FCO-IM
- Các chuyên gia hệ thống cung cấp các mô tả bằng ngôn ngữ tự nhiên và các ví dụ cụ thể của các mô tả đó (hoặc các nhà phân tích mô tả và các chuyên gia kiểm chứng lại)
1.5 KẾT LUẬN CHƯƠNG 1
Trong chương này, luận văn đã trình bày một cách tổng quát về phân tích
và thiết kế hệ thống thông tin, tìm hiểu về quy trình phát triển một hệ thống thông tin Bên cạnh đó, luận văn cũng đã giới thiệu các phương pháp phân tích truyền thống (theo hướng chức năng và theo hướng đối tượng), giới thiệu
sơ lược phương pháp mô hình hóa theo hướng giao tiếp toàn diện Chương 2 của luận văn sẽ giới thiệu chi tiết phương pháp mô hình hóa theo hướng giao tiếp toàn diện
Trang 21CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THEO HƯỚNG
GIAO TIẾP TOÀN DIỆN
2.1 GIỚI THIỆU VỀ FCO-IM
2.1.1 Khái niệm
FCO-IM là phương pháp mô hình hóa thông tin theo hướng giao tiếp toàn diện, việc mô hình hóa thông tin của một hệ thống dựa trên các cuộc giao tiếp, các mô tả, các nghiên cứu, các cuộc phỏng vấn của nhà phân tích với các chuyên gia hệ thống
Điểm nổi bật của FCO-IM là mô hình các thông tin về thế giới quan một cách hoàn chỉnh và tường minh Thay vì mô hình các đối tượng thực tế của hệ thống thì FCO-IM mô hình hệ thống đó dựa trên các mô tả, các thông tin về
nó Những mô hình này có thể tự động chuyển thành các mô hình quan hệ thực thể (ERM), ngôn ngữ mô hình hóa thống nhất (UML) hay các mô hình
đa chiều thông qua công cụ FCO-IM- bridge
FCO-IM sử dụng kĩ thuật mô hình hệ thống dựa trên ngôn ngữ tự nhiên
Nó mô hình hệ thống bằng các biểu đồ và một bộ mô tả hệ thống ngôn ngữ tự nhiên Qua đó các nhà phân tích và các kĩ thuật viên phát triển hệ thống có thể
dễ dàng làm việc với nhau bằng các biểu đồ, trong khi bộ mô tả hệ thống bằng ngôn ngữ tự nhiên là phương tiện hữu ích để các nhà phân tích và người dùng cuối có thể trao đổi với nhau
FCO-IM được giảng dạy trong các trường đại học trên thế giới, đặc biệt là
ở Hà Lan Nó đã chứng minh giá trị thực tế trong các dự án lớn ở các công ty lớn và được sử dụng bởi các công ty dịch vụ CNTT để phát triển mô hình dữ liệu khái niệm công ty hoặc thiết kế các kho dữ liệu và siêu thị dữ liệu
Có hai lý do chính để FCO-IM được xem là thông tin đầy đủ theo định
Trang 22hướng Đầu tiên, FCO-IM là thành viên gia đình mô hình định hướng thực tế FOM (Fact Oriented Modeling) hoàn toàn kết hợp các thực tế của sự kiện bởi các chuyên gia tên miền (biểu thức thực tế) trong một mô hình thông tin Thứ hai, FCO-IM sử dụng một tập hợp rất đơn giản và nhỏ của siêu khái niệm, bãi
bỏ sự phân biệt không cần thiết giữa các loại thực tế và các loại đối tượng Do
đó FCO-IM là kỹ thuật mô hình hóa khái niệm hoàn toàn phù hợp với nguyên tắc khái niệm
FCO-IM vừa biểu diễn ở dạng giản đồ vừa biểu diễn ngôn ngữ tự nhiên của mô hình Nhà phân tích và kỹ thuật viên có thể giao tiếp bằng cách sử dụng của giản đồ Người sử dụng và nhà phân tích có thể giao tiếp bằng cách
sử dụng biểu thức ngôn ngữ tự nhiên
2.1.2 Lịch sử hình thành và xu hướng phát triển
FCO-IM là phương pháp mô hình hóa thông tin theo hướng giao tiếp toàn diện nằm trong họ phương pháp mô hình phân tích thông tin theo ngôn ngữ tự nhiên NIAM (Natural language Information Analysis Method) NIAM được bắt đầu phát triển vào năm 1967 bởi giáo sư Nijssen trong quá trình thực hiện
dự án ở trung tâm dữ liệu Hà Lan FCO-IM được xem là phiên bản mới nhất của NIAM Lúc đầu nó có tên gọi là FCO - NIAM nhưng sau này được đổi lại FCO-IM để nhấn mạnh khía cạnh khái quát của phương pháp Nó được xem
là phương pháp hướng giao tiếp toàn diện FCO (Fully Communication Oriented) bởi vì bước mô tả thông tin bằng ngôn ngữ tự nhiên được xem là bước khởi đầu của quá trình mô hình hóa hệ thống và các chuyên gia hệ thống
có thể hoàn toàn kiểm định tình hình chính xác của các mô tả này
Vào năm 1993, FCO-IM được đưa vào giảng dạy đầu tiên ở đại học HAN,
Hà Lan Cho đến nay, FCO-IM được sử dụng rộng rãi và giảng dạy ở nhiều trường đại học ở Hà Lan và các nước khác trên thế giới Nó đã chứng minh tính hiệu quả của mình trong các dự án lớn của chính phủ và các công ty lớn
Trang 23đa quốc gia Các công ty dịch vụ công nghệ và thông tin đặc biệt yêu thích phương pháp này trong việc xây dựng các mô hình dữ liệu, hay thiết kế các kho dữ liệu, kho dữ liệu cục bộ Một số dự án lớn thành công đã sử dụng phương pháp FCO-IM: dự án đường sắc Hà Lan (1990), dự án kho dữ liệu ngân hàng ING Hà Lan (2003), dự án hệ thống hành khách quốc tế KML(1998), dự án ETIM của công ty TLO Hà Lan, dự án xây dựng bộ từ điển dữ liệu của công ty Sandia National Labotaries ở Mỹ và nhiều dự án khác
2.1.3 Các bước mô hình dữ liệu bằng phương pháp FCO-IM
Quá trình xây dựng một mô hình thông tin cho một hệ thống theo hướng giao tiếp toàn diện được chia làm các bước chính như sau:
Hình 2.1 Quá trình xây dựng mô hình thông tin cho một hệ thống
theo hướng giao tiếp toàn diện
Trang 242.1.4 Các nguyên tắc cơ bản của FCO-IM
Phương pháp FCO-IM được xây dựng dựa trên các nguyên tắc sau:
- Nguyên tắc 1: FCO-IM mô hình tất cả các mặt khái niệm của thông tin
- Nguyên tắc 3: Các chuyên gia hệ thống phải có khả năng kiểm chứng tính chính xác của các mô tả sự kiện trong bộ ngữ pháp thông tin FCO-IM
Trong quá trình mô hình hóa hệ thống các nhà phân tích có thể xuất ra các
mô tả sự kiện nhờ vào các công cụ của FCO-IM Những mô tả này được các chuyên gia hệ thống chấp nhận và xác định tính đúng đắn thì mô hình kết quả mới đúng đắn
- Nguyên tắc 4: Luôn có thể biểu diễn sơ đồ ngữ pháp thông tin FCO-IM
và lược đồ quan hệ sử dụng cùng một kỹ thuật sơ đồ FCO-IM
Sơ đồ ngữ pháp thông tin FCO-IM luôn có thể chuyển thành lược đồ quan
hệ - có thể thực thi trong các quản trị cơ sở dữ liệu bằng các công cụ
FCO-IM
- Nguyên tắc 5: Các chuyên gia hệ thống cung cấp các mô tả về hệ thống bằng ngôn ngữ tự nhiên và các ví dụ cụ thể của các mô tả đó
Trong quá trình mô hình hệ thống, các chuyên gia hệ thống được sử dụng
các ngôn ngữ và thuật ngữ chuyên môn của chính họ
Các quyết định thiết kế phải dựa trên các ví dụ cụ thể
Trang 25Các nhà phân tích khi thực hiện mô hình hệ thống phải tuân thủ theo các
bước phân tích của FCO-IM
- FCO-IM là một bản vẽ kỹ thuật nên rất dễ hiểu cho các chuyên gia, người dùng và cả những người không am hiểu nhiều về hệ thống Dựa trên các biểu đồ và bộ mô tả hệ thống bằng ngôn ngữ tự nhiên, các nhà phân tích, các nhà phát triển hệ thống và người dùng cuối có thể trao đổi giao tiếp với nhau dễ dàng
- Phương pháp FCO-IM gồm các tập hợp các bước cụ thể với thuật toán
và cách thức thực hiện rõ ràng Vì vậy, tập tài liệu hệ thống rất chi tiết, dễ hiểu và hữu ích cho việc bảo trì và phát triển hệ thống sau này
- Mô hình quan hệ sinh ra từ sơ đồ ngữ pháp thông tin IGD sau khi thực hiện thuật toán đạt dạng chuẩn hóa 5NF [5], đây là dạng chuẩn hóa tối ưu của một mô hình dữ liệu quan hệ
- Phương pháp FCO-IM rất phù hợp với những hệ thống hay có sự thay đổi vì các nhà phân tích chỉ cần mô tả lại hoặc thêm vào các sự kiện, phân loại và định danh cho nó là có thể cho ra một mô hình mới chính xác, đầy đủ, nhanh chóng
Trang 26- Phương pháp FCO-IM giảm thiểu tối đa thời gian mô hình hóa, thiết kế
và hiện thực hóa các hệ thống bởi vì các bước mô hình rất rõ ràng, cụ thể và
dễ thực hiện trong thời gian ngắn
- Từ các sơ đồ ngữ pháp thông tin FCO-IM, sau khi thực hiện thuật toán sinh lược đồ quan hệ GLR, các công cụ có thể chuyển hóa thành các mô hình khác như: UML, hoặc có thể tự động sinh ra các mã định nghĩa ngôn ngữ
dữ liệu DDL dùng cho hệ quản trị CSDL khác nhau như SQL Server, Oracle, Access, Borland… bằng các công cụ FCO-IM (Casetalk, Infagon) Điều này thực sự rất hữu ích, giúp các nhà phân tích có thể tạo ra các cơ sở dữ liệu quan
hệ trên các hệ quản trị cơ sở dữ liệu mong muốn
- Việc chuyển đổi thuật toán của một mô hình thông tin FCO-IM thành sơ
đồ hướng đối tượng dể dàng hơn so với việc chuyển đổi từ một lược đồ quan
hệ Ngữ pháp thông tin trong FCO-IM chứng minh cho ta thấy một giản đồ cơ
sở dữ liệu quan hệ có thể được bắt nguồn từ đó một ngữ pháp thông tin
- Phương pháp FCO-IM tiếp cận khái niệm dẫn đến thiết kế tốt hơn
Infagon đã có 3 phiên bản là: FCO-IM Casetool v4.1 , Infagon v5.0 và Infagon v5.1.[6]
2.2.2 Phần mềm CaseTalk
CaseTalk được phát hành 2002 bởi một công ty phần mềm của Hà Lan CaseTalk hỗ trợ này bằng cách cung cấp:
Trang 27- Lưu trữ các sự kiện có liên quan trong một kho lưu trữ tập trung
- Bảo trì tích hợp ngay lập tức trên các sự kiện
- Dễ dàng phát sinh tình tiết mới
- Tái sử dụng đầy đủ các sự kiện hiện tại
- Trình bày đầy đủ các sự kiện
CaseTalk đã trải qua nhiều phiên bản và được sử dụng rộng rãi trên phạm
vi thế giới CaseTalk đã được tải và sử dụng ở 58 quốc gia, 107 vùng lãnh thổ, 1194 thành phố, 2.432 tổ chức với 1.213 người sử dụng được cấp phép.[7]
2.3 QUY TRÌNH MÔ HÌNH HỆ THỐNG BẰNG PHƯƠNG PHÁP FCO-IM
2.3.1 Xây dựng bộ tài liệu mô tả hệ thống
Tiến hành bằng cách thu tập các thông tin thông qua việc lấy các yêu cầu Kết quả của việc lấy yêu cầu này có thể các báo cáo, các danh sách, các biểu mẫu Đây là một bộ tài liệu có ý nghĩa về hệ thống Ở đây chúng
ta nên quan tâm đến phần thông tin quan trọng chứ không cần quan tâm đến quá trình xử lý
Sau đây là mô tả cho ví dụ: Bài toán phân công giảng viên chủ nhiệm:
Mỗi giảng viên sẽ được khoa phân công phụ trách chủ nhiệm một lớp cụ thể Khi đó giảng viên sẽ được lưu trữ lại các thông tin như sau: Mã giảng viên, họ tên, ngày sinh, giới tính, địa chỉ, chức vụ, chức danh (mỗi giảng viên chỉ có 1 chức danh), tổ hiện tại công tác của từng giảng viên ứng với mỗi lớp
Trang 28mà họ đảm nhận (giảng viên thuộc tổ nào sẽ chủ nhiệm lớp có chuyên ngành của tổ đó)
2.3.3 Diễn đạt các mô tả hệ thống dưới dạng biểu thức sự kiện
Các nhà phân tích hệ thống tiến hành diễn đạt các thông tin về hệ thống dưới dạng biểu thức mẫu sự kiện (fact type expression) Các biểu thức này được xác thực lại bởi các chuyên gia của hệ thống Từ đó các nhà phân tích hệ thống sẽ diễn giải chúng dưới dạng ngôn ngữ tự nhiên, như những câu nói trao đổi quen thuộc hằng ngày Phương pháp mô hình thông tin theo hướng giao tiếp toàn diện (FCO-IM) chính là phương pháp giúp cho nhà phân tích xây dựng mô hình trao đổi quen thuộc hàng ngày một cách chính xác Hay FCO-IM là bản vẽ kiến trúc của hệ thống ngôn ngữ tự nhiên
Đối với các biểu thức mẫu sự kiện thì nên đưa về dưới dạng biểu thức sự kiện sơ cấp (elementary fact type expression) Tức là các biểu thức này không thể tách nhỏ ra được nữa mà không làm mất thông tin
Khi mô tả các biểu thức sự kiện chúng ta có thể nhóm các sự kiện lại với nhau thành nhóm và đặt tên cho nhóm đó Từ ví dụ ở trên chúng ta có nhóm
mô tả các biểu thức sự kiện như sau:
…
2.3.4 Phân loại và định danh
Phân loại (Classification): là sắp xếp các biểu thức sự kiện thành các nhóm
Định danh (Qualification): là đặt tên có ý nghĩa cho các nhóm đó
Trang 29Các bước tiến hành phân loại và định danh như sau :
- Phân tích cấu trúc của các biểu thức sự kiện sơ cấp trong cùng nhóm
thành các mẫu đối tượng hoặc mẫu nhãn theo quy tắc sau: Nếu một phần của
biểu thức sự kiện định ra một đối tượng có nghĩa trong thế giới khách quan thì phân loại nó là một biểu thức mẫu đối tượng, ngược lại đó là một mẫu nhãn Mẫu đối tượng thì được biểu thị bằng dấu gạch chân đôi, mẫu nhãn thì được biểu thị bằng dấu gạch chân đơn.[3]
Ví dụ:Phân loại và định danh cho bài toán phân bổ giảng viên chủ nhiệm
Bảng 2.1 Ví dụ về phân loại và định danh cho bài toán
Ghi chú: :Biểu thức nhãn :Biểu thức đối tượng
O1: Giảng_Viên <Mã_giảng_Viên>
Định danh và phân loại
- Ví dụ định danh cho Giang_vien:
Trang 30Hình 2.2 Quá trình phân loại và định danh biểu thức sự kiện bằng
công cụ Casetalk
2.3.5 Xây dựng sơ đồ ngữ pháp thông tin IGD
Qua quá trình phân loại và định danh chúng ta đã thấy được sự xuất hiện của các mối quan hệ trong các biểu thức sự kiện Trong thực tế thì các dự án thường là các dự án lớn với khối lượng biểu thức sự kiện khổng lồ điều này sẽ dẫn tới các nhà phân tích cũng như các nhà hệ thống dễ bị lạc, sai sót Chính
vì vậy mà FCO-IM đã sử dụng một sơ đồ để giải quyết vấn đề đó, đó chính là
Sơ đồ ngữ pháp thông tin IGD (Information Grammar Diagram) để mô
phỏng các biểu thức sự kiện (biểu mẫu, đối tượng, mẫu nhãn) và mối quan hệ giữa các biểu thức sự kiện với nhau
Trang 31Hình 2.3 Quy ước các biểu tượng đồ họa trong IGD
Giải thích về hình 2.3
- Một mẫu sự kiện được mô tả bởi một số hình chữ nhật được kết nối theo chiều ngang, được gọi là role của các mẫu sự kiện Mỗi role có mỗi chỗ trống cho mỗi biểu thức mẫu sự kiện tương ứng (hoặc biểu thức mẫu sự kiện tương ứng) Thứ tự xuất hiện của mỗi role là không quan trọng Mẫu sự kiện unary chỉ có một role, mẫu sự kiện binary có hai role và mẫu sự kiện ternary có ba role Mẫu sự kiện với n role được gọi là mẫu sự kiện n-ary
- Mẫu nhãn được vẽ như một vòng tròn nét đứt
- Mẫu sự kiện nominalized được như một vòng tròn hay một hình elip bao quanh một mẫu sự kiện trong đó các mẫu đối tượng là một nominalization
- Đường nối giữa role và với các mẫu nhãn hay một mẫu sự kiện nominalized có nghĩa là role được kết nối với các mẫu đối tượng đối để đưa một biểu thức mẫu đối tượng vào ô trống tương ứng với role, hay role được kết nối với các mẫu nhãn để đưa các vào ô trống tương ứng với role
Trang 32Trong một IGD, chúng ta vẽ tất cả các mẫu sự kiện (nominalized hoặc không) và các mẫu nhãn hoàn chỉnh đã được xác định trong bước phân loại và đặt tên
Trình tự dùng để xây dựng một IGD
Lấy một mẫu sự kiện, phân tích biểu thức sự kiện tương ứng cho đến khi không thể tìm thấy biểu thức đối tượng nào nữa Lần lượt vẽ IGD tương ứng cho mẫu sự kiện này Thêm các bộ giá trị (tuples) ứng với các mẫu sự kiện vào IGD Tiếp tục thực hiện tương tự với các biểu thức sự kiện khác Cuối cùng sơ đồ IGD sẽ được dựng lên và hình thành nên một bức tranh mô tả tổng quát về hệ thống hoàn chỉnh
Cách xây dựng IGD trong FCO-IM
Dựa vào các quy ước về biểu tượng và trình tự xây dựng sơ đồ ngữ pháp thông tin, chúng ta sử dụng CaseTalk để xuất ra ngay sơ đồ ngữ pháp thông tin
4 Mỗi mẫu sự kiện phải có ít nhất một bộ giá trị
5 Mỗi mẫu đối tượng (đối tượng hóa từ biểu thức mẫu sư kiện) có thể cần một biểu thức mẫu sự kiện chỉ sự tồn tại hoặc không
2.3.6 Các ràng buộc
Có được sơ đồ IGD, chúng ta đã có được một bức tranh toàn diện về hệ thống Tuy nhiên, có thể sẽ có một số sự trùng lặp, sai sót khi chúng ta thêm
Trang 33các bộ giá trị
Ví dụ với mẫu sự kiện Ngay Sinh ta thêm hai bộ giá trị sau:
“Giảng viên ID04 sinh năm 1972”
“Giảng viên ID04 sinh năm 1973”
Đây là điều không thể xảy ra vì một giảng viên thì không thể có hai năm sinh Vì vậy hệ thống cung cấp các ràng buộc vào sơ đồ IGD Việc xác định các ràng buộc phụ thuộc vào tài liệu mô tả của bài toán Phương pháp FCO-
IM cung cấp các ràng buộc sau: ràng buộc giá trị (value constraints), ràng buộc đơn nhất (unique constraint), ràng buộc toàn diện (totality constraints), ràng buộc con (subset constraints), ràng buộc loại trừ (exclusive constraints), ràng buộc bản số (cardinality constraints)
a Ràng buộc đơn nhất (Unique Constraints - UC)
Ràng buộc đơn nhất quy định rằng một giá trị (kết hợp của nhiều giá trị) chỉ được xuất hiện một lần trong các bộ giá trị của một mẫu sự kiện Với mỗi mẫu sự kiện thì có ít nhất một ràng buộc đơn nhất trên một hoặc nhiều role của mẫu sự kiện đó Ràng buộc đơn nhất được biểu diễn bởi mũi tên hai đầu đặt trên một hoặc nhiều role
Lấy 2 sự kiện có cùng giá trị trên role cần xác định UC và giá trị trên các role khác Hỏi chuyên gia hệ thống liệu hai sự kiện đó có thể xuất hiện cùng nhau không? Nếu câu trả lời là “có” thì không có UC trên role đó, ngược lại thì có UC trên role đó Thuật toán xác định tất cả các UC có thể có trong mẫu
Trang 34role Thêm UC trên n role này vào Thuật toán kết thúc
b) Nếu có ít nhất 1 UC được tìm thấy trên n-1 role:
- Nếu mẫu sự kiện có 2 role thì thêm UC vừa tìm được vào Thuật toán kết thúc
- Nếu mẫu sự kiện đó có 3 hoặc nhiều hơn 3 role thì:
+ Nếu có duy nhất 1 UC trên n - 1 role được tìm thấy thì thêm UC đó vào Thuật toán kết thúc
+ Nếu có nhiều hơn 1 UC trên n - 1 role được tìm thấy (gọi là m), giả sử 2<=m<=n thì với mỗi cặp UC trên n -1 role, kiểm tra UC trên n-2 role trùng lặp:
· Nếu không có UC trên n-2 role nào được tìm thấy thì tất cả UC trên n-1 được tìm thấy trước đó đều đúng Thuật toán kết thúc
· Nếu có ít nhất 1 UC trên n-2 role được tìm thấy thì mẫu sự kiện này không phải là sơ cấp và nó cần phải được mô tả lại thành hai hay ba mẫu sự kiện nhỏ
Tiến hành xác định thuật toán UC cho bài toán đánh giá công chức, viên chức hàng năm (xác định một số mẫu sự kiện các mẫu khác tương tự):
Trang 35Bảng 2.2 Bảng xét UC cho bài toán
UC
1 Nam_Sinh
F3 : “<4> có <5 >”
ID04 1972 Kiểm tra
UC
b Ràng buộc toàn diện (Totality Constraints - TC)
Ràng buộc toàn diện là ràng buộc trên các role được biểu diễn bởi cùng một mẫu đối tượng, mỗi bộ giá trị (tuple) của mẫu đối tượng phải xuất hiện ít nhất một lần dưới dạng một hoặc nhiều role liên quan Nói một cách đơn giản nếu một bộ giá trị xuất hiện ở một mẫu đối tượng thì nó phải xuất hiện ở bộ
Trang 36giá trị ở các role liên quan
Một ràng buộc toàn diện có thể được xác định trên một hoặc nhiều role và
được biểu diễn bởi một dấu chấm to (˜) Ràng buộc toàn diện trên một role
được gọi là ràng buộc đơn lẻ và ràng buộc toàn diện trên nhiều role gọi là ràng buộc kết hợp
Ví dụ: Trong mẫu đối tượng Giảng_viên, các mã giảng viên xuất hiện dưới mẫu đối tượng này đều phải xuất hiện dưới mẫu đối tượng Tên_Giảng_viên, mỗi bản ghi giảng viên phải có khai báo tên của giảng viên
đó
Các bước xác định TC cho một mẫu đối tượng:
- Lập bảng bao gồm tên mẫu đối tượng, các role được biểu diễn bởi đối tượng đó và dòng đầu là một bộ dữ liệu đầy đủ cho tất cả các role tương ứng với các cột
- Hỏi chuyên gia hệ thống nếu ví dụ của dòng đầu tiên có thể tồn tại trong
hệ thống Nếu câu trả lời là “không”, có nghĩa là có các ràng buộc khác liên quan (như: ràng buộc loại trừ, ràng buộc con ) Nếu câu trả lời là “có” ta tiếp tục thêm các dòng vào và bỏ trống lần lượt các giá trị tương ứng ở các role Các chuyên gia hệ thống sẽ chỉ ra các giá trị đó có được bỏ trống hay không, nếu không thì tồn tại TC trên role đó, nếu có thì ta tiến hành xét TC kết hợp trên các role (có khả năng bị bỏ trống)
- Trước hết chúng ta nên xét TC trên các role đơn lẻ, sau đó xét trên từng cặp 2 role (không có TC trên từng role) và trên 3 role (nếu không có TC trên cặp 2 role) và cứ tiếp tục đến lúc không thể tìm ra TC kết hợp nào nữa
- Với các mẫu đối tượng không tồn tại một TC nào trên các role được biểu diễn bởi nó thì nhất thiết phải có một biểu thức mẫu sự kiện chỉ sự tồn tại cho đối tượng đó
Ví dụ: Thực hiện xét TC cho mẫu đối tượng Giảng viên
Trang 37Bảng 2.3 Bảng ràng buộc toàn diện bài toán
ID04 Võ Văn Anh 1972 Nam TB - QN Y Áp dụng
ID04 Võ Văn Anh - Nam TB - QN N TC trên 4 ID04 Võ Văn Anh 1972 - TB - QN N TC trên 7
c Ràng buộc giá trị (Value Constraints - VC)
Ràng buộc giá trị là ràng buộc chỉ ra các giá trị có thể có của một mẫu nhãn
Ví dụ: mẫu nhãn giới tính của giảng viên chỉ có hai giá trị hợp lệ là
“Nam” hoặc “Nữ”
Ràng buộc giá trị được biểu diễn ngay bên cạnh mẫu nhãn và nằm giữa hai dấu ngoặc đơn {}
d Ràng buộc con (Subset Constraints - SC)
Ràng buộc con là ràng buộc được thiết lập trên hai tập các role Nó chỉ ra rằng “tổng” bộ giá trị của bộ role khác Các role hoặc kết hợp các role được xét phải được biểu diễn bởi cùng một mẫu nhãn hoặc mẫu đối tượng
Ràng buộc giá trị được thể hiện bằng mũi tên đi từ tập “con” đến tập
“cha”
Trang 38Hình đầu tiên là ràng buộc con trên một role Nó chỉ ra rằng tập hợp bộ giá trị của role 1 là tập con của bộ giá trị 2 Hình tiếp theo là ràng buộc con trên cặp 2 role Nó chỉ ra rằng mỗi bộ giá trị kết hợp của role 3+4 phải xuất hiện trong bộ giá trị kết hợp 5+6 Ta cũng có thể biểu diễn ràng buộc con cho
2 hình trên như sau: Fact type 1 (1) à Fact type 2 (2) và Fact type 3(3,4) à Fact type 4(5,6)
e Ràng buộc loại trừ (Exclusive Constraints - EC)
Ràng buộc loại trừ là ràng buộc được xác định trên hai hoặc nhiều role
Nó chỉ ra rằng các bộ giá trị của role (tập các role) này không nằm trong tập
bộ giá trị của role khác Các role (tập các role) được xét ràng buộc loại trừ phải được biểu diễn bởi cùng một mẫu đối tượng/nhãn (tập các mẫu đối tượng/nhãn)
Ví dụ: Giảng viên mà là giảng viên cơ hữu thì không phải là giảng viên thỉnh giảng
f Ràng buộc bản số (Cardinality Constraint - CC)
Ràng buộc bản số là ràng buộc được xác định trên 1 role của một mẫu sự kiện, nó chỉ ra số lần xuất hiện của một giá trị (của role) trong bộ giá trị của role đó
Ràng buộc bản số được biểu diễn bởi một vòng tròn nhỏ chứa số lần xuất hiện của một giá trị Các toán tử (=, <, >, <= và >=) và ký hiệu viết tắt ‘… ’ cũng được sử dụng
Trang 392.3.7 Thuật toán chuyển đổi GLR
Thuật toán chuyển đổi GLR (Group - Lexicalizing - Reducing) gồm ba bước sau (các bước này có thể thực hiện tự động bằng công cụ Casetalk):
mà không gây ra sự dư thừa Do đó, số bảng sinh ra là ít nhất có thể
Thuật toán Grouping gồm 2 bước sau:
1 Đánh dấu các role thỏa mãn các điều kiện sau (các role sẽ bị xóa trong quá trình grouping):
- Có UC đơn lẻ trên role đó
- Được biểu diễn bởi một mẫu đối tượng
2 Với mỗi role được đánh dấu, tiến hành các bước sau:
- Xóa các role được đánh dấu và các UC của nó Ghép các role còn lại (của cùng một mẫu sự kiện role xóa) vào mẫu đối tượng biểu diễn cho role bị xóa (giữ nguyên các UC của các role này)
- Tất cả các role được ghép sẽ trở thành tùy chọn (không bắt buộc), trừ khi role bị xóa có TC đơn lẻ
- Xử lý các biểu thức mẫu sự kiện và biểu thức mẫu đối tượng và bộ giá trị có chứa role bị xóa
b Định danh hóa (Lexicalizing)
Về nguyên tắc, lúc chuyển đổi từ IGD sang lược đồ quan hệ, các mẫu sự kiện sẽ trở thành các bảng, các role được biểu diễn bởi các mẫu nhãn sẽ trở
Trang 40thành các cột Mục đích của bước Lexicalizing là hình thành các mẫu sự kiện
có tất cả các role được biểu diễn bởi các mẫu nhãn mà không gây ra sự dư thừa
Thuật toán Lexicalizing gồm các bước sau:
1 Đánh dấu các role được biểu diễn bởi một mẫu đối tượng
2 Với một role được đánh dấu, thực hiện các bước sau:
- Cắt kết nối role đó với mẫu đối tượng, chuyển kết nối này sang mẫu nhãn biểu diễn cho role của mẫu đối tượng đó
- Xử lý các biểu thức mẫu sự kiện, biểu thức mẫu đối tượng và bộ giá trị
- Thêm các SC từ role được đánh dấu đến role của mẫu đối tượng
- Nếu role được đánh dấu có chứa TC thì thêm một SC từ role của mẫu đối tượng đến role được đánh dấu
- Xóa các mẫu đối tượng không biểu diễn cho role nào và không có biểu thức mẫu đối tượng
c Rút gọn (Reducing)
Khi chuyển đổi từ sơ đồ IGD sang lược đồ quan hệ, các mẫu sự kiện sẽ trở thành các bảng riêng biệt Tuy nhiên, có những bảng nhỏ và thật sự không cần thiết Mục đích của bước này là xóa đi các bảng (mẫu sự kiện) không cần
thiết Các mẫu sự kiện sẽ bị xóa đi nếu nó có một ràng buộc đẳng thức (EC)
trên tất cả các role của nó
2.3.8 Lược đồ quan hệ
Từ sơ đồ ngữ pháp thông tin IGD sau khi thực hiện thuật toán GLR, ta sẽ
có được lược đồ quan hệ thông qua quy tắc chuyển đổi sau: