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

Thiết kế Use Case

38 920 3
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

Định dạng
Số trang 38
Dung lượng 230,08 KB

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

Nội dung

Thiết kế Use Case

Trang 1

Phân tích và Thiết kế Hướng đối tượng

dùng UML

Module 11: Thiết kế Use-Case

Trang 2

PT & TK Hướng đối tượng – Thiết kế kiến trúc

w Tinh chỉnh use-case realizations có được từ

bước phân tích Use-Case dựa trên các phần tử thiết kế đã được xây dựng

Trang 3

Vò trí cuûa Thieát keá Use-Case

Architect

Designer

Architectural Analysis

Architecture Reviewer

Review the Design

Review the Architecture

Use-Case Analysis

Architectural Design ConcurrencyDescribe DistributionDescribe

Class Design

Subsystem Design

Use-Case

Trang 4

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Tổng quan về Thiết kế Use-Case

Supplementary

Specifications

Use-Case Design

Use-Case Realization Use-Case Realization

Design Subsystems and Interfaces

Design Classes Use Case

Trang 5

Các bước thiết kế Use-Case

w Mô tả tương tác giữa các Design Object

w Đơn giản hóa các Interaction Diagram nhờ vào các Subsystem (optional)

w Mô tác các hành vi liên quan đến tính

Persistence

w Tinh chỉnh mô tả về các Flow of Events

w Hợp nhất các Class và các Subsystem

w Checkpoints

Trang 6

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Nhắc lại: Use-Case Realization

Class Diagrams

Sequence Diagrams

Use Case

Use Case Use-Case Realization

Collaboration Diagrams

Trang 7

Các bước thiết kế Use-Case

w Mô tả tương tác giữa các Design Object

các Subsystem (optional)

Persistence

Trang 8

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Sequence Diagrams Class Diagrams

Tinh chỉnh Use-Case Realization

w Xác định các object có tham gia vào Use-Case

w Phân công trách nhiệm cho các object

w Mo hình hóa các thông điệp giữa các object

w Mô tả các kết quả xử lý từ các thông điệp

w Mô hình hóa quan hệ giữa các class liên quan

Trang 9

Các bước tinh chỉnh Use-Case Realization

w Thay thế các class khả dụng bằng các

subsystem interface kết hợp với chúng

w Từng bước tích hợp các cơ chế kiến trúc khả dụng

w Hiệu chỉnh use-case realization

§ Các Interaction diagram

§ View of participating classes (VOPC) class

diagram(s)

Trang 10

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Tất cả các analysis class khác được ánh xạ thành các design class

BillingSystem // submit bill()

Ví dụ: Tích hợp Subsystem Interfaces

getCourseOfferings(forSemester : Semester) : CourseOfferingList

submitBill(forTuition : Double, forStudent : Student)

Trang 11

Ví dụ: Trước khi tích hợp SubSystem Interfaces

Phải thay bằng subsystem interface

Một ds các học phần

có thể đăng ký trong HK

1.2 // display course offerings( )

1.1 // get course offerings( )

1.1.1 // get course offerings(forSemester)

1.3 // display blank schedule( )

2 // select 4 primary and 2 alternate offerings( )

2.1 // create schedule with offerings( ) 2.1.1 // create with offerings( )

Trang 12

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Ví dụ: Sau khi tích hợp Subsystem Interface

: Student

: RegisterFor

A list of the available

course offerings for this

semester are displayed

Student wishes to

create a new

schedule

1: // create schedule( )

1.2: // display course offerings( )

1.1: // get course offerings( )

2.1.2: // add schedule(Schedule)

1.1.1: getCourseOfferings(Semester)

1.3: // display blank schedule( )

Tại vị trí này Submit Schedule subflow được thực hiện

2: // select 4 primary and 2 alternate offerings( )

2.1: // create schedule with offerings( )

2.1.1: // create with offerings( )

Trang 13

Ví dụ: Tích hợp Subsystem Interfaces (VOPC)

ICourseCatalogSystem

getCourseOfferings() initialize()

(from External System Interfaces)

// select 4 primary and 2 alternate offerings()

// display blank schedule()

(from University Artifacts)

<<entity>>

RegistrationController

// submit schedule() // save schedule() // create schedule with offerings() // getCourseOfferings()

(from Registration)

<<control>>

0 1 0 1 registrant

semester // submit() // save() // any conflicts?() // new()

(from University Artifacts)

CourseOffering number

startTime endTime days // addStudent() // removeStudent() // new()

0 *

0 2 alternateCourses 0 * 1

Subsystem interface

Trang 14

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Student

CourseOffering Course

RegistrationController

Persistency, Security

Persistency, Legacy Interface Persistency, Legacy Interface Distribution

Tích hợp các cơ chế kiến trúc: Security

