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

Bai giang ve ngon ngu UML Bai 7

79 431 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Phân tích và thiết kế hướng đối tượng sử dụng UML
Tác giả Dương Anh Đức
Trường học HCM University of Technology
Chuyên ngành Software Engineering
Thể loại Bài giảng
Năm xuất bản 2000
Thành phố Ho Chi Minh City
Định dạng
Số trang 79
Dung lượng 576,29 KB

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

Nội dung

Bai giang ve ngon ngu UML Bai 7

Trang 1

Phân Tích và Thiết Kế Hướng Đối Tượng

Trang 2

Muc tiêu: Use-Case Analysis

e Tìm hiểu mục đích của công đoạn Use-

Case Analysis vị trí của nó trong chu kỳ

sông của QT PTPM

e Xác định các class thực hiện một use- case

flow of events

e Phân phôi các hành vi (behaviour) của use-

case vé cac class của nó, thông qua việc

xác định nhiệm vụ của các class

e Phát triên các use-case realization mo hinh

hóa collaboration giữa các thê hiện của các

class đã xác định

Trang 3

Use-Case Analysis trong ngiv canh

>

Describe Distribution

Trang 4

Tổng quan về Use-Case Analysis

Supplementary odeling Guidelines

Trang 5

Cac bước thực hiện phân tích Use-base

e BO sung Use-Case Description

e Với mỗi use-case realizafion

— Tim cac Class tu Use-Case Behavior

— Phan b6 Use-Case Behavior vé cac Class

e Voi mdi analysis class da tim thay

— Mô tả nhiệm vụ của chúng

— Mô tả các Attribute và các Association

— Lượng gia (qualify) cac Analysis Mechanism

e Hop nhat cac Analysis Class

e Checkpoints

Trang 6

Cac bước thực hiện phân tích Use-base

a Bo sung Use-Case Description

e Voi moi use-case realization

— Tim cac Class tu Use-Case Behavior

— Phân b6 Use-Case Behavior vé cac Class

e Voi mdi analysis class da tim thay

— Mô tả nhiệm vụ của chúng

— Mô tả cac Attribute va cac Association

— Lượng gia (qualify) cac Analysis Mechanism

e Hop nhat cac Analysis Class

e Checkpoints

Trang 7

học (course

offerings)

> ¢ Hé thong truy van

va hién thi mét danh

sách các lớp học

đang mở từ CSDL

course catalog kế

thừa từ HT cũ.

Trang 8

Cac bước thực hiện phân tích Use-base

e Bồ sung Use-Case Description

e Với mỗi use-case realizafion

* — Tim cac Class tu Use-Case Behavior

— Phan bo Use-Case Behavior vé cac Class

e Voi mdi analysis class da tim thay

— Mô tả nhiệm vụ của chúng

— Mô tả cac Attribute va cac Association

— Lượng gia (qualify) cac Analysis Mechanism

e Hop nhat cac Analysis Class

e Checkpoints

Trang 9

Review: Class

e Là một sự trừu tượng hóa

e Mô tả một nhóm các đôi tượng có chung:

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 9

Trang 10

Review: Use-Case Realization

Trang 11

Tìm kiểm các 0lass từ Use-Case Behavior

e loàn bộ hành vi của một use case phải

được phân bô vê cho các analysis class

II

™ <<entity>>

Trang 12

System boundary

OOAD Su dung UML - Phan tich Use-Case

Trang 13

Cac Analysis Class: Buéc dau tién dén cai dat

Use Cases Analysis Jecsion Source Exec

Classes -~emens Coce

Xu 7

-Y Use-Case Analysis

Trang 14

Thé nao la Boundary Class?

e Làm trung gian giao tiêp với những gì nằm

e Một sô kiêu

— Các User interface class

— Cac System interface class

— Cac Device interface class

e Mot boundary class cho 1 cap actor/use

Trang 15

Vai trò của một Boundary 0lass

oem ly

Mô hình hóa sự tương tác giữa system và môi trường của nó

OOAD Sử dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 15

Trang 16

Ví dụ: Tìm kiểm cac Boundary Class

Trang 17

Guidelines: Boundary Class

e Cac User Interface Class

- Tập trung vào những thông tin gì được thê hiện

cho người dùng

— KHÔNG tập trung vào các chỉ tiết UI

e Cac System va Device Interface Class

