Xem mẫu

  1. Tiểu luận Chuyển đổi mô hình lớp trong UML sang quan hệ
  2. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ MỤC LỤC CHƢƠNG 1 ---------------------------------------------------------------------------------------------------- 4 BIỂU ĐỒ LỚP THIẾT KẾ TRONG UML ---------------------------------------------------------------- 4 VÀ MÔ HÌNH LIÊN KẾT THỰC THỂ EER ------------------------------------------------------------- 4 1.1 Thành phần và các mối quan hệ trong biểu đồ lớp ----------------------------------------------- 4 1.1.2 Các mối quan hệ giữa các lớp ------------------------------------------------------------------- 5 1.2 Mô hình kiên kết thực thể mở rộng EER -------------------------------------------------------- 11 1.2.1 Lớp cha, lớp con và sự kế thừa---------------------------------------------------------------- 11 1.2.2 Chuyên biệt hoá và tổng quát hoá------------------------------------------------------------ 11 1.2.3 Các ràng buộc và các đặc điểm trên chuyên biêt hoá và tổng quát hoá ---------------- 13 1.2.5 Mô hình của các kiểu UNION sử dụng các Category ------------------------------------- 14 1.3 Sự tƣơng thích giữa mô hình liên kết thực thể và biểu đồ lớp -------------------------------- 16 CHƢƠNG 2 -------------------------------------------------------------------------------------------------- 20 PHƢƠNG PHÁP CHUYỂN ĐỔI TỪ BIỂU ĐỒ LỚP THIẾT KẾ SANG MÔ HÌNH QUAN HỆ ------------------------------------------------------------------------------------------------------------------ 20 2.1 Chuyển đổi từ biểu đồ lớp sang mô hình EER --------------------------------------------------- 20 2.1.1 Chuyển đổi một lớp thành một kiểu thực thể ----------------------------------------------- 20 2.1.2. Chuyển đổi các mối quan hệ ------------------------------------------------------------------ 20 2.2 Chuyển đổi từ mô hình EER thành quan hệ ------------------------------------------------------ 25 2.2.1 Các liên kết lớp cha/ lớp con, chuyên biệt hóa và tổng quát hóa ------------------------- 25 PHƢƠNG PHÁP CHUYỂN ĐỔI TỪ MÔ HÌNH LIÊN KẾT THỰC THỂ EER SANG BIỂU ĐỒ LỚP THIẾT KẾ ----------------------------------------------------------------------------------------- 27 3.1 Chuyển đổi một kiểu thực thể thành một lớp----------------------------------------------------- 28 3.1.1 Kiểu thực thể------------------------------------------------------------------------------------- 28 3.1.2 Kiểu thực thể chứa thuộc tính đa trị ---------------------------------------------------------- 28 3.2 Chuyển đổi các kiểu liên kết ------------------------------------------------------------------------ 30 3.2.1 Liên kết giữa hai kiểu thực thể ---------------------------------------------------------------- 30 3.2.2 Liên kết có kiểu thực thể yếu ------------------------------------------------------------------ 32 3.2.3 Kiểu thực thể có thuộc tính không xác định------------------------------------------------- 33 3.2.4 Kiểu liên kết cấp 1 ------------------------------------------------------------------------------ 34 3.2.6 Chuyên biệt hóa --------------------------------------------------------------------------------- 36 CHƢƠNG 4 -------------------------------------------------------------------------------------------------- 37 ỨNG DỤNG -------------------------------------------------------------------------------------------------- 37 4.1 Chuyển đổi từ biểu đồ lớp thiết kế sang quan hệ ------------------------------------------------ 37 4.1.1 Biểu đồ lớp thiết kế ----------------------------------------------------------------------------- 37 4.1.2 Mô hình liên kết thực thể ER ------------------------------------------------------------------ 38 4.1.3 Mô hình quan hệ -------------------------------------------------------------------------------- 39 2 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  3. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ TÓM TẮT 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, nhất là trong thời đại ngày nay cùng với sự phát triển phần mềm có qui mô lớn với tính năng đa dạng thì yêu cầu bảo trì đối với hệ thống lớn và phức tạp ngày càng trở thành vấn đề nghiêm trọng. Thực tế hiện nay đang tồn tại song song 2 hƣớng phân tích thiết kế, đó là: Phƣơng pháp phân tích theo hƣớng cấu trúc đã ra đời và đƣợc áp dụng rất sớm bởi kết quả của việc thiết kế là Cơ sở dữ liệu quan hệ mà các quan hệ đã đạt đƣợc các chuẩn đặt ra và đã đƣợc cài đặt bởi các công cụ hữu hiệu là các hệ quản trị CSDL quan hệ nhƣ: Foxpro, Access, My SQL, SQL Server, Oracle, … Tuy nhiên việc phát triển, nâng cấp, mở rộng hệ thống sau này để đáp ứng đƣợc nhu cầu của ngƣời dùng là rất khó. Phân tích thiết kế hệ thống theo hƣớng đối tƣợng với Ngôn ngữ mô hình hoá thống nhất UML (Unified Modeling Language) ra đời sau với kết quả của việc thiết kế là các lớp đối tƣợng cùng với các thao tác xử lý đối tƣợng ngay trong lớp và sự trao đổi thông tin giữa các lớp. Ƣu điểm là có thể áp dụng các mẫu thiết kế cho các lớp nhƣ Mẫu chuyên gia (Expert), Bộ tạo lập (Creator), Bộ điều khiển (Controller), Ghép nối thấp (Low coupling), Kết dính cao (High conhesion) ta đƣợc các lớp rất tốt có khả năng mở rộng và sử dụng lại mà không ảnh hƣởng lớn đến hệ thống đang hoạt động hiện tại. Tuy nhiên việc lƣu trữ các lớp là rất khó khăn bởi chƣa có các ngôn ngữ chuẩn hữu hiệu nhƣ trong CSDL quan hệ. Vì vậy mục đích của đề tài này là nghiên cứu thuật toán chuyển đổi từ mô hình lớp trong UML sang quan hệ để có thể sử dụng các hệ quản trị CSDL quan hệ để lƣu trữ thì hệ thống phân tích thiết kế đƣợc sẽ rất tốt. 3 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  4. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ CHƯƠNG 1 BIỂU ĐỒ LỚP THIẾT KẾ TRONG UML VÀ MÔ HÌNH LIÊN KẾT THỰC THỂ EER 1.1 Thành phần và các mối quan hệ trong biểu đồ lớp Biểu đồ lớp chỉ một tập các lớp,các giao diện , các sự cộng tác và các mối quan hệ giữa các lớp. 1.1.1 Lớp, đối tƣợng Đối tƣợng là một sự tƣợng trƣng cho một thực thể, hoặc là thực thể tồn tại trong thế giới thực hoặc là thực thể mang tính khái niệm. Một lớp là miêu tả của một nhóm đối tƣợng có chung thuộc tính, chung phƣơng thức, chung ngữ nghĩa và chung các mối quan hệ với các đối tƣợng khác. UML thể hiện lớp bằng hình chữ nhật có 3 phần: - Tên lớp: Thƣờng là danh từ đặc tả đối tƣợng - Thuộc tính: Là bộ phận thông tin liên kết với lớp sử dụng để mô tả những đặc điểm của đối tƣợng. Thuộc tính thƣờng đƣợc xác định trong một phạm vi cho trƣớc các giá trị, một phạm vi là một tập các giá trị xác định. - Thao tác: là hành vi kết hợp với mỗi lớp. Thao tác xác định trách nhiệm của lớp. Thao tác đƣợc sử dụng để xử lý thay đổi các thuộc tính cũng nhƣ thực hiện các cô ng việc khác. Một tính chất quan trọng của lập trình hƣớng đối tƣợng là tính bao gói. Mỗi lớp bao gói thông tin và hành vi nhờ các thuộc tính và hành vi của nó. Visibility là chi tiết dùng để xác định tính chất truy nhập của một thành phần nào đó trong hệ thống. UML có 3 cấp của Visibility :  Public : Bất kì lớp trong hệ thống đều có thể sử dụng các thành phần lớp với cấp này.  Private: Chỉ các thành phần của lớp này là có thể sử dụng các thành phần này.  Protected: Bất kì các lớp kế thừa hoặc các thành phần của lớp này đều có thể sử dụng 4 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  5. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ các thành phần với visibility là protected. Xét ví dụ lớp NHAN VIEN sau: Lớp đối tƣợng NHAN VIEN có các thuộc tính { Manv, Ten, Ngay sinh, Gioi tinh, Dia chi, Luong} và các thao tác {Tao moi(), Nhap(), Sua(), Xoa(), Xem()}. 1.1.2 Các mối quan hệ giữa các lớp 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 lớp khác Có các kiểu quan hệ chính: Quan hệ kết hợp Quan hệ kết tập Quan hệ tổng quát hoá Quan hệ hiện thực a) Quan hệ kết hợp Quan hệ kết hợp đƣợc định nghĩa là một mối quan hệ miêu tả một tập hợp các nối kết, trong khi một nối kết đƣợc định nghĩa là một sự liên quan về ngữ nghĩa giữa một nhóm các đối tƣợng. 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 hệ kết hợp có thể 1 chiều hay 2 chiều - Quan hệ kết hợp 2 chiều: Đòi hỏi các đối tƣợng phụ thuộc lẫn nhau, có nghĩa khi một đối tƣợng này có liên hệ với một đối tƣợng khác thì cả hai đối tƣợng này nhậ n thấy nhau. VD: Xét quan hệ kết hợp 2 chiều giữa lớp NHAN VIEN và lớp PHONG BAN thể hiện lớp nhân viên biết thuộc tính và thao tác của lớp phòng ban và ngƣợc lại. 5 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  6. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ - Quan hệ kết hợp một chiều: Đòi hỏi sự phụ thuộc một chiều, thể hiện bằng một mũi tên. Xét quan hệ kết hợp 1 chiều trên hình 1.3b. Trong ví dụ này lớp NHAN VIEN biết thuộc tính và thao tác của lớp PHONG BAN, nhƣng lớp PHONG BAN không biết gì về lớp NHAN VIEN. Trên biểu đồ tƣơng tác, nhân viên có thể gửi thông điệp để phòng ban nhận, nhƣng phòng ban không thể gửi thông điệp đến nhân viên. - Quan hệ kết hợp có lớp kết hợp: Lớp kết hợp là lớp đƣợc gắn vào một quan hệ nhằm bổ sung thông tin cho quan hệ đó. Ví dụ quan hệ giữa hai lớp NHAN VIEN và DU AN, khi nhân viên làm việc trong dự án thì sẽ sinh ra thuộc tính số giờ làm việc. Lớp Lam viec với thuộc tính số giờ là lớp bổ sung thông tin cho mối quan hệ giữa lớp nhân viên và lớp dự án. 6 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  7. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ - Quan hệ kết hợp có thể đệ qui: Kết hợp đệ qui cho thấy một hiện thực của lớp có quan hệ với một hiện thực khác của cùng lớp đó. Ví dụ với lớp NHAN VIEN, một nhân viên có thể là quản lý của nhiều nhân viên. - Quan hệ phụ thuộc: Là một sự liên quan ngữ nghĩa giữa hai lớp, một mang tính độc lập và một mang tính phụ thuộc. Mọi sự thay đổi trong phần tử độc lập sẽ ảnh hƣởng đến phần tử phụ thuộc. Quan hệ phụ thuộc luôn luôn là quan hệ một chiều, chỉ ra một lớp phụ thuộc vào lớp khác. Lớp đối tƣợng A có quan hệ phụ thuộc với lớp đối tƣợng B nếu mọi sự thay đổi trong phần tử độc lập A sẽ ảnh hƣởng đến phần tử phụ thuộc B. VD: Lớp đối tƣợng Thời khóa biểu có quan hệ phụ thuộc với lớp đối tƣợng Giáo viên. 7 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  8. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ b) Quan hệ kết tập Là một dạng đặc biệt của quan hệ kết hợp, biểu thị quan hệ giữa các lớp dựa trên nền tảng của nguyên tắc “ một tổng thể đƣợc tạo thành bởi các bộ phận”. Nó đƣợc sử dụng khi chúng ta muốn tạo lên một thực thể mới bằng cách tập hợp các thực thể tồn tại với nhau. Lớp đối tƣợng A có quan hệ kết tập với lớp đối tƣợng B nếu 1 đối tƣợng trong A có quan hệ với nhiều đối tƣợng trong B. Xét ví dụ lớp đối tƣợng NHAN VIEN có quan hệ kết tập với lớp PHU THUOC, nghĩa là một đối tƣợng nhân viên có quan hệ với nhiều đối tƣợng phụ thuộc. c) Quan hệ tổng quát hoá Chuyên biệt hóa: là quá trình tinh chế một lớp thành những lớp chuyên biệt hơn. Chuyên biệt hóa bổ sung thêm chi tiết và đặc tả cho lớp kết quả. Lớp mang tính khái quát đƣợc gọi là lớp cha, kết quả chuyên biệt hóa là việc tạo ra các lớp con. Con đƣờng bắt đầu từ môt lớp chuyên biệt và khiến nó ngày càng mang tính k hái quát cao hơn đƣợc gọi là quá trình khái quát hóa. Xét quan hệ tổng quát hoá giữa các lớp A, lớp B, lớp C. Tổng quát hoá gộp các thành phần chung của tập lớp B và lớp C để hình thành lớp tổng quát hơn là lớp cha A. Mỗi lớp cấp thấp B, C có thể có thuộc tính, thao tác, quan hệ riêng để bổ sung vào các thành phần mà nó kế thừa. 8 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  9. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ VD: Quan hệ tổng quát hoá giữa các lớp hình, hình tròn và hình tam giác. Trong đó lớp hình là lớp cha, lớp hình tròn và tam giác là lớp con. Hai lớp hình tròn và hình tam giác kế thừa các thuộc tính chu vi, diện tích và kế thừa thao tác tính của lớp hình. d) Quan hệ hiện thực Là quan hệ chỉ ra mối quan hệ giữa lớp tham số và lớp hiện thực. 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ị. VD: Quan hệ hiện thực giữa các lớp Mang, Diemthi, Diachi. Lớp tham số là lớp Mang 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 Mang với các giá trị tƣơng ứng với tham số là diem, dchi. 9 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  10. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ e) Gán đặc tính cho quan hệ Tính nhiều: Là kết hợp biểu diễn mối quan hệ cấu trúc giữa các đối tƣợng. Tính nhiều của quan hệ cho biết bao nhiêu hiện thực của lớp có quan hệ với một hiện thực của lớp khác vào một thời điểm.Trong UML có các tính nhiều. Tính nhiều Ý nghĩa Nhiều * 0 Không Một 1 Từ không đến nhiều 0..* Từ một đến nhiều 1..* Không hay một 0..1 Chỉ một 1..1 VD: Lớp LOP HOC và SINH VIEN có quan hệ kết hợp với nhau. Tính nhiều của quan hệ trả lời câu hỏi sau: “ Một sinh viên có thể học bao nhiêu môn học trong một kì ” và “Bao nhiêu sinh viên có thể đăng kí một môn học ”. Ví dụ thể hiện một sinh viên có thể học đồng thời từ 0 dến 4 môn học, một lớp có thể có từ 10 đến 20 sinh viên. 10 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  11. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ 1.2 Mô hình kiên kết thực thể mở rộng EER Mô hình liên kết thực thể mở rộng EER bao gồm tất cả các khái niệm của mô hình ER. Ngoài ra nó còn bao hàm khái niệm về lớp cha, lớp con, các khái niệm có liên quan đến chuyên biệt hoá và tổng quát hoá. 1.2.1 Lớp cha, lớp con và sự kế thừa Nhƣ ta đã biết, một kiểu thực thể thƣờng dùng để mô tả một kiểu của thực thể và tập thực thể hoặc tập các thực thể của kiểu đó tồn tại trong CSDL. Trong trƣờng hợp một kiểu thực thể có nhiều nhóm con cho các thực thể của nó, các nhóm con này có ý nghĩa cần đƣợc miêu tả rõ ràng bởi ý nghĩa của chúng đối với CSDL. Ví dụ: Các thực thể là bộ phận của kiểu thực thể Nhân viên có thể đƣợc nhóm vào trong Thƣ kí, Kĩ sƣ, … nhân viên lƣơng tháng, nhân viên công nhật. Tập các thực thể của nhóm đó là một tập con của các thực thể thuộc vào tập thực thể Nhân viên. Chúng ta gọi từng nhóm đó là một lớp con của các thực thể thuộc vào tập thực thể Nhân viên và kiểu thực thể Nhân viên đƣợc gọi là lớp cha cho từng lớp con đó. Một khái niệm liên quan tới các lớp con là kế thừa kiểu. Kiểu của một thực thể đƣợc xác định bởi các thuộc tính mà nó có và các kiểu liên kết mà nó tham gia. Bởi vì một thực thể trong lớp con mô tả cùng một thực thể trong thế giới thực nhƣ một thành phần của lớp cha nên nó sẽ có các giá trị cho các thuộc tính cụ thể của nó cũng nhƣ cá c giá trị của các thuộc tính của một bộ phận lớp cha. Thực thể cũng kế thừa tất cả các mối liên kết của các lớp cha tham gia. 1.2.2 Chuyên biệt hoá và tổng quát hoá a) Chuyên biệt hoá - Là một quá trình xác định một tập lớp con của một kiểu thực thể, kiểu thực thể này đƣợc gọi là lớp cha của chuyên biệt hoá. Tập lớp con hình thành chuyên biệt hoá đƣợc xác định cơ bản dựa trên một số đặc điểm tiêu biểu của các thực thể trong lớp cha. - Có thể có nhiều chuyên biệt hoá của cùng một kiểu thực thể dựa trên những đặc điểm khác nhau tiêu biểu. - VD: Với kiểu thực thể NHAN VIEN dựa trên cách thức trả lƣơng, chuyên biệt hoá lớp thực thể NHAN VIEN tạo ra hai lớp con {NV_HOP DONG, NV_BIEN CHE}. 11 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  12. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ NHAN VIEN Tra mot luot d NV_HOP DONG NV_BIEN CHE Thuoc NHA QUAN LY ve Tien luong CONG DOAN Hình 2.1 Ví dụ biểu diễn sự chuyên biệt hoá Tiến trình chuyên biệt hoá cho phép chúng ta:  Xác định một tập các lớp con của một kiểu thực thể.  Thiết lập các đặc trƣng truyền thống với từng lớp con.  Thiết lập các kiểu liên kết đặc trƣng truyền thống giữa từng lớp con và các kiểu thực thể khác và giữa các lớp con khác. b) Tổng quát hoá - Là quá trình xác định dặc trƣng giữa các kiểu thực thể và tổng quát chúng kiểu thực thể ban đầu là các lớp con riêng biệt của nó. - VD: NHAN VIEN là một tổng quát hoá của {THU KI, KI THUAT VIEN va KI SU}. Gioi tinh Ngay sinh Dia chi Ten NHAN VIEN NV_HOP DONG d Trinh do d NGUOI QL Tra mot luot THU KI KI SU NV_BIEN CHE KT VIEN Hsl NGUOI QL KS Bac Kieu ki su Hình 2.2 Ví dụ biểu diễn sự tổng quát hoá 12 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  13. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ 1.2.3 Các ràng buộc và các đặc điểm trên chuyên biêt hoá và tổng quát hoá a) Các ràng trên chuyên biệt hóa và tổng quát hóa Trong một số chuyên biệt hóa chúng ta có thể xác định các thực thể sẽ trở thành một phần của từng lớp con bởi một điều kiện đƣa ra trên giá trị của một số thuộc tính trong lớp cha. Các lớp con nhƣ vậy đƣợc gọi là các lớp con xác định bằng thuộc tính. VD: nếu kiểu thực thể Nhân viên có một thuộc tính Kiểu công việc, ta có thể xác định điều kiện của các thành viên trong lớp Thƣ kí bởi vì ( Kiểu công việc = Thƣ kí). Điều kiện này là một ràng buộc chỉ rõ bộ phận của lớp con thƣ kí phải thỏa mãn thuộc tính và là các thực thể của kiểu thực thể Nhân viên có thuộc tính Kiểu công việc = Thƣ kí. Khi không có một điều kiện nào cho việc xác định thành viên trong một lớp con, lớp con đó đƣợc gọi là lớp con xác định bởi ngƣời dùng. - Hai ràng buộc phù hợp với một chuyên biệt hoá:  Ràng buộc riêng rẽ  Ràng buộc đầy đủ a1) Ràng buộc riêng rẽ Xác định các lớp của chuyên biệt hoá phải rời nhau. Điều này có nghĩa là một thực thể có thể là thành phần của nhiều nhất một lớp con của chuyên biệt hoá. Một chuyên biệt hoá đƣợc xác định bởi thuộc tính xác định tức là ràng buộc riêng rẽ nếu thuộc tính dùng để xác định giá trị thành viên là đơn trị. - Ví dụ: Chuyên biệt hoá {NV_HOP DONG, NV_BIEN CHE} là ràng buộc mà các lớp con đƣợc xác định bởi ngƣời dùng phải đƣợc tách rời. Nếu nhƣ lớp con không bắt buộc phải riêng rẽ, tập các thực thể của chúng có thể chồng chéo lên nhau: Các thực thể giống nhau có thể là một bộ phận của nhiều hơn một lớp con của chuyên biệt hóa. Kí hiệu bởi chữ O trong vòng tròn.Ví dụ ( Hình 2.3) BO PHAN Mabp Mo ta Ngay sx Nha cung cap O Bang gia Masx BP SAN XUAT BP BAN HANG Hình 2.3: Chuyên biệt hóa với các lớp con trùng lặp 13 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  14. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ a2) Ràng buộc đầy đủ - Một ràng buộc chuyên biệt hoá toàn bộ chỉ ra rằng các thực thể trong lớp cha phải là một thành phần của một số lớp con nào đó trong chuyên biệt hoá - VD ( Hình 2.2) Nếu tất cả nhân viên phải là Nhân viên hợp đồng hoặc Nhân viên biên chế thì chuyên biệt hoá {NV_HOP DONG, NV_BIEN CHE} là một chuyên biệt hoá toàn bộ của NHAN VIEN; điều này đƣợc chỉ ra trong sơ đồ EER bằng cách cùng một đƣờng nối lớp cha với đƣờng tròn. - Chuyên biệt hoá bộ phận, cho phép một thực thể không thuộc về bất kì một lớp con nào. Chuyên biệt hoá {THU KI, KI SU} là một chuyên biệt hoá bộ phận. b) Các hệ thống phân cấp và hệ thống đan chéo Các thực thể có thể có nhiều hơn các lớp con xác định trên chính nó, hình thành một hệ thống phân cấp hoặc một hệ thống đan chéo của các chuyên biệt hóa. Ví dụ ( Hình 2.2 ) Kĩ sƣ là một lớp con của Nhân viên cũng là lớp cha của Quản lý kĩ sƣ; điều này miêu tả ràng buộc của thế giới thực mà tất cả những ngƣời Quản lý kĩ sƣ đều phải là một kĩ sƣ. Một hệ thống phân cấp chuyên biệt hóa có ràng buộc tất cả các lớp con tham gia nhƣ một lớp con tham gia chỉ trong một liên kết lớp/ lớp con. Một hệ thống đan chéo chuyên biệt hóa một lớp con có thể là một lớp con trong nhiều hơn một mối liên kết lớp/ lớp con. 1.2.5 Mô hình của các kiểu UNION sử dụng các Category Trong các liên kết lớp cha/ lớp con mà chúng ta thấy có một lớp cha đơn. Một lớp con dung chung nhƣ ngƣời quản lý trong hệ thống đan chéo ( hình 2.2) là lớp con của ba mối liên kết lớp cha/lớp con phân biệt, ở đây một trong ba mối liên kết có một lớp cha đơn. Điều này không phải là hiếm mà do nhu cầu xuất hiện của một mối liên kết lớp cha/ lớp con đơn lẻ nhiều hơn một lớp cha, ở đây các lớp cha mô tả các kiểu thực thể khác nhau. Trong trƣờng hợp này, lớp con sẽ mô tả một tập các đối tƣợng đó là một kiểu UNION của các thực thể khác nhau; chúng ta gọi một lớp con nhƣ vậy là một kiểu union hoặc category. 14 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  15. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ NGAN HANG Ten NH Dia chi NH NGUOI CONG TY Ten U Ma Dia chi Dia chi CT Ten CT NGUOI SO HUU Quyen SH Ngay mua Sở hữu DANG KI XE Cau tao Kieu dang Trong tai Kieu dang Cau tao O TO CON O TO TAI U Nhan SoDK Nam SoDK Nam Ví dụ: CSDL đăng kí xe cộ, chủ nhân của một chiếc xe có thể là một NGUOI, một NGAN HANG hoặc một CONG TY. Ta cần tạo một tập các thực thể chứa các thực thể của cả ba kiểu để thể hiện đƣợc vai trò của người sở hữu xe. Một Category NGUOI SO HUU là một lớp con cho UNION của ba kiểu thực thể NGUOI, NGAN HANG, CONG TY. Sự khác nhau cơ bản của một lớp con dùng chung và một Category là: Mỗi lớp con dùng chung là một lớp con của một trong các lớp cha, vì thế một thực thể là thành phần của một lớp con đó. Ràng buộc mô tả một thực thể của lớp là một tập con giao nhau của ba lớp con. Trong khi một thực thể của một Category chỉ tồn tại trong một lớp cha của nó. Sự khác nhau cơ bản giữa một Categor y và một lớp cha là: Một Category của một số thực thể là một số thực thể chứ không nhất thiết phải là tất cả chúng. Trong khi một lớp cha phải bao gồm tất cả các lớp con của nó. 15 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  16. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ 1.3 Sự tương thích giữa mô hình liên kết thực thể và biểu đồ lớp Biểu đồ lớp Chuyển đổi Mô hình Liên kết thực thể trong UML EER Thiết kế Thiết kế Biểu diễn Biểu diễn CSDL CSDL Hướng đối Quan hệ tượng Chuyển đổi Từ mô hình trên ta thấy: CSDL quan hệ đƣợc biểu diễn mô hình liên kết thực thể, từ mô hình liên kết thực thể ta có thể thiết kế ra đƣợc CSDL quan hệ. Đối với CSDL hƣớng đối tƣợng đƣợc biểu diễn bởi biểu đồ lớp thiết kế trong UML, từ biểu đồ lớp trong UML có thể thiết kế ra đƣợc CSDL hƣớng đối tƣợng. Vì vậy để có thể chuyển đổi đƣợc giữa CSDL quan hệ và CSDL theo hƣớng đối tƣợng, ta phải thực hiện việc chuyển đổi giữa mô hình liên kết thực thể EER và biểu đồ lớp thiết kế trong UML. Thuật toán chuyển đổi phải đảm bảo có sự tƣơng thích giữa các thành phần trong mô hình liên kết thực thể mở rộng EER và biểu đồ lớp thiết kế để sau khi chuyển đổi thì dữ liệu không bị mất mát và sai lệch thông tin. Phần trình bày sau trình bày về sự tƣơng thích giữa các thành phần, các mối quan hệ giữa mô hình EER và biểu đồ lớp thiết kế trong UML. 16 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  17. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ UML EER UML là ngôn ngữ mô hình hóa chuẩn để EER sử dụng trong mô hình thiết kế cơ sở thiết kế CSDL hƣớng đối tƣợng dữ liệu quan hệ Các thành phần  Biểu đồ lớp thiết kế  Mô hình EER  Lớp  Kiểu thực thể  Đối tƣợng  Thực thể  Thuộc tính  Thuộc tính  Miền giá trị của thuộc tính  Miền giá trị của thuộc tính  Mối quan hệ giữa các lớp  Kiểu liên kết giữa các thực thể  Bản số tham gia vào quan hệ  Tỷ số lực lƣợng tham gia vào liên kết Các kí hiệu - UML hiển thị lớp bằng hình chữ nhật có 3 - Kiểu thực thể hiển thị bởi hình chữ nhật phần:  Phần trên cùng: Tên lớp  Tên kiểu thực thể  Phần giữa: Thuộc tính  Thuộc tính đƣợc hiển thị bởi hình elip  Phần dƣới cùng: Thao tác  Các thao tác không đƣợc hỗ trợ trong mô hình EER Các mối quan hệ - Trong UML gọi là các mối quan hệ giữa - Trong EER gọi là các mối quan hệ giữa các lớp. các thực thể. - Lực lƣợng tham gia vào liên hệ gọi là bản - Tỷ số lực lƣợng cực đại, cực tiểu tham gia số. vào liên kết. - Bản số đƣợc ghi ở phía đầu đƣờng thẳng thể hiện liên hệ, sát vào lớp là miền áp dụng của nó. Phạm vi số lƣợng phẩn tử có thể có trong liên hệ. Bản số và lực lƣợng  0..*  0,N  1 hoặc 1..1  1,1 17 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  18. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ Thuộc tính riêng của quan hệ - Thuộc tính riêng của quan hệ giữa các lớp - Thuộc tính riêng của kiểu liên kết giữa đối tƣợng. các thực thể Các mối quan hệ  Quan hệ đệ qui  Liên kết cấp 1  Quan hệ kết tập  Liên kết giữa một kiểu thực thể với một kiểu thực thể yếu  Quan hệ kết hợp  Liên kết giữa các thực thể  Quan hệ có lớp kết hợp  Liên kết có thuộc tính riêng của kiểu liên kết Ví dụ Ngay sinh Mapb Dia chi Ten PB Manv Ho ten NHAN VIEN lam (0,1) PHONG BAN (1,N) Gioi tinh viec cho (1,1) (0,1) N (0,N) Lam So gio viec Phu Mada thuoc Quan ly Ten DA M DU AN ( 0 , N) Quan he Ngay sinh PHU THUOC Gioi tinh Mapt Ten PT 18 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  19. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ 19 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
  20. Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ CHƯƠNG 2 PHƯƠNG PHÁP CHUYỂN ĐỔI TỪ BIỂU ĐỒ LỚP THIẾT KẾ SANG MÔ HÌNH QUAN HỆ 2.1 Chuyển đổi từ biểu đồ lớp sang mô hình EER 2.1.1 Chuyển đổi một lớp thành một kiểu thực thể 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 khoá. a2 a1 ai A an 2.1.2. Chuyển đổi các mối quan hệ 2.1.2.1 Quan hệ kết hợp a) Quan hệ kết hợp Xét mối quan hệ kết hợp giữa lớp đối tƣợng A và đối tƣợng B nhƣ hình vẽ. Khi chuyển đổi sang mô hình EER lớp đối tƣợng A, B chuyển thành kiểu thực thể A, B tƣơng ứng. Quan hệ kết hợp một hay hai chiều đƣợc chuyển đổi thành các quan hệ. Tuỳ thuộc vào cơ số của quan hệ kết hợp mà quan hệ tƣơng ứng trong quan hệ thực thể là “1-1”, “1-n”, “n-m”. a1 an Id_a A (1,1) lk b1 bm (1,N) Id_b B 20 Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
nguon tai.lieu . vn