Biểu đồ hoạt động

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phân tích thiết kế hệ thống thời gian thực theo cách tiếp cận hướng đối tượng (Trang 36)

12)Biểu đồ bao quát tương tác: Đây là một biến thể của biểu đồ hoạt động,

mà trong đó các nút không những là các hành động, mà còn có thể là các biểu đồ tƣơng tác. Nó cho ta một cái nhìn bao quát đối với một tƣơng tác phức tạp (hình 2.12)

Hình 2.12. Biểu đồ bao quát tương tác.

Trong biểu đồ này, ký hiệu ref chỉ ra khung tƣơng tác cụ thể, ký hiệu sd

biểu đồ tuần tự, cd là biểu đồ truyền thông.

13)Biểu đồ thời khắc: Là biểu đồ diễn tả các giai đoạn trải qua theo thời gian

của một (hay nhiều) đối tƣợng (hình 2.13)

Hình 2.13. Biểu đồ thời khắc. {5 phut} {5 phut} :May giat {30 phut} Ket thuc Tron xa

phong Giu sach Vat kho

{60 phut} {30 phut} Mayin.In(tep) [dia con] [dia day] In(tep)   

Hien thi thong bao dia day

Hien thi thong bao dang in

Huy thong

bao Tao tep in sau

[viec B] [ra] [viec A]   ref Dang nhap ref

Chon mot viec

sd viec A cd viec B

DT1 DT2 DT2

Biểu đồ trên thể hiện thời gian thực hiện cụ thể các công đoạn của máy giặt, từ công đoạn trộn xà phòng cho đến công đoạn kết thúc.

2.2. Hệ thống điều khiển thang máy (ECS)

2.2.1. Mô tả hệ thống

Xây dựng hệ thống thang máy phục vụ trong một tòa nhà nhiều tầng. Trong buồng thang máy có các nút số tƣơng ứng với số tầng trong toà nhà. Mỗi tầng cũng có các nút để yêu cầu thang máy. Thang máy có thể đƣợc yêu cầu dừng tại một tầng hay di chuyển theo hƣớng phù hợp. Thang máy phải phục vụ tất cả các yêu cầu trong cùng hƣớng trƣớc khi nó di chuyển theo hƣớng ngƣợc lại. Khi thang máy đến một tầng khác tầng đích (tầng hành khách muốn đến), mà không có yêu cầu ra vào thang máy trong cùng hƣớng di chuyển của nó thì nó tiếp tục di chuyển đến tầng đích mà không dừng lại hay mở cửa tầng. Tuy nhiên, khi có yêu cầu thì thang máy sẽ dừng lại và mở cửa (trong khoảng thời gian quy định). Khi thang máy đến một tầng là yêu cầu cuối cùng theo hƣớng di chuyển của nó, cửa mở và sau đó hành vi của nó phụ thuộc vào trạng thái của toà nhà (nếu không có yêu cầu gì thì thang máy sẽ dừng ở tầng hiện tại và cửa thang máy đóng). Nếu thang máy không có yêu cầu di chuyển trong cùng hƣớng mà hành khách có yêu cầu đi thang máy theo hƣớng đó thì phải bƣớc vào buồng thang máy và nhấn nút đến tầng mong muốn trƣớc khi cửa thang máy đóng. Mặt khác thang máy sẽ tự do di chuyển theo hƣớng ngƣợc lại để phục vụ yêu cầu khác, nếu có. Yêu cầu của hệ thống thang máy là phải phục vụ hành khách trong thời gian (thời gian thực) phù hợp thực tế.

2.2.2. Các chức năng chính của hệ thống

Dựa vào sự mô tả hoạt động của ECS ở phần trên, có thể đƣa ra các chức năng chính của hệ thống nhƣ sau:

 Phục vụ yêu cầu gọi thang máy của hành khách;

 Đƣa hành khách đến tầng đƣợc yêu cầu;

 Mở/đóng cửa thang máy phục vụ yêu cầu ra, vào thang máy của hành khách;

 Di chuyển/dừng thang máy;

2.2.3. Mục tiêu của hệ thống

 Minh họa việc phân tích thiết kế hƣớng đối tƣợng với UML;

 Minh họa tiêu biểu cho hệ thống thời gian thực;

 Ứng dụng mô phỏng phần mềm theo ngôn ngữ lập trình hƣớng đối tƣợng

Java – là một ngôn ngữ lập trình hƣớng đối tƣợng hiện nay đang đƣợc dùng rất phổ biến;

 Hiển thị giao diện thuận tiện giúp cho hành khách có thể điều khiển thang máy;

 Mô phỏng chức năng chính của hệ thống là phục vụ yêu cầu đi lại của

hành khách giữa các tầng trong toà nhà một cách tự động, nhanh chóng, tiện lợi và an toàn.

2.3. Phân tích thiết kế hệ thống ECS qua các biểu đồ của UML

2.3.1. Biểu đồ ca sử dụng

Các hệ thống tƣơng tác với con ngƣời hay các tác nhân. Các tác nhân sử dụng hệ thống cho mục đích nào đó, các tác nhân đều mong đợi hệ thống phải có nhiều cách dự đoán trƣớc hành vi của mình. Trong UML, một ca sử dụng mô hình hóa các hành vi của một hệ thống hay một phần hệ thống, là sự mô tả của một tập các hành động, bao gồm các sự biến đổi, cái mà hệ thống thực hiện để mang lại một kết quả có giá trị cho một tác nhân.

Một biểu đồ ca sử dụng mô hình hóa khung nhìn thiết kế động của hệ thống. Các biểu đồ ca sử dụng đặt trọng tâm vào việc mô hình hóa hành vi của một hệ thống, một hệ thống con, hay một lớp. Biểu đồ ca sử dụng trình bày một tập các các ca sử dụng, các tác nhân và các mối quan hệ của chúng. Các thành phần chính của một biểu đồ ca sử dụng:

 Các ca sử dụng

 Các tác nhân

 Các quan hệ phụ thuộc, tổng quát hóa và liên kết.

Qua sự khảo sát, và dựa vào các chức năng chính của ECS, các biểu đồ ca sử dụng của hệ thống thang máy đƣợc thể hiện trong hình sau:

Hình 2.14. Biểu đồ ca sử dụng của hệ thống thang máy.

Có tám ca sử dụng của hệ thống thang máy đƣợc mô tả chi tiết nhƣ sau:

Yeu cau thang may (yêu cầu thang máy): ca sử dụng này gồm một số các kịch bản đƣợc trình bày trong phần sau. Những kịch bản này mô tả việc thang máy nhận yêu cầu thang máy từ hành khách, bật tắt đèn, chuyển nút nhấn (chế độ đƣợc nhấn hay chƣa nhấn), cập nhật các yêu cầu gọi thang máy tới bộ phận điều khiển thang máy, v.v …

Yeu cau den tang (yêu cầu đến tầng): tƣơng tự nhƣ ca sử dụng yêu cầu thang máy, ca sử dụng này gồm các chức năng thang máy nhận yêu cầu đến tầng từ hành khách, bật tắt đèn, chuyển nút nhấn (chế độ đƣợc nhấn hay chƣa nhấn) trong thang máy, cập nhật các yêu cầu đến tầng tới bộ phận điều khiển thang máy, v.v …

Cho biet huong di chuyen (cho biết hướng di chuyển lên/xuống): thang máy nên cung cấp cơ chế này để hành khách biết đƣợc hƣớng di chuyển hiện tại của thang máy, để có thể quyết định là bƣớc vào hay ra khỏi thang máy.

Cho biet vi tri thang may (cho biết vị trí thang máy hiện tại đang đến

tầng nào): giúp cho hành khách chuẩn bị rời khỏi thang máy.

Mo/dong cua (mở/đóng cửa): thang máy có thể mở hay đóng cửa để hành khách có thể bƣớc vào hay ra khỏi thang máy. Ca sử dụng này còn bao hàm chức năng chuyển trạng thái của cửa (cửa đang đóng nếu hành khách muốn vào thang máy thì cửa phải mở trong thời gian quy định).

Hanh khach <<uses>> <<uses>> <<uses>> <<uses>> Thang may Yeu cau thang may Yeu cau den tang Di chuyen/ dung thang may Mo/dong cua Cho biet huong di chuyen thang may Cho biet vi tri thang may Khoi dong/ dong thang máy Nguoi quan ly Bo kich hoat ngat khan cap

Di chuyen/dung thang may (di chuyển/dừng thang máy): đây là chức năng chính của thang máy, đƣa ra quyết định dừng hay điều khiển hƣớng của thang máy.

Khoi dong/dong thang máy (khởi động/đóng thang máy): cho phép ngƣời quản lý có thể khởi động hay kết thúc việc sử dụng thang máy.

Bo kich hoat ngat khan cap (bộ kích hoạt ngắt khẩn cấp): đây là cơ chế an toàn trong buồng thang máy để đảm bảo không phát sinh tình trạng không an toàn.

Từ đây có thể nhận thấy có hai tác nhân tƣơng tác với ECS: một tác nhân cụ thể là ngƣời quản lý, chỉ rõ ngƣời quản lý thang máy, một tác nhân trừu tƣợng là hành khách sử dụng thang máy. Trong đó hành khách sử dụng thang máy đóng vai trò tƣơng tác chính đến hệ thống. Hành khách tƣơng tác với thang máy bằng cách ra yêu cầu gọi thang máy và yêu cầu đến tầng nào trong tòa nhà, thang máy phải cho hành khách biết hƣớng di chuyển cũng nhƣ vị trí thang máy đang đi đến đâu (tầng nào) theo hƣớng nào (lên hay xuống).

2.3.2. Biểu đồ lớp

Biểu đồ lớp, một trong những biểu đồ đƣợc sử dụng phổ biến nhất trong hệ thống hƣớng đối tƣợng, mô hình hóa khung nhìn thiết kế tĩnh của một hệ thống. Mục đích chính của khung nhìn này là hỗ trợ các yêu cầu chức năng của hệ thống – là các dịch vụ mà hệ thống cung cấp cho ngƣời dùng cuối. Các biểu đồ lớp trong hệ thống qua hai khung nhìn khác nhau (khung nhìn xây dựng đối tƣợng và khung nhìn kiến trúc phần mềm) sẽ đƣợc trình bày cụ thể trong phần sau.

Một biểu đồ lớp thể hiện một tập các lớp, các giao diện, các sự cộng tác và các mối quan hệ của chúng. Các biểu đồ lớp mô tả tổng thể hệ thống, nhƣ là kiến trúc hệ thống, bao gồm các thuộc tính và các thao tác trong lớp. Thƣờng các thành phần của một biểu đồ lớp bao gồm:

 Các lớp

 Các giao diện

 Các sự cộng tác

 Các quan hệ phụ thuộc, tổng quát hóa, và liên kết

Trong phần sau hai nhóm của biểu đồ lớp đƣợc trình bày và phân tích chi tiết.

2.3.2.1. Biểu đồ lớp – khung nhìn xây dựng đối tƣợng

Từ các ca sử dụng đƣợc trình bày trong phần 2.3.1 và dựa vào các yêu cầu của hệ thống, bằng trực giác chúng ta sẽ đƣa ra một biểu đồ lớp nhƣ trong hình 2.15.

Chúng ta sẽ không xem xét chi tiết các thành phần của biểu đồ lớp (sẽ trình bày trong chƣơng 3) mà xem xét biểu đồ lớp dƣới góc độ của khung nhìn hiện tại (khung nhìn xây dựng đối tƣợng), tức là chúng ta xây dựng biểu đồ lớp từ khung nhìn thành phần đối tƣợng của hệ thống.

Hình 2.15. Biểu đồ lớp của ECS.

BoDieuKhien (bộđiều khiển thang máy): Đối tƣợng điều khiển trung tâm

trong hệ thống thang máy. BoDieuKhien giao tiếp và điều khiển tất cả

các đối tƣợng khác trong hệ thống.

Cua (cửa): Có hai cửa trong hệ thống (cửa thang máy và cửa tầng), đối

tƣợng BoDieuKhien ra lệnh mở hay đóng cửa dựa vào trạng thái tình

huống trong ca sử dụng.

ThangMay (thang máy): Đƣợc điều khiển di chuyển lên hoặc xuống hay dừng tại các tầng khi cần thiết.

NutNhan (nút nhấn): Lớp BoDieuKhien cũng điều khiển lớp NutNhan,

là lớp tổng quát hóa của hai lớp con NutTang (Nút tầng) và

NutThangMay (Nút Thang máy). Đối tƣợng điều khiển giao tiếp với đối

1 dieu khien dieu khien & truyen thong dieu khien * * 2 1 1 1 1 dieu khien 1 1 dieu khien 1 2 BoDieuKhien Cua ThangMay Den NutNhan Nut ThangMay NutTang BoNhanBietViTri ThangMay BoNhanBietHuong DiChuyenThangMay SuAnToan BoNhanBiet

tƣợng NutNhan, lấy thông tin từ nút đƣợc nhấn để điều khiển đèn sáng và

chuyển đối tƣợng NutNhan sang trạng thái đã đƣợc nhấn.

Den (đèn): Đèn tầng và đèn thang máy, đƣợc điều khiển bởi

BoDieuKhien bật, tắt đèn tƣơng ứng với NutNhan và hoạt động của thang máy.

BoNhanBiet (bộ nhận biết): có hai loại bộ nhận biết trong hệ thống,

BoNhanBietViTriThangMay (Bộ nhận biết vị trí Thang máy) và

BoNhanBietHuongDiChuyenThangMay (Bộ nhận biết hướng di chuyển

Thang máy). Các bộ nhận biết thể hiện vị trí cũng nhƣ hƣớng di chuyển

của thang máy.

SuAnToan (sự an toàn): bất cứ khi nào một trình trạng khẩn cấp (không

an toàn) xẩy ra BoĐieuKhien sẽ yêu cầu chế độ an toàn.

Biểu đồ lớp này đƣợc phát sinh từ các ca sử dụng trong phần 2.3.1. Biểu đồ lớp trong biểu đồ này bao hàm tất cả các khía cạnh chức năng của hệ thống: di

chuyển hay dừng thang máy ta có lớp ThangMay, lớp BoDieuKhien; mở và

đóng cửa có lớp Cua; cho hành khách biết vị trí và hƣớng di chuyển của thang

máy có lớp BoNhanBiet; hành khách yêu cầu thang máy hay yêu cầu đến tầng

thông qua việc nhấn nút - có lớp NutNhan. Tất cả các lớp phải tƣơng tác với bộ

phận điều khiển trung tâm – thay đổi hành động của các đối tƣợng. Từ quan điểm của việc phân chia các đối tƣợng và chức năng hệ thống, biểu đồ lớp giúp ta hiểu đƣợc các ý tƣởng thiết kế cơ bản của hệ thống.

Xem xét biểu đồ lớp hiện tại, có khả năng sẽ phát sinh về những vấn đề trong thiết kế phần mềm. Nếu không tìm thấy một giải pháp tốt thì việc thiết kế phần mềm sẽ đi đến thất bại.

 Áp lực đối với đối tƣợng trung tâm: từ việc phân tích chúng ta có thể nhận

thấy đối tƣợng BoDieuKhien hoạt động nhƣ là đối tƣợng trung tâm tƣơng

tác với tất cả các đối tƣợng khác. Tất cả các tác vụ tính toán và điều khiển phải hoạt động trong phạm vi đối tƣợng này.

 Trạng thái nhàn rỗi của một số các đối tƣợng: trong khi đối tƣợng

BoDieuKhien phải làm việc mọi lúc, thì một số các đối tƣợng khác nhƣ

NutNhanBoNhanBiet chỉ hoạt động khi hệ thống tƣơng tác, ngay cả

một phần của hệ thống, từ quan điểm của việc điều khiển phần mềm, điều này đã vƣợt ra khỏi phạm vi của hệ thống phần mềm.

2.3.2.2. Biểu đồ lớp – khung nhìn kiến trúc phần mềm

Biểu đồ lớp cung cấp giải pháp cho việc thiết kế và thực hiện phần mềm. Kiến trúc phần mềm của hệ thống điều khiển thang máy đƣợc phản ánh một

cách chính xác trong biểu đồ này. Ngoại trừ BoGoi (Dispatcher - bộ gởi), tất cả

các đối tƣợng điều khiển khác đƣợc phát sinh từ lớp BoDieuKhien. Các đối

tƣợng điều khiển chia sẻ một số đặc tính của BoDieuKhien, và nó có các thuộc

tính, thao tác riêng dùng cho đối tƣợng nó điều khiển. Các đối tƣợng chịu sự điều khiển của các đối tƣợng điều khiển đƣợc định nghĩa nhƣ là các đối tƣợng môi trƣờng, mặc dù chúng tồn tại trong hệ thống thang máy, nhƣng thực chất nó không thuộc về hệ thống điều khiển phần mềm.

