Tiểu luận
Chuyển đổi mô hình lớp
trong UML sang quan h
Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ
Sinh viên thực hiện: Nguyễn Thu Thuỷ - Lớp CT701 - Khoá 7 - Ngành Công nghệ thông tin
2
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
Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ
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
TÓM TẮT
Phân tích thiết kế hthống đóng vai trò rất quan trọng trong quá trình sản xuất
phần mềm, nhất trong thời đại ngày nay cùng với sự phát triển phần mềm qui
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 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ế sở dữ liệu quan hệ các quan hệ đã đạt đƣợc các chuẩn
đặt ra đã đƣợc cài đặt bởi các ng cụ hữu hiệu các hệ quản trCSDL 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 qucủa việc thiết kế các
lớp đối tƣợng cùng với các thao tác xử đối tƣợng ngay trong lớp 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 khả năng mở rộng
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 u trữ các lớp rất khó khăn bởi chƣa 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ệ để 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.
Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ
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
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 một sự tƣợng trƣng cho một thực thể, hoặc 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 miêu tả của một nhóm đối tƣợng 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: bphận thông tin liên kết với lớp sử dụng để 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: 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ử thay đổi các thuộc tính cũng nhƣ thực hiện các ng việc
khác.
Một tính chất quan trọng của lập trình ớng đối tƣợng tính bao gói. Mỗi lớp
bao gói thông tin hành vi nhờ các thuộc tính hành vi của nó. Visibility 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 có thể sử dụng các thành phần này.
Protected: Bất các lớp kế thừa hoặc các thành phần của lớp y đều thể sử dụng
Báo cáo tốt nghiệp Chuyển đổi mô hình lớp trong UML sang quan hệ
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
các thành phần với visibility 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ệ kết nối ngữ nghĩa giữa các lớp, 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 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 quan hệ kết hợp mỗi lớp 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 y liên hệ với một đối ợng khác thì cả hai đối tƣợng y nhận thấy
nhau.
VD: Xét quan hệ kết hợp 2 chiều giữa lớp NHAN VIEN 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.