Microsoft Word - VoHoangLienMinh - Bao KH-CN- From UML to XML 1

Tài liệu tương tự
Co s? d? li?u (Database)

PowerPoint Template

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

Microsoft Word - Co so du lieu - cap nhat

1

Phân tích Thiết kế Hướng đối tượng - OOAD

KINH TẾ XÃ HỘI ÁP DỤNG MÔ HÌNH QUỸ PHÁT TRIỂN KHOA HỌC VÀ CÔNG NGHỆ TẠI CÁC TRƯỜNG ĐẠI HỌC KHỐI CÔNG NGHỆ Ở VIỆT NAM APPLYING SCIENCE AND TECHNOLOGY D

Công nghệ Hibernate Công nghệ Hibernate Bởi: Khoa CNTT ĐHSP KT Hưng Yên Giới thiệu Trước khi tìm hiểu Hibernate là gì, chúng ta cần chuẩn bị một số ki

PHẦN III. NỘI DUNG CHƯƠNG TRÌNH ĐÀO TẠO 1. Tóm tắt yêu cầu chương trình đào tạo Tổng số tín chỉ của chương trình đào tạo: Khối kiến thức chung 158 tín

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÝ LỊCH KHOA HỌC 1. THÔNG TIN CÁ NHÂN Họ và tên: Nguyễn Văn Tảo Ngày sinh: 05/1

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN LÝ LỊCH KHOA HỌC (Thông tin trong 5 năm gần nhất và có liên quan trực tiếp đến đề

TÊN CHƯƠNG

Mau ban thao TCKHDHDL

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÙI TRUNG HIẾU NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN QUẢN LÝ DÂN CƯ LU

MỞ ĐẦU

Mẫu trình bày chương trình đào tạo theo tín chỉ

JOURNAL OF SCIENCE OF HNUE Educational Science in Mathematics, 2014, Vol. 59, No. 2A, pp This paper is available online at

Chủ đề :

TRƯỜNG ĐẠI HỌC MỞ TP. HỒ CHÍ MINH

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT MAI VĂN SỸ NGHIÊN CỨU XÂY DỰNG MÔ HÌNH THÀNH PHỐ ẢO PHỤC VỤ CÔNG TÁC QUY HOẠCH ĐÔ THỊ LUẬN ÁN TIẾN

Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ Đỗ Thị Phương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuy

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

FIG Working Week 2019

Microsoft Word - Morat 53_checked.doc

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

Cấu trúc và khối lượng kiến thức được xây dựng theo quyết định số 01/QĐ-ĐHQG-ĐH&SĐH ngày 05/01/2009 của Giám đốc ĐHQG-HCM

Khoa hoïc Xaõ hoäi vaø Nhaân vaên 49 CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN QUYẾT ĐỊNH ĐỔI MỚI CÔNG NGHỆ CỦA CÁC DOANH NGHIỆP NHỎ VÀ VỪA Ở THÀNH PHỐ CẦN THƠ Factor

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT MAI VĂN SỸ NGHIÊN CỨU XÂY DỰNG MÔ HÌNH THÀNH PHỐ ẢO PHỤC VỤ CÔNG TÁC QUY HOẠCH ĐÔ THỊ TÓM TẮT LUẬN

2.4. Tiếp cận ứng dụng cho mô hình hóa dựa trên tác tử Alexis Drogoul IRD, Benoit Gaudou Đại học Toulouse, Arnaud Grignard Đại học Paris 6, Patrick Ta

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÝ LỊCH KHOA HỌC 1. THÔNG TIN CÁ NHÂN Họ và tên: Vũ Vinh Quang Ngày sinh: 26/09


CHƯƠNG 1 : MỞ ĐẦU

CHUYỂN THỂ KÍ HIỆU BIỂU THỊ THỜI GIAN TỪ VĂN CHƯƠNG ĐẾN ĐIỆN ẢNH TRONG TRƯỜNG HỢP TÔI THẤY HOA VÀNG TRÊN CỎ XANH (Dưới góc nhìn liên văn bản và liên k

GIẢNG DẠY MÔN GIAO TIẾP LIÊN VĂN HÓA BẰNG PHƯƠNG PHÁP DẠY HỌC QUA DỰ ÁN: TRƯƠ NG HỢP GIAO TIẾP LIÊN VĂN HÓA VIÊ T - TRUNG Nguyễn Đại Cồ Việt * Khoa Ng

Hướng dẫn KHG sử dụng dịch vụ BaaS do Mobifone Global cung cấp Tổng Công ty Viễn thông MOBIFONE là nhà cung cấp dịch vụ Viễn thông và CNTT hàng đầu tạ

Microsoft Word - 03-KTXH-NGUYEN QUOC NGHI( )027

LÝ LỊCH KHOA HỌC I. LÝ LỊCH SƠ LƢỢC Họ và tên: TRỊNH TRỌNG CHƢỞNG Ngày, tháng, năm sinh: 21/11/1976 Quê quán: Tp. Hải Dương, Hải Dương Giới tính: Nam

Phân tích và thiết kế hệ thống thông tin

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHÓA LUẬN TỐT NGHIỆP ỨNG DỤNG GIS VÀ GOOGLE SKETCHUP XÂY DỰNG MÔ HÌNH 3D TRƯỜNG Đ

Microsoft Word - ICT-rda08HBQuoc.doc

Microsoft Word - tot nghiep doc

ĐỀ CƯƠNG MÔN HỌC

CHÍNH SÁCH TÀI KHÓA 2013 VÀ NHỮNG THÁCH THỨC TRONG NGẮN HẠN VÀ TRUNG HẠN TS. Vũ Sỹ Cường 88 Dẫn nhập Sau khi lạm phát tăng mạnh vào năm 2011 thì năm 2

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

Microsoft Word - Pham Van Tuan - LLKH. FINAL doc

2018 Nhận xét, phân tích, góp ý cho Chương trình môn Tin học trong Chương trình Giáo dục Phổ thông mới

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

MỞ ĐẦU

Slide 1

Công cụ trong VB6 Công cụ trong VB6 Bởi: FPT Software Để tìm hiểu về các công cụ trong VB chúng ta sẽ đề cập tới Add-in Các công cụ trong add-in Trình

MỘT SỐ NGHIÊN CỨU VỀ TÔNG AVENEAE (HỌ CỎ - POACEAE)

Những khái niệm cơ bản của hệ điều hành mạng Windows Những khái niệm cơ bản của hệ điều hành mạng Windows Bởi: unknown Giới thiệu tổng quan về Windows

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

Microsoft Word - DoManhHong-HoithaoheBudapest

IPSec IPSec Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta đã biết khi ta sao chép dữ liệu giữa 2 máy hoặc thông qua mạng VPN để nâng cao chế độ bảo mật người q

Kiểm soát truy suất Kiểm soát truy suất Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khái niệm Bảo mật thực chất là kiểm soát truy xuất [1]. Mục đích của bảo mật m

KẾT QUẢ TÍNH SÓNG, NƯỚC DÂNG DO BÃO VÙNG VEN BIỂN ĐÔNG ĐỒNG BẰNG SÔNG CỬU LONG Lê Thanh Chương, Nguyễn Duy Khang, Lê Mạnh Hùng Viện Khoa học Thủy lợi

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÝ LỊCH KHOA HỌC 1. THÔNG TIN CÁ NHÂN Họ và tên: Nguyễn Văn Huân Ngày sinh: 10/

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Tài liệu Hướng dẫn sử dụng

Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG WEBSITE QUẢN LÝ RẠP CHIẾU PHIM TRÊN CƠ SỞ YII FRAMEWORK Hà Nội 2016

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

HƯỚNG DẪN TÌM KIẾM VÀ TRUY CẬP CƠ SỞ DỮ LIỆU ĐIỆN TỬ Đăng nhập bằng tài khoản hoặc Khi gặp vấn đề về UEH, v

Nghiên cứu kiến trúc hệ thống Media - LBS

1 Überschrift 1

TrÝch yÕu luËn ¸n

TCVN 11391:2016 MỤC LỤC 1 Phạm vi áp dụng Tài liệu viện dẫn Thuật ngữ, định nghĩa và các từ viết tắt Thuật ngữ và định nghĩa...

Microsoft Word - Cau hoi on tap.doc

Microsoft Word - thuat-ngu-thuong-mai-dien-tu.docx

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA BÙI CÔNG GIAO TÌM KIẾM TƯƠNG TỰ TRÊN CHUỖI THỜI GIAN DẠNG LUỒNG Chuyên ngành: Khoa học máy t

SCIENCE & TECHNOLOGY DEVELOPMENT, Vol 20, No Q Ứng dụng công nghệ họp trực tuyến cho việc quản lý và đào tạo nguồn nhân lực Đàm Quang Hồng Hải L

TẠP CHÍ KHOA HỌC, Đại học Huế, tập 72B, số 3, năm 2012 NGHIÊN CỨU TÌNH HÌNH SỬ DỤNG DỊCH VỤ QUẢNG CÁO CỦA DOANH NGHIỆP VỪA VÀ NHỎ Ở THỪA THIÊN HUẾ Lê

IEEE Paper Template in A4 (V1)

4 Khoa hoïc Coâng ngheä THIẾT BỊ SẤY NÔNG SẢN BẰNG NĂNG LƯỢNG MẶT TRỜI TẠI VIỆT NAM Nguyễn Xuân Trung * Tóm tắt Đinh Vương Hùng ** Sấy nông sản bằng n

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH ĐỀ CƯƠNG MÔN HỌC 1. THÔNG TIN VỀ MÔN HỌC 1.1. Tên môn học: QUẢN TRỊ HỆ CƠ SỞ DỮ LIỆU 1.

HO C VIÊÊN CÔNG NGHÊÊ BƯU CHI NH VIÊ N THÔNG CƠ SƠ TA I TP HÔ CHI MINH KHOA CÔNG NGHÊÊ THÔNG TIN 2 CÔÊNG HO A XA HÔÊI CHU NGHI A VIÊÊT NAM Đô Êc lâ Êp

ỨNG DỤNG INTERNET OF THINGS XÂY DỰNG NGÔI NHÀ THÔNG MINH APPLICATION OF INTERNET OF THINGS TO SMARTHOME NGUYỄN VĂN THẮNG (1), PHẠM TRUNG MINH (1), NGU

Microsoft Word - Tailieu win2003.doc

ThemeGallery PowerTemplate

Microsoft Word - KHOA LUAN TOT NGHI?P - LINH

KINH TẾ XÃ HỘI YẾU TỐ ẢNH HƯỞNG ĐẾN CHẤT LƯỢNG TÍN DỤNG TẠI CÁC NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN VIỆT NAM FACTORS AFFECTING CREDIT QUALITY IN VIETNAM JOIN

PowerPoint Template

Bài 3 Tựa bài

LUKSOOT2

TRÁCH NHIỆM GIẢI TRÌNH: VƯƠN TỚI NHỮNG CHUẨN MỰC CỦA MỘT NỀN HÀNH CHÍNH PHỤC VỤ PHÁT TRIỂN Phạm Duy Nghĩa Phần viết dưới đây giải thích các kênh thiết

Microsoft Word - 2.3_BaiQHtichhopDBSCL(GS.TS Vo).docx

TRUNG TÂM TRỌNG TÀI QUỐC TẾ VIỆT NAM BÊN CẠNH PHÒNG THƯƠNG MẠI VÀ CÔNG NGHIỆP VIỆT NAM THÔNG TIN TRỌNG TÀI VIÊN Họ và tên: BÙI XUÂN HẢI Năm sinh: 1972

ĐÊ CƯƠNG CHI TIẾT HỌC PHẦN

Microsoft Word - Kiem dinh chat luong phan mem

Microsoft Word - kham-pha-quyen-nang-thuong-mai-dien-tu-trong-07-gio-free.doc

Microsoft Word - mot_so_tool_trong_android.docx

ỨNG DỤNG HỆ TƯ VẤN TRONG ĐỌC TIN TỨC TRỰC TUYẾN Bùi Thị Hồng Nhung Khoa Hệ thống thông tin Quản lý Học viện Ngân hàng Điện

Brochure 3DGAME

Các cấu trúc logic trong lập trình 1 Cấu trúc tuần tự (Sequence) 1.1 Những câu lệnh phải được sắp xếp theo thứ tự Một số hướng dẫn cho việc tổ chức câ

Microsoft Word - Nhung tu tuong cua Doi moi I-final[1].doc

Bản ghi:

THIẾT KẾ LƯỢC ĐỒ XML TỪ BIỂU ĐỒ LỚP UML Hoàng Quang 1, Phạm Minh Khoa 1, Võ Hoàng Liên Minh 1 1 Trường Đại học Khoa học, Đại học Huế hquang@hueuni.edu.vn, minhkhoaatv@gmail.com, minhvhl@gmail.com TÓM TẮT Hiện nay, XML chiếm vị trí rất quan trọng trong việc trao đổi dữ liệu giữa các ứng dụng. Việc phát triển cơ sở dữ liệu XML để lưu trữ thông tin lớn trở nên cần thiết. Mặt khác, biểu đồ lớp UML là mô hình dữ liệu mức khái niệm thường được sử dụng phổ biến cho việc thiết kế các hệ thống thông tin quản lý hiện nay, nhờ vào khả năng mô tả thế giới thực và được sự hỗ trợ mạnh mẽ từ các nhà phát triển (Rational Rose, Enterprise Architect ). Trong bài báo này, chúng tôi đề xuất một phương pháp thiết kế lược đồ XML từ biểu đồ lớp UML trên cơ sở kế thừa phương pháp chuyển đổi từ mô hình ER (mô hình thực thể - mối quan hệ) sang lược đồ XML. Từ khóa XML schema, UML class diagram, conceptual design 1. Giới thiệu Hiện nay, XML chiếm vị trí rất quan trọng trong việc chuyển tải, trao đổi dữ liệu và liên lạc giữa các ứng dụng. Cùng với việc XML ngày càng phổ biến, số lượng các ứng dụng sử dụng các tài liệu XML tăng lên nhanh chóng, các tài liệu XML tạo ra ngày càng nhiều. Các tài liệu XML thường được thiết kế theo cảm tính nên có thể dẫn đến những dư thừa và không nhất quán về mặt dữ liệu. Do đó các phương pháp để thiết kế một lược đồ XML tốt nhằm tránh được những dư thừa và không nhất quán về mặt dữ liệu là rất đáng được quan tâm nghiên cứu [1]. Phương pháp thiết kế các tài liệu XML không tồn tại dư thừa dữ liệu được sử dụng phổ biến hiện nay là phương pháp sử dụng các mô hình cơ sở dữ liệu dữ liệu ở mức khái niệm. Cụ thể, phương pháp này gồm hai giai đoạn: đầu tiên thực hiện việc khái niệm hóa dữ liệu XML dưới dạng một mô hình dữ liệu mức khái niệm (như mô hình ER hoặc các mô hình ER mở rộng) sao cho nó phản ảnh được thế giới thực, sau đó thực hiện việc chuyển đổi mô hình này thành một lược đồ XML. Liên quan đến việc xây dựng phương pháp chuyển đổi từ một mô hình dữ liệu mức khái niệm thành một lược đồ XML, đã có nhiều nghiên cứu được đề xuất [2-8]. Tuy nhiên, hầu hết các bài báo này đều tập trung vào việc thực hiện chuyển đổi cho các mô hình ER hoặc ER mở rộng. Nhưng trên thực tế, biểu đồ lớp UML là mô hình dữ liệu mức khái niệm thường được sử dụng phổ biến cho việc thiết kế các hệ 1

Hoàng Quang, Phạm Minh Khoa, Võ Hoàng Liên Minh thống thông tin quản lý hiện nay. Ưu điểm của thiết kế hệ thống bằng UML là khả năng mô tả và phản ảnh tốt thế giới thực của các hệ thống thông tin. Ngoài ra nó còn được sự hỗ trợ mạnh mẽ từ các nhà phát triển (Rational Rose, Enterprise Architect ) nên việc thiết kế UML đã trở nên phổ biến [9]. Trong bài báo này, chúng tôi đề xuất một phương pháp thiết kế lược đồ XML từ biểu đồ lớp UML trên cơ sở kế thừa phương pháp chuyển đổi từ mô hình ER (mô hình thực thể - mối quan hệ) sang lược đồ XML. Hình 1. Phương pháp chuyển đổi từ biểu đồ lớp UML sang lược đồ XML Nếu xem việc chuyển đổi từ một mô hình dữ liệu M sang một mô hình dữ liệu M như một ánh xạ chuyển đổi, thì việc xây dựng một phương pháp chuyển đổi trực tiếp từ biểu đồ lớp UML sang lược đồ XML có thể được xem là việc xác định một ánh xạ tích của hai ánh xạ f1 và f2 như trong Hình 1. Trong đó, ánh xạ f1 là ánh xạ chuyển đổi từ biểu đồ lớp UML sang mô hình ER [10] và ánh xạ f2 là ánh xạ chuyển đổi từ mô hình ER sang lược đồ XML [1, 7]. Trong bài báo này, chúng tôi tập trung vào việc xây dựng một phương pháp chuyển đổi trực tiếp từ biểu đồ lớp UML sang lược đồ XML dựa vào cách tiếp cận của việc xác định ánh xạ tích f = f2 f1. Theo đó, bài báo này được tổ chức như sau: trong mục tiếp theo, chúng tôi giới thiệu khái quát về biểu đồ lớp UML và lược đồ XML nhằm đề cập đến các thuật ngữ và ký hiệu sẽ được sử dụng trong mục sau. Tiếp đến là phần đề xuất các quy tắc chuyển đổi từ biểu đồ lớp UML sang lược đồ XML để làm cơ sở cho việc thực hiện thuật toán chuyển đổi. Mục cuối cùng là phần kết luận. 2. Giới thiệu biểu đồ lớp UML và lược đồ XML 2.1. Biểu đồ lớp UML Ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách có hiệu quả. Việc xây dựng các mô hình trong UML là phù hợp cho việc mô tả các hệ thống thông tin. Cách tiếp cận theo mô hình của UML cho phép người thiết kế và người sử dụng có một cái nhìn bao quát và đầy đủ về hệ thống thông tin mà ta quan tâm từ giai đoạn phân tích đến việc thiết 2

kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin. Nó còn hỗ trợ cho việc ứng dụng các chương trình tự động sinh mã trong các ngôn ngữ lập trình hướng đối tượng (như C++, Java ) và các chương trình tự động sinh CSDL trong các hệ quản trị CSDL quan hệ (như My SQL, ACCESS ) hoặc các hệ quản trị CSDL hướng đối tượng (như ObjectStore, Objectivity ). Vì vậy phương pháp thiết kế này là thật sự hữu dụng trong lập trình hướng đối tượng [9]. UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các phần tử mô hình. Tập hợp các phần tử mô hình tạo thành các sơ đồ UML. Các loại sơ đồ UML chính yếu bao gồm: sơ đồ lớp (Class Diagram), sơ đồ đối tượng (Object Diagram), sơ đồ tình huống sử dụng (Use Cases Diagram), sơ đồ trình tự (Sequence Diagram), sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram), sơ đồ trạng thái (State Machine Diagram), sơ đồ thành phần (Component Diagram), sơ đồ hoạt động (Activity Diagram), sơ đồ triển khai (Deployment Diagram), sơ đồ gói (Package Diagram), sơ đồ liên lạc (Communication Diagram), sơ đồ tương tác (Interaction Overview Diagram - UML 2.0), sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0). Tương tự như mô hình ER, trong các loại sơ đồ của UML, sơ đồ lớp là liên quan đến phần thiết kế cơ sở dữ liệu ở mức khái niệm. Sơ đồ lớp trong UML chứa các biểu đồ lớp UML và mối quan hệ giữa các lược đồ này. Một biểu đồ lớp UML gồm ba thành phần: tên lớp, các thuộc tính của lớp và các phương thức của lớp. Hình 2. Ví dụ biểu đồ lớp UML 3

