Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER

TÓM TẮT— Lược đồ 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, ). Tuy nhiên, việc sử dụng các lược đồ lớp UML để thiết kế các cơ sở dữ liệu có yếu tố thời gian thì không thực sự dễ dàng. Trong khi đó, mô hình TimeER cũng là mô hình dữ liệu mức khái niệm, nhưng lại “gần gũi” với các thế giới thực có nhu cầu hỗ trợ yếu tố thời gian. Nó còn được xem là phản ánh đầy đủ các khía cạnh thời gian so với các mô hình thực thể - Mối quan hệ (mô hình ER) có yếu tố thời gian khác. Trong bài báo này, chúng tôi đề xuất một phương pháp thiết kế lược đồ lớp UML từ một mô hình TimeER cho trước trên cơ sở kế thừa các phương pháp chuyển đổi mô hình ER truyền thống sang lược đồ lớp UML trước đây; đồng thời bổ sung thêm các quy tắc chuyển đổi các thành phần có yếu tố thời gian trên mô hình TimeER sang lược đồ lớp UML

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 1

Trang 1

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 2

Trang 2

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 3

Trang 3

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 4

Trang 4

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 5

Trang 5

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 6

Trang 6

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 7

Trang 7

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER trang 8

Trang 8

pdf 8 trang xuanhieu 5840
Bạn đang xem tài liệu "Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER

Thiết kế lược đồ lớp UML có yếu tố thời gian từ mô hình TimeER
đơn trị là {A1, A2, , An} và tập thuộc tính đơn-đa 
trị là {B1, B2, , Bn} thì tập thực thể E được ánh xạ thành lớp đối tượng C(E), các thuộc tính {A1, A2, , An} của tập 
thực thể E được chuyển thành các thuộc tính {A1, A2, , An} của lớp đối tượng C(E) và các thuộc tính {B1, B2, , Bn} 
của tập thực thể E được chuyển thành các thuộc tính danh sách {B1, B2, , Bn} của lớp đối tượng C(E). 
Hoàng Quang, Nguyễn Văn Toán, Võ Hoàng Liên Minh 715 
 Hình 3 minh họa cho Quy tắc EER01. 
 EFirstName ELastName EFirstName ELastName
 EName 
 => Employee
 Employee
 Hình 2. Biểu diễn thuộc tính phức và đơn trị bằng các thuộc tính đơn và đơn trị 
 EFirstName ELastName
 C(EMPLOYEE) 
 - EmpID: string 
 EName - EFirstName: string 
 EmpID Hopies => - ELastName: string 
 - Hopies (string) 
 EMPLOYEE 
 Hình 3. Chuyển đổi tập thực thể 
2. Chuyển đổi mối quan hệ kế thừa 
 Quy tắc EER02: Nếu tập thực thể Ei kế thừa tập thực thể E thì bổ sung mối quan hệ kế thừa với lớp con là 
C(Ei) và lớp cha là C(E). 
 Hình 4 minh họa cho Quy tắc EER02. 
 EMPLOYEE C(EMPLOYEE) 
 => 
 ENGINEER C(ENGINEER) 
 Hình 4. Chuyển đổi mối quan hệ kế thừa 
3. Chuyển đổi hợp nhất 
 Quy tắc EER03: Nếu tập thực thể Ei tham gia tạo nên tập thực thể hợp nhất E thì bổ sung mối quan hệ kế thừa 
với lớp con là C(Ei) và lớp cha là C(E). 
 Hình 5 Minh họa cho Quy tắc EER03. 
 VEHICLE C(VEHICLE) 
 U => 
 CAR TRUCK C(CAR) C(TRUCK) 
 Hình 5. Chuyển đổi hợp nhất 
B. Chuyển đổi tập thực thể yếu 
 Quy tắc EER04: Nếu tập thực thể chủ E có mối quan hệ định danh R với tập thực thể yếu W thì tập thực thể 
yếu W được ánh xạ thành lớp C(W) và các thuộc tính của W được ánh xạ thành các thuộc tính của C(W) như Quy tắc 
EER01, mối quan hệ R được ánh xạ thành quan hệ kết tập giữa hai lớp C(E), C(W) mà lớp C(W) là lớp bộ phận của lớp 
C(E) và ràng buộc bản số được ánh xạ có hoán đổi cho nhau và được quy định như Bảng 1. 
 Hình 6 minh họa cho Quy tắc EER04. 
