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

Biểu đồ chuyển trạng thái và hoạt động

24 1K 1

Đ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 24
Dung lượng 1,13 MB

Nội dung

 Sự kiện gọi call event: Tiếp nhận một lời gọi tới một thao tác  Sự kiện tín hiệu signal event: là sự tiếp nhận một tín hiệu  Tín hiệu là một đối tượng có tên, được gửi một cách khô

Trang 1

Gv: Vũ Thị Dương Email: duongvt01@gmail.com

KHOA CÔNG NGHỆ THÔNG TIN

Trường Đại học công nghiệp Hà Nội

PHÂN TÍCH THIẾT KẾ

HƯỚNG ĐỐI TƯỢNG

Biểu đồ chuyển trạng thái

và biểu đồ hoạt động

Bài 7

Trang 2

Phân tích thiết kế hướng đối tượng Bài 7 - 3/21

Biểu đồ chuyển trạng thái

 Về mặt hành vi ứng xử Ta có thể phân loại 2 loại đối

tượng:

 Đối tượng bị động nhận thông điệp

 Đối tượng chủ động nhận thông điệp

 Đối tượng bị động: là đối tượng mà cách ứng xử của nó

không hề thay đồi theo thời gian

 Đối tượng chủ động: là đối tượng mà cách ứng xử của

nó thay đổi theo thời gian

 Tùy thuộc vào trạng bên trong của đối tượng tại lúc đó

 Đối tượng này có đời sống thực sự: Sinh ra, trải qua trạng thái

và hủy bỏ

 Mục đích của mô hình hóa ứng xử là mô tả phản ứng của

các đối tượng chủ động trước các sự kiện đến với chúng

Biểu đồ chuyển trạng thái

 Biểu đồ bao gồm các thông tin sau

 Các trạng thái của đối tượng

 Hành vi của đối tượng

 Sự kiện tác động làm thay đổi trạng thái

Trang 3

Biểu đồ trạng thái

Sự kiện

 Là một điều gì đó xảy ra bất chợt đối với hệ thống và có

ảnh hưởng đến hành vi của hệ thống

 Sự kiện bên trong: là sự kiện bắt nguồn từ bên trong hệ thống (ví

dụ như lỗi tràn ô)

 Sự kiện bên ngoài là sự kiện bắt nguồn từ bên ngoài hệ thống (ví

dụ như nhắp chuột)

 Đối với một thông điệp thì sự kiện có thể đến với nó thông

qua một thông điệp từ một đối tượng khác gửi tới

 Sự kiện gọi (call event): Tiếp nhận một lời gọi tới một thao tác

 Sự kiện tín hiệu (signal event): là sự tiếp nhận một tín hiệu

 Tín hiệu là một đối tượng có tên, được gửi một cách không đồng

bộ bởi một đối tượng và được tiếp nhận bởi một đối tượng khác

Phân tích thiết kế hướng đối tượng Bài 7 - 5/21

Trạng thái đối tượng

tính và kết nối mà đối tượng có thể nhận ở 1 thời điểm

nào đó

 Trạng thái được xác định bởi giá trị của thuộc tính và liên

kết với đối tượng khác

Thí dụ

Trang 4

Phân tích thiết kế hướng đối tượng Bài 7 - 7/21

 Trạng thái trung gian (State)

 Trạng thái được xác định từ khảo sát thuộc tính lớp và quan

hệ giữa các lớp

 Có những sự kiện xảy ra khi đối tượng đang ở 1 trạng thái,

nhưng không gây ra 1 bước dịch chuyển mà chỉ kích hoạt

một hành động hay hoạt động nào đó

 Có năm loại thông tin có thể gộp trong trạng thái

Trang 5

Phân tích thiết kế hướng đối tượng Bài 7 - 9/21

 Biểu diễn trong phần tử biểu đồ: do hay /

 Hành động là thao tác mà thời gian thực hiện không đáng kể

 Hành động vào ( Entry Action )

 Là hành vi xảy ra khi đối tượng đang chuyển vào trạng

Trang 6

