1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mô hình hóa hệ thống sử dụng UML

50 831 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 50
Dung lượng 612,5 KB

Nội dung

giới thiệu về mô hình hóa hệ thống sử dụng UML

Trang 1

Mô hình hóa hệ thống sử dụng

UML

Giới thiệu về UML

Phân tích và đặc tả các yêu cầu hệ thống

+ Ca sử dụng + Tác nhân + Xác định các ca sử dụng và các tác nhân + Đặc tả các ca sử dụng

Biểu đồ User Case

Biểu đồ hành động (Activity Diagram)

+ Các hành động và quyết định + Sự đồng bộ và tương tranh giữa các hoạt động + Các luồng họat động

+ Xây dựng Biểu đồ họat động

CHAPTER 2

Trang 2

2.1 Giới thiệu

Trang 3

1.  Mô hình được các hệ thống và sử dụng được tất cả các khái  niệm hướng đối tượng một cách thống nhất.

2.  Cho phép đặc tả, hỗ trợ để đặc tả tường minh  mối quan hệ  giữa các khái niệm cơ bản trong hệ thống, đồng thời mô tả  được mọi trạng thái hoạt động của hệ thống đối tượng. 

3.  Tận dụng được  những khả năng sử  dụng  lại và  kế thừa ở  phạm vi diện rộng để xây dựng được những hệ thống phức  tạp  và  nhạy  cảm  như:  các  hệ  thống  động,  hệ  thống  thời  gian thực, hệ thống nhúng thời gian thực, v.v.

4. Tạo ra những ngôn ngữ mô hình hoá sử dụng được cho cản  người lẫn máy tính. 

Mục đích chính của UML

Trang 4

Ca sử dụng Logic Thành phần

Sự tương tranh Triển khai

Ca sử dụng

Lớp Giao diện

Thành phần

Cộng tác

Nút

Sự tương tác Máy trạng thái

Chú dẫn Ca sử dụng

Lớp Đối tượng Trình tự Cộng tác Trạng thái Hoạt động Thành phần Triển khai

Trang 6

+ Quan sát logic biểu diễn tổ chức logic của các lớp và các quan hệ của chúng với nhau, được thể hiện trong các biểu đồ lớp, biểu đồ đối tượng, biểu đồ tương tác (Collaboration Diagram), biểu đồ biến đổi trạng thái (State Diagram) + Quan sát thành phần (quan sát cài đặt) xác định các mô đun vật lý hay tệp mã chương trình và sự liên hệ giữa chúng để tổ chức thành hệ thống phần mềm, được thể hiện trong các biểu đồ thành phần (Component Diagram)

và các gói (package)

+ Quan sát tương tranh (quan sát tiến trình) biểu diễn sự phân chia các luồng thực hiện công việc, các lớp đối tượng cho các tiến trình (process) và

sự đồng bộ giữa các luồng (thread) trong hệ thống

+ Quan sát triển khai mô tả sự phân bổ tài tài nguyên và nhiệm vụ

trong hệ thống, mô tả các tiến trình và chỉ ra những tiến trình nào trên máy nào

Trang 7

+Biểu đồ các ca sử dụng: mô tả sự tương tác giữa các tác nhân ngoài (External

Actor) và hệ thống thông qua các ca sử dụng Các ca sử dụng là những nhiệm vụ chính,

các dịch vụ, những trường hợp sử dụng cụ thể mà hệ thống cung cấp cho người sử dụng và ngược lại

+Biểu đồ lớp (Class Diagram) mô tả cấu trúc tĩnh, mô tả mô hình khái niệm bao

gồm các lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng

+ Biểu đồ trình tự (Sequence Diagram) thể hiện sự tương tác của các đối tượng

với nhau, chủ yếu là trình tự gửi và nhận thông điệp (message) để thực thi các yêu cầu, các

công việc theo thời gian

+ Biểu đồ cộng tác (Collaboration Diagram) nhấn mạnh vào sự tương tác của

các đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp để thực hiện

các yêu cầu theo ngữ cảnh công việc

+Biểu đồ trạng thái (State Diagram) thể hiện chu kỳ hoạt động của các đối tượng,

của các hệ thống con và của cả hệ thống

Trang 8