716 THIẾT KẾ LƯỢC ĐỒ LỚP UML CÓ YẾU TỐ THỜI GIAN TỪ MÔ HÌNH TimeER 
 EMPLOYEE
 C(EMPLOYEE) 
 (0, N)
 1 
 Dep_of
 => 0..* 
 (1, 1)
 C(DEPENDENT) 
 DEPENDENT
 - Name: string 
 - Relationship: string 
 Name Relationship
 Hình 6. Chuyển đổi tập thực thể yếu 
 Bảng 1. Quy định chuyển đối bản số trên mô hình TimeER thành bản số lược đồ UML 
 Mô hình TimeER Lược đồ UML 
 (0, 1) 0..1 
 (0, N) 0..* hoặc * 
 (1, 1) 1..1 hoặc 1 
 (1, N) 1..* 
C. Chuyển đổi mối quan hệ 
1. Chuyển đổi mối quan hệ nhị nguyên 
 Quy tắc EER05: Nếu tập thực thể E1 có mối quan hệ nhị nguyên R với tập thực thể E2 thì mối quan hệ R được 
ánh xạ thành quan hệ kết hợp R giữa hai lớp C(E1) và C(E2) với ràng buộc bảng số được hoán đổi cho nhau và được 
quy định như Bảng 1. Nếu mối quan hệ R có các thuộc tính đơn và đơn trị {A1, A2, , An} thì bổ sung lớp kết hợp C(R) 
cho quan hệ kết hợp R chứa các thuộc tính {A1, A2, , An}. 
 Hình 7 minh họa cho Quy tắc EER05. 
 EMPLOYEE 
 (1, n) C(EMPLOYEE) C(PROJECT) 
 Hours 1..* 1..* 
 Works_for => 
 (1, n) 
 C(Work_for) 
 PROJECT 
 - Hours: int 
 Hình 7. Chuyển đổi mối quan hệ nhị nguyên 
 Lưu ý: Trong trường hợp R là mối quan hệ phản xạ thì thêm các tên vai trò cho mối quan hệ kết hợp C(R). 
2. Chuyển đổi mối quan hệ đa nguyên 
 Quy tắc EER06: Nếu R là mối quan hệ đa nguyên giữa các tập thực thể E1, E2, , Ek (k>2) thì mối quan hệ R 
được ánh xạ thành lớp đối tượng C(R) lần lượt có quan hệ kết tập với các lớp C(E1), C(E2), , C(Ek) mà C(R) là lớp bộ 
phận có bản số theo bản số của tập thực thể tương ứng tham gia vào mối quan hệ được quy định như Bảng 1 còn các 
lớp C(E1), C(E2), , C(Ek) là lớp tổng thể có bản số là 1. Nếu mối quan hệ R có chứa các thuộc tính đơn và đơn trị {A1, 
A2, , An} thì các thuộc tính này được ánh xạ thành các thuộc tính {A1, A2, , An} của lớp C(R). 
 IV. CHUYỂN ĐỔI MÔ HÌNH TimeER SANG LƯỢC ĐỒ UML 
 Phương pháp chuyển đổi mô hình TimeER sang lược đồ UML được chúng tôi đề xuất được thực hiện theo hai 
bước: 
 - Bước 1: Thực hiện việc chuyển đổi các thành phần không có yếu tố thời gian trên mô hình TimeER sang lược 
đồ UML dựa vào các quy tắc đã được trình bày trong Phần III. 
 - Bước 2: Thực hiện việc chuyển đổi các thành phần có yếu tố thời gian trên mô hình TimeER sang lược đồ 
UML dựa vào các quy tắc chuyển đổi các thành phần có yếu tố thời gian bao gồm: tập thực thể có yếu tố thời gian, 
thuộc tính có yếu tố thời gian của một tập thực thể, mối quan hệ có yếu tố thời gian và thuộc tính có yếu tố thời gian 
của một mối quan hệ. Cơ sở lý luận cho việc đề xuất các quy tắc chuyển đổi này là dựa vào hai kết quả nghiên cứu: 
Hoàng Quang, Nguyễn Văn Toán, Võ Hoàng Liên Minh 717 
 Biểu diễn các thành phần có yếu tố thời gian trên mô hình TimeER bởi các thành phần của mô hình ER 
 truyền thống [8]. 
 Phương pháp chuyển đổi mô hình ER sang lược đồ UML (nội dung Phần III) từ các nghiên cứu đã đề 
 xuất. 
A. Chuyển đổi yếu tố thời gian của tập thực thể 
 Quy tắc TimeER01: Nếu tập thực thể E có yếu tố thời gian XX thì yếu tố thời gian XX được ánh xạ thành lớp 
đối tượng C(E_XX) có các thuộc tính thời gian theo XX như Bảng 2 và có quan hệ kết tập với lớp C(E) mà C(E) là lớp 
tổng thể có bản số là 1 còn C(E_XX) là lớp bộ phận có bản số là 1..*. 
 Chứng minh: 
 Để đơn giản, ta chỉ xét trường hợp XX = LS (tức: E có hỗ trợ thời gian sống), còn các trường hợp khác được 
chứng minh tương tự. 
 Theo [8], liên quan đến việc chuyển đổi tập thực thể có yếu tố thời gian của mô hình TimeER sang mô hình ER, 
ta chuyển tập thực thể E có tập thuộc tính U thành tập thực thể phi thời gian E có tập thuộc tính phi thời gian U. Đồng 
thời, tạo tập thực thể yếu E_XX có mối quan hệ định danh S với tập thực thể chủ E để biểu diễn việc hỗ trợ yếu tố thời 
gian XX cho mỗi thực thể của E. Trong đó, tập thực thể E_XX có tập thuộc tính như Bảng 2. (1) 
 Theo Quy tắc EER04, tập thực thể E được chuyển thành lớp C(E), tập thực thể yếu E_XX được chuyển thành 
lớp C(E_XX) và mối quan hệ định danh được chuyển thành quan hệ kết tập giữa lớp C(E) và lớp C(E_XX) mà lớp 
C(E_XX) là lớp bộ phận của lớp C(E) và ràng buộc bản số được ánh xạ có hoán đổi cho nhau và được quy định như 
Bảng 1. (2) 
 Từ (1) và (2), suy ra điều phải chứng minh. 
 Hình 8 minh họa cho Quy tắc TimeER01. 
 C(EMPLOYEE) C(EMPLOYEE _LS) 
 1 1..* 
 EMPLOYEE LS => - LSs: datetime 
 - LSe: datetime 
 Hình 8. Chuyển đổi yếu tố thời gian của tập thực thể 
 Bảng 2. Các tập thuộc tính thời gian 
 Yếu tố thời gian Tập thuộc tính thời gian 
 LS LSs, LSe 
 VT VTs, VTe 
 TT TTs, TTe 
 LT LSs, LSe, TTs, TTe 
 BT VTs, VTe, TTs, TTe 
B. Chuyển đổi thuộc tính có yếu tố thời gian của tập thực thể 
 Quy tắc TimeER02: Nếu thuộc tính A của tập thực thể E có yếu tố thời gian XX thì thuộc tính A được ánh xạ 
thành lớp đối tượng C(E_A) có các thuộc tính thời gian theo XX như Bảng 2 và ánh xạ thuộc tính A thành thuộc tính 
của A(E_A) theo Quy tắc EER01 và C(E_A) có quan hệ kết tập với C(E) mà C(E) là lớp tổng thể có bản số là 1 còn 
C(E_A) là lớp bộ phận có bản số là 1..*. 
 Chứng minh: 
 Để đơn giản, ta chỉ xét trường hợp XX = VT (tức: A có hỗ trợ thời gian hợp lệ), còn các trường hợp khác được 
chứng minh tương tự. 
 Theo [8], thuộc tính A của tập thực thể E có hỗ trợ yếu tố thời gian XX thì chuyển thuộc tính A thành tập thực 
thể yếu phi thời gian E_A có mối quan hệ định danh với tập thực thể chủ E gồm thuộc tính A và các thuộc tính thời 
gian như Bảng 2. (1) 
 Theo Quy tắc EER04, tập thực thể E được chuyển thành lớp C(E), tập thực thể yếu E_XX được chuyển thành 
lớp C(E_XX) và mối quan hệ định danh được chuyển thành quan hệ kết tập giữa lớp C(E) và lớp C(E_XX) mà lớp 
C(E_XX) là lớp bộ phận của lớp C(E) và ràng buộc bản số được ánh xạ có hoán đổi cho nhau và được quy định như 
Bảng 1. (2) 
 Từ (1) và (2), suy ra điều phải chứng minh. 
 Hình 9 minh họa cho Quy tắc TimeER02. 
718 THIẾT KẾ LƯỢC ĐỒ LỚP UML CÓ YẾU TỐ THỜI GIAN TỪ MÔ HÌNH TimeER 
 C(EMPLOYEE) C(EMPLOYEE_Salary) 
 Salary BT 1 1..* 
 - Profit: int 
 - VTs: datetime 
 => 
 - VTe: datetime 
 EMPLOYEE - TTs: datetime 
 - TTe: datetime 
 Hình 9. Chuyển đổi thuộc tính có yếu tố thời gian của tập thực thể 