Phân tích thiết kế hướng đối tượng Bài 7 - 11/21

 Hành động khi vào trạng thái (hđ2)

 Hoạt động định sẵn trong trạng thái (hđ3)

 Hành động khi ra khỏi trạng thái (hđ5)

 Hành động gắn với bước dịch chuyển tới một

trạng thái khác (hđ6)

Trang 7

Phân tích thiết kế hướng đối tượng Bài 7 - 13/21

 Sự kiện ( Event ): cái gì đó là nguyên nhân chuyển từ trạng thái

này sang trạng thái khác

 Hầu hết chuyển tiếp đều có sự kiện Sự kiện có thể có đối số, thí

dụ, Remove passenger(name)

 Điều kiện bảo vệ ( Guard ): xác định khi nào sự kiện xảy ra, thí dụ,

Trạng thái máy bay từ Open sang Full khi chỗ cuối cùng đã có

người mua vé

 Hành động ( Action ): hành vi không ngắt được, xảy ra như một

phần của chuyển tiếp

Trong lịch trình exit/ ghi lại giờ hạ cánh

Tiếp đất

Hạ cánh

Trạng thái 1 Event[Guard condition] / Action Trạng thái 2

Ví dụ Biểu đồ trạng thái

BĐ trạng thái Hóa đơn

BĐ trạng thái Máy ATM

Trang 8

Phân tích thiết kế hướng đối tượng Bài 7 - 15/21

Trang 9

Phân tích thiết kế hướng đối tượng Bài 7 - 17/21

Biểu đồ trạng thái

 Trạng thái ẩn (Nested state)

 Để giảm quá nhiều trạng thái trong biểu đồ ta có thể lồng trạng

thái vào trong trạng thái khác: Substate, Superstate

 N ếu hai hay nhiều trạng thái có cùng quá độ -> nhóm chúng

thành superstate

 Lịch sử trạng thái (Superstate history)

 Nhiều khi có nhu cầu nhớ lại trạng thái vừa trước đó của đối

tượng Sử dụng chỉ báo lịch sử lịch sử trạng thái nơi đối tượng

Biểu đồ trạng thái

 Trạng thái lịch sử (tt)

 Ký hiệu trạng thái lịch sử H được đặt đâu đó trong trạng thái cha

(thường là góc dưới bên trái) và bước dịch chuyển trở lại trạng thái cha

chạm đến H

 Ví dụ 2 Máy giặt có chu trình làm việc gồm 3 giai đoạn: Giặt xà phòng,

giũ sạch và vất khô Bất cứ lúc nào ta có thể mở cửa và quy trình tạm

ngưng Khi đóng cửa trở lại thì quy trình lại tiếp tục từ trạng thái vừa bị

ngắt

Trang 10

 Đối tượng của lớp có yêu cầu tổ chức một số thao tác vào một trật

tự nhất định Lúc đó các trạng thái tiếp nối nhau sẽ cho phép mô

tả lịch trình đưa ra các kích hoạt cho các thao tác cần thiết

 Thường chỉ khoảng 10-20% số các lớp là có yêu cầu mô tả hành vi

với biểu đồ trạng thái

 Vậy các bước xây dựng biểu đồ trạng thái như sau

Phân tích thiết kế hướng đối tượng Bài 7 - 19/21

Cách xây dựng BĐ trạng thái

 Tìm các trạng thái: không có 1 chỉ dẫn cụ thể nào

 Lưu ý là số các trạng thái là hữu hạn Không cần vẽ BĐ TT cho các

lớp có dưới 3 trạng thái Tuy nhiên cũng có một số gợi ý

1. Với quan niệm trạng thái là một giai đoạn ổn định trong

đời sống nhiều biến động về hành vi, thì các giai đoạn

này thường được nhắc tới trong ngôn từ của các chuyên

gia lĩnh vực

2. Căn cứ vào sự biến thiên của các thuộc tính và kết nối,

qua đó phát hiện ra giá trị ngưỡng là các giá trị mà vượt

qua nó thì đối tượng sẽ có một số thay đổi trong hành vi

3. Nghiên cứu các biểu đồ trình tự có chứa đối tượng thuộc

lớp mà ta đang xét Thường thì khoảng cách giữa hai lần

đối tượng nhận thông điệp liên tiếp sẽ tương ứng với một