w Bảng ánh xạ các Analysis-Class với các cơ chế kiến trúc có từ bước phân tích Use-Case

Schedule Persistency, Security

Trang 15

Analysis Class Các cơ chế

Student

CourseOffering Course

Tích hợp các cơ chế kiến trúc: Distribution

w Bảng ánh xạ các Analysis-Class với các cơ chế kiến trúc có từ bước phân tích Use-Case

Schedule Persistency, Security

Trang 16

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Các bước thiết kế Use-Case

w Đơn giản hóa các Interaction Diagram nhờ vào các Subsystem (optional)

Persistence

Trang 17

Tăng mức độ trừu tượng

Đóng gói các Subsystem Interaction

w Có thể mô tả các tương tác dưới nhiều mức độ khác nhau

w Tương tác giữa các Subsystem có thể mô tả

bởi các interaction diagram của chúng

Trang 18

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Khi nào đóng gói Sub-Flows trong Subsystem

w Sub-flow xuất hiện trong nhiều use-case

realizations

w Sub-flow có tiềm năng tái sử dụng

w Sub-flow phức tạp và dễ dàng đóng gói

w Sub-flow do 1 người/đội đảm nhiệm

w Sub-flow tạo ra một kết quả xác định tốt

w Sub-flow được gói gọn trong một component trong mô hình cài đặt

Trang 19

MySubsystem InterfaceA

:InterfaceA

Guidelines: Đóng gói Subsystem Interactions

w Các Subsystem phải được biểu diễn với các

interface của chúng trong interaction diagrams

w Các thông điệp đến subsystems được mô hình như các thông điệp đến subsystem interface

w Các thông điệp đến subsystems tương ứng với các operation của subsystem interface

w Các tương tác trong subsystems được mô hình trong Subsystem Design

Trang 20

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Lợi ích của việc đóng gói Subsystem Interaction

w Use-case realization bớt hỗn độn

w Use-case realization có thể được tạo trước khixây dựng thiết kế bên trong của subsystems

(parallel development)

w Use-case realizations generic hơn và dễ dàng thay đổi (subsystems có thể được thay thế)

Trang 21

Dùng các subsystem interface như điểm đồng bộ hóa

Parallel Subsystem Development

w Chú ý vào các y/c ảnh hưởng đến subsystem

interfaces

w Phác thảo các interface cần thiết

w Mo hình hóa các thông điệp băng qua ranh giới các subsystem

w Vẽ interaction diagrams dùng các subsystem

interfaces cho mỗi use case

w Tinh chỉnh các interface cần để cung cấp các thông điệp

w Phát triển song song các subsystem

Trang 22

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Các bước thiết kế Use-Case

các Subsystem (optional)

w Mô tác các hành vi liên quan đến tính

Persistence

Trang 23

Mô tả các hành vi liên quan đến cơ chế Persistence

w Mô tả các hành vi liên quan đến cơ chế Persistence

§ Mô hình hóa các Transaction

§ Lưu (ghi) các Persistent Object

§ Đọc các Persistent Object

§ Hủy các Persistent Object

Trang 24

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Mô hình hóa các Transaction

w Transaction là gì?

§ Lời gọi đến các Atomic operation

§ “Tất cả hoặc không operation nào”

§ Cung cấp tính bền vững

w Modeling Options

§ Văn bản (scripts)

§ Các thông điệp hiện

w Error conditions

§ Có thể đòi hỏi các interaction diagrams riêng biệt

§ Rollback

§ Failure modes

Trang 25

Analysis Class Analysis Mechanism(s)

Tích hợp các cơ chế kiến trúc: Persistency

w Bảng ánh xạ các Analysis-Class với các cơ chế kiến trúc có từ bước phân tích Use-Case

Schedule Persistency, Security

Legacy Persistency (RDBMS ) deferred to Subsystem Design

OODBMS Persistency RDBMS Persistency

Trang 26

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Các bước thiết kế Use-Case

các Subsystem (optional)

Persistence

w Tinh chỉnh mô tả về các Flow of Events

Trang 27

Detailed Flow of Events Description Options

w Annotate the interaction diagrams

: Actor1 : ClassA : ClassB1: Do Something

2: Do Something More

Scripts can be used to describe the details surrounding these messages.

Notes can include more information about a particular diagram element

Script

Note

Trang 28

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Các bước thiết kế Use-Case

các Subsystem (optional)

Persistence

w Hợp nhất các Class và các Subsystem

Trang 29

Design Model Unification Considerations

w Tên của các phần tử mô hình phải diễn tả được chức năng của chúng

w Trộn các phần tử giống nhau

w Dùng phép kế thừa với các phần tử trừu tượng

w Giữ cho model elements và flows of events

bền vững