C. Chuyển đổi yếu tố thời gian của mối quan hệ 
 Quy tắc TimeER03: Nếu mối quan hệ R có yếu tố thời gian XX thì yếu tố thời gian XX được ánh xạ thành lớp 
đối tượng C(R_XX) có quan hệ kết tập với C(R) mà C(R) là lớp tổng thể có bản số là 1 còn C(R_XX) là lớp bộ phận có 
bản số là 1..*. 
 Chứng minh: 
 Theo [8], mối quan hệ R có hỗ trợ yếu tố thời gian XX có thể được xem như tập thực thể R có hỗ trợ yếu tố thời 
gian XX nên cách chuyển đổi mối quan hệ R có hỗ trợ yếu tố thời gian XX giống như cách chuyển đổi tập thực thể R có 
hỗ trợ yếu tố thời gian XX như ở Quy tắc TimeER01. Điều phải chứng minh. 
 Hình 10 minh họa cho Quy tắc TimeER03. 
 C(Work_for) C(Work_for_VT) 
 1 1..* 
 Works_for 
 => - VTs: datetime 
 VT - VTe: datetime 
 Hình 10. Chuyển đối yếu tố thời gian của mối quan hệ 
D. Chuyển đổi thuộc tính có yếu tố thời gian của mối quan hệ 
 Quy tắc TimeER04: Nếu thuộc tính A của mối quan hệ R có yếu tố thời gian XX thì thuộc tính A được ánh xạ 
lớp đối tượng C(A_XX) có các thuộc tính thời gian theo XX như Bảng 2 và ánh xạ thuộc tính A thành thuộc tính của 
C(A_XX) theo Quy tắc EER01 và C(A_XX) có quan hệ kết tập với C(R) mà C(R) là lớp tổng thể có bản số là 1 còn 
C(A_XX) là lớp bộ phận có bản số là 1..*. 
 Chứng minh: 
 Theo [8], mối quan hệ R có thể được xem như tập thực thể R nên cách chuyển đổi thuộc tính có yếu tố thời gian 
của mối quan hệ R giống như cách chuyển đổi thuộc tính có yếu tố thời gian tập thực thể R như ở Quy tắc TimeER02. 
Điều phải chứng minh. 
 Hình 11 minh họa cho Quy tắc TimeER04. 
 C(Work_for) C(Income_BT) 
 Income BT 1 1..* 
 - Income: int 
 - VTs: datetime 
 => - VTe: datetime 
 - TTs: datetime 
 Works_for - TTe: datetime 
 Hình 11. Chuyển đổi thuộc tính có yếu tố thời gian của mối quan hệ 
 Áp dụng các quy tắc chuyển đổi cho ví dụ ở Hình 11 ta có kết quả lược đồ lớp UML như ở Hình 12. 
Hoàng Quang, Nguyễn Văn Toán, Võ Hoàng Liên Minh 719 
 C(Employee_Salary) C(Department) 
 - Salary: int 1 - Number: int 1 1..* 
 - VTs: datatime - DepName: string 
 1..* C(Department_TT) 
 - VTe: datatime 1 
 - TTs: datatime - TTs: datatime 
 - TTe: datatime - TTe: datatime 
 1 1..* 
 1..* 
 1 C(Employee) C(Project) 
 C(Employee_LT) 1..* 1..* 1 
 - EmpID: int - ProID: int 
 - LSs: datatime - EmpName: string - Budget: int 
 - LSe: datatime 1 - Birth_day: date 
 - TTs: datatime 1..* C(Work_for_VT) 
 - TTe: datatime - VTs: datatime 
 0..* 1 
 - VTe: datatime 
 C(Dependent) C(Work_for) 
 - DepName: string - Hours_week: int 
 - Relationship: string 
 Hình 12. Ví dụ chuyển đổi tổng quát 
 V. KẾT LUẬN 
 Bài báo đã đề xuất một phương pháp chuyển đổi mô hình TimeER sang lược đồ lớp UML. Phương pháp này 
liên quan đến phương pháp chuyển đổi mô hình ER và EER sang lược đồ lớp UML đã được bàn đến trong các nghiên 
cứu trước đây. Đồng thời chúng tôi bổ sung các quy tắc chuyển đổi cho các thành phần có liên quan đến yếu tố thời 
gian trên mô hình TimeER sang lược đồ lớp UML. 
 Kết quả nghiên cứu này là cơ sở cho việc thiết kế các mô hình dữ liệu hướng đối tượng có yếu tố thời gian từ 