trạng thái

Trang 11

Cách xây dựng BĐ trạng thái

 Tìm các trạng thái: không có 1 chỉ dẫn cụ thể nào

 Lưu ý là số các trạng thái là hữu hạn Không cần vẽ BĐ TT cho các

lớp có dưới 3 trạng thái

 Tổ chức các trạng thái thành biểu đồ bằng cách bổ sung

các dịch chuyển giữa các trạng thái cùng với các sự kiện

tương ứng

 Biểu diễn các dãy trạng thái theo hướng từ khi sinh ra, đến kết

thúc cùng với các dịch chuyển liên quan

 Bổ sung dần các dịch chuyển tương tứng với các kiều kiện rẽ

nhánh

 Thêm các hành động và hoạt động

 Gom nhóm hay phân rã trạng thái nếu cần

Phân tích thiết kế hướng đối tượng Bài 7 - 21/21

Ví dụ Biểu đồ trạng thái

 Biểu đồ trạng thái lớp học trong thời gian đăng ký

Trang 12

Cách xây dựng BĐ trạng thái

 Khi muốn tạm giấu các trạng thái con trong một trạng thí

cha, nhưng tránh hiểu nhầm về tính kế thừa, ta dùng các

tồn căn (UML 1.0) hay điểm vào, điểm ra (UML 2.0)

Phân tích thiết kế hướng đối tượng Bài 7 - 23/21

Gom nhóm trạng thái

Trang 13

Đối chiếu BĐ tương tác và trạng thái

 Biểu đồ tương tác (trình tự và giao tiếp) diễn tả sự chuyển

giao thông điệp giữa các đối tượng

 Biểu đồ trạng thái lại diễn tả phản ứng của các đối tượng

khi nhận thông điệp

 BĐ TT mang lại cách nhìn sau, chính xác và đầy đủ về đối

tượng nên lấy nó làm căn cứ để nghiệm thu và bổ sung

các biểu đồ liên quan

 Ví dụ…

Phân tích thiết kế hướng đối tượng Bài 7 - 25/21

Đối chiếu BĐ tương tác và trạng thái

Trang 14

Vẽ biểu đồ trạng thái của xe hơi cần sửa chữa

Tiến trình sửa xe hơi của khách hàng yêu cầu được sửa

chữa, chúng được đặt trong garage đợi để sửa Việc sửa

chữa có thể được tiến hành bấy cứ lúc nào Khi sửa chữa

có thể cần phải thay phụ tùng mới, trong trường hợp đó

cần phải đợi phụ tùng mới được mua về để thay thế Khi

sửa xong xe, xe được lái thử Theo kết quả thử, sẽ xác

định cần sửa chữa khác hay xe đã sẵn sàng giao cho

khách hàng Khi đó, xe được đưa vào garage đợi khách

đến lấy

Phân tích thiết kế hướng đối tượng Bài 7 - 27/21

 Trong bài toán trên ta thấy lớp xe hơi có quan hệ với lớp

dịch vụ sửa chữa

 Các trạng thái của xe hơi liên kết với lớp dịch vụ: Đợi sửa,

đang sửa, đã sửa

Trang 15

?

Phân tích thiết kế hướng đối tượng Bài 7 - 29/21

?

Cho trong Gara

Thay pt[ het phu tung ] / Mua phu tung() Doi khach den lay

Trang 16

Vẽ biểu đồ hoạt động mô tả tiến trình sửa xe

hơi

Tiến trình sửa xe hơi của khách hàng yêu cầu được sửa

chữa, chúng được đặt trong garage đợi để sửa Việc sửa

chữa có thể được tiến hành bấy cứ lúc nào Khi sửa chữa

có thể cần phải thay phụ tùng mới, trong trường hợp đó

cần phải đợi phụ tùng mới được mua về để thay thế Khi

sửa xong xe, xe được lái thử Theo kết quả thử, sẽ xác

định cần sửa chữa khác hay xe đã sẵn sàng giao cho

khách hàng Khi đó, xe được đưa vào garage đợi khách

đến lấy

Phân tích thiết kế hướng đối tượng Bài 7 - 31/21

Vẽ biểu đồ hoạt động mô tả tiến trình sửa xe