Hoàng Quang, Phạm Minh Khoa, Võ Hoàng Liên Minh 2.2. Lược đồ XML Lược đồ XML là ngôn ngữ mô tả cấu trúc của tài liệu XML, có thể thay thế cho XML DTD. Nó sử dụng quy tắc và cú pháp giống như tài liệu XML thông thường, vì vậy ta có thể sử dụng chung bộ xử lý với tài liệu XML. Để phân biệt hai loại tài liệu, chúng ta sẽ sử dụng thuật ngữ tài liệu XML để nói về tài liệu XML thông thường và thuật ngữ tài liệu XML Schema để nói đến lược đồ XML. XML. Ví dụ file XML Schema có tên là note.xsd để định nghĩa các phần tử của tài liệu <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com" elementformdefault="qualified"> <xs:element name="note"> <xs:complextype> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> 3. Quy tắc chuyển đổi từ biểu đồ lớp UML sang lược đồ XML Trong quá trình chuyển đổi chúng ta có thể thực hiện theo hai cách là chuyển đổi phẳng (là chuyển đổi không lồng một thực thể vào một thực thể khác, và mối quan hệ R giữa hai thực thể được xem như là thuộc tính của thực thể chủ) và chuyển đổi lồng nhau (là chuyển đổi lồng một thực thể vào một thực thể khác, và mối quan hệ R giữa hai thực thể được xem như là thực thể có mối quan hệ thực thể chủ). Khác với cách chuyển đổi phẳng, chuyển đổi lồng nhau có một số trường hợp không thể thực hiện được hoặc nếu được thì có thể gây dư thừa hoặc mất dữ liệu. Tuy nhiên, để tránh việc khai báo các ràng buộc về tham chiếu, nên cách chuyển đổi lồng nhau được ưu tiên thực hiện trong các trường hợp cho phép. 3.1. Chuyển đổi lớp đối tượng Lớp UML và phần tử XML có điểm chung là đều có tên và các thuộc tính, nhưng các thao tác trong UML không có thành phần nào tương ứng trong XML, vì vậy khi chuyển đổi từ UML sang XML không xét đến các thao tác. Ta có quy tắc chuyển đổi như sau: Với mỗi lớp C được chuyển đổi thành phần tử C tương ứng trong XML. Nếu một lớp đối tượng không có khóa thì bổ sung thuộc tính khóa C_ID cho phần tử C. 4