— Tập trung vào những protocols nào phai d/n

— KHÔNG tập trung vào cách mà các protocol sẽ

được cải đặt

Tập trung vào các nhiệm vụ, chứ không phải chỉ tiêt!

Trang 18

Thé nao la mét Entity Class?

e Các trừu tượng hóa then chôt của system

Analysis class Stereotype

Trang 19

Lưu trữ và quản tri cac thong tin trong system

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 19

Trang 20

Ví dụ: Tìm kiểm các Entity Class

e Dung use-case flow of events như Input

e Các trừu tượng hóa then chốt của use case

e Hướng tiép can truyén thong (nouns filtering)

— Gạch dưới các cụm danh từ trong flow of events

— Loại bỏ các ứng viên dư thừa

— Loại bỏ các ứng viên mơ hô, không rõ ràng

— Loại bỏ các actor (ngoài phạm vi)

— Loại bỏ các kiên trúc cài đặt

— Loại bỏ các attribute (đề lại dùng sau)

— Loại bỏ các operation

Trang 21

Ví dụ: Chọn ung vién cho cac Entity Class

e Đăng ký học phân (Lập lịch)

Student

Schedule

Trang 22

Review: Generalization

e Mot class chia sé cau

truc va/hoac hanh vi

của một hay nhiều —_—Superelass

Withdraw() Getinterest()

Trang 25

Ví dụ: Generalization (Chia sẻ ngữ nghĩa)

Có sự tông address

quát hóa

FulltimeStudent ParttimeStudent gradDate maxNumCourses

OOAD Su dung UML - Phan tich Use-Case

25

Dương Anh Đức 9/2000

Trang 26

Thé nao la mét Control Class?

e Nhà điêu phôi các hành vi của Use-case

e Chi mdt control class cho mét use case

Phu thuộc use-case, độc lập môi trường

OOAD Sử dung UML - Phan tich Use-Case

Trang 27

Vai tro cua mét Control Class

Điêu phôi các hành vi của use-case

OOAD Sử dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 27

Trang 28

Vi du: Tim cac Control Class

OOAD Su dung UML - Phan tich Use-Case

Trang 29

_<<boundary>> <<control>> <<boundary>>

RegisterF orCoursesForm RegistrationController CourseCatalogSystem

<<entity>> <<entity>> <<entity>>

Trang 30

Cac bước thực hiện phân tích Use-base

e Bồ sung các mô tả của Use-Case

e D/v méi use-case realization

— Tim cac Class tu Use-Case Behavior

r -— Phan bé Use-Case Behavior cho cac Class

e D/v mdi analysis class tìm được

— M6 ta cac nhiém vu cua chung

— M6 ta cac Attribute va Association

— Luong gia cac Analysis Mechanism

e Hop nhat cac Analysis Class

e Checkpoints

Trang 31

Distribute Use-Case Behavior to Classes

e D/v mdi use-case flow of events:

— Xac dinh cac analysis class

— Gắn kết các trách nhiệm của use-case cho các

analysis class

— Mô hình hóa tương tác của cac analysis class

trong interaction diagram

Trang 32

Guidelines: Allocating Responsibilities to Classes

e Dung cac A.Class stereotype lam guide:

— Cac Boundary Class

se Các hành vị liên quan đên sự giao tiêp voi actor

— Cac Entity Class

e Cac hanh vi lién quan đến dữ liệu được gói trong

mot abstraction

— Cac Control Class

e Cac hanh vi dac thu cho mot use case hoac mot

phan rat quan trong cua flow of events

Trang 33

Guidelines: Allocating Responsibilities to Classes

e Ai có dữ liệu cân cho việc thực hiện

nhiệm vụ?

— Một class có dữ liệu, hãy để n/v cùng với dl

- Nhiêu class có dữ liệu :

e Hay dé n/v trong 1 class va thêm quan hệ với các

class khac

s Tạo một class mdi, dé n/v trong class mới này, và

thêm quan hệ với các class cũ

e Hay dé n/v trong control class, và thêm quan hệ

VỚI các class cân đê thực hiện n/v

OOAD Sử dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 33

Trang 34

The Anatomy of Sequence Diagrams

Trang 35

Vi du: Sequence Diagram

A list of the available 12 disp py eens offerings )

course offerings for this a

semester are displayed

