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
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
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
đơ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:
- thiet_ke_luoc_do_lop_uml_co_yeu_to_thoi_gian_tu_mo_hinh_time.pdf