3.2. Chuyển đổi thuộc tính Thuộc tính của biểu đồ lớp UML sẽ được ánh xạ thành phần tử có tên tương ứng khi chuyển thành lược đồ XML. Ngoài ra, đối với thuộc tính có cấu trúc khi ánh xạ thành phần tử trong lược đồ XML được biểu diễn theo cây phân cấp, nút gốc của cây phân cấp chính là tên lớp đối tượng, các nút còn lại tương ứng với các thuộc tính của lớp đối tượng. 3.3. Chuyển đổi mối quan hệ kết hợp giữa hai lớp Lớp đối tượng C1 có quan hệ kết hợp R với lớp đối tượng C2 khi chuyển thành lược đồ XML thì ràng buộc bản số được hoán đổi vị trí. Quan hệ kết hợp R được ánh xạ thành phần tử R tương ứng và quy tắc chuyển như sau: 3.3.1. Chuyển đổi mối quan hệ kết hợp giữa hai lớp có bản số 1-1 Hình 3. Mối quan hệ kết hợp giữa hai lớp có bản số 1-1 Trong trường hợp này, các giải pháp lồng nhau và phẳng là hoàn toàn tương tự. Trong trường hợp lồng nhau, thuộc tính của mối quan hệ R có thể được nhúng hoàn toàn trong lớp khác. Trong trường hợp chuyển đổi phẳng, bên cạnh những ràng buộc khóa cho các lớp C1 và C2, cần bổ sung thêm hai ràng buộc, ta có bảng quy tắc chuyển đổi sau: Bảng 1. Quy tắc chuyển đổi với bản số 1-1 Chuyển đổi R lồng vào C1 R lồng vào C2 C1(KC1, R) R(KC2) C2(KC2) KEY(C1.KC1), KEY(C2.KC2), KEY(R.KC2) KEYREF(R.KC2 C2.KC2) KEYREF (C2.KC2 R.KC2) C1(KC1, R) C2(KC2) KEY(C1.KC1), KEY(C2.KC2) C2(KC2, R) R(KC1) C1(KC1) KEY(C2.KC2), KEY(C1.KC1), KEY(R.KC1) KEYREF(R.KC1 C1.KC1) KEYREF(C1.KC1 R.KC1) C2(KC2, R) R(C1) C1(KC1) KEY(C2.KC2), KEY(C1.KC1) 5