2.1 /{ create schedule with offering ” ~ —

L 2.1.1 // create with offerings( )

ATại điểm này Submit Schedule subflow được thị hành

OOAD Sử dụng UML, - Phân tich Use-Case

Dương Anh Đức 9/2000 35

Trang 36

Vi du: Sequence Diagra

Repeat for a course Offer!

An attempt is made

to register the 1.1.2.4 student for all

e conflicts ] student(Schedule) = |

Trang 37

The Anatomy of Collaboration Diagrams

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 37

Trang 38

Vi du: Collaboration Diagram

1.2 // display course offerings( ) 1.3 // display blank schedule( )

>

: RegIsterForCoursesForm

1 // create schedule( ) [A // select 4 primary and 2 alternate offerings

2.1 // create schedule with offerings( ) 1.1.1.1 // get off e offerings( )

Trang 39

>

1.1.2.4 // any conflicts?( )

>

1.1.2.3 // still open?( ) 1.1.2.5 // add student(Schedule)

Trang 40

One Interaction Diagram Not Good Enough

Basic Flow

Alternate Flow 2

Alternate Flow 5

Alternate Flow 3

Alternate Flow n

Trang 41

Collaboration Diagrams Vs Sequence Diagrams

các v/đ cân g/q tap the

OOAD Sử dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 41

e Sequence Diagrams

— Chỉ ra rõ ràng chuỗi

các thông điệp

— Trực quan hóa tốt hơn

toàn bộ luông sự kiện

— Tốt hơn cho các đặc tả real-time va cho cac

scenario phức tạp

Trang 42

Exercise: Use-Case Analysis, Part 1

e Hay xay dung:

— Use-Case Model, dac biét la cac use-case

flows of events

— Các trừu tượng hóa/class then chốt

(còn tiễn)

Trang 43

Exercise: Use-Case Analysis, Part 1 (cont.)

Trang 44

Exercise: Use-Case Analysis, Part 1 (cont.)

e Voi mot use case cu thé, hãy thiết lập:

— Use-case realization interaction diagram cho téi thiêu một trong các use-case flows of events

Trang 45

Use-Case Analysis Steps

e Bồ sung các mô tả của Use-Case

e D/v mỗi use-case realization

— Tim các Class từ Use-Case Behavior

— Phân b6 Use-Case Behavior cho cac Class

e D/v mdi analysis class tìm được

yy — Mô tả các nhiệm vụ của chúng

— M6 ta cac Attribute va Association

— Luong gia cac Analysis Mechanism

e Hop nhat cac Analysis Class

e Checkpoints

Trang 46

Describe Responsibilities

e Trach nhiém (responsibilities) la gi’?

e Lam thé nao dé tim ra chung?

// PerformResponsibility

OOAD Su dung UML - Phan tich Use-Case

Trang 47

Vi du: View of Participating Classes (VOPC) Class

<<control>>

RegistrationController <<boundary>>

RegisterForCoursesForm // get course offerings()

// submit schedule() // get course offerings() // submit schedule() // create schedule with offerings()

// display course offerings()

// display schedule()

// create schedule()

// select 4 primary and 2 alternate offerings() <<entity>>

// display blank schedule() <<entity>> ScheduleOfferinglnfo

// create with offerings() // mark as selected()

// submit() // mark as cancelled()

<<entity>> // save() // is selected?()

number : String = "100' PrimaryScheduleOfferinglnfc startTime : Time grade

endTime : Time days : Enum // is enrolled in?()

// mark as enrolled in()

// add student() // still open?() // save()

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 47

Trang 48

Maintaining Consistency: What to Look For

e In order of criticality

— Redundant responsibilities across classes

— Disjoint responsibilities within classes

— Class with one responsibility

— Class with no responsibilities

— Better distribution of behavior

— Class that interacts with many other classes

Trang 49

Use-Case Analysis Steps

e Bồ sung các mô tả của Use-Case

e D/v modi use-case realization

— Tim cac Class tw Use-Case Behavior

— Phan b6 Use-Case Behavior cho cac Class

e D/v mdi analysis class tìm được

— M6 ta cac nhiém vu cua chung

y& — M6 ta cac Attribute va Association

— Luong gia cac Analysis Mechanism

e Hop nhat cac Analysis Class

e Checkpoints

Trang 50

Describe Attributes and Associations

e Dinh nghia cac Attribute

