1. Trang chủ
  2. » Thể loại khác

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

10 135 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 374,05 KB

Nội dung

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. Mời các bạn cùng tham khảo.

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 Hn, 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 q 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 tốn cần giải     Trong     năm   gần     ngôn   ngữ   mơ   hình   hóa   thống     (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à   hồ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 25 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ể   Ngaysinh Nhanvie n ten ngaysin h tuoi() thamnie n() Nhanvien Ten ID_nhanvi en Hình 1: Chuyển đổi  một lớp thành một kiểu thực thể Đố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 qt 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ệ 26 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 qt: 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  ngun (n­ary) nên mối quan hệ  kết hợp đa ngun trong biểu đồ  lớp được chuyển  thành quan hệ đa ngun trong mơ hình thực thể ­ mối quan hệ Sinhvien Sinhvien ID_sinh vien (1,1) * hoc tai Khoa (1,n) Khoa ID_khoa 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     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  27 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 28 ID_Cong ty (1, n) thu e Congty thue Congty * Cong viec Congviec luong congt * ac luo ng (1,n) Nguoi ID_Nguo i congt ac Nguoi 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ệ 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ệ “tồ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 tồ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 tồ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 tồ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ệ 29 Nha Nha ID_Dagi ac (1, n) duoctao boi duoctao boi * (1,1) Tuong Tuong ID_Die m Hình 4: Chuyển quan hệ kết tập sang mơ hình thực thể ­  mối quan hệ 2.2.2 . Chuyển đổi quan hệ tổng qt hóa (generalization) Trong UML tổng qt 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ệ  ngun th khơng trực tiếp hỗ trợ các khái niệm kế thừa. Quan hệ tổng qt 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 Ví dụ  ở hình 5 chỉ ra mối quan hệ tổng qt 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 Hinh Dagiac i s Dagiac a Elip Hinhtron Hinh ID_hi nhh i i - - s a Elip s a Hinhtron 30 Hình 5: Chuyển quan hệ tổng qt hóa sang mơ hình thực thể­mối quan hệ   31        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 Mang Diemthi kieup t Diachi Mang   kieupt=di em Diemthi kieupt=dc hi i s a i s a kie upt Diachi Hình 6: Chuyển quan hệ hiện thực sang mơ hình thực thể ­ mối quan hệ 32 3. Các bước chuyển đổi Q 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 q 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 q 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 33 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 34 ... 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ệ 26 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 qt: Quan hệ kết hợp là mối quan hệ. ..   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 ... 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

Ngày đăng: 22/01/2020, 04:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN