UML Chuong 5 Bieudolopbieudodoituong

Nội dung

Biểu diễn Lớp và đối tượng Biểu diễn quan hệ (relationship) Xây dựng Mô hình

Chương 4
Biểu đồ lớp và biểu đồ đối tượng

UML/NN

1

UML/NN

2

9 Biểu đồ
1. 2. 3. 4. 5. 6. 7. 8. 9.
UML/NN

Biểu đồ lớp và đối tượng

Biểu Biểu Biểu Biểu Biểu Biểu Biểu Biểu Biểu

đồ đồ đồ đồ đồ đồ đồ đồ đồ

Use case (Use Case Diagram) lớp (Class Diagram) đối tượng (Object Diagram) trạng thái (State Diagram) trình tự (Sequence Diagram) cộng tác (Collaboration Diagram) hoạt động (Activity Diagram) thành phần (Component Diagram) triển khai (Deployment Diagram)
3 UML/NN 4

1

Lớp và đối tượng
Một đối tượng biểu diễn cho một thực thể có thể là thực thể vật lý, khái niệm hay là phần mềm… Một đối tượng là một khái niệm, sự trừu tượng hay 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 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ữ nghĩa (semantic). Lớp là một khuôn mẫu để tạo ra đối tượng Mỗi đối tượng trong một hệ thống đều có ba đặc tính: trạng thái, ứng xử và danh định.
UML/NN 5

Trạng thái (state)
Trạng thái của một đối tượng là một trong những tình trạng mà đối tượng có thể tồn tại trong môi trườ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 thường được được gắn với thời điểm. Trạng thái của một đối tượng được xác định qua một tập các thuộc tính, và mối quan hệ với các đối tượng khác.
UML/NN 6

Hành vi (Behaviour) và Danh định (Identity)

Biểu tượng lớp – đối tượng
Một biểu tượng lớp là một hình chữ nhật với 3 phần Một biểu đồ lớp miêu tả hướng nhìn tĩnh của một hệ thống bằng các khái niệm lớp và mối quan hệ giữa chúng với nhau Đối tượng biểu diễn bằng một hình chữ nhật với tên gạch dưới

Hành vi xác định một đối tượng tác động và đáp ứng với các yêu cầu từ các đối tượng khác, nó tiêu biểu cho những gì mà đối tượng này có thể làm. Ứng xử được thực thi qua loạt các Phương thức (Operation) của đố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
Tên lớp (class name): Hầu như tên lớp trùng với tên đối tượng thế giới thực mà nó biểu diễn Thuộc tính (attribute):
Thuộc tính miêu tả những đặc trưng của đối 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…

…Thuộc tính
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 đó Nếu thuộc tính có tính khả kiến là riêng (private), bạn sẽ không thể truy cập nó từ bên ngoài lớp đó 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 nhưng được thừa kế bởi các lớp dẫn xuất

UML/NN

9

UML/NN

10

Phương thức (method)
Phương thứ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 Dấu cộng và trừ tương tự như thuộc tính

Nội dung
Biểu diễn Lớp và đối tượng Biểu diễn quan hệ (relationship) Xây dựng Mô hình

UML/NN

11

UML/NN

12

3

Quan hệ (relationship)
Kết hợp (Association) Kết tập (aggregation) Composition (kết cấu) Phụ thuộc (Dependency) Chuyên biệt và tổng quát hóa (Specialization/Generalization)

Kết hợp (Association)

Association Name Professor University

Works for Role Names

Class

Professor Employee Employer

University

UML/NN

13

UML/NN

14

Những ràng buộc của kết hợp
Một kết hợp phải có một tên đặt bên trên hay kề với đường liên hệ Tên của kết hợp phải 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 kết hợp hay tên vai trò
UML/NN 15

Kết hợp đệ qui
Tên vai trò là bắt buộc

UML/NN

16

4

Lượng số (Multiplicity)
Xác định bao nhiêu đối tượng tham gia kết hợp

Chiều (Navigation)

Multiplicity Student Schedule

1
Navigation

0..*

One or more

UML/NN

17

UML/NN

18

Kết tập (aggregation)
Kết tập 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ý

Composition (kết cấu)
Kết cấu là một dạng của kết tập, thời gian sống của đối tượng bộ phận không vượt quá thời gian sống của đối tượng toàn bộ Khi toàn bộ bị xóa thì bộ phận cũng bị xóa Bộ phận có thể bị xóa trước khi toàn bộ bị xóa
Whole Part Schedule

Whole Student
Aggregation

Student Part Schedule
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

Class

Client

Supplier

Component

Package

Dependency relationship

Client

Supplier

ClientPackage

SupplierPackage

Dependency relationship
22

UML/NN

21

UML/NN

Specialization/Generalization
Chuyên biệt hóa(/tổng quá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 (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)
Lớp con thừa kế attributes, operations, và relationships Lớp con có thể: Cộng thêm attributes, operations, relationships Xác định lại tác vụ được thừa kế (caution!)
UML/NN 23 UML/NN

Thừa kế (Inheritance) và tổng quát hóa

24

6

Thừa kế đơn
Ancestor
Account balance name number Withdraw() CreateStatement()

Đa thừa kế

FlyingThing
multiple inheritance

Animal

Superclass (parent)

Generalization Relationship

Airplane

Helicopter

Bird

Wolf

Horse

Checking

Savings GetInterest() Withdraw()

Subclasses

Withdraw()

Use multiple inheritance only when needed, and always with caution !
25 UML/NN 26

Descendents
UML/NN

Ví dụ
GroundVehicle Person

Ràng buộc
weight licenseNumber register( ) owner 0..* 1

Superclass (parent)

generalization

Cho phép cộng thêm ngữ nghĩa mới Ràng buộc là một String đóng trong ngoặc nhọn đặt gần thành phần mà nó áp dụng Dùng quan hệ phụ thuộc nếu có nhiều thành phần mà ràng buộc áp dụng
Professor Member {Subset}
Deparment Head

Subclass

Car size

Truck tonnage getTax( )

Trailer

Department

UML/NN

27

UML/NN

28

7

4 loại Ràng buộc
Disjoint Overlapping Complete Incomplete

Thừa kế và tổng quát hóa

UML/NN

29

UML/NN

30

Chú thích

Nội dung
Biểu diễn Lớp và đối tượng Biểu diễn quan hệ (relationship) giữa các lớp Xây dựng Mô hình

UML/NN

31

UML/NN

32

8

Biểu đồ lớp (class diagram)
Độc lập với ngôn ngữ Những ký hiệu cho phép đặc tả lớp, dữ liệu hay thuộc tính của chúng (private) và phương thức (method), sự thừa kế… Những 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

Mục đích của biểu đồ lớp
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ư 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

Xác định lớp
Những danh từ trong miền vấn đề Kiến thức miền Các User case Những thực thể vật lý Những thiết bị Những sự kiện Những vai trò Những thủ tục hoạt động Những vị trí (site) Những đơn vị thuộc tổ chức
UML/NN 35

Xác định lớp
Xác định từ
Những yêu cầu Use case Những chuyên gia ứng dụng Nghiên cứu hệ thống

Nghiên cứu thêm
Những hệ thống tương tự Những hệ thống trước đó

UML/NN

36

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

Company

Biểu đồ đối tượng
Class Diagram

Instance Diagram

UML/NN

43

UML/NN

44

11

Biểu đồ đối tượng
Captures Instances and Links

Bài tập
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.
45 UML/NN 46

UML/NN

UML/NN

47

UML/NN

48

12

Sign up to vote on this title
UsefulNot useful