Hoàng Quang, Phạm Minh Khoa, Võ Hoàng Liên Minh 3.3.2. Chuyển đổi mối quan hệ kết hợp giữa hai lớp có bản số 1-* Hình 4. Mối quan hệ kết hợp giữa hai lớp có bản số 1-* Khi lớp C2 nhúng vào lớp C1 gây ra sự dư thừa dữ liệu vì nếu tồn tại phần tử của C2 thì có thể tồn tại ít nhất một hoặc nhiều phần tử của C1. Bảng 2. Quy tắc chuyển đổi với bản số 1-* Chuyển đổi R lồng vào C1 R lồng vào C2 C2(KC2, R+) R(C1) C1(KC1) KEY(C2.KC2), KEY(C1.KC1) KEYREF(R.KC1 C1.KC1) CHECK(C1.KC1 R.KC1) C2(KC2, R+) R(C1) C1(KC1) KEY(C2.KC2), KEY(C1.KC1) C1(KC1, R+) C2(KC2) KEY(C1.KC1), KEY(C2.KC2), KEY(R.KC2) KEYREF(R.KC2 C2.KC2) KEYREF(C2.KC2 R.KC2) Gây dư thừa dữ liệu Chú thích gồm một mệnh đề có dạng CHECK(ràng buộc), trong đó quy định cụ thể ràng buộc được kiểm tra bên ngoài. Trong trường hợp đang xem xét, nó có dạng CHECK(C2.KC2 R.KC2). Chú ý rằng, để bắt buộc như một ràng buộc không có mặt, có thể thêm khóa ngoại KEYREF(C2.KC2 R.KC2). Tuy nhiên như đã chỉ ra, một khóa ngoại được cho phép trong lược đồ XML chỉ khi nó liên quan đến một khóa và R.KC2 không thể là một khóa: trường hợp C2 giống nhau có thể được kết hợp với nhiều trường hợp C1 và do đó có thể tồn tại trường hợp lặp đi lặp lại C2 theo C1, một tình huống rõ ràng vi phạm các ràng buộc khóa. 3.3.3. Chuyển đổi mối quan hệ kết hợp giữa hai lớp có bản số *-* Hình 5. Quan hệ kết hợp giữa hai lớp có bản số *-* Khi lớp C1 nhúng vào lớp C2 gây ra sự dư thừa dữ liệu vì nếu tồn tại một phần tử của C1 thì có thể tồn tại ít nhất một hoặc nhiều phần tử của C2. Tương tự việc nhúng C2 vào C1 cũng gây ra dư thừa dữ liệu tương tự. 6

