1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 5 - Biểu đồ lớp pptx

75 413 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 5 - Biểu đồ lớp pptx
Chuyên ngành Computer Science
Thể loại Bài giảng
Định dạng
Số trang 75
Dung lượng 678,83 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lớp và đối tượngthực thể vật lý khái niệm hay là phần mềm thực thể vật lý, khái niệm hay là phần mềm… một vật mà có ranh giới rõ ràng và có nghĩa rõ rệt một vật mà có ranh giới rõ ràng,

Trang 3

9 Biểu đồ

1. Biểu đồ Use case (Use Case Diagram)

2. Biểu đồ lớp (Class Diagram)

3. Biểu đồ đối tượng (Object Diagram)

4. Biểu đồ trạng thái (State Diagram)

5. Biểu đồ trình tự (Sequence Diagram) ự ( q g )

6. Biểu đồ cộng tác (Collaboration Diagram)

7. Biểu đồ hoạt động (Activity Diagram)

7. Biểu đồ hoạt động (Activity Diagram)

8. Biểu đồ thành phần (Component Diagram)

9 Biểu đồ triển khai (Deployment Diagram)

9. Biểu đồ triển khai (Deployment Diagram)

Trang 4

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

Trang 5

Class và Object

Account

aNo

Name of Class

Class

balance dayLimit = 200 soFar

Data Declaration

variable

SamAcc::

balance(?)

balance( ) withdraw( )

-Methods Definition

SamAcc::

aNo=101 balance=500 soFar=100

aNo = 105 balance = 600 soFar=200

Object Data Values soFar 200 Data Values

Trang 6

Lớp và đối tượng

thực thể vật lý khái niệm hay là phần mềm

thực thể vật lý, khái niệm hay là phần mềm…

một vật mà có ranh giới rõ ràng và có nghĩa rõ rệt

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

có chung thuộc tính, ứng xử, mối quan hệ và ngữ nghĩa (semantic).g ( )

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

Trang 7

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 ạ g ộ ợ g ợ ị 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 ợ g

Trang 8

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

„ Hành vi xác định một hoạt động của một đối

tượng (thay đổi trạng thái theo thời gian)

nhằm đáp ứng 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

„ 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

Trang 9

Biểu tượng lớp – đối tượng

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

tên gạch dưới

Trang 10

Tên lớp và thuộc tính

„ Tên lớp (class name): Hầu như tên lớp trùng

ới tê đối tượ thế iới thự à ó biể

với tên đối tượng thế giới thực mà nó biểu

diễn

„ Thuộc tính (attribute):

tượng

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…

Trang 11

…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 là công cộng đối với các lớp con

Trang 12

Dấu tương tự như thuộc tính

„ Dấu tương tự như thuộc tính

Trang 16

Những ràng buộc của kết hợp

với đường liên hệ

với đường liên hệ

động từ tên có thể bỏ qua đặc biệt khi tên vai trò

độ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

t ê t ô g t

trò của lớp trong kết hợp, tên vai trò phải là duy p g ợp, p y

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

Trang 17

Kết hợp đệ qui

„ Tên vai trò là bắt buộc

Trang 21

Kết tập (aggregation)

Một đối tượ đượ t từ hữ đối tượ khá ó tí h

„ 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ó Một đối tượng là tập hợp của những đối tượng khác có

Trang 22

Composition (kết cấu)

đối tượng bộ phận không vượt quá thời gian sống

đối tượng bộ phận không vượt quá thời gian sống của đối tượng toàn bộ

Trang 23

Aggregation và composition

Trang 25

„ 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

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).

Trang 26

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

Trang 27

Thừa kế đơn

Ancestor

Account balance name number

Superclass number

Withdraw() CreateStatement()

Superclass (parent)

Generalization Generalization Relationship

Checking

Withdraw()

Savings

GetInterest() Withdraw()

Subclasses

Withdraw()

Descendents

Trang 28

Đa thừa kế

multiple inheritance

Airplane Helicopter Bird Wolf Horse

Use multiple inheritance only when needed, and

always with caution !

always with caution !

Trang 29

Ví dụ

G dV hi l GroundVehicle weight

licenseNumber

owner Person0 * 1

Subclass size

getTax( )

Trang 32

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

Trang 33

Chú thích

Trang 35

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 g g q

hệ cấu trúc và những ứng xử về chức năng của các lớpp

Trang 36

