Chuyển đổi mô hình UML sang mô hình thực thể - Mối quan hệ

Các bước chuyển đổi Quá trình chuyển đổi từ biểu đồ lớp sang mô hình thực thể - mối quan hệ được tiến hành thông qua các bước sau: 1. Với mỗi lớp trong biểu đồ lớp, ta tạo ra một kiểu thực thể tương ứng. Tên của kiểu thực thể được lấy trực tiếp từ tên lớp. Các thuộc tính của lớp gốc được chuyển thành các thuộc tính của kiểu (tập) thực thể. Bổ sung thuộc tính định danh vào kiểu thực thể đóng vai trò là thuộc tính khóa. 2. Với mỗi quan hệ kế thừa, tạo quan hệ is-a giữa 2 kiểu thực thể tương ứng với lớp cha và lớp con. 3. Với mỗi quan hệ hiện thực, tạo quan hệ is-a giữa 2 kiểu thực thể tương ứng với lớp tham số và lớp hiện thực. 4. Với mỗi quan hệ kết tập (aggregation), tạo quan hệ “một - nhiều” giữa 2 kiểu thực thể tương ứng với 2 lớp tham gia liên kết. 5. Với mỗi quan hệ kết hợp, tạo quan hệ tương ứng giữa các kiểu thực thể biểu diễn các lớp tham gia liên kết. Nếu liên kết sở hữu lớp kết hợp ta bổ sung các thuộc tính cho quan hệ.