+ Biểu đồ hành động (Activity Diagram) chỉ ra dòng hoạt

động của hệ thống , bao gồm các trạng thái hoạt động, trong đó từ một trạng thái hoạt động sẽ chuyển sang trạng thái khác sau khi một hoạt động tương ứng được thực hiện

+ Biểu đồ thành phần (Component Diagram) chỉ ra cấu

trúc vật lý của các thành phần trong hệ thống, bao gồm: các thành phần mã nguồn, mã nhị phân, thư viện và các thành phần thực hiện được

+ Biểu đồ triển khai (Deployment Diagram) chỉ ra cách bố trí

vật lý các thành phần theo kiến trúc được thiết kế của hệ thống

Trang 9

9/50

Trang 10

10/50

Trang 11

Defines Who is doing What, When to do it, and

How to reach a certain goal.

Trang 12

2.1.1.

Trang 13

2.1.1.

Trang 14

2.1.1.

Trang 15

2.1.1.

Trang 16

2.1.1.

Trang 17

2.1.1.

Trang 18

2.1.2.

Trang 19

2.2 Biểu đồ Use Case – Phân tích yêu cầu

Trang 20

20/50

Trang 21

2.2.1 Use Cases

Use cases mô tả tập các hoạt động của hệ thống theo quan điểm

của các tác nhân ngoài (Actor) Nó mô tả các yêu cầu của hệ

thống và trả lời cho câu hỏi:

Hệ thống phải làm cái gì (What ?).

• “Hoạt động” là các chức năng, nhiệm vụ hay gọi chung là dịch 

vụ của hệ thống và nó thường được mô tả bằng các động từ,  hay mệnh đề động từ đơn, ví dụ: bán hàng, thanh toán, khởi  động hệ thống, v.v. 

• Actor (Tác nhân) là thực thể bên ngoài có tương tác với hệ 

thống, bao gồm người, vật, thiết bị hay các hệ thống khác có  trao đổi thông tin với hệ thống. 

Hoạt động

Actor

Trang 22

2.2.2 Actor

 Actor đóng vai trò NSD hoặc là hệ thống khác có quan hệ

tương tác, trao đổi thông tin với hệ thống cần phát triển.

Trang 23

Ví dụ:

Trang 24

2.2.3 Mối quan hệ giữa các Use Cases

1. Quan hệ Include thể hiện một hoạt động có thể là một phần

chung của một số use cases Quan hệ này được sử dụng khi

có một UC cần thực hiện lặp lại một số lần (>= 2) trong các

UC riêng biệt, nhưng lại muốn tránh việc viết lại UC đó

2 Tổng quát hóa Use Case (Generalization) xuất hiện khi có

một use case tương tự như use case khác, nhưng nó làm nhiều hơn chút ít

3 Quan hệ Extend để mô tả sự thay đổi của một UC và muốn

sử dụng dạng mở rộng của nó để thực hiện được nhiều hơn

Sự mở rộng use case không làm thay đổi được, do vậy cần thiết phải tạo ra UC con của UC cho trước.

Trang 25

Ví dụ: UC1 <<Includes>> UC2 nếu việc thực hiện UC1 luôn kéo theo việc thực hiện UC2

Ví dụ: UC1 <<extends>> UC2 nếu UC1 cung cấp thêm chức năng mà UC2 chưa có

Đăng nhập HT

Kiểm tra mật khẩu

<<extends>>

 Ca sử dụng mở rộng

 Ca sử dụng cơ sở

Để đăng nhập được vào một

hệ thống phần mềm, ngoài

việc kiểm tra mật khẩu

(password) còn phải khai báo

một số thuộc tính khác ví dụ

như tên NSD chẳng hạn

Trang 26

Ví dụ: Use Cases

 Đối với NSD CSDL, use case có thể:

• “Liệt kê tất cả những khách hàng đặt mua một sản phẩm nào đó”

• “Tạo lập danh sách 10 khách hàng mua hàng nhiều nhất”

• “Yêu cầu gửi các fax một cách tự động“

 Người phát triển chịu trách nhiệm với đánh giá phí tổn:

• “Danh sách 10 khách hàng có thể phát triển trong 1 tuần.”