Bảng 3. Quy tắc chuyển đổi với bản số *-* Chuyển đổi R lồng vào C1 R lồng vào C2 C1(KC1, R+) C2(KC2) KEY(C1.KC1), KEY(C2.KC2) KEYREF(R.KC2 C2.KC2) CHECK(C2.KC2 R.KC2) C2(KC2, R+) R(C1) C1(KC1) KEY(C2.KC2), KEY(C1.KC1) KEYREF(R.KC1 C1.KC1) CHECK(C1.KC1 R.KC1) Gây dư thừa dữ liệu Gây dư thừa dữ liệu 3.4. Chuyển đổi mối quan hệ kết hợp có lớp kết hợp Hình 6. Quan hệ kết hợp có lớp kết hợp Quan hệ kết hợp giữa hai lớp đối tượng C1 và C2 có lớp kết hợp là lớp C3. Khi chuyển thành lược đồ XML thì các ràng buộc bản số sẽ hoán đổi vị trí cho nhau. Lớp C3 được ánh xạ vào phần tử R giữa lớp C1 và C2. Các thuộc tính của lớp C3 được ánh xạ thành các phần tử con của phần tử R(C3), quy tắc chuyển bản số tương tự các trường hợp Mục 3.3. 3.5. Chuyển đổi mối quan hệ kết tập Hình 7. Quan hệ kết tập Lớp tổng thể C1 có mối quan hệ kết tập với lớp bộ phận C2 nên C2 luôn luôn tham gia trong mối quan hệ với bản số ràng buộc là 1..1. Khi chuyển thành lược đồ XML lớp C1 và C2 được ánh xạ thành phần tử tương ứng. Khi đó, tùy thuộc bản số ràng buộc còn lại của mối quan hệ R ta sẽ có quy tắc chuyển đổi như Bảng 4. Ta phải bổ sung thuộc tính khóa KC1 cho phần tử C2, bởi vì khóa của lớp C2 được tạo ra bằng cách kết hợp khóa bộ phận của nó là KC2 với khóa KC1 của lớp C1. Chính vì vậy ta có ràng buộc khóa KEY (C2.K C2, C2.KC1). 7