DieuKhienCua (điều khiển cửa): điều khiển hoạt động của MotoCua

(môtơ cửa), mỗi MotoCua trong buồng thang máy đƣợc điều khiển bởi

một đối tƣợng DieuKhienCua. MotoCua có thể đƣợc ra lệnh mở hay

đóng cửa.

DieuKhienBoLai (điều khiển bộ lái): điều khiển BoLai (bộ lái) thang máy, hoạt động nhƣ là môtơ chính di chuyển buồng thang máy lên, xuống hay dừng lại ở một tầng khi cần thiết.

DieuKhienDen (điều khiển đèn): điều khiển đèn bật tắt.

DieuKhienNutTang (điều khiển nút tầng): đƣợc gắn ở mỗi tầng,

DieuKhienNutTang chấp nhận khi nhấn nút tầng để chuyển trạng thái tƣơng ứng cho nút tầng.

DieuKhienNutBuongThangMay (điều khiển nút buồng thang máy): gồm các nút mỗi tầng và tất cả đƣợc đặt trong buồng thang máy.

DieuKhienNutBuongThangMay chấp nhận yêu cầu khi nhấn NutBuong

(nút buồng thang máy) và thay đổi đèn buồng thang máy bật/ tắt tƣơng ứng.

NhanBietViTriBuongThangMay (nhận biết vị trí buồng thang máy):

Hình 2.16. Biểu đồ lớp – khung nhìn kiến trúc phần mềm.

Có hai đối tƣợng không điều khiển trong hệ thống:

BoGoi (bộ gởi - Dispatcher) không điều khiển các thành phần của thang máy, nhƣng rất quan trọng trong hệ thống phần mềm. Chức năng chính của nó là để tính toán hƣớng di chuyển và nơi đi đến của buồng thang

máy, cũng nhƣ duy trì đƣợc thời gian mở cửa thang máy. BoGoi tƣơng

tác gần nhƣ với tất cả các đối tƣợng điều khiển trong hệ thống.

SuAnToan (sự an toan): cũng là một đối tƣợng môi trƣờng, nó không thuộc về phần mềm điều khiển, nhƣng là một phần quan trọng của hệ thống. Trong thế giới thực, các hành động an toàn sẽ thay đổi nếu

NgatKhanCap (ngắt khẩn cấp) của hệ thống thang máy đƣợc kích hoạt. Trong hệ thống tháng máy này, hành khách đƣợc mô hình hóa nhƣ một đối tƣợng môi trƣờng. Hành khách tƣơng tác với các nút yêu cầu đến tầng, và các nút yêu cầu buồng thang máy, chuyển trạng thái của cửa, quan sát hƣớng và vị trí của thang máy, v.v… Để cho đơn giản, đối tƣợng hành khách không thể hiện trong hình 2.16. dieu khien 1 1 dieu khien 1 1 * * dieu khien 1 1 dieu khien 1 1 dieu khien 1 1 dieu khien 1 1 1 1 giao tiep 1 1 1 1 dieu khien 1 1 Ngat KhanCap SuAn Toan DieuKhien ThangMay BoGoi DieuKhien Cua DieuKhien BoLai DieuKhien Nut DieuKhien Den DieuKhienViTri BuongThangMay MotoCua BoLai DieuKhien NutTang DieuKhien NutBuong Den NhanBietViTri BuongThangMay NutTang NutBuong

Các tác vụ điều khiển đƣợc phân bố đến một số các đối tƣợng điều khiển, mỗi tác vụ điều khiển một hoặc hai đối tƣợng môi trƣờng, không có đối tƣợng nào bị áp lực hay ở trạng thái không làm gì.

Trong phần 2.3.2 hai biểu đồ lớp khác nhau nhấn mạnh vào các khung nhìn khác nhau của hệ thống thang máy. Mỗi một khung nhìn nắm bắt một khía cạnh của hệ thống, và đƣa ra một cách hiểu tổng thể việc thiết kế hệ thống khi kết hợp

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phân tích thiết kế hệ thống thời gian thực theo cách tiếp cận hướng đối tượng (Trang 36)

Tải bản đầy đủ (PDF)

(81 trang)