mô hình TimeER. Bởi vì về mặt bản chất, nếu xem một phương pháp chuyển đổi từ một mô hình dữ liệu này sang một 
mô hình dữ liệu khác 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ừ các mô 
hình TimeER sang các mô hình dữ liệu hướng đối tượng có yếu tố thời gian có thể được xem là việc xác định tích của 
hai ánh xạ f1 và f2. Trong đó, ánh xạ f1 là ánh xạ chuyển đổi từ mô hình TimeER sang lược đồ UML mà [8] đã đề xuất 
và ánh xạ f2 là ánh xạ chuyển đổi từ lược đồ UML sang mô hình cơ sở dữ liệu hướng đối tượng (kết quả của các nghiên 
cứu trước đây [1] [2] [10]). Theo đó việc xây dựng một phương pháp chuyển đổi từ mô hình TimeER sang mô hình đối 
tượng ODMG đang là một trong những vấn đề mà chúng tôi quan tâm trong những nghiên cứu tiếp theo. 
 TÀI LIỆU THAM KHẢO 
[1] A. De Lucia, C. Gravino, R. Oliveto and G. Tortora, “An experimental comparison of ER and UML class diagrams for data 
 modeling”, Empirical Software Engineering, Vol. 15, No. 5, pp. 455-492, 2010. 
[2] B.M. Byrne, Y. Shahzad Qureshi, “UML class diagram or entity relationship diagram? An object-relational conceptual 
 impedance mismatch”, Proceedings of the International Conference of Education, Research and Innovation, Seville, Spain, pp. 
 3594-3604, 2013. 
[3] Chen, P.P., “The Entity-Relationship Model: Toward a Unified View of Data”, ACM-TODS, 1(1), pp.9-36, 1976. 
[4] Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database Systems (7th edition), Addison-Wesley Publishers, 2015. 
[5] Gregersen, H. and Jensen, C.S., “Conceptual Modeling of Time-Varying Information”. Proceedings of the International 
 Conference on Computing, Communications and Control Technologies, pp. 248-255, 2004. 
[6] Nguyễn Văn Toán, Võ Hoàng Liên Minh, Hoàng Quang, “Một phương pháp chuyển đổi mô hình TimeER sang OWL 
 ontology”, Tạp chí Khoa học, Đại học Huế, Tập 106, Số 7, Tr. 179-196, 2015. 
[7] Object Management Group, Unified Modeling Language: Infrastructure, Version 2.0, 2006, 
 ( 
[8] Q. Hoang and P. Thuong, “Expressing a Temporal Entity-Relationship Model as a Traditional Entity-Relationship Model”, 7th 
 International Conference, ICCCI 2015, Madrid, Spain, pp. 483-491, 2015. 
[9] Toan Van Nguyen, Hoang Lien Minh Vo, Quang Hoang and Hanh Huu Hoang, “A New Method for Transforming TimeER 
 Model-Based Specification into OWL Ontology”, Recent Developments in Intelligent Information and Database Systems 
 (Studies in Computational Intelligence series), Vol. 642, pp. 111-121, 2016. 
[10] Yongzhen Ou, "On Mapping Between UML and Entity-Relationship Model", The Unified Modeling Language, Technical 
 Aspects and Applications, pp.45-57, 1998. 
720 THIẾT KẾ LƯỢC ĐỒ LỚP UML CÓ YẾU TỐ THỜI GIAN TỪ MÔ HÌNH TimeER 
 DESIGNING TEMPORAL UML DIAGRAM FROM TimeER MODEL 
 Hoang Quang, Nguyen Van Toan, Vo Hoang Lien Minh 
ABSTRACT — UML diagram is now widely used for the design of management information systems as a conceptual data model, 
thanks to the ability to describe the real world and the strong support from the developers (Rational Rose, Enterprise Architect , ...). 
However, the use of UML diagrams to design the temporal database is not really easy. Meanwhile, the TimeER model is the 
conceptual data model that is "close" to the temporal real world. It is also seen as fully reflecting the aspect of time compared to 
other temporal entity-relationship (ER) models. In this paper, we propose a method to the design of an UML diagram from a given 
TimeER model. It is based on the improvement of the transformation methods from ER model to UML class model and adding the 
transforming rules for the temporal components of the TimeER model. 

File đính kèm:

  • pdfthiet_ke_luoc_do_lop_uml_co_yeu_to_thoi_gian_tu_mo_hinh_time.pdf