Hoàng Quang, Phạm Minh Khoa, Võ Hoàng Liên Minh Ngoài ra, ta phải sử dụng một thủ tục kiểm tra ràng buộc CHECK (C2.KC1 = C1.KC1) nhằm đảm bảo rằng: thuộc tính KC1 trong lớp C2 phải có giá trị bằng giá trị của khóa KC1 tương ứng trong lớp C1. Bảng 4. Quy tắc chuyển đổi quan hệ kết tập Bản số Chuyển đổi (1..1) (0..1) C1 R C2 (1..1) (1..1) C1 R C2 (1..1) (0..*) C1 R C2 C1(KC1, R?) R(KC2, KC1) KEY(C1.KC1), KEY(C2.KC2, C2.KC1), KEY(R.KC2, R.KC1) KEYREF(R.KC2 C2.KC2, R.KC1 C2.KC1) KEYREF(C2.KC1 C1.KC1) CHECK(R.KC1 C1.KC1) C1(KC1, R?) KEY(C1.KC1), KEY(C2.KC2, C2.KC1) CHECK(C2.KC1 C1.KC1) C1(KC1, R) R(KC2, KC1) KEY(C1.KC1), KEY(C2.KC2, C2.KC1),KEY(R.KC2,R.KCC1) KEYREF(R.KC2 C2.KC2, R.KC1 C2.KC1) KEYREF(C2.KC2 R.KC2, C2.KC1 R.KC1) KEYREF(C2.KC1 C1.KC1) CHECK(R.KC1 C1.KC1) C1(KC1,R) KEY(C1.KC1), KEY(C2.KC2, C2.KC1) CHECK(C2.KC1 C1.KC1) C1(KC1, R*) R(KC2, KC1) KEY(C1.KC1), KEY(C2.KC2, C2.KC1),KEY(R.KC2,R.KC1) KEYREF(R.KC2 C2.KC2, R.KC1 C2.KC1) KEYREF(C2.KC2 R.KC2, C2.KC1 R.KC1) KEYREF(C2.KC1 C1.KC1) CHECK(R.KC1 C1.KC1) 8

