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 là
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ƣ
NutNhan và BoNhanBiet 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