Tải bản đầy đủ (.pdf) (30 trang)

PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - USE-CASE REALIZATION, CLASS DIAGRAM, INTERACTION DIAGRAM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.11 MB, 30 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

Phân tích kiến trúc

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Nội dung trước

Quản lý yêu cầu:

Giới thiệu

Chi tiết quản lý yêu cầu

Các kỹ năng

Mơ hình hố đối tượng Class & Class Diagram

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Phân tích thiết kế hướng đối tượng

<small> Việc phân tích thiết kế hướng đối tượng được hệ thống hóa như </small>

<small>Xây dựng biểu đồ đối tượng </small>

<small>Phân tích sự tương tác giữa các đối tượng Kịch bản </small>

<small>Xây dựng biểu đồ trình tự </small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Phân tích thiết kế hướng đối tượng

<small>Xác định quan hệ giữa các đối tượng Quan hệ Association </small>

<small>Quan hệ Generalization Quan hệ Dependency Quan hệ Realization </small>

<small>Thêm vào các thuộc tính và phương thức cho các lớp </small>

<small>Xác định ứng xử của đối tượng </small>

<small>Xây dựng biểu đồ chuyển trạng Xây dựng biểu đồ hoạt động </small>

<small>Xác định kiến trúc của hệ thống Xây dựng biểu đồ thành phần Xây dựng biểu đồ triển khai. </small>

<small>Kiểm tra lại mơ hình. </small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Xây dựng biểu đồ tương tác

 Bắt đầu từ luồng sự kiện

 Xây dựng từng biểu đồ cho

 Luồng chính, luồng thay thế, luồng lỗi

 Có thể gộp nếu luồng thay thế hay luồng lỗi tương tự nhau

 Sử dụng mẫu (Pattern) xây dựng Interaction Diagram  giảm thời gian

 Các mẫu chung: Khai thác CSDL, quản lý lỗi,…

 Các bước xây dựng:  Tìm kiếm đối tượng  Tìm kiếm tác nhân  Bổ sung messege

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Tìm kiếm đối tượng

<small></small>

Khảo sát các danh từ trong luồng sự kiện

Tìm đối tượng trong tài liệu kịch bản

<small>Kịch bản (scenario): hiện thực của luồng sự kiện </small>

<small>Mỗi luồng có nhiều scenario </small>

<small>Mỗi UC có thể có nhiều Interaction diagram </small>

Tìm đối tượng khơng được mô tả trong luồng sự kiện

<small>Các đối tượng cho phép tác nhân nhập và quan sát thông tin </small>

<small>Các đối tượng tham gia điều khiển trình tự luồng xuyên qua UC </small>

Tìm đối tượng tương ứng với khái niệm trừu tượng

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Tìm kiếm đối tượng

<small>Các biểu đồ: </small>

<small>Mức cao: chỉ ra hệ thống giao tiếp như thế nào </small>

<small>Mức thấp: để chỉ ra lớp nào cần tham gia vào scenario </small>

<small>Các nhóm đối tượng được phân ra: </small>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Tìm kiếm các tác nhân

 Xác định đối tượng  tìm kiếm tác nhân

 Tác nhân: là sự kích hoạt từ ngồi để khởi động luồng cơng việc và luồng sự kiện

 Tìm kiếm tác nhân trong luồng sự kiện

Ai hay cái gì khởi xướng tiến trình?

 Có thể có nhiều tác nhân nhận và gửi message cho hệ thống

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Xây dựng biểu đồ tương tác

 Các thành phần của Interaction Diagram  Objects

• Biểu đồ tương tác sử dụng tên đối tượng, tên lớp hay cả hai

 Messages

• Thơng qua message. Một đối tượng hay lớp có thể yêu cầu lớp hay đối tượng khác thực hiện vài chức năng cụ thể

 Links

• Quan hệ kết hợp giữa các đối tượng  Notes: chú thích và ràng buộc

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Xây dựng biểu đồ tương tác – Interaction Diagram

 Biểu đồ tương tác: gán trách nhiệm cho đối tượng  Gán trách nhiệm cho đối tượng nhận message  Gán trách nhiệm cho đối tượng phải phù hợp

 Dựa trên các loại lớp để cân nhắc hình thành trách nhiệm cho chúng

 Entity: lưu trữ thông tin, thực hiện chức năng nghiệp vụ  Boundary: form, windows, interface

 Control: theo dõi trình tự thực hiện

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Biểu đồ trình tự - Sequence Diagram

 Sequence là biểu đồ theo thứ tự thời gian  Đọc từ đỉnh xuống đáy

 Đọc biểu đồ bằng quan sát các đối tượng và thơng điệp

 Vịng đời đối tượng (Lifeline)

• Bắt đầu khi hình thành, kết thúc khi phá hủy

• Message được vẽ giữa 2 đối tượng: đối tượng gọi hàm đối tượng khác

• Messge phản thân

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Ví dụ

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Ví dụ </b>

<small>Sequence Diagram cho hoạt động rút tiền ở ATM </small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Sequence Diagram

 Trục tọa độ, trục ngang thể hiện các đối tượng, trục đứng thể hiện thời gian.

 Chúng ta, dễ dàng nhận thấy các đối tượng tương tác với nhau theo tuần tự các bước để hình thành nên chức năng của hệ thống.

 Object mô tả một đối tượng trong hệ thống. Để phân biệt với Class, Object có dấu “:” phía trước tên của nó

 Đường gạch chấm bên dưới đối tượng thể hiện thời gian sống của đối tượng.

 Mũi tên thể hiện thông điệp từ một đối tượng này tương tác với một đối tượng khác.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Ví dụ

Thiết kế Sequence Diagram cho use case “Xem sản phẩm theo loại”

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Ví dụ

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Mô tả đối tượng

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Các đối tượng trong biểu đồ

 Đặt tên đối tượng

 Ánh xạ đối tượng sang lớp

 Có thể ánh xạ sang lớp mới hay lớp có sẵn

 Lựa chọn duy trì đối tượng

 Persistent: có thể lưu trữ vào CSDL hay dạng khác

 Static: tồn tại trong bộ nhớ cho đến khi chương trình kết thúc

 Transient: tồn tạo trong bộ nhớ khoảng thời gian ngắn

 Đa thực hiện (Multiple Instance)

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Xây dựng biểu đồ

 Sau khi vẽ đối tượng:

 Vẽ liên kết các đối tượng

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Xây dựng biểu đồ

 Đặc tả message

 Đặt tên: chỉ mục tiêu thông điệp  Ánh xạ thông điệp vào thao tác

• Trước khi phát sinh mã trình phải ánh xa mọi thông điệp vào thao tác

 Đặt tần số cho thơng điệp

• Đánh dấu thơng điệp sẽ được gởi đều đặn (mỗi 30s)

• Có 2 loại

– Periodic: message được gởi đều đặn theo chu kỳ

– Aperiodic: không được gởi đều đặn mà chỉ được gởi 1 lần hay theo thời điểm khơng đều

 Đặc tả đặc tính tương tranh cho message

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Đặc tả tính tương tranh cho mesage

 Đơn (Simple): mặc định, message chạy trong tiến trình đơn

 Đồng bộ (Synchronous): client gởi message, chờ khi supllier xử lý xong

 Cản trở (Balking/Rendez-vous): client gửi message, supplier không sẵn sàng xử lý ngay  message hủy bỏ

 Hết hạn (Timeout): client gửi message chờ supplier xử lý sau một khoảng thời gian, nếu không xử lý  hủy message

 Dị bộ (Asynchronous): client gửi message rồi tiếp tục thao tác khác không chờ đến khi supplier xử lý xong.

 Lời gọi thủ tục (Procedure call): chờ đến khi mọi trình tự lặp của message được xử lý xong. (mũi tên đặc)

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Các loại đồng bộ thông điệp

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Lifetime trong biểu đồ trình tự

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

Script trong biểu đồ trình tự

 1996 Buschman bổ sung script cho sequence diagram trong UML

 Diển tả chú thích, làm rõ các thông điệp  Diễn tả điều kiện logic trong biểu đồ

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

Script trong biểu đồ

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Biểu đồ cộng tác

 Collaboration diagram: chỉ ra luồng thực hiện trong kịch bản của UC

 Tập trung vào:

 Quan hệ giữa các đối tượng

 Cấu trúc tổ chức các đối tượng  Luồng dữ liệu trong kịch bản

 Tương đối khó quan sát trình tự các thơng điệp  Nên thường phải đi kèm Sequence diagram  Chuyển đổi qua lại bằng phím F5

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Ví dụ

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

Thực hành

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Thực hành

 Làm việc với công cụ Rational Rose

 Class Diagram (xem demo)

 Interaction Diagram

Sequence Diagram (xem demo)

Collaboration Diagram(xem demo)

</div>

×