Biểu đồ lớp được dùng khắp nơi trong chu trình phát triển

„ 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 các thư viện lớp có sẵn ệ g ệ p

Trang 39

Các lớp dự tuyển (*)

Trang 40

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

Trang 41

Phát triển phân cấp lớp

Trang 42

Phát triển phân cấp lớp

Trang 43

Subclasses are fully Consistent with super

monthly

paid

y paid paidy classes and add more

information

Real-world entities on leaves

Trang 45

VD

Trang 46

Supermarket

Trang 47

Company

Trang 48

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

Trang 49

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

„ Captures Instances and Links

Trang 50

Bài tập

„ Books and journals The library contains books

and journals It may have several copies of a given

and journals It may have several copies of a given book

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

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

enforcing the rules described above

Trang 52

UML/NN 52

Trang 53

Biểu đồ lớp quản lý thuê xe

Trang 55

Lớp tài khoản

Trang 56

Phát mã từ 1 class

operation

Trang 57

Quan hệ hai chiều 1-1

Trang 58

Lớp Passenger

public class Passenger

{

private string FirstName;

private string LastName;

private string Address;

private string City;

private string State;

i t l Zi

private long Zip;

private string Phone;

public FrequentFlyerAccount theFrequentFlyerAccount;

Trang 59

Lớp FrequentFlyerAccount

public class FrequentFlyerAccount

{

private int AccountID;

private int NumberOfMiles;

private string DateEstablished;

public Passenger thePassenger;

Nếu muốn dùng tên khác cho thuộc tính này, ta phải đặt tên

public Passenger thePassenger;

Trang 60

Quan hệ hai chiều 1-n

Trang 61

Lớp Flight

public class Flight

{

private int FlightNumber;

public Ticket theTicket[];

Trang 62

Lớp Ticket

public class Ticket

{{

private int SeatNumber;

private long PurchasePrice;

Trang 63

Dùng lớp container

public class Flight

{{

private int FlightNumber;

public TicketList theTicket; // lớp container public Flight()

{

}}

Trang 64

Quan hệ hai chiều m-n

public class Flight

{ private int FlightNumber;

public Passenger thePassenger[];

public Flight()

{ }

public class Passenger

{ private string FirstName;

{ p ate st g st a e;

private string LastName;

private string Address;

private string City;

private string State;

private long Zip;

private string Phone;

bli li h h li h []

public Flight theFlight[];

public Passenger() {} ….

Trang 65

ra

Trang 66

Lớp Passenger

public class Passenger

{

private string FirstName;

private string LastName;

private string Address;

private string City;

private string State;

i t l Zi

private long Zip;

private string Phone;

public FrequentFlyerAccount theFrequentFlyerAccount;

Trang 67

Quan hệ phản thân - Reflexive Association

Trang 68

Quan hệ kết hợp - Aggregation

„ Có 2 loại quan hệ aggregation:

chiếu đến 1 class khác

„ Mã được phát ra cho 2 loại này là như nhau.

Trang 69

Quan hệ kết tập - Aggregation

„ Ví dụ: quan hệ aggregation giữa lịch bay (flight

schedule) và các chuyến bay (flight) Mỗi lịch

schedule) và các chuyến bay (flight) Mỗi lịch

bay chứa 1 hay nhiều chuyến bay và mỗi chuyến bay có thể thuộc về 1 hay nhiều lịch bay

bay có thể thuộc về 1 hay nhiều lịch bay

Trang 70

Quan hệ kết tập

thuộc tính của class kia (flight) Do multiplicity là

thuộc tính của class kia (flight) Do multiplicity là 1:n nên thuộc tính được phát sẽ là 1 mảng

theFlight[]

public class Schedule

{

private date BeginDate;

private date EndDate;

public Flight theFlight[];

public Schedule()

{

}

}

Trang 71

Quan hệ phụ thuộc - Dependency Relationship

„ Không có thuộc tính nào được tạo cho cả 2 lớ

lớp

Trang 72

Quan hệ tổng quát hoá

public class Child extends Parent

public class Child extends Parent

{ public Child() {{

} }

Trang 73

Giao diện (Interface)

stereotype là Interface Nó chỉ chứa operation

stereotype là Interface Nó chỉ chứa operation

signatures nhưng không chứa phần thực thi

diện đó

Trang 74

Ví dụ về Interfaces

Ngày đăng: 25/07/2014, 16:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w