Trang 30

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Các bước thiết kế Use-Case

các Subsystem (optional)

Persistence

w Checkpoints

Trang 31

Checkpoints: Design Model

w Việc chia thành package/subsystem có hợp lý và bền vững?

w Tên của các packages/subsystems có gợi nhớ?

w Các public package class and các subsystem interface có cung cấp một tập các dịch vụ duy nhất và bền vững hợp lý?

w Các phụ thuộc giữa các package/subsystem có tương ứng với quan hệ giữa các class chứa bên trong không?

w Các class chứa trong package có phù hợp với tiêu chí phân chia thành package?

w Có thể tách package/subsystem thành hai?

w Tỉ lệ các packages/subsystems và số lượng các class có hợp lý không?

Trang 32

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Checkpoints: Use-Case Realizations

w Tất cả các luồng chính và sub-flows trong vong lặp này đã xử lý chưa?

w Tất cả các hành vi đã phân bổ cho các phần tử thiết kế chưa?

w Việc phân bố này có chính xác không?

w Nếu có vài interaction diagrams dành cho case realization, việc xác định collaboration

use-diagrams nào liên quan đến flow of events nào có dễ dàng không?

Trang 33

Nhắc lại: Use-Case Design

w Mục tiêu của Use-Case Design là gì?

w Việc đóng gói các subsystem interaction có ý nghĩa gì ? Tại sao đây là việc hữu ích?

Trang 34

PT & TK Hướng đối tượng – Thiết kế kiến trúc (continued)

Bài tập: Use-Case Design, Part 1

w Thực hiện các việc sau:

§ Analysis use-case realizations (VOPCs and

interaction diagrams)

§ The analysis-class-to-design-element map

§ The analysis-class-to-analysis-mechanism map

§ Analysis-to-design-mechanism map

§ Patterns of use for the architectural mechanisms

Trang 35

Bài tập: Use-Case Design, Part 1 (cont.)

w Identify the following for a particular use case:

§ The design elements that replaced the analysis

classes in the analysis use-case realizations

§ The architectural mechanisms that affect the case realizations

use-§ The design element collaborations needed to

implement the use case

§ The relationships between the design elements needed to support the collaborations

Trang 36

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Bài tập: Use-Case Design, Part 1 (cont.)

w Produce the following for a particular use case:

§ Design use-case realization

• Interaction diagram(s) per use-case flow of events that describes the DESIGN ELEMENT collaborations required to implement the use case

• Class diagram (VOPC) that includes the DESIGN ELEMENTS that must collaborate to perform the use case, and their relationships

Trang 37

Bài tập: Use-Case Design, Part 2 (optional)

w Given the following:

§ The architectural layers, their packages, and their dependencies

§ All design use-case realization VOPCs (design elements, their packages, and their relationships)

Trang 38

PT & TK Hướng đối tượng – Thiết kế kiến trúc

Bài tập: Use-Case Design, Part 2(optional) (tt.)

w Identify the following:

§ Any updates to the package relationships needed

to support the class relationships

w Produce the following diagrams:

§ Refined class diagram that contains all packages and their dependencies (organized by layer)

Ngày đăng: 22/08/2012, 10:37

HÌNH ẢNH LIÊN QUAN

w Mo hình hóa các thông điệp giữa các object - Thiết kế Use Case
w Mo hình hóa các thông điệp giữa các object (Trang 8)
w Bảng ánh xạ các Analysis-Class với các cơ chế - Thiết kế Use Case
w Bảng ánh xạ các Analysis-Class với các cơ chế (Trang 14)
w Bảng ánh xạ các Analysis-Class với các cơ chế - Thiết kế Use Case
w Bảng ánh xạ các Analysis-Class với các cơ chế (Trang 15)
trong mô hình cài đặt - Thiết kế Use Case
trong mô hình cài đặt (Trang 18)
w Các thông điệp đến subsystems được mô hình - Thiết kế Use Case
w Các thông điệp đến subsystems được mô hình (Trang 19)
w Mo hình hóa các thông điệp băng qua ranh giới - Thiết kế Use Case
w Mo hình hóa các thông điệp băng qua ranh giới (Trang 21)
§ Mô hình hóa các Transaction - Thiết kế Use Case
h ình hóa các Transaction (Trang 23)
Mô hình hóa các Transaction - Thiết kế Use Case
h ình hóa các Transaction (Trang 24)
w Bảng ánh xạ các Analysis-Class với các cơ chế - Thiết kế Use Case
w Bảng ánh xạ các Analysis-Class với các cơ chế (Trang 25)
w Tên của các phần tử mô hình phải diễn tả được - Thiết kế Use Case
w Tên của các phần tử mô hình phải diễn tả được (Trang 29)

TỪ KHÓA LIÊN QUAN

w