Phù hợp các sinh viên đang theo làm đồ án CSDL hoặc phần mềm quản lí khác. Tài liệu sẽ là khuôn mẫu tương đối chuẩn để định hướng cho sinh viên. Với báo cáo đầy đủ, chi tiết, sạch sẽ, mã nguồn tham khảo. Cách viết code và tối ưu thuật toán quản lí. Cách xây dựng form và kết nối với Database để lưu trữ
Trang 1RWWA mcs
AOL
HO CHI MINH UNIVERSITY OF INDUSTRY
DE TAI TIEU LUAN CLASS DIAGRAM
MÔN: HỆ CƠ SỞ DỰ LIEU GVHD: LÊ NGỌC TÁN
Trang 2
PHAN CONG CONG VIỆC
> HA VAN THANH
o_ 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
> DO HONG QUANG
o Cac thanh phan trong class diagram
> NGUYEN QUANG HUY
©_ Các mé hinh hinh vé class diagram
> TRAN CONG CHiINH
o Trinh bay vi du va vé m6 hinh class diagram
Trang 3NHẬN XÉT CỦA GIÁO VIÊN
Trang 4LỜI MỞ ĐẦU CLASS DLAGRAM (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 dit ligu(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
đữ liệu),vì vậy khi hiêu rõ class điagram 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 :
Trang 5
MỤC LỤC
PHẢN 1:ĐÐỊNH NGHĨA VÀ TÔNG QUAN VÈẺ CLASS DIAGRAM . -° << 7
I2 020 0vải 1 ỞÖ 7
I2) 6 0 7 1.2 Cách thé hiện một class va kí hiệu (symbo]) 2 2£ s2+2+E+EE+2E£+E++ExzzEz+zz+rxeree 7
1.2.1 Cách thể hiện một class -:-222+2222++2EEEEvt2EEEEEtEEEktrrrrtrrrrrrrrrrrrrii 7 12⁄2 — Kihiệu Ă.SSS CS TT TT 1111 121 1111110111111 8
2 Cấu trúc : Mỗi sơ đồ lớp có nhiều class
thuộc cùng một lớp không được phép trùng nhau - - 5+ + 2£ + £+v£+eEsexexesese 9
1.2.2 Thuộc tính có giá trị rời rạc
1.2.3 Thuộc tính đa trị
1.2.4 Thuộc tính là đối tượng phụ (+)
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
thưở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 -¿¿s¿ 10 1.2.8 Thuộc tinh private: lớp khác không nhìn thấy thuộc tính 2: s- 10
“o0 ¡0 1 AB 10
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 ¿23+ 2t 32t SE SEEvEeEEerrrrrkrrrrkrrrrkrree
2.2 Quan hé kết tập (aggregation): Là quan hệ giữa toàn bộ và bộ phận
2.3 Quan hệ kết cấu (compostion) :
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ự 3
2.5 Tống quát hóa (Generalization) : . 2 ++2+++++EE+EE2E++EEEEEtEEEEEESEErEkrrrerkee 13
Trang 6
4 Từ các thông tin trên ta cần xác định
5 Vé biéu dé lép(class diagram)
TONG KET
TAT LIEU THAM KHAO ccscsssscssssccsssccsseccssecssseccssecesssccsnscesssccsaseceasecsssccessecessseesaseesaeessses 24
Trang 7
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 | phan 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 đồ
đisplay() : void
remove() : void setWidth(newWicth) : void setLength(newLength) : void setPosition(pos : Point) : void
>_ 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à aftributes 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ó
— @
Trang 8122 Kihié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
Behavior Add a student Delete a student Get course roster Determine if it is full
Trang 9PHAN 2: CAC THANH PHAN 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: si
> 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): Gid tri cia 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
— ———— 9
Trang 10
Co so du lieu:CMONHOC `œ so du lie -CMONHOC Cau trục du lieu:CMONHOC MonID =01 M MonID =02
MaMon = TH01 MaM MaMon = TH02
TenMon = Co s du lieu TenMoi du lieu TenMon = Cau trục du lieu TinChi =4 TinChi TinChi =4
SoTietLT =45 SoTietLT 5 SoTietLT =45
SoTietBT =30 SoTietBT SoTietBT =30
TenVT =CSDL TenVT TenVT =CTDL
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 Thugc tính là đối trợ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 kt giữa các đôi tượng của các lớp này
— ————
Trang 11> 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
> Moi dau cua 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ò
i MeBlianh Hưng aS = KhoalD +int
+ TenNganh : string O04 ie MaKhoa : string
Trang 122.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ý
> Là một dạng đặc biệt của quan hệ Aggregation
2.3Quan hệ kết cấu (compostion) :
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égitra mot đối tượng và các thành phần của nó
> 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
Trang 132.4 Quan hệ phụ thuộc (Dependeney): Một biến đồi trên một thành phan sẽ gây ra sự
biến đổi trong thành phần khác
> 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 chỉ tiết và đặc tả cho lớp kết quả Lớp mang
tính khái quát được gọi là /ép cha (superclass), két quả chuyên biệt hóa là việc tạo ra các /ớp con (Subclass)
Trang 14
> Tổng quát hóa và chuyên biệt liên quan tới thừa kế (Inheritance) :
“ Dơn kế thừa:
Trang 15
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ô ta 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
o_ 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
Trang 16PHAN 3: MO HINH TONG QUAT CUA CLASS DIAGRAM
# pointInShape(p : Point) : Boolean
Trang 173 Mô hình phát triển và phân cấp lớp :
Trang 184 Thừa kế :
(ee
Employee Customer Supplier
paid paid paid
Driver Cleaner Sales
Subclasses are fully Consistent with super classes and add more
informatio
More specialized (subclasses)
————
Trang 196 Đơn thừa kế :
Ancestor
Account balance name
Use multiple inheritance only when needed, and
always with caution !
en)
Trang 20
Car Truck Trailer
1Q-value: Integer Ped_skill: Integer
student_points: Integer experience: Integer
*» Abstract classes
create a high-
level modelling vocabulary
Trang 211.3 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
1.4 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ỳ
2 Lịch học ĐHTH 7B :
LỊCH HỌC Tìm kim theo - © M& lip hoc ® Tùy đhọn Khoa*_ KhoaCôngNghệ Théng Tin 7 Hocky Hocky 1 (2012-2013) s Lphọc" ĐạiHọcTinHọc7B-HK4 7
| Xem lich hoc |
dc “(29590 tin? ¬¬ Vevinkis OBO Se ear an
Ci ye a) hin 739 (NgCTh DRO ee tetra Cte e998) 2 739 NTHeingioh HAO nạn hang
me nes teen 79 tnmamate Ho Sn
tập trình hướng đổi tượng Moana ats 10> 12 NoTHng Noh HSI NE nnuonn 5 Từ: 1009-2012
3 Hệ thống thời khóa biểu bao gồm các thông tin :
Trang 224 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(elass diagram) :
+TENKHOA - string NAMHOC string
+MANGANH string NGAYBATDAU datetime
TENLOP string
Trang 23
TONG KET
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
ooo)
Trang 24TÀI LIỆU THAM KHẢO Các trang web:
1
2
3
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
http://en.wikipedia.org/wiki/Class_diagram
http://dc172.4shared.com/doc/Tb&KjmF_/preview.html