Trang 17

Mô tả các trạng thái sách trong thư viện

 Khi sách được nhập vào thư viện, nếu sách đó là bản duy

nhất thì nó chỉ được đọc tại chỗ, nếu có nhiều bản thì nó

có thể được dùng để cho mượn Thậm chí có nhiều bản

của cuốn sách, thủ thhuw có quyền thay đổi các bản đó

thành loại tài liệu chỉ được đọc lại chỗ Nếu 1 cuốn sách

được cho mượn một thời gian xác định mà không được trả

lại thì coi như nó bị mất và 1 năm sau đó thì bị xóa khỏi

kho Tuy nhiên, nếu sau đó lại tìm thấy thì lại sẵn sàng

cho mượn Trong trường hợp cuốn sách quá cũ và hư

hỏng nó sẽ bị loại bỏ Cuốn sách có thể được thay thế

cuốn mới hay bị xóa bỏ Không thể đặt trước sách mà hiện

tại thư viện không có trong kho

Phân tích thiết kế hướng đối tượng Bài 7 - 33/21

Tóm lại

 Việc chọn trạng thái không có 1 gợi ý chính xác Tuy nhiên

tham khảo một số thông tin sau

 Trạng thái là giai đoạn ổn định -> tìm các giai đoạn trong diễn đạt

của lớp lĩnh vực và các tài liệu liên quan

 Trạng thái là sự phản ánh thô các giá trị thuộc tính kết nối Do đó

ta nên tìm các giá trị ngưỡng mà vượt qua nó đối tượng sẽ thay

đối hành vi Từ đó ta tìm ra các giai đoạn Đó là các trạng thái

 Chú ý: Số trạng thái là hữu hạn nên

Trang 18

Phân tích thiết kế hướng đối tượng Bài 7 - 35/21

Biểu đồ hoạt động

 Biểu đồ hoạt động (Activity diagram) do Odell đề xuất

cho UML để

 Trong khi biểu đồ tương tác tập trung vào luồng điều khiển từ

đối tượng đến đối tượng khác

 Biểu đồ hoạt động tập trung vào luồng điều khiển từ hoạt động

đến hoạt động

 Thường dùng để diễn tả logic của một ca sử dụng, một kịch

bản, một nhóm ca sử dụng, một quy tắc hay một thao tác

phức tạp

Biểu đồ hoạt động

 Biểu đồ hoạt động mô tả một nội dung hoạt động theo

các luồng đi từ việc này sang việc khác

 Nó thường được dùng để diễn tả logic của một ca sử

dụng hay một kịch bản, một nhón ca sử dụng…

 Biểu đồ gồm: Các nút là các hoạt động và cung là các

dịch chuyển

 Hoạt động (Activity)

 Là một công việc, có thể là được xử lý bằng tay (điền mẫu)

hay bằng máy tính (hiển thị màn hình đăng ký)

 Ký hiệu: hình chữ nhật tròn góc có mang theo tên của hoạt

động

Tên hoạt động

Trang 19

Phân tích thiết kế hướng đối tượng Bài 7 - 37/21

Biểu đồ hoạt động

 Hành động (Actions)

 Là các bước nhỏ hơn trong Activity

 Action có thể xảy ra khi

 Đang vào activity

 Hành động vào xảy ra khi activity bắt đầu, đánh dấu bằng “Entry”

 Khi đang đi ra khỏi activity

 Hành động ra xảy ra khi rời bỏ activity, đánh dấu bằng “Exit”

 Khi thực hiện activity

 Hành động xảy ra khi đang trong activity, đánh dấu bằng “do”

 Khi có sự kiện đặc biệt xảy ra

 Hành động xảy ra khi và chỉ khi có sự kiện cụ thể xảy ra, đánh dấu bằng “event” tiếp theo là tên sự kiện

 Chuyển tiếp (Transition)

 Chỉ ra luồng điều khiển từ hoạt động này đến hoạt động khác

 Ký hiệu là mũi tên nỗi từ hoạt động này sang hoạt động khác

Trang 20

Biểu đồ hoạt động cho ca sử dụng Đăng ký môn học