C1(KC1, R*) KEY(C1.KC1), KEY(C2.KC2, C2.KC1) CHECK(C2.KC1 C1.KC1) C1(KC1, R+) R(KC2, KC1) KEY(C1.KC1), KEY(C2.KC2, C2.KC1),KEY(R.KC2,R.KC1) KEYREF(R.KC2 C2.KC2, R.KC1 C2.KC1) (1..1) (1..*) C1 R C2 KEYREF(C2.KC2 R.KC2, C2.KC1 R.KC1) KEYREF(C2.KC1 C1.KC1) CHECK(R.KC1 C1.KC1) C1(KC1, R+) KEY(C2.KC2), KEY(C2.KC2, C2.KC1) CHECK(C2.KC1 C1.KC1) 3.6. Chuyển đổi mối quan hệ chuyên biệt hóa / tổng quát hóa Tổng quát hoá và chuyên biệt hoá là hai cách nhìn dưới/lên và trên/xuống về sự phân cấp các lớp, mô tả khả năng quản lý cấp độ phức tạp của hệ thống bằng cách trừu tượng hoá các lớp. Tổng quát hoá là đi từ các lớp dưới lên sau đó hình thành lớp tổng quát (lớp trên, lớp cha), tức là cây cấu trúc các lớp từ lá đến gốc. Chuyên biệt hoá là quá trình ngược lại của tổng quát hoá, nó cho phép tạo ra các lớp dưới (lớp con) khác nhau của lớp cha. Trong UML, tổng quát hoá chính là quan hệ kế thừa giữa hai lớp. Nó cho phép lớp con (lớp dưới, lớp kế thừa, hay lớp dẫn xuất) kế thừa trực tiếp các thuộc tính và các hàm thuộc loại công khai, hay được bảo vệ của lớp cha (lớp cơ sở, lớp trên). Hình 8. Quan hệ tổng quát hóa 9