doc9 trang | Chia sẻ: hachi492 | Ngày: 25/01/2022 | Lượt xem: 142 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Chuyển đổi mô hình UML sang mô hình thực thể - Mối quan hệ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TẠP CHÍ KHOA HỌC, Đại học Huế, Số 17, 2003 CHUYỂN ĐỔI MÔ HÌNH UML SANG MÔ HÌNH THỰC THỂ - MỐI QUAN HỆ Võ Đăng Huân, Trần Việt Khoa Trường Đại học Khoa học, Đại học Huế 1. MỞ ĐẦU Phân tích và thiết kế hệ thống đóng vai trò rất quan trọng trong quá trình sản xuất phần mềm. Rất nhiều phương pháp phân tích và thiết kế được đề xuất, với mỗi phương pháp đều có một cách tiếp cận khác nhau đối với bài toán cần giải quyết. Trong những năm gần đây ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language-UML) được xem là một mô hình chuẩn trong việc phân tích, thiết kế hệ thống thông tin dưới cách nhìn hướng đối tượng. Tuy có nhiều thuận lợi trong việc phân tích và thiết kế hệ thống nhưng trong cơ chế duy trì các đối tượng thì lại gặp khó khăn bởi các hệ quản trị CSDL đối tượng chưa được thông dụng và hoàn thiện, trong khi đó công nghệ CSDL quan hệ đã được kiểm nghiệm, có nhiều công cụ hỗ trợ phát triển và quản trị các ứng dụng CSDL quan hệ lớn. Do đó, việc chuyển đổi từ mô hình UML sang mô hình quan hệ là cần thiết. Mô hình thực thể - mối quan hệ (entity - relationship) được sử dụng rộng rãi trong lĩnh vực thiết kế cơ sở dữ liệu và các lĩnh vực liên quan. Các khái niệm có cấu trúc trong sáng và đơn giản của nó cho phép người sử dụng có thể mô hình hóa thế giới thực một cách dễ dàng. Nó được xem là công cụ tốt nhất để biểu diễn mô hình quan hệ một cách trực quan. Xuất phát từ mô hình này, ta có thể xây dựng được mô hình cơ sở dữ liệu quan hệ tương ứng. Vì vậy, trong bài báo này chúng tôi đề xuất phương pháp chuyển đổi biểu đồ lớp (class diagram) - thành phần cốt lõi của mô hình UML - sang mô hình thực thể - mối quan hệ. 2. PHƯƠNG PHÁP CHUYỂN ĐỔI Biểu đồ lớp là thành phần cốt lõi của mô hình UML, được sử dụng để mô tả các lớp (class), các giao diện (interface), sự cộng tác và các mối quan hệ giữa các thành phần trong mô hình UML. Nó thể hiện dưới dạng đồ thị cấu trúc tĩnh của mô hình UML. Hai thành phần chính của biểu đồ lớp là các lớp và các mối quan hệ. 2.1. Chuyển đổi lớp Theo ngữ nghĩa của UML, một lớp mô tả một tập các đối tượng có cùng cấu trúc, hành vi và các quan hệ. Một đối tượng là một thể hiện của lớp. Vì vậy trong trường hợp chúng ta chưa xem xét đến các mối quan hệ của lớp đối với các lớp khác, một lớp sẽ được chuyển đối thành kiểu thực thể. Các thuộc tính đơn giản (simple attribute) của lớp được chuyển đổi thành thuộc tính của kiểu thực thể (trong bài báo này chúng tôi chưa xét đến việc chuyển đổi các thao tác của lớp). Trong UML, mỗi thể hiện của một lớp được phân biệt bởi định danh đối tượng (object identifier). Trong mô hình thực thể - mối quan hệ, mỗi thực thể phân biệt với các thực thể khác bằng giá trị của thuộc tính khóa. Do vậy, ta bổ sung vào kiểu thực thể một thuộc tính định danh (Identity) đóng vai trò là thuộc tính khóa của kiểu thực thể. Nhanvien ten ngaysinh tuoi() thamnien() Nhanvien Ten Ngaysinh Hình 1: Chuyển đổi một lớp thành một kiểu thực thể ID_nhanvien Đối với các thuộc tính phức được biểu diễn trong biểu đồ lớp thông qua quan hệ kết hợp (association) và quan hệ kết tập (aggregation) việc chuyển đổi chúng sẽ được xem xét ở phần tiếp theo. 2.2. Chuyển đổi các quan hệ Quan hệ là kết nối ngữ nghĩa giữa các lớp, nó cho phép một lớp biết về các thuộc tính, thao tác và quan hệ của các lớp khác. Các quan hệ được thể hiện trên biểu đồ lớp. Giữa các lớp có các kiểu quan hệ chính sau: kết hợp (association), kết tập (aggreation), tổng quát hóa (genaralization) và hiện thực (instantiation). Sau đây ta xem xét các kiểu quan hệ ở biểu đồ lớp và phương pháp chuyển đổi chúng sang mô hình thực thể - mối quan hệ. 2.2.1. Chuyển đổi quan hệ kết hợp(association) a) Chuyển đổi các quan hệ kết hợp trong trường hợp tổng quát: Quan hệ kết hợp là mối quan hệ cấu trúc chỉ ra các đối tượng của một lớp có liên quan đến các đối tượng của lớp khác. Khi có quan hệ kết hợp mỗi lớp có thể gởi thông điệp đến lớp khác trong biểu đồ tương tác. Quan kết hợp có thể một chiều hay hai chiều. Một quan hệ kết hợp hai chiều đòi hỏi các đối tượng phụ thuộc lẫn nhau, trong khi quan hệ quan hệ một chiều đòi hỏi sự phụ thuộc một chiều. Cả quan hệ kết hợp một và hai chiều đều được chuyển đổi thành các quan hệ trong mô hình thực thể - mối quan hệ. Cơ số (multiplicity) của quan hệ kết hợp có thể là “một - một”, “một - nhiều” hay “nhiều - nhiều” Tuỳ thuộc vào cơ số của quan hệ kết hợp mà quan hệ tương ứng ở mô hình thực thể - mối quan hệ có thể là “một - một”, “một - nhiều” hay “nhiều - nhiều”. Mô hình thực thể - mối quan hệ cũng hỗ trợ các mối quan hệ đa nguyên (n-ary) nên mối quan hệ kết hợp đa nguyên trong biểu đồ lớp được chuyển thành quan hệ đa nguyên trong mô hình thực thể - mối quan hệ. Sinhvien Khoa * 1 Sinhvien ID_sinhvien hoctai Khoa ID_khoa (1,1) (1,n) Hình 2: Chuyển quan hệ kết hợp “một - nhiều” sang mô hình thực thể - mối quan hệ b) Chuyển đổi các quan hệ kết hợp có lớp kết hợp: Lớp kết hợp (association class) là lớp được gắn vào một quan hệ nhằm bổ sung thông tin cho quan hệ đó. Lớp kết hợp không liên quan đến bất kỳ đầu cuối nào của quan hệ mà chỉ liên quan đến bản thân của quan hệ đó. Một lớp kết hợp cũng có các thuộc tính và các thao tác như các lớp thông thường khác. Quan hệ kết hợp có lớp kết hợp được chuyển đổi thành một quan hệ có các thuộc tính (là các thuộc tính của lớp kết hợp) trong mô hình thực thể - mối quan hệ. Trong ví dụ ở hình 2, một người có thể làm việc ở nhiều công ty và một công ty có nhiều nhân viên. Lớp kết hợp Congviec chỉ ra rằng một công ty và một người sẽ xác định công việc mà người đó làm trong công ty. Lớp này có thuộc tính luong. Do đó, khi chuyển đổi thành quan hệ Congviec trong mô hình thực thể- mối quan hệ quan hệ này cũng có thuộc tính là luong. Hình 3: Chuyển quan hệ kết hợp có lớp kết hợp sang mô hình thực thể - mối quan hệ Congty thue Nguoi congtac * * Congviec luong Congty ID_Congty Cong viec (1,n) thue luong Nguoi ID_Nguoi (1,n) congtac c) Chuyển đổi quan hệ kết tập (Aggregation) Kết tập là một dạng đặc biệt của quan hệ kết hợp. Nó chỉ ra mối quan hệ “toàn thể (whole) và bộ phận (part)” giữa các lớp. Trong đó một lớp biểu diễn cái lớn hơn (tổng thể) còn lớp kia biểu diễn cái nhỏ hơn (bộ phận). Kết tập biểu diễn quan hệ “has-a”, có nghĩa rằng một đối tượng của lớp tổng thể có nhiều đối tượng của lớp thành phần. Có hai loại quan hệ kết tập. Nếu toàn thể và bộ phận được hình thành và hủy bỏ vào thời điểm khác nhau ta có quan hệ kết tập tham chiếu. Nếu toàn thể và bộ phận được hình thành và hủy bỏ vào cùng thời điểm ta có quan hệ kết tập hợp thành. Kết tập chỉ rõ sự tồn tại của các bộ phận là phụ thuộc vào toàn thể. Nó được chuyển đổi sang mô hình thực thể - mối quan hệ dưới dạng quan hệ “một - nhiều”. Ví dụ ở hình 4 chỉ ra mối quan hệ kết tập giữa hai lớp Nha và Tuong. Một ngôi nhà được cấu tạo nên bởi nhiều bức tường. Mối quan hệ kết tập này đã được chuyển sang mối quan “một - nhiều” tương ứng ở mô hình thực thể - mối quan hệ. * Hình 4: Chuyển quan hệ kết tập sang mô hình thực thể - mối quan hệ Nha Tuong 1 Nha ID_Dagiac duoctaoboi (1,n) Tuong ID_Diem (1,1) duoctaoboi 2.2.2 . Chuyển đổi quan hệ tổng quát hóa (generalization) Trong UML tổng quát hóa là quan hệ kế thừa giữa hai lớp. Nó cho phép một lớp con kế thừa các thuộc tính và thao tác của lớp cha. Mô hình thực thể - mối quan hệ nguyên th không trực tiếp hỗ trợ các khái niệm kế thừa. Quan hệ tổng quát hóa được chuyển thành quan hệ is-a giữa 2 kiểu thực thể biểu diễn lớp con và lớp cha. Hinh i-sa i-sa Hinhtron Elip Dagiac ID_hinhh Hinh i-sa Hinhtron Elip Dagiac Ví dụ ở hình 5 chỉ ra mối quan hệ tổng quát hóa giữa các lớp Hinh, Dagiac, Elip, Hinhtron. Trong đó lớp Hinh là lớp cha, 3 lớp còn lại là các lớp con. Các quan hệ kế thừa này được chuyển thành các quan hệ is-a tương ứng. Hình 5: Chuyển quan hệ tổng quát hóa sang mô hình thực thể-mối quan hệ  2.2.3. Chuyển đổi quan hệ hiện thực (instantiate) Là quan hệ chỉ ra mối liên hệ giữa lớp tham số (parameterized class) và lớp hiện thực (instantiated class) của nó. Lớp tham số có các tham số hình thức và các tham số này dùng để tạo ra các lớp thực sự. Lớp hiện thực được tạo ra từ lớp tham số bằng cách thay thế tham số hình thức đó bởi các giá trị. Quan hệ hiện thực cũng là một dạng của quan hệ kế thừa. Do đó, quan hệ hiện thực cũng được chuyển đổi thành quan hệ is-a trong mô hình thực thể - mối quan hệ. Hình 6 chỉ ra mối quan hệ hiện thực giữa các lớp Mang, Diemthi, Diachi. Lớp tham số là lớp mảng có tham số hình thức là kieupt. Hai lớp Diemthi và Diachi là hai lớp hiện thực của lớp mảng với các giá trị tương ứng với tham số là diem và dchi. Các quan hệ hiện thực được chuyển đổi sang mô hình thực thể - mối quan hệ dưới dạng các quan hệ is-a. Diemthi Diachi Mang kieupt Diemthi Mang i-sa kieupt kieupt=diem Diachi i-sa Hình 6: Chuyển quan hệ hiện thực sang mô hình thực thể - mối quan hệ kieupt=dchi 3. Các bước chuyển đổi Quá trình chuyển đổi từ biểu đồ lớp sang mô hình thực thể - mối quan hệ được tiến hành thông qua các bước sau: 1. Với mỗi lớp trong biểu đồ lớp, ta tạo ra một kiểu thực thể tương ứng. Tên của kiểu thực thể được lấy trực tiếp từ tên lớp. Các thuộc tính của lớp gốc được chuyển thành các thuộc tính của kiểu (tập) thực thể. Bổ sung thuộc tính định danh vào kiểu thực thể đóng vai trò là thuộc tính khóa. 2. Với mỗi quan hệ kế thừa, tạo quan hệ is-a giữa 2 kiểu thực thể tương ứng với lớp cha và lớp con. 3. Với mỗi quan hệ hiện thực, tạo quan hệ is-a giữa 2 kiểu thực thể tương ứng với lớp tham số và lớp hiện thực. 4. Với mỗi quan hệ kết tập (aggregation), tạo quan hệ “một - nhiều” giữa 2 kiểu thực thể tương ứng với 2 lớp tham gia liên kết. 5. Với mỗi quan hệ kết hợp, tạo quan hệ tương ứng giữa các kiểu thực thể biểu diễn các lớp tham gia liên kết. Nếu liên kết sở hữu lớp kết hợp ta bổ sung các thuộc tính cho quan hệ. 4. KẾT LUẬN Ngày nay, phần lớn các hệ thống thông tin đều được phân tích, thiết kế theo phương pháp hướng đối tượng và lập trình trên các ngôn ngữ lập trình hướng đối tượng như Java, C++... Tuy nhiên dữ liệu lại thường được lưu trữ trong các CSDL quan hệ. Vì thế, việc chuyển đổi từ mô hình UML(mô hình phân tích thiết kế hướng đối tượng thông dụng nhất) sang mô hình thực thể - mối quan hệ là một vấn đề rất cần thiết trong quá trình phát triển phần mềm. Từ mô hình thực thể - mối quan hệ có thể dễ dàng chuyển sang mô hình dữ liệu quan hệ. Do sự đơn giản của mô hình thực thể- mối quan hệ, một số thành phần và ký hiệu của UML như các thao tác, tầm nhìn (visibility) của các lớp và một vài chú giải gắn liền với vai trò của quan hệ được bỏ qua trong quá trình chuyển đổi. Tuy nhiên, các phần cốt lõi của biểu đồ lớp UML đều có thể được biểu diễn thông qua mô hình thực thể - mối quan hệ. TÀI LIỆU THAM KHẢO Grady Booch, James Rumbaugh, Ivar Jacobson. Unified Modeling Language, Sybex, (1997) Pierre-Alain Muller. Instant UML, Wrox Press Ltd (1997) Bernd Oestereich. Developing Software with UML, Addison Wesley (2000). Michael Blaha, William Premerlani. Objected-Oriented Modeling and Design for Database Applications, Prentice Hall (1998). Scott W.Ambler. Towards a UML Profile for a Relational Persistence Model, Cambridge University Press (2000). TRANSLATING UML MODEL INTO ENTITY - RELATIONSHIP MODEL Vo Đang Huan, Tran Viet Khoa College of Sciences, Hue University SUMMARY Nowadays, the Unified Modeling Language (UML) becomes more and more popular in object-oriented analysis and design. On the other hand, the Entity-Relationship model is the most important and widely used method for modeling data and designing databases. The purpose of this paper is to define a translation of a UML class diagram to an Entity - Relationship model.

Các file đính kèm theo tài liệu này:

  • docchuyen_doi_mo_hinh_uml_sang_mo_hinh_thuc_the_moi_quan_he.doc
Tài liệu liên quan