Phân tích thiết kế hướng đối tượng Bài 7 - 39/21

Biểu đồ hoạt động

 Làn bơi (Swimlanes)

 Sử dụng để mô hình hóa luồng công việc trong tiến trình nghiệp vụ

 Chỉ ra ai có trách nhiệm thực hiện từng hoạt động

 Để phân hoạch các trạng thái hoạt động vào nhóm

 Phân tách nhóm trên biểu đồ bằng các làn bơi

 Mỗi hoạt động thuộc về một làn bơi

 Quá độ có thể được vẽ từ làn bơi này đến làn bơi khác

 Mỗi làn bơi có thể được cài đặt bởi một hay nhiều lớp

Trang 21

Phân tích thiết kế hướng đối tượng Bài 7 - 41/21

Trang 22

Phân tích thiết kế hướng đối tượng Bài 7 - 43/21

Biểu đồ hoạt động

Kết thúc mua hàng

Yêu cầu mua

b : Bill [Chưa thanh toán]

Chuyển hàng ra

Gửi hàng đi

O : Order [Đã điền]

Nhân viên kho hàng Nhân viên bán hàng

Khách hàng

Swimlanes

Tóm tắt

 Bài này đã xem xét các vấn đề sau

 Biểu đồ chuyển trạng thái

 Trạng thái của đối tượng

 Các phần tử đồ họa xây dựng biểu đồ

 Kỹ thuật xây dựng biểu đồ trạng thái

 Biểu đồ hoạt động

 Ứng dụng của biểu đồ hoạt động

 Các phần tử đồ họa xây dựng biểu đồ hoạt động

Trang 23

Phân tích thiết kế hướng đối tượng Bài 7 - 45/21

Bài tập

 Mô tả một máy ATM Các chức năng chính như

sau

 Cấp phát tiền cho những ai có thẻ ngân hàng (cho phép

rút một số lượng tiền bởi hệ thống thông tin của ngân

hàng) và những ai có thẻ VISA(cho phép từ xa bởi hệ

thống)

 Cho xem, kiểm tra tăng giản tài khoản và gửi tiền vào tài

khoản bằng tiền mặt hoặc ngân phiếu đối với những ai

có thẻ ngân hàng

 Tất cả các giao tác đều được kiểm tra an toàn

 Kiểm tra mã PIN

 Mã PIN nhập sai 3 lần thì thẻ sẽ bị nuốt

 Cần phải thường xuyên nạp tiền bào máy, lấy ngân phiếu

và các thẻ bị nuốt ra

Mô tả việc rút tiền với biểu đồ hoạt động

 Nếu thẻ hợp lệ khách hàng có thể nhập mã PiN

Thẻ sẽ bị nuốt sau 3 lần nhập không thành công

Hệ thống ngân hàng sẽ cho phép rút một lượng

tiền tối đa hoặc từ chối việc rút tiền Một thẻ

không được lấy ra bời khách hàng sau khi rút sẽ bị

nuốt Tiền mặt không lấy bởi khách sẽ bị máy thu

hồi lại Phiếu xác nhận rút tiền luôn được in trong

khi khách chờ lấy tiền

Trang 24

Phân tích thiết kế hướng đối tượng Bài 7 - 47/21

Vẽ sơ đồ hoạt động cho tiến trình sửa xe hơi

 Tiến trình sửa xe hơi ở một gara Có nhiều xe hơi

của khách hàng yêu cầu được sửa Chúng được

đặt trong gara đợi sửa Việc sửa có thể được tiến

ành bất cứ lúc nào Khi sửa có thể cần phải thay

phụ tùng mới, trong trường hợp đó cần phải đợi

phụ tùng mới được mua về thay thế Khi sửa

xong, xe sẽ được lái thử Theo kết quả thử sẽ xác

minh cần sửa chữa xe khác hay xe đã sẵn sàng để

giao khác Khi đó, xe được đưa vào gẩ đợi khác

đến lấy

Biểu đồ trình tự sửa xe hơi

Yeu cau sua xe

Sua xe

entry/ xac dinh duoc loi do/ sua() exit/ Kiem tra het loi do/ thay phu tung()

Ngày đăng: 20/03/2015, 11:46

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w