Hoàng Quang, Phạm Minh Khoa, Võ Hoàng Liên Minh Ở lược đồ XML, việc thể hiện thứ bậc ở cây phân cấp biểu diễn tốt quan hệ tổng quát hóa. Lớp cha được biểu diễn ở nút gốc của cây phân cấp. Các lớp con được biểu diễn ở nút lá của cây phân cấp. Xét biểu đồ lớp UML với lớp cha C có quan hệ tổng quát với các lớp con Ci. Lớp cha C có các thuộc tính attc, lớp con Ci có các thuộc tính attci. Các lớp C, Ci được chuyển đổi thành các phần tử C, Ci tương ứng trong XML, và phần tử Ci là con của phần tử C. Các thuộc tính attc được chuyển thành phần tử con của phần tử C. Thuộc tính con attci được ánh xạ thành phần tử con của phần tử Ci có cùng kiểu với phần tử C. C(KC, attc, Ci) Ci(attCi) KEY(C.KC), KEY(Ci.KCi) 4. Kết luận Trong bài báo này, chúng tôi đã đề xuất một phương pháp chuyển đổi trực tiếp từ biểu đồ lớp UML sang lược đồ XML. Tuy nhiên, trong các quy tắc chuyển đổi, quy tắc chuyển đổi quan hệ đệ quy (quan hệ phản xạ) trên biểu đồ lớp UML chưa được đề cập đến. Thách thức này đang được chúng tôi quan tâm như một nghiên cứu tiếp theo nhằm hoàn thiện bộ quy tắc chuyển đổi một cách đầy đủ. 5. Tài liệu tham khảo [1] Hoàng Quang, Võ Hoàng Liên Minh, Võ Văn Hải, Thiết kế các lược đồ XML ở mức khái niệm, Tạp chí Khoa học, Đại học Huế, pp. 137-150, 2014. [2] Embley, D. and Mok, W.Y., Developing XML Documents with guaranteed "good" properties, in Preceedings of the 20th International Conference on Conceptual Modeling, 2001. [3] S. Kolahi, Dependency-preserving normalization of relational and XML data, Journal of Computer and system Sciences, 2007. [4] T. Ling, A normal form for entity-relationship diagram, in Proceeding 4th International Conference on Entity Relationship Approach, 1985. [5] Lv, T., Gu, N., Yan, P., Normal forms for XML documents, in Information and Software Technology, 2005. [6] Yu, C. and Jagadish, J.H., XML schema refinement through redundancy detection and normalization, in The VLDB Journal, 2008. 10

[7] Hoang, Q., Vo, H.L.M. and Vo, V.H., Mapping of Nested Multi-Valued Composite Attributes: An Addition to Conceptual Design for Xml Schemas, in Asian Conference on Information Systems 2014, Nha Trang, Viet Nam, 2014. [8] Hoàng Quang, Nguyễn Văn Toán, Võ Hoàng Liên Minh, Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER, in Hội thảo Quốc gia lần thứ IX về nghiên cứu cơ bản và ứng dụng Công nghệ thông tin, Cần Thơ, Vietnam, 2016. [9] Y. Ou, On Mapping between UML and Entity Relationship Model, in Fakulat fur Mathematik und Iniomatik Universitak Konstanz, Germany, 1998. [10] Massimo Franceschet, Donatella Gubiani, Angelo Montanari and Carla Piazza, A Graph-Theoretic Approach to Map Conceptual Designs to XML Schemas, ACM Transactions on Database Systems, Vol. 38, No. 1, Article 6, 2013. 11