CLASS DIAGRAM (Sơ đồ lớp) là các khối xây dựng chính của mô hình hướng đối tượng. Nó được sử dụng để xây dựng mô hình khái niệm của một ứng dụng trong hệ thống. Sơ đồ lớp cũng có thể được sử dụng để mô hình hóa dữ liệu(data modeling).Các lớp trong một sơ đồ lớp đại diện cho cả hai đối tượng chính, tương tác trong ứng dụng và các lớp sẽ được lập trình.
Class diagram thuộc mô hình UML (unifed modeling language) đây là một ngôn ngữ mô hình chúng ta sẽ được học trong những học kì tới trong môn DATA MODELING (mô hình hóa dữ liệu),vì vậy khi hiểu rõ class diagram chúng ta sẽ dễ dàng tiếp cận với môn học đó hơn.
24 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 6194 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Tiểu luận class diagram - Hệ cơ sở dự liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM
KHOACÔNG NGHỆ THÔNG TIN
µ
ĐỀ TÀI TIỂU LUẬN
CLASS DIAGRAM
MÔN: HỆ CƠ SỞ DỰ LIỆU
GVHD: LÊ NGỌC TẤN
Nhóm Thực Hiện : Nhóm 5
Tên: MSSV
Trần Công Chính 09076271
Nguyễn Quang Huy 09196521
Đỗ Hồng Quang 11032981
Hà Văn Thành 11085451
TP. HCM, ngày 6 tháng 10 năm 2012
PHÂN CÔNG CÔNG VIỆC
HÀ VĂN THÀNH
Các khái niệm,định nghĩa,Cấu trúc,cách thể hiện một class và kí hiệu.
ĐỖ HỒNG QUANG
Các thành phần trong class diagram.
NGUYỄN QUANG HUY
Các mô hình hình vẽ class diagram.
TRẦN CÔNG CHÍNH
Trình bày ví dụ và vẽ mô hình class diagram.
NHẬN XÉT CỦA GIÁO VIÊN
LỜI MỞ ĐẦU
CLASS DIAGRAM (Sơ đồ lớp) là các khối xây dựng chính của mô hình hướng đối tượng. Nó được sử dụng để xây dựng mô hình khái niệm của một ứng dụng trong hệ thống. Sơ đồ lớp cũng có thể được sử dụng để mô hình hóa dữ liệu(data modeling).Các lớp trong một sơ đồ lớp đại diện cho cả hai đối tượng chính, tương tác trong ứng dụng và các lớp sẽ được lập trình.
Class diagram thuộc mô hình UML (unifed modeling language) đây là một ngôn ngữ mô hình chúng ta sẽ được học trong những học kì tới trong môn DATA MODELING (mô hình hóa dữ liệu),vì vậy khi hiểu rõ class diagram chúng ta sẽ dễ dàng tiếp cận với môn học đó hơn.
Ta dễ dàng nhận ra lược đồ class diagram trong hình sau :
MỤC LỤC
PHẦN 1: ĐỊNH NGHĨA VÀ TỔNG QUAN VỀ CLASS DIAGRAM
1. Định nghĩa và ký hiệu:
1.1. Định nghĩa :
Sơ đồ lớp (Class Diagram) mô tả thành phần dữ liệu trong hệ thống.
Mô tả cấu trúc tĩnh của các Class và mối quan hệ giữa các lớp trong hệ thống.
Một class là một tập hợp các đối tượng có cùng cấu trúc, cùng hành vi.
Có thể xác định các class dựa vào các đối tượng tồn tại lược đồ tuần tự và lược đồ
cộng tác.
Độc lập với ngôn ngữ.
Là sơ đồ đưa ra những hình ảnh về quan hệ cấu trúc và những ứng xử về
chức năng của các lớp.
1.2. Cách thể hiện một class và kí hiệu (symbol):
1.2.1. Cách thể hiện một class:
Class được trình bày bởi các hình chữ nhật có hiển thị class name và có lựa chọn hiển thị tên của các operations và attributes. Các ngăn được sử dụng để phân chia tên class, attributes và operations. Thêm ràng buộc, giá trị khởi tạo và các tham số có thể được gán vào các classes.
Trong sơ đồ trên, class chứa class name trong ngăn đầu tiên, ngăn tiếp theo miêu tả cụ thể về attributes, với attribute trung tâm hiển thị các giá trị khởi tạo. Ngăn cuối cùng hiển thị các operations, các operations như setWidth, setLength và setPosition hiển thị các tham số của nó.
1.2.2 Kí hiệu:
Kí hiệu phía trước tên các attribute hay operation ngầm định sự hiện diện của element, nếu ký hiệu + nghĩa là public, nếu ký hiệu - nghĩa là private (attribute or operation). Thêm vào đó còn có kí hiệu # cho phép định nghĩa là protected (attribute or operation) và ký hiệu ~ ngầm định hiện diện của package.
2. Cấu trúc : Mỗi sơ đồ lớp có nhiều class
2.1. CLASS
2.1.1 Định nghĩa :
Một class (lớp) là mô tả của một nhóm đối tượng với thuộc tính (properties - attributes) chung ,hành vi (behavior - operations),quan hệ(relationships),và ngữ nghĩa(semantics).
Một đối tượng là một thể hiện của một lớp.
Một lớp là một sự trừu tượng trong đó nó:
Nhấn mạnh đến đặc tính chung,bỏ qua những đặc tính riêng biệt.
2.1.2 Ví dụ:
Lớp khóa học
PHẦN 2: CÁC THÀNH PHẦN TRONG CLASS DIAGRAM
Tên lớp (class name)
Thuộc tính (attribute)
Phương thức (operation)
1.Thuộc tính
1.1. Định nghĩa:
Là các đặc trưng mô tả về đối tượng.
Thuộc tính của đối tượng có giá trị cụ thể.
Lớp đối tượng Đối tượng
1.2. Phân loại thuộc tính :
1.2.1. Thuộc tính khóa (Primary Identifier): Giá trị của thuộc tính khóa hai đối tượng thuộc cùng một lớp không được phép trùng nhau.
1.2.2.Thuộc tính có giá trị rời rạc
Thuộc tính phái của Sinh viên chỉ có 2 giá trị: Nam hoặc Nữ
Thuộc tính điểm học phần chỉ có các giá trị 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
Thuộc tính loại nhân viên chỉ có các giá trị: Nhân viên văn phòng, nhân viên bán hàng, nhân viên sản xuất…
1.2.3.Thuộc tính đa trị
Thuộc tính Phone của nhân viên là thuộc tính đa trị: 081234567, 09081234567…
Thuộc tính email của sinh viên cũng là một thuộc tính đa trị: thanhga@yahoo.com, chinhkute@gmail.com...
1.2.4.Thuộc tính là đối tượng phụ (+)
Thuộc tính Adress của sinh viên,nhân viên: số nhà, đường, xóm…
Thuộc tính Datetime của nhân viên: ngày, tháng, năm.
1.2.5. Thuộc tính tính toán (*): Các phép tính điểm trung bình, tiền lương, tiền t hưởng…
1.2.6. Thuộc tính public: mọi lớp đều nhìn thấy thuộc tính.
1.2.7. Thuộc tính protected: các lớp kế thừa có thể nhìn thấy.
1.2.8. Thuộc tính private: lớp khác không nhìn thấy thuộc tính.
2.Quan hệ :
2.1. Quan hệ Liên kết (Associations): là một sự nối kết giữa các lớp, cũng có nghĩa là sự nối kết giữa các đối tượng của các lớp này.
Một liên kết phải có một tên đặt bên trên hay kề với đường liên hệ.
Tên liên kết phản ảnh nội dung, là cụm động từ tên có thể bỏ qua đặc biệt khi tên vai trò của nó được dùng, tránh dùng tên không cộng thêm thông tin.
Mỗi đầu của kết hợp là một vai trò (role) chỉ ra vai trò của lớp trong kết hợp, tên vai trò phải là duy nhất ứng với một lớp, tên vai trò phải là một danh từ đặt cuối đường kết hợp.
Chọn một trong hai: tên liên kết hay tên vai trò.
Các mối liên kết:
Mối liên kết 1-1 :
SINHVIENNN
KHOA
1..1 1..1
Mối liên kết 1-n :
Mối liên kết n-n :
Mối liên kết phản thân :
SINHVIEN
-MaSV: string
-TenSV: string
-NgsinhSV: date
-PhoneSV: string
2.2.Quan hệ kết tập (aggregation): Là quan hệ giữa toàn bộ và bộ phận.
Một đối tượng được tạo từ những đối tượng khác có tính vật lý.
Một đối tượng là tập hợp của những đối tượng khác có tính logic.
Một đối tượng chứa những đối tượng khác có tính vật lý.
Biểu diễn mối liên hệgiữa một đối tượng và các thành phần của nó.
2.3Quan hệ kết cấu (compostion) :
Là một dạng đặc biệt của quan hệ Aggregation.
Nếu đối tượng chính bị xóa thì các đối tượng bộ phận sẽ bị xóa theo và bộ phận có thể bị xóa trước khi toàn bộ bị xóa.
2.4. Quan hệ phụ thuộc (Dependency): Một biến đổi trên một thành phần sẽ gây ra sự
biến đổi trong thành phần khác.
2.5.Tổng quát hóa (Generalization) :
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 (superclass), kết quả chuyên biệt hóa là việc tạo ra các lớp con (Subclass).
Tổng quát hóa và chuyên biệt liên quan tới thừa kế (Inheritance) :
Đơn kế thừa:
Đa kế thừa:
3. Phương thức (operation) :
Phương thức của một lớp thường được dùng để mô tả các hành vi của đối tượng (hoặc của lớp).
Ví dụ : như đối tượng thuộc lớp điện thoại có các hành vi sau: Đổ chuông, chuyển tín hiệu từ sóng sang dạng nghe được, chuyển tín hiệu giọng nói sang dạng chuẩn, chuyển tín hiệu lên tổng đài.v.v.
Khi thiết kế, người ta có thể dùng các phương thức để mô tả và thực hiện các hành vi của đối tượng.
Mỗi phương thức thường được định nghĩa là một hàm. Các thao tác để thực hiện hành vi đó được viết tại nội dung của hàm.
Khi thực hiện hành vi này, đối tượng có thể phải thực hiện các hành vi khác.
Ví dụ: như điện thoại phải chuyển tín hiệu giọng nói sang dạng chuẩn trước khi chuyển lên tổng đài. Cho nên một phương thức trong một lớp có thể sử dụng phương thức khác trong quá trình thực hiện hành vi của mình.
3.1.Các nhóm phương thức:
Nhóm hàm khởi tạo.
Nhóm hàm cung cấp thông tin.
Nhóm hàm cập nhật.
Nhóm hàm xử lý tính toán.
Nhóm hàm kiểm tra tính hợp lệ của đối tượng.
PHẦN 3: MÔ HÌNH TỔNG QUÁT CỦA CLASS DIAGRAM
1. Ví dụ 1 :
2. Ví dụ 2 :
3. Mô hình phát triển và phân cấp lớp :
4. Thừa kế :
5. Thừa kế và tổng quát hóa :
6. Đơn thừa kế :
7. Đa Thừa kế:
8. Lớp trừu tượng:
PHẦN 4: VÍ DỤ
Ví dụ xét ứng dụng quản lý thời khóa biểu :
Chức năng của hệ thống :
Hệ thống cho phép bộ phận giáo vụ khoa nhập thời khóa biểu,cập nhật thời khóa biểu,của tất cả các lớp.
Hệ thống cho phép sinh viên tra cứu thời khóa biểu theo từng học kỳ của lớp.
Hệ thống cho phép giảng viên tra cứu thời khóa biểu giảng dạy trong học kỳ.
Lịch học ĐHTH 7B :
Hệ thống thời khóa biểu bao gồm các thông tin :
3.1. Thứ.
3.2. Tiết.
3.3. Môn.
3.4. Giảng viên.
3.5. Phòng lớp.
3.6. Học kì .
3.7. Năm học.
3.8. Buổi học.
3.9. Thời gian học.
3.10.Khoa.
4. Từ các thông tin trên ta cần xác định :
4.1. Có bao nhiêu lớp đối tượng?
4.2. Thuộc tính của mỗi lớp?
4.3. Mối liên hệ giữa các lớp đối tượng?
5. Vẽ biểu đồ lớp(class diagram) :
TỔNG KẾT
Class Diagram
Làm tài liệu cho các lớp cấu thành hệ thống và hệ thống con.
Mô tả kết hợp tổng quát hóa và các quan hệ kết tập giữa các lớp trong biểu đồ.
Chỉ rõ đặc trưng của lớp, các thuộc tính và tác vụ chính của mỗi lớp
Biểu đồ lớp được dùng khắp nơi trong chu trình phát triển ,từ bài toán đến mô hình cài đặt.
TÀI LIỆU THAM KHẢO
Các trang web:
www.ibm.com/developerworks/vn/library/bell/index.html
forum.duytan.edu.vn/sites/index.aspx?p=forum_thread...901...
www.scribd.com/doc/95072849/14/Cac-bi?u-d?-trong-UML
fit.hcmup.edu.vn/tnb/SE/UML%20-%20Class%20Diagram.pdf
www.scribd.com/doc/57729782/UML-Class-Diagram