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

Định nghĩa các phụ thuộc

9 338 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Định nghĩa các phụ thuộc
Tác giả Dương Anh Đức
Trường học Trường Đại Học
Chuyên ngành Thiết kế kiến trúc
Thể loại Bài luận
Định dạng
Số trang 9
Dung lượng 106,67 KB

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

Nội dung

Các bước thiết kế Classw Tạo các Design Class ban đầu w Xác định các Persistent Class w Định nghĩa các Operation w Định nghĩa Class Visibility w Định nghĩa các Method w Định nghĩa các tr

Trang 1

Các bước thiết kế Class

w Tạo các Design Class ban đầu

w Xác định các Persistent Class

w Định nghĩa các Operation

w Định nghĩa Class Visibility

w Định nghĩa các Method

w Định nghĩa các trạng thái

w Định nghĩa các thuộc tính

w Định nghĩa các phụ thuộc

w Định nghĩa các mỗi kết hợp

w Định nghĩa các quan hệ tổng quát hóa

w Giải quyết đụng độ giữa các Use-Case

w Xử lý các yêu cầu phi chức năng nói chung Checkpoints

Trang 2

w Dependency là gì?

§ Là một loại quan hệ giữa hai object

w Mục đích

§ Xác định những nơi KHÔNG cần đến các mối

quan hệ cấu trúc

w Những gì cần xem xét :

§ Những gì buộc supplier trở nên nhìn thấy được bởi

Client Supplier

Định nghĩa Dependency

Trang 3

w Association là quan hệ câu trúc

w Dependency là quan hệ phi cấu trúc

w Để “nói chuyện” được, object phải khả kiến

§ Tham chiếu đến biến cục bộ

§ Tham chiếu đến tham số

§ Tham chiếu toàn cục

§ Tham chiếu đến trường dữ liệu (Field)

Association

Client Supplier1

Supplier2

Dependency

So sánh Dependency và Association

Trang 4

op1 ()

ClassB

Local Variable Visibility

w Operation op1() chứa một biến cục bộ có kiểu ClassB

Trang 5

op1 (param1: ClassB)

ClassB

Parameter Visibility

w Thể hiện của ClassB được truyền đến cho thể hiện của ClassA

Trang 6

utilityOp ()

ClassA

op1 ()

Global Visibility

w Thể hiện của ClassUtility khả kiến với mọi dối tượng vì nó là toàn cục (global)

Trang 7

w Bám vào các quan hệ trong thế giới thực

w Bám váo các quan hệ yếu nhất (dependency)

w Quan hệ là “thường trực”? Dùng association (field visibility)

w Quan hệ là “nhất thời”? Dùng dependency

§ Nhiều object chia sẻ chung 1 instance

• Truyền instance như tham số (parameter visibility)

• Đặt instance là global (global visibility)

§ Các object không chia sẻ cùng 1 instance (local visibility)

w Cần bao nhiêu thời gian để create/destroy?

§ Chi phí ? Dùng field, parameter, hoặc global visibility

Xác định Dependency

Trang 8

Ví dụ: Trước khi định nghĩa Dependency

ICourseCatalogSystem + getCourseOfferings(forSemester : Semester) : CourseOfferingList

(from External System Interfaces)

<<Interface>>

Student

- name

- address

- StudentID : int

(from University Artifacts)

<<entity>>

RegistrationController

+ // submit schedule()

+ // save schedule()

+ // create schedule with offerings()

+ // getCourseOfferings(forSemester) : CourseOfferingList

(from Registration)

<<control>>

0 1

0 1 registrant

0 * 1 courseCatalog

Schedule

- semester + submit() + // save()

# any conflicts?() + // create with offerings()

(from University Artifacts)

<<entity>>

0 *

1

0 1 0 1 currentSchedule

CourseOffering

- number : String = "100"

- startTime : Time

- endTime : Time

- days : Enum

(from University Artifacts)

<<entity>>

0 * 0 4 primaryCourses

0 *

0 2 alternateCourses

Trang 9

Ví duï: Sau khi ñònh nghóa Dependency

Global visibility

ICourseCatalogSystem + getCourseOfferings(forSemester : Semester) : CourseOfferingList

(from External System Interfaces)

<<Interface>>

Student

- name

- address

- StudentID : int

+ addSchedule(theSchedule : Schedule, forSemester : Semester)

(from University Artifacts)

<<entity>>

RegistrationController

+ // submit schedule()

+ // save schedule()

+ // create schedule with offerings()

+ // getCourseOfferings(forSemester) : CourseOfferingList

(from Registration)

<<control>>

0 1

0 1 registrant

Schedule

- semester + submit() + // save()

# any conflicts?() + // create with offerings()

(from University Artifacts)

<<entity>>

0 *

1

0 1 0 1 currentSchedule

CourseOffering

- number : String = "100"

- startTime : Time

- endTime : Time

- days : Enum + addStudent(studentSchedule : Schedule)

(from University Artifacts)

<<entity>>

0 *

0 4 primaryCourses

0 *

0 2 alternateCourses

Field visibility

Field visibility

Ngày đăng: 06/10/2013, 08: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