Mục tiêu
Xác định mục đích của thiết kế ca sử dụng và vị trí của
nó trong vòng đời phát triển phần mềm
Kiểm chứng tính nhất quán trong thực thi ca sử dụng
Làm mịn hiện thực hóa ca sử dụng từ những phân tích
ca sử dụng sử dụng Các phần tử mô hình thiết kế
29 trang |
Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 421 | Lượt tải: 1
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 11: Thiết kế Use Case - Trần Mạnh Tuấn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Giáo viên: TS. Trần Mạnh Tuấn
Bộ môn: Hệ thống thông tin
Khoa: Công nghệ thông tin
Email: tmtuan@tlu.edu.vn
Điện thoai: 0983.668.841
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
Bài 11. Thiết kế Use Case
Mục tiêu
2
Xác định mục đích của thiết kế ca sử dụng và vị trí của
nó trong vòng đời phát triển phần mềm
Kiểm chứng tính nhất quán trong thực thi ca sử dụng
Làm mịn hiện thực hóa ca sử dụng từ những phân tích
ca sử dụng sử dụng Các phần tử mô hình thiết kế
Tổng quan về thiết kế ca sử dụng
3
Supplementary
Specifications
Use-Case
Design Use-Case Realization
(Refined)
Design Subsystems and Interfaces
Design Classesuse-case
Các bước thiết kế ca sử dụng
4
Mô tả sự tương tác giữa các đối tượng
thiết kế
Đơn giản hoá biểu đồ tuần tự sử dụng hệ
thống con
Mô tả các hành vi liên quan dữ liệu bền
vững
Làm mịn sự mô tả luồng các sự kiện
Thống nhất các lớp và các hệ thống con
Các bước thiết kế ca sử dụng
5
Mô tả sự tương tác giữa các đối tượng thiết kế
Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con
Mô tả các hành vi liên quan dữ liệu bền vững
Làm mịn sự mô tả luồng các sự kiện
Thống nhất các lớp và các hệ thống con
Nhắc lại: Hiện thực hóa ca sử dụng
6
Class Diagrams
Use Case
Collaboration
Diagrams
Use-Case Model Design Model
Use Case Use-Case Realization
Sequence
Diagrams
Nhắc lại: Từ Lớp phân tích thới Phần tử thiết kế
7
Lớp phân tích Phần tử thiết kế
Ánh xạ Nhiều – Nhiều
>
>
>
>
Làm mịnh những hiện thực hóa ca sử dụng
8
Xác định đối tượng tham gia trong luồng các sự kiện của ca
sử dụng
Phân phối trách nhiệm cho các đối tượng
Minh hoạ việc gửi thông điẹp giữa các đối tượng sử dụng
các hình mũi tên
Mô tả kết quả của việc xử lý từ các thông điệp và những gì
đối tượng thực hiện khi nó nhận được thông điệp
Mô hình hóa các kết hợp của các lớp
Class DiagramsSequence Diagrams
Các bước làm mịn sự trừu tượng hóa ca sử dụng
9
Xác định các đối tượng tham gia vào luồng sự kiện
của cá sử dụng
Biểu diễn mỗi đối tượng tham gia trong một lược đồ
tuần tự
Incrementally incorporate applicable architectural
mechanisms
Biểu diễn các hệ thống con trên lược đồ tuần tự
10
Giao diện (Interfaces)
Biểu diễn một phần tử thiết kế hiện thực hóa giao diện
Không vẽ thông điệp đi ra từ giao diện
Lớp Proxy
Biểu diễn một hệ thống con riêng biệt
Thông điệp có thể được vẽ đi ra từ proxy
Object A Interface Object B
1: Message 1
2: Message 2
Object A Proxy Object B
1: Message 1
2: Message 2X
Thông điệp không hợp lệ Thông điệp hợp lệ
Biểu diễn các hệ thống con trên lược đồ tuần tự
11
Lớp phân tích sẽ được thay thế bởi một giao diên
: Student
: RegisterForCoursesForm : RegistrationController : Schedule : Student: CourseCatalogSystem
Student wishes
to create a new
schedule
1. // create schedule( )
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( )
A blank schedule
is displayed for the
students to select
offerings
2.1.2. // add schedule(Schedule)
At this point, the Submit Schedule subflow is executed
A list of the available
course offerings for this
semester are displayed
Kết hợp các cơ chế kiến trúc: Bảo mật (Security)
12
Ánh xạ Lớp phân tích với Cơ chế kiến trúc từ việc
phân tích ca sử dụng
Lớp phân tích Cơ chế phân tích
Student
CourseOffering
Course
RegistrationController
Persistency, Security
Persistency, Legacy Interface
Persistency, Legacy Interface
Distribution
Schedule Persistency, Security
Chi tiết xem trong phụ lục
Kết hợp các cơ chế kiến chúc: Phân tán (Distribution)
13
Ánh xạ Lớp phân tích với Cơ chế kiến trúc từ việc
phân tích ca sử dụng
Lớp phân tích Cơ chế phân tích
Student
CourseOffering
Course
RegistrationController
Persistency, Security
Persistency, Legacy Interface
Persistency, Legacy Interface
Distribution
Schedule Persistency, Security
Các bước thiết kế ca sử dụng
14
Mô tả sự tương tác giữa các đối tượng thiết kế
Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con
Mô tả các hành vi liên quan dữ liệu bền vững
Làm mịn sự mô tả luồng các sự kiện
Thống nhất các lớp và các hệ thống con
Đóng gói sự các tương tác vào trong các hệ thống con
15
Sự tương tác có thể được mô tả ở một số cấp độ
Các tương tác hệ thống con có thể được mô tả
trong các lược đồ tương tác của riêng chúng
Nâng mức trừu tượng hóa
Khi nào thì đóng gói các luồng con vào trong một hệ thống con
16
Đóng gói một luồng con vào trong một hệ thống
con khi:
Xuấ hiện trong nhiều hiện thực hóa ca sử dụng
Có tiềm năng tái sử dụng
Phức tạp và dễ dàng đóng gói
Tương ứng với lượng công việc của một người hoặc một đội
Tạo ra một kế quả có cấu trúc tốt
Được đóng gói trong một thành phần mô hình cài đặt đơn lẻ (a
single Implementation Model component)
Hướng dẫn: Đóng gói các tương tác trong hệ thống con
17
Các hệt hống con nên được biểu diễn bởi giao diện của
chúng trong các lược đồ tương tác
Thông điệp tới hệ thống con tương ứng với hoạt động
(operations) của giao diện hệ thống con đó
Tương tác bên trong hệ thống con được mô hình hóa
trong Thiết kế hệ thống con (Subsystem Design)
>
MySubsystem
op1()
>
:InterfaceA
Ưu điểm của đóng gói sự tương tác trong các hệ thống con
18
Hiện thực hóa ca sử dụng:
Hiện thực hoá (realization) ca sử dụng trở nên ít nhầm lẫn,
đặc biệt với thiết kế bên trong của các hệ thống phức tạp.
Hiện thực hoá ca sử dụng có thể được tạo ra trước các thiết
kế bên trong của các hệ thống con (tạo khả năng phát triển
đồng thời)
Hiện thực hoá ca sử dụng trở nên dễ dàng thay đổi, đặc biệt
nếu hệ thống con cần thay thế cho hệ thống con khác.
Phát triển hệ thống con một cách đồng thời
19
Tập trung vào những yêu cầu ảnh hưởng tới giao
diện hệ thống
Phác thảo giao diện được yêu cầu
Mô hình hóa thông điệp giữa các của các hệ
thống con
Vẽ các lược đồ tương tác ở góc độ giao diện hệ
thống con cho mỗi ca sử dụng
Làm mịn giao diện cần thiết để cung cấp các
thông điệp
Phát triển các hệ thống con một cách song song
Refine the interfaces needed to provide
messages
Develop each subsystem in parallel
Sử dụng giao diện hệ thống con như điểm đồng bộ
Các bước thiết kế ca sử dụng
20
Mô tả sự tương tác giữa các đối tượng thiết kế
Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con
Mô tả các hành vi liên quan dữ liệu bền vững
Làm mịn sự mô tả luồng các sự kiện
Thống nhất các lớp và các hệ thống con
Mô tả hành vi liên quan tới sự bền vững
21
Mô tả hành vi liên quan tới sự bền vững
Mô hình hóa các giao dịch (Modeling Transactions)
Viết ra các đối tượng dữ liệu bền vững (Writing Persistent
Objects)
Đọc đối tượng bền vững (Reading Persistent Objects)
Xóa đối tượng dữ liệu bền vững (Deleting Persistent Objects)
Mô hình hóa các giao dịch
22
Giao dịch là gì?
Là việc gọi các phép toán nguyên tử (atomic operation)
“All or nothing”
Cung cấp sự nhất quán (provide consistency)
Mô hình hóa các tùy chọn
Theo đúng nguyên bản (textually scripts)
Các thông điệp tường minh (explicit messages)
Những điều kiện lỗi (error conditions)
Khôi phụ (Rollback)
Các chế độ lỗi (Failure mode)
Có thể đòi hỏi các lược đồ tương tác riêng biệt
Kết hợp các cơ chế kiến trúc: Lưu trữ bền vững
23
Analysis-Class-to-Architectural-Mechanism Map
from Use-Case Analysis
Lớp phân tích Các cơ chế phân tích
Student
CourseOffering
Course
RegistrationController
Lưu trữ bền vững, an ninh
Lưu trữ bền vững, kế thừa giao diên
Phân tán
Schedule Lưu trữ bền vững, an ninh
Lưu trữ bền vững, kế thừa giao diên
Kế thừa giao diên (RDBMS ) sẽ
được nói đến trong bài
Subsystem Design.
OODBMS
Persistency
RDBMS
Persistency
Các bước thiết kế ca sử dụng
24
Mô tả sự tương tác giữa các đối tượng thiết kế
Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con
Mô tả các hành vi liên quan dữ liệu bền vững
Làm mịn sự mô tả luồng các sự kiện
Thống nhất các lớp và các hệ thống con
Những tùy chọn trong mô tả chi tiết luồng sự kiện
25
Chú giải về các lược đồ tương tác
: Actor1 : ClassA : ClassB
1: Do Something
2: Do Something More
Các kichj bản có
thể được sử
dụng để mô tả
chi tiết xung
quanh các thông
điệp Chú thích có thể
gồm nhiều thông tin
về một phần tử mô
hình cụ thể
Script
Note
Những tùy chọn trong mô tả chi tiết luồng sự kiện
26
Chú giải về các lược đồ tương tác
: Actor1 : ClassA : ClassB
1: Do Something
2: Do Something More
Các kichj bản có
thể được sử
dụng để mô tả
chi tiết xung
quanh các thông
điệp Chú thích có thể
gồm nhiều thông tin
về một phần tử mô
hình cụ thể
Script
Note
Các bước thiết kế ca sử dụng
27
Mô tả sự tương tác giữa các đối tượng thiết kế
Đơn giản hoá biểu đồ tuần tự sử dụng hệ thống con
Mô tả các hành vi liên quan dữ liệu bền vững
Làm mịn sự mô tả luồng các sự kiện
Thống nhất các lớp và các hệ thống con
Những cân nhắc về việc thống nhất các mô hình thiết kế
28
Tên các phần tử mô hình nên mô tả chức năng của chúng
Hợp nhất các phần tử mô hình tương tự
Sử dụng thừa kế để trừu tượng hóa các phần tử mô hình
Giữ lại các phần tử mô hình và luồng sự kiện vững chắc
(consistent)
29
Trao đổi, câu hỏi?
Các file đính kèm theo tài liệu này:
- bai_giang_phan_tich_thiet_ke_he_thong_thong_tin_bai_11_thiet.pdf