e Thiết lập các môi quan hệ dạng

Aggregation va Association

Trang 51

Review: What is an Attribute?

Trong analysis, khong nén

tôn nhiêu thời gian cho

<<entity>> Việc xác định cac attribute CourseOffering signature

bat ‘String=" 100°

tartTime : Time ndTime: Time

Trang 52

Finding Attributes

e Cac thuéc tinh/dac diém của các class

e Các thông tin ddc giữ lại bởi các class

e Các “danh từ” không biên thành class

— Các thông tin mà giá trị của chúng là quan

trọng

- Các thông tin ddc sở hữu bởi 1 object duy nhất

— Các thông tin không có hành vi

Trang 53

Review: What is an Association?

e Mô hình hóa một liên hệ ngữ nghĩa giữa

cac thé hién (instances) cua cac class

Association la mét quan hé cau truic

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 53

Trang 54

Review: What are Roles ?

“Nhân vật” mà một class “đóng vai" trong

Trang 55

Vi du: Multiple Associations

Cac Multiple association phai phan anh multiple roles

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 55

Trang 57

| <<entity>>

CourseOffering

Trang 60

Review: What is Aggregation?

e Mot dang dac biét cua association dung dé

mô hình hóa một môi quan hệ toàn thé-bd

phận giữa toàn thê và các phân của nó

Trang 61

Khi cam thay nghi ngo hay dung association

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 61

Trang 62

Association Class

>

e Mot class “duoc gan” vao mét association

e Chua cac thuéc tinh cua relationship

e Môi thê hiện / 1 link

OOAD Sử dung UML - Phan tich Use-Case // is enrolled in‘?()

// mark as enrolled in()

<<entity>> CourseOffering

Trang 64

VÍ dụ: VOPC: Finding Relationships

// display blank schedule // select 4 primary and 2 alternate offerings()

Trang 65

Vi du: VOPC: Finding Relationships (contd)

<<entity>>

PrimaryScheduleOfferinglnfob grade

// is enrolled in‘?() <<entity>>

// mark as enrolled in() CourseOffering

<<entity>> | number : String = "100"

primaryCourses endTime : Time

<<entity>>

ScheduleOfferinglnfo status

// mark as selected() // mark as cancelled() // is selected ?()

OOAD Su dung UML - Phan tich Use-Case

Dương Anh Đức 9/2000 65

Trang 66

Use-Case Analysis Steps

e Bồ sung các mô tả của Use-Case

e D/v mỗi use-case realization

— Tim các Class từ Use-Case Behavior

— Phân b6 Use-Case Behavior cho cac Class

e D/v mdi analysis class tìm được

— M6 ta cac nhiém vu cua chung

— M6 ta cac Attribute va Association

r - Lượng giá các Analysis Mechanism

e Hợp nhất các Analysis Class

e Checkpoints

Trang 67

Describing Analysis Mechanisms

Trang 68

Vi du: Describing Analysis Mechanisms

e Anh xa gitva Analysis class va analysis

mechanism

CourseOffering Persistency, Legacy Interface

RegistrationController Distribution

Ngày đăng: 12/08/2013, 12:04

HÌNH ẢNH LIÊN QUAN

z Phát triển các use-case realization mơ hình hĩa collaboration giữa các thể hiện của các class đã xác định - Bai giang ve ngon ngu UML Bai 7
z Phát triển các use-case realization mơ hình hĩa collaboration giữa các thể hiện của các class đã xác định (Trang 2)
Mơ hình hĩa sự tương tác giữa system và mơi trường của nĩ - Bai giang ve ngon ngu UML Bai 7
h ình hĩa sự tương tác giữa system và mơi trường của nĩ (Trang 15)
– Mơ hình hĩa tương tác của các analysis class - Bai giang ve ngon ngu UML Bai 7
h ình hĩa tương tác của các analysis class (Trang 31)
z Mơ hình hĩa một liên hệ ngữ nghĩa giữa các thể hiện (instances) của các class - Bai giang ve ngon ngu UML Bai 7
z Mơ hình hĩa một liên hệ ngữ nghĩa giữa các thể hiện (instances) của các class (Trang 53)
mơ hình hĩa một mối quan hệ tồn thể-bộ - Bai giang ve ngon ngu UML Bai 7
m ơ hình hĩa một mối quan hệ tồn thể-bộ (Trang 60)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w