Professional Documents
Culture Documents
UML/NN 1
UML/NN 2
1
Lớp và đối tượng Trạng thái (state)
Một đối tượng biểu diễn cho một thực thể có thể là Trạng thái của một đối tượng là một trong
thực thể vật lý, khái niệm hay là phần mềm… những tình trạng mà đối tượng có thể tồn tại
Một đối tượng là một khái niệm, sự trừu tượng hay trong môi trường.
một vật mà có ranh giới rõ ràng, và có nghĩa rõ rệt
cho một ứng dụng
Trạng thái của một đối tượng thường sẽ thay
đổi theo thời gian, trạng thái của đối tượng
Một lớp là một mô tả cho một nhóm các đối tượng
có chung thuộc tính, ứng xử, mối quan hệ và ngữ thường được được gắn với thời điểm.
nghĩa (semantic). Trạng thái của một đối tượng được xác định
Lớp là một khuôn mẫu để tạo ra đối tượng qua một tập các thuộc tính, và mối quan hệ
Mỗi đối tượng trong một hệ thống đều có ba đặc với các đối tượng khác.
tính: trạng thái, ứng xử và danh định.
UML/NN 5 UML/NN 6
Hành vi (Behaviour) và Danh định (Identity) Biểu tượng lớp – đối tượng
Hành vi xác định một đối tượng tác động và Một biểu tượng lớp là một hình chữ nhật với 3 phần
đáp ứng với các yêu cầu từ các đối tượng Một biểu đồ lớp miêu tả hướng nhìn tĩnh của một
khác, nó tiêu biểu cho những gì mà đối hệ thống bằng các khái niệm lớp và mối quan hệ
tượng này có thể làm. Ứng xử được thực thi giữa chúng với nhau
qua loạt các Phương thức (Operation) của Đối tượng biểu diễn bằng một hình chữ nhật với
tên gạch dưới
đối tượng
Danh định dùng để phân biệt giữa các đối
tượng ngay cả khi nó có cùng trạng thái và
giá trị các thuộc tính
UML/NN 7 UML/NN 8
2
Tên lớp và thuộc tính …Thuộc tính
Tên lớp (class name): Hầu như tên lớp trùng Nếu thuộc tính có tính khả kiến là công cộng (public),
thì nó có thể được nhìn thấy và sử dụng ngoài lớp đó
với tên đối tượng thế giới thực mà nó biểu
Nếu thuộc tính có tính khả kiến là riêng (private), bạn
diễn sẽ không thể truy cập nó từ bên ngoài lớp đó
Thuộc tính (attribute): Nếu thuộc tính có tính khả kiến là bảo vệ (protected) thì
cũng giống như thuộc tính có tính khả kiến là riêng
Thuộc tính miêu tả những đặc trưng của đối nhưng được thừa kế bởi các lớp dẫn xuất
tượng
Giá trị của thuộc tính thường là những dạng dữ
liệu đơn giản được đa phần các ngôn ngữ lập
trình hỗ trợ như Integer, Boolean, Floats, Char…
UML/NN 9 UML/NN 10
UML/NN 11 UML/NN 12
3
Quan hệ (relationship) Kết hợp (Association)
Kết hợp (Association)
Kết tập (aggregation)
Composition (kết cấu)
Phụ thuộc (Dependency)
Association Name
Chuyên biệt và tổng quát hóa
(Specialization/Generalization) Professor
Works for
University
Role Names
Class Professor University
Employee Employer
UML/NN 13 UML/NN 14
4
Lượng số (Multiplicity) Chiều (Navigation)
Xác định bao nhiêu đối tượng tham gia kết
hợp
Multiplicity
Student Schedule
1 0..*
Navigation
One or more
UML/NN 17 UML/NN 18
Whole Part
Student Schedule
Whole
Part
Student Schedule Aggregation
Aggregation
UML/NN 19 UML/NN 20
5
Aggregation và composition 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
ClientPackage SupplierPackage
Dependency
relationship
UML/NN 21 UML/NN 22
UML/NN 23 UML/NN 24
6
Thừa kế đơn Đa thừa kế
Ancestor
Checking Savings
Subclasses Withdraw() GetInterest() Use multiple inheritance only when needed, and
Withdraw() always with caution !
Descendents
UML/NN 25 UML/NN 26
Ví dụ Ràng buộc
Cho phép cộng thêm ngữ nghĩa mới
GroundVehicle
owner Person Ràng buộc là một String đóng trong ngoặc nhọn
Superclass weight
(parent) licenseNumber 0..* 1 đặt gần thành phần mà nó áp dụng
register( ) Dùng quan hệ phụ thuộc nếu có nhiều thành phần
generalization mà ràng buộc áp dụng
UML/NN 27 UML/NN 28
7
4 loại Ràng buộc Thừa kế và tổng quát hóa
Disjoint
Overlapping
Complete
Incomplete
UML/NN 29 UML/NN 30
UML/NN 31 UML/NN 32
8
Biểu đồ lớp (class diagram) Mục đích của biểu đồ lớp
Độc lập với ngôn ngữ Làm tài liệu cho các lớp cấu thành hệ thống và hệ thống
con
Những ký hiệu cho phép đặc tả lớp, dữ liệu Mô tả kết hợp, tổng quát hóa và các quan hệ kết tập giữa
hay thuộc tính của chúng (private) và các lớp trong biểu đồ
phương thức (method), sự thừa kế… 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
Những sơ đồ đưa ra những hình ảnh về quan Biểu đồ lớp được dùng khắp nơi trong chu trình phát triển,
hệ cấu trúc và những ứng xử về chức năng từ bài toán đến mô hình cài đặt
của các lớp Tư liệu về cách tương tác với với các thư viện lớp có trước
Chĩ rõ các thể hiện đối tượng cụ thể bên trong cấu trúc lớp
Chỉ rõ các giao diện được các lớp hỗ trợ
UML/NN 33 UML/NN 34
9
Các lớp dự tuyển (*) Phương pháp tiếp cận
Top-down: các lớp cha được xác định bởi các
nhà phân tích rồi xem xét cấu trúc tổng quát
để đưa ra các lớp con, hướng tiếp cận này
dựa chủ yếu vào kinh nghiệm của những nhà
phân tích
Bottom-up: tìm kiếm các trách nhiệm được
chia sẻ, phát triển cấu trúc tổng quát từ thao
tác và các thuộc tính chung
UML/NN 37 UML/NN 38
Phát triển phân cấp lớp Phát triển phân cấp lớp
UML/NN 39 UML/NN 40
10
VD Supermarket
UML/NN 41
Instance
Diagram
UML/NN 43 UML/NN 44
11
Biểu đồ đối tượng Bài tập
Captures Instances and Links Books and journals The library contains books
and journals. It may have several copies of a given
book.
Some of the books are for short term loans only. All
other books may be borrowed by any library
member for three weeks. Members of the library
can normally borrow up to six items at a time, but
members of staff may borrow up to 12 items at one
time. Only members of staff may borrow journals.
Borrowing The system must keep track of when
books and journals are borrowed and returned,
enforcing the rules described above.
UML/NN 45 UML/NN 46
UML/NN 47 UML/NN 48
12