• “Tạo lập chức năng chuyển fax tự động có thể làm trong 1 tháng.”

 NSD và Người phát triển có thể thỏa thuận với nhau về

mức ưu tiên của UC:

• Người phát triển: “Muốn bắt đầu bằng UC “Lập danh sách các sản phẩm

đã bán”

• NSD: “Cần danh sách 10 khách hàng đầu tiên”, …

Trang 27

2.2.4 Lập kế hoạch: Phân loại các Use Cases

 NSD phải chỉ rõ mức độ ưu tiên của các UC.

• “Tôi cần phải có chức năng này cho hệ thống.”

• “Tôi có thể không cần chức năng này trong một thời gian ngắn

• “Đây là chức năng quan trọng, nhưng chưa thật cần thiết lúc này.”

 Người phát triển cần xem xét các rủi ro về kiến trúc

• Không bỏ qua use cases mà sau đó phải thực hiện lại nhiều công việc liên quan đến những UC đó

• Tập trung vào những use cases liên quan đến những thách thức của công nghệ.

 Người phát triển phải biết trước về rủi ro trong lịch biểu thực hiện

dự án

• “Cần phải biết công việc này phải thực hiện trong bao lâu”

• “Đánh giá ước lượng thời gian theo người/tháng.”

Trang 28

2.2.5 Mục tiêu của NSD và sự tương tác của hệ thống

Nhiệm vụ của UC có thể khác nhau theo các quan điểm:

• Mức miền ứng dụng (Application domain level): phản ánh được

mục tiêu của NSD mong muốn thực hiện.

• Mức thiết kế hệ thống (System design level): Thể hiện được sự

tương tác của hệ thống yêu cầu.

 Tầm quan trọng của việc xác định các mục tiêu

• Tìm các cách khác nhau để đạt được mục đích

• Nắm bắt tất cả các yêu cầu của NSD.

 Tầm quan trọng của sự tương tác hệ thống

• Phục vụ cho việc xây dựng cấu trúc của hệ thống

• Để thiết kế các chức năng, nhiệm vụ của hệ thống.

Trang 29

Sự tương tác với các hệ thống ngoài

Đối với sự tương tác với hệ thống ngoài có 4 cách tiếp cận:

1. Chỉ ra mọi sự tương tác với hệ thống từ xa trên biểu đồ.

2. Chỉ rõ sự tương tác bên ngoài khi có hệ thống khác bắt đầu

tương tác với hệ thống.

3. Chỉ ra các tác nhân hệ thống chỉ khi họ là những đối tượng cần

use case.

4. Không đối xử hệ thống như các tác nhân, nhưng sử dụng các

yêu cầu của NSD.

+ Sử dụng các sự kiện bên ngoài để xác định use cases mà chưa xác định được thông qua các tác nhân.

+ Đề cập đến mọi sự kiện từ thế giới biên ngoài mà hệ thống cần phải tương tác

Trang 30

2.2.6 Scenarios, Workflow, Object Structures

Kịch bản (Scenario)

+ Một dãy các hoạt động thể hiện sự tương tác giữa các tác nhân và hệ thống

+ Một kịch bản được gọi là thể hiện của use case.

 Kịch bản chỉ ra một tập các hoạt động và tổ hợp các điều kiện bên trong use case

Ví dụ, Đặt mua hàng:

• Scenario 1: Tất cả các mặt hàng đều có.

• Scenario 2: Thiếu một số mặt hàng

• Scenario 3: Tài khoản không đủ tiền.

các luồng công việc (workflows),

 Cấu trúc

Ví dụ, Quá trình từ đặt hàng, giao hàng và thanh toán

được mô tả bởi các lớp (classes),

Ví dụ, Khách hàng, mặt hàng, hóa đơn

Trang 31

2.2.7 Xây dựng biểu đồ UC

+ Biểu đồ UC chỉ ra mối quan hệ giữa các tác nhân và các UC trong hệ thống

+ Mỗi UC cần phải biểu diễn trọn vẹn một giao dịch giữa NSD và hệ thống

 Hệ thống quản lý, sử dụng những thiết bị nào?

 Hệ thống cần tương tác với những bộ phận, hệ thống nào khác?

 Ai hay cái gì quan tâm đến kết quả xử lý của hệ thống?

Trang 32

+ Biểu đồ UC chỉ ra mối quan hệ giữa các tác nhân và các UC trong hệ thống

+ Mỗi UC cần phải biểu diễn trọn vẹn một giao dịch giữa NSD và hệ thống

Xác định các UC

Có hai phương pháp chính hỗ trợ giúp ta xác định các ca sử dụng:

1 Phương pháp thứ nhất là dựa vào các tác nhân

 Với mỗi tác nhân, tìm những tiến trình (chức năng) được khởi đầu,

hay giúp các tác nhân thực hiện, giao tiếp / tương tác với hệ thống

2 Phương pháp thứ hai để tìm các ca sử dụng là dựa vào các sự

Trang 33

Đặc tả các UC: Format đặc tả UC

Ca sử dụng: Tên của ca sử dụng bắt đầu bằng động từ

Các tác nhân: Danh sách các tác nhân liên quan đến ca sử

dụng, chỉ rõ ai bắt đầu với ca sử dụng

Mô tả: Mô tả tóm tắt tiến trình xử lý công việc cần thực hiện

Tham chiếu: Các chức năng, ca sử dụng và những hệ thống

liên quan

Trang 34

Trước khi xây dựng biểu đồ ca sử dụng chúng ta cần lưu ý:

Mỗi ca sử dụng luôn được ít nhất một tác nhân kích hoạt một

cách trực tiếp hay gián tiếp, nghĩa là giữa tác nhân và ca sử dụng thường có mối quan hệ giao tiếp (kết hợp).

Ca sử dụng cung cấp các thông tin cần thiết cho tác nhân và

ngược lại, tác nhân cung cấp dữ liệu đầu vào cho ca sử dụng thực hiện.

Trang 35

Thu tiền mặt

Khởi động hệ thống

Thêm / Loại bỏ NSD Đóng hệ thống

<<uses>>

<<uses>>

<<uses>> Bộ phận kiểm

duyệt thẻ

Trang 36

 Các tuyến công việc (Swimlanes)

 Xây dựng biểu đồ hoạt động

Trang 37

2.3.1 Vai trò của AD trong UML

Trang 38

2.3.1 Vai trò của AD trong UML

(TT)

Trang 39

Điều kiện xác định nhánh nào (trigger) được chọn để thực

hiện.

Mỗi thời điểm chỉ một nhánh được thực hiện.

Do vậy, điều kiện (guards) thực sự phải loại trừ lẫn nhau!

Trang 40

2.3.3 Hành động theo

quyết định

Trang 41

2.3.4 Các hoạt động tương

tranh

Có sự khác nhau giữa lưu đồ (flowcharts) và AD ở chỗ trong

AD, các hoạt động có thể thực hiện song song hoặc tương

tranh với nhau

 Vấn đề quan trọng trong mô hình nghiệp vụ là những quá trình không cần thực hiện tuần tự thì có thể thiết kế để thực hiện

song song nhằm nâng cao tốc độ thực hiện.

 Do đó, cải thiện được tính hiệu quả và sự thuận tiện của quá trình nghiệp vụ.

 AD được sử dụng rất hữu hiệu cho việc mô tả các chương

trình song song, ta có thể sử dụng đồ họa để mô tả các luồng

thực hiện đồng thời và cho phép đồng bộ (synchronize) khi

cần thiết.

Trang 46

2.3.4.2 Điều kiện đồng bộ

(TT)

Trang 47

2.3.5 Tuyến công việc

Tuyến công việc là cách để giải quyết vấn đề trên.

 Tuyến công việc được thể hiện trên AD bằng các đường đứt nét để tách các vùng theo các nhóm người thực hiện.

 Mỗi vùng được dành riêng cho một lớp đối tượng, người hay phòng ban nào đó, …

Trang 48

48/50

Trang 49

 Khi nào cần Activity Diagrams?

rộng qua nhiều use cases để mô tả luồng 

công việc của cả quá trình.

mức cao, activity diagrams sẽ rất hiệu quả để biểu diễn những quá trình tương tranh.

theo thời gian.

Trang 50

 Ví dụ: Biểu đồ hành động “Thanh toán bằng Credit”

[Hợp lệ]

[Không hợp lệ]

Ngày đăng: 14/03/2013, 09:35

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w