MỤC LỤC Nội dung TrangMở đầu 1Nội dung 2Chương 1: Tổng quan về UML 21. Giới thiệu về UML 22. Mô hình khái niệm UML 33. Kiến trúc hệ thống 54. Tổng quan Rational Rose 5Chương 2: Phân tích và thiết kế bài toán điều khiển hoạt động của thang máy 61. Phát biểu bài toán 62. Phân tích thiết kế 8Biểu đồ use case 8Biểu đò lớp 10Biểu đồ trình tự 13Biểu đồ cộng tác 14Biểu đồ chuyển trạng thái 16Lưu đồ hành động 183. Mở rộng bài toán thang máy 21Kết luận 22Tài liệu tham khảo 23
Trang 1PHAN I MO’ DAU
Ngăy nay, kỷ thuật phần cứng ngăy căng phât triển, câc mây tính mỗi ngăy một mạnh hơn nín người sử dụng mong đợi ở chúng ngăy một nhiều hơn Do đó xu hướng phât triển phần mềm ngăy căng lớn vă căng phức tạp Một mặt ta muốn có nhiều phần mềm thích ứng tốt hơn với nhu cầu của mình nhưng chính điều đó lại lăm cho phần mềm trở nín phức tạp hơn Mặt khâc yíu cầu thời gian sản xuất phần mềm ngăy căng ngắn Vì vậy cần phải có một công nghệ mới để đâp ứng mục đích phât triển phần mềm phức tạp ngăy nay
Tổ chức sản xuất phần mềm đê có một câch lăm việc được quản lý, đó lă một quâ trình mă tích hợp nhiều mặt của phât triển phần mềm, một quâ trình mă cung cấp hướng dẫn về trật tự họat động của một đội lăm phần mềm; chỉ đạo những nhiệm vụ của mỗi người phât triển vă nhóm trong một thể thống
nhất; chỉ ra câc chế tâc cần được phât triển; đề xuất câc tiíu chuẩn cho việc
giâm sât vă đo lờng sản phẩm cũng như câc hoạt động của dự ân
Theo giải phâp năy, mô hình để phât triển phần mềm dựa theo mô hình vòng đời (lặp vă tăng dần), mỗi vòng đời có 4 giai đoạn: Sơ bộ, chỉ tiết, xđy dựng vă chuyển giao Công cụ cơ bản để phât triển phần mềm lă sử dụng ngôn ngữ mô hình hóa để đặc tả, xđy dựng vă lăm tăi liíu câc vật phẩm trong quâ trình xđy dựng hệ thống phần mềm Trong đó UML lă ngôn ngữ được sử dụng phổ biến nhât
Để tiếp cận với giải phâp năy, chúng tôi minh họa thông qua băi toân “Điều khiển hoạt động của hệ thống thang mây”
Nội dung tiểu luận gồm có 2 chương: Chương 1: Tổng quan về UML
Chương 2: Phđn tích vă thiết kế băi toân điều khiển hoạt động của thang mây Chương năy đi sđu giải quyết vấn đề đối với thang mây có số tầng 1<=m<=10 Sau đó phât triển băi toân cho trường hop thang may có số tầng 1<=m<=100 bằng câch kết hợp nhiều loại thang mây có bước di chuyển khâc nhau
Trang 2
PHAN 2 NOI DUNG
CHUO'NG 1 TONG QUAN VE UML
(Unified Modeling Language)
1.1 Giới thiệu UML
Câc ngơn ngữ mơ hình hô ra đời vă ngăy căng được cải tiến, trong đó sự ra đời của UML (Unified Modeling Language) dựa trín ba phương phâp hướng đối tượng Booch, OMT, OOSE đê nhanh chóng trở thănh một ngôn ngữ chuẩn dùng để trực quan hoâ, đặc tả, xđy dựng vă lăm sưu liệu cho câc sản phẩm phần mềm vă được hỗ trợ bởi câc tổ chức, câc công ty phât triển phần mềm trín thế giới
UML - Unified Modeling Language- tạm dịch lă ngôn ngữ mô hình hợp nhất, nó được hiểu như một ngôn ngữ thống nhất những xu hướng vă hình
thâi của cuộc câch mạng tri thức trong lĩnh vực thông tin Nó lă một phương
tiện giúp cho câc tổ chức có thể nhận thức một câch tốt nhất lợi thế cạnh tranh thông qua việc nắm bắt, truyền đạt, trao đổi vă nđng cao tri thức trong lĩnh vực
công nghệ phần mềm Chính xâc hơn UML lă một ngôn ngữ mô hình hóa dùng
để đặc tả, trực quan hoâ, xđy dựng vă lăm sưu liệu cho câc hệ thống phần
mím
UML lă ngôn ngữ chuẩn để viết kế hoạch chỉ tiết phần mềm Để sử dụng UML có hiệu quả, đòi hỏi phải hiểu được ba vấn đề chính sau:
e _ Câc phần tử cơ bản của mô hình trong UML e Câc qui định liín kết câc phần tử mô hình
e Một số cơ chế chung âp dụng cho ngôn ngữ năy
UML lă ngôn ngữ vă nó chỉ lă một phần của tiến trình phât triển phần mềm, nó độc lập với tiến trình Vì vậy, UML rất phù hợp cho việc mô hình hóa câc hệ thống như: hệ thông tin doanh nghiệp, câc ứng dụng phđn tân trín nền Web, hệ thống nhúng thời gian thực, Câc quan sât của ngôn ngữ tập trung văo phât triển vă triển khai hệ thống, nó không khó hiểu vă rất dễ sử dụng
UML không những lă một ngôn ngữ mă còn lă ngôn ngữ để hiển thị, ngôn ngữ để đặc tả, ngôn ngữ để xđy dựng vă ngôn ngữ để lăm tăi liệu
1.2 Mô hình khâi niệm của UML
Để hiểu được UML ta phải hình dung được mô hình khâi niệm của ngôn ngữ Nó đòi hỏi phải nắm được ba vấn đề chính:
Trang 3
e Câc phần tử cơ bản để xđy dựng mô hình e _ Qui tắc liín kết câc phần tử của mô hình «_ Một số cơ chế chung sử dụng cho ngôn ngữ
Câc khối để hình thănh mô hình UML gồm ba loại: phần tử, quan hệ vă biểu đồ Phần tử lă trừu tượng căn bản trong mô hình; câc quan hệ gắn câc phần tử năy lại với nhau; còn biểu đồ lă nhóm tập hợp câc phần tử
1.2.1 Câc phần tử mô hình trong UML
Trong UML có bốn loại phần tử mô hình, đó lă phần tử cấu trúc, phần tử hănh vi, phần tử nhóm vă phần tử chú thích Câc phần tử năy lă câc khối xđy
dựng hướng đối tượng cơ bản của UML
e Phần tử cấu trúc: lă câc danh từ trong mô hình UML, lă bộ phận tĩnh của mô hình để biểu diễn câc thănh phần khâi niệm hay vật lý Có bảy loại phần tử cấu trúc: lớp, giao diện, phần tử cộng tâc, trường hợp sử dụng (use case), lớp tích cực (active class), thănh phần vă nút (node)
e Phan tt hănh vi: lă bộ phận động của mô hình UML, chúng lă động từ
của mô hình, biểu diễn hănh vi theo thời gian vă không gian Có hai loại chính lă tương tâc vă trạng thâi
e Phan ti nhóm: lă bộ phận tổ chức của mô hình UML Chỉ có một phần tử thuộc nhóm năy lă gói (package) Gói lă cơ chế đa năng để tổ chức câc phần tử văo nhóm Câc phần tử cấu trúc, hănh vi vă ngay cả phần tử nhóm có thể cho văo gói
e _ Phần tử chú thích: lă bộ phận chú giải của mô hình UML, đó lă lời giải thích âp dụng để mô tả câc phần tử khâc trong mô hình
1.2.2 Câc quan hệ trong UML
Có bốn loại quan hệ trong UML, bao gồm quan hệ phụ thuộc, kết hợp,
khâi quât hóa vă hiện thực hóa; chúng lă câc khối cơ sở để xđy dựng mọi
quan hệ trong UML
e _ Phụ thuộc (dependency): lă quan hệ ngữ nghĩa giữa hai phần tử, trong đó thay đổi phần tử độc lập sẽ tâc động đến ngữ nghĩa của phần tử phụ thuộc
e Kĩt hop (association): lA quan hệ cấu trúc để mô tả tập liín kết Khi đối tượng của lớp năy gửi/nhận thông điệp đến/từ đối tượng của lớp kia
Trang 4
e Khai quat hoa (generalization): la quan hĩ dac biệt hóa/ khâi quât hóa mă trong đó đối tượng cụ thể sẽ kế thừa câc đối tượng tổng quât
e _ Hiện thực hóa (realization): lă quan hệ ngữ nghĩa giữa giao diện vă
lớp hiện thực lớp, giữa UC vă hợp tâc hiện thực UC
1.2.3 Câc biểu đồ sử dụng trong UML
« Biểu đồ trường hợp sử dụng (Use Case - UC): biểu đồ năy chỉ ra tương tâc giữa câc UC vă tâc nhđn UC biểu diễn câc chức năng hệ thống Tâc nhđn lă con người hay hệ thống khâc cung cấp hay thu nhận thông tin từ hệ thống đang được xđy dựng
e« Biểu đồ trình tự (sequence): chỉ ra luồng chức năng xuyín qua câc UC, nó lă biểu đồ tương tâc tập trung văo mô tả trật tự câc thông điệp theo thời gian
e_ Biểu đồ cộng tâc (collaboration): chỉ ra câc thông tin như biểu đồ trình tự nhưng theo câch khâc, nó tập trung tổ chức cấu trúc của câc đối tượng gửi vă nhận thông điệp
« Biểu đồ lớp (class): chỉ ra tương tâc giữa câc lớp trong hệ thống, câc lớp được xem như kế hoạch chỉ tiết của câc đối tượng
« _ Biểu đồ chuyển trạng thâi (state transition): cung cấp câch thức mô hình hóa câc trạng thâi khâc nhau của đối tượng Trong khi biểu đồ lớp cung cấp bức tranh tĩnh về câc lớp vă quan hệ của chúng thì biểu đồ chuyển trạng thâi được sử dụng để mô hình hóa câc hănh vi động của hệ thống
e Biĩu dĩ thanh phan (component): cho ta cai nhin vat lý của mô hình Biểu đồ thănh phần cho ta thấy câc thănh phần phần mềm trong hệ thống vă quan hệ giữa chúng Có hai loại thănh phần trong biểu đồ, đó lă thănh phần
khả thực vă thănh phần thư viện
« Biểu đồ triển khai (deployment): chỉ ra bố trí vật lý của mạng vă câc thănh phần hệ thống sẽ đặt ở đđu
1.3 Kiến trúc hệ thống
Kiến trúc lă trừu tượng hóa câc khía cạnh quan trọng nhất của hệ thống,
nó cung cấp khung trong đó thiết kế sẽ được xđy dựng Nó mô tả tầm cỡ, sức mạnh của hệ thống, thu thập câc UC quan trọng nhất vă câc yíu cầu ứng dụng Nó thể hiện phần mềm sẽ được tổ chức như thế năo vă cung cấp câc giao thức trao đổi dữ liệu vă giao tiếp giữa câc modul Kiến trúc hệ thống lă vật
Trang 5phẩm quan trọng nhất, được sử để quản lý câc điểm nhìn khâc nhau nhằm điều khiển phât triển hệ thống tăng dần vă lặp trong suốt chu kỳ sống Kiến trúc lă tập câc quyết định về:
e _ Tổ chức của hệ thống phần mềm
e_ Lựa chọn câc phần tử cấu trúc vă giao diện cho hệ thống e _ Hănh vi của chúng thể hiện trong hợp tâc giữa câc phần tử e _ Tổ hợp câc phần tử cấu trúc vă hănh vi văo hệ con lớn hơn 1.4 Tổng quan về Rational Rose
Rational Rose lă phần mềm công cụ mạnh hỗ trợ phđn tích, thiết kế hệ thống phần mềm theo hướng đối tượng Nó giúp mô hình hóa hệ thống trước khi viết mê trình, nó đảm bảo tính đúng đắn, hợp lý của kiến trúc hệ thống từ khi khởi đầu dự ân Mô hình Rose lă bức tranh hệ thống, nó bao gồm toăn bộ
biểu đồ UML, tâc nhđn, trường hợp sử dụng, đối tượng, lớp, thănh phần vă
câc nút triển khai trong hệ thống Nó mô tả chỉ tiết hệ thống bao gồm câc gì vă chúng lăm việc ra sao để người phât triển hệ thống có thể sử dụng mô hình như kế hoạch chỉ tiết cho việc xđy dựng hệ thống Rose hỗ trợ giải quyết vấn đề muôn thủa lă đội ngũ dự ân giao tiếp với khâch hăng vă lăm tăi liệu yíu cầu
Trang 6
CHƯƠNG 2
PHĐN TÍCH VĂ THIẾT KẾ BĂI TOÂN
ĐIỀU KHIỂN HOẠT ĐỘNG CUA THANG MAY
2.1 Phât biểu băi tôn
Cơng ty xđy dựng nhă ở muốn xđy một toă nhă có m tầng (m<=10) Để khâch đi lại cần phải có một hệ thống cầu thang gồm cầu thang bộ vă cầu
thang may Van đề đặt ra lă phải xđy dựng được một hệ thống thang mây hoạt
động một câch tối ưu vă thuận lợi nhất Cụ thể thang mây phải đâp ứng được câc yíu cầu sau:
-Yíu cầu về giao diện sử dụng:
+Trong thang mây có m nút bắm Mỗi nút tương ứng với một tầng Khi
được nhắn câc nút năy được bật sâng
+Trĩn mỗi tầng có hai nút bâm có hướng ngược chiều nhau nhằm cho người sử dụng yíu cầu thang mây di chuyển đi lín hay đi xuống Riíng ở tầng trín cùng chỉ có một nút hướng xuống vă ở tầng dưới cùng chỉ có một
nút hướng lín Khi được nhấn, câc nút năy được bật sâng
+Trín mỗi tầng có một dêy m đỉn Nếu thang mây đang ở tầng năo thì đỉn tương ứng với tầng đó sẽ sâng Mục đích của nó lă giúp người dùng biết hiện tại thang mây đang đứng ở tầng năo
-Yíu cầu về hoạt động:
Nguyín tắc chung: Thang mây phải hoạt động một câch tối ưu vă thuận
lợi nhất
+ Trong thang mây, nếu có nhiều nút được nhắn thì câc nút đó được bật sâng Khi thang mây di chuyển đến tầng tương ứng thì câc nút trở lại trạng thâi bình thường
+Ở mỗi tầng có hai nút, tại một thời điểm chỉ có một trong hai nút được
nhắn Nếu có nhiều tầng nhắn nút, thì câc nút ở mỗi tầng đều được bật sâng Khi thang mây di chuyển đến tầng năo thì nút ở tầng đó trở lại trạng thâi bình thường
+Nếu không có yíu cầu, thang mây sẽ dừng lại tầng cuối cùng của hănh trình vă cứa đóng Nếu chờ quâ k giđy vă không có yíu cầu thì thang mây sẽ di chuyển về tầng 0 (tầng trệt)
Trang 7
+Thang mây hoạt động theo nguyín tắc nhđn tiện: tức lă nếu thang mây đang đi lín nếu có người yíu cầu ở tầng lớn hơn vị trí hiện tại của thang mây
thì thang mây sẽ mở cửa đón những người năy lín
+Ngoăi ra, thang mây hoạt động theo nguyín tắc ưu tiín: tức lă nếu như
không thể nhđn tiện được thì tầng năo bắm nút thang mây trước thì thang mây
Trang 82.2 Phan tich va thiĩt kĩ
Trong phần năy chúng tôi sử dụng ngôn ngữ mô hình hóa UML để đặc tả thông qua câc biểu đồ Câc biểu đồ được sử dụng cho quâ trình phđn tích vă thiết kế bao gồm: Biểu đồ use-case, biểu đồ lớp, biểu đồ trình tự, biểu đồ cộng tâc vă dòng dữ liệu, biểu đồ chuyển trạng thâi, lưu đồ hănh động
2.2.1 Biểu đồ Use case
Mục tiíu của use case trong quâ trình phât triển phần mím điều khiển hoạt động thang mây
- Mô tả khâi quât hoạt động vă câc chức năng chính của hệ thống điều khiển hoạt động thang mây Lă kết quả của quâ trình khảo sât, nghiín cứu câc yíu cầu vă những thỏa thuận giữa người sử dụng thang mây với người phât triển phần mềm
- Lăm cơ sở để người phđn tích viín hiểu, người thiết kế xđy dựng câc kiến trúc, người lập trình căi đặt câc chức năng, người kiểm duyệt kiểm tra câc kết quả thực hiện của thang mây
- Use case được biểu diễn lă một hình elip có ghi hoạt động của use case Hoạt động
Trong đó, “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í dụ: “Nhắn nút tầng” lă một use case
Chuỗi sự kiện:
- Người sử dụng nhấn nút yíu cầu thang mây thang mây phục vụ - Hệ thống thang mây xâc định nút được nhắn ở tầng năo
- Thang mây di chuyển đến tầng người sử dụng gọi thang mây phục vụ - Cửa thang mây mở ra để đón người sử dụng
- Người sử dụng bước văo trong thang mây vă nhắn nút để chọn tầng cần đến
- Cửa thang mây đóng lại
- Thang mây di chuyển đến tầng người sử dụng yíu cầu
Trang 9
- Cửa thang mây mở ra để người sử dung di ra
Trang 102.2.2 Biểu đồ lớp
Lớp lă một mô tả về tập câc đối tượng có cùng chung câc thuộc tính, câc phương thức hănh động, câc mối quan hệ vă giống nhau về ngữ nghĩa
Khi xđy dựng mô hình cho một hệ thống phần mềm thì những khâi niệm được sử dụng để tạo ra mô hình phải đơn giản, dễ hiểu vă lăm cơ sở để trao đổi với nhau trong quâ trình phât triển hệ thống Những khâi niệm về nghiệp vụ phải được thiết kế sao cho phù hợp với quy trình xử lý công việc hiện tại vă có thể thích ứng với xu thế phât triển trong tương lai
Trong UML, mô hình khâi niệm của hệ thống được mô tả bởi biểu đồ lớp Vấn đề quan trọng của pha năy lă xâc định đầy đủ vă chính xâc câc lớp đối tượng của hệ thống cần phât triển
Biểu đồ lớp mô tả quan sât tỉnh của hệ thống thông qua câc lớp vă câc mối quan hệ của chúng
Trong hệ thống điều khiển thang mây chúng tôi sử dụng câc lớp sau: Lớp Thang_ may Thang_may @huong : boolean Ñ›tanghientai : int %dichuyen() ®dung() tinhtrang() -huong: lă thuộc tính quy định hướng di chuyển của thang mây đi lín hay đi xuống
-tanghientai: lă thuộc tính quy định tầng hiện tại của thang mây
-dichuyen(): lă phương thức điều khiển thang mây di chuyền -dung(): lă phương thức điều khiển thang mây dừng
-tinhtrang(): lă phương thức cho biết tình trạng hiện thời của thang mây: dừng, đi lín hay đi xuống
Trang 11
Bo_dieu_khien &,huong : boolean Lop Bo_dieu_khien Spvitri nt &&matang : int
-huong: lă thuộc tính quy định hướng mă thang mây phai di chuyĩn -vitri: lă thuộc tính cho biết vị trí thang mây
-matang: lă thuộc tính quy định tầng thang mây phải đến Lớp Cua 6w &»dong : boolean = true Ÿdong() mo()
-dong: lă thuộc tính quy định trạng thâi của cửa, đặt ngầm định lă true
Trang 12Lớp Nut_thang_ may Lớp năy kế thừa từ lớp Nut Nut thang_may &schisotang : int -chisotang: lă thuộc tính quy định tầng mă người dùng yíu cầu ở trong thang mây Lớp Nut_tang Lớp năy kế thừa từ lớp Nut Nut_tang @&pchisotang :int ĩ&»huong : boolean
-chisotang: lă thuộc tinh quy định tầng mă người dùng đang đứng bắm -huong: lă thuộc tính quy định hướng di chuyển mă người dùng yíu cầu thang mây Biểu đồ lớp của hệ thống điều khiển thang mây Thang_may Bo_dieu_khien
@phuong : boolean - Cua
@ptanghientai : int +Dieu khien| Đhuong : boolean Ì+ Djeu khien dong : boolean = true ` Ñ»vtri : int :
Trang 132.2.3 Câc biểu đồ trình tự
Biểu đồ trình tự lă biểu đồ tương tâc theo trật tự thời gian của câc giao tiếp bằng thông điệp giữa câc đối tượng Biểu đồ được đọc từ đỉnh xuống đây Mỗi use case có thể có nhiều luồng dữ liệu, mỗi biểu đồ trình tự biểu diễn một luồng dữ liệu
Đđy lă một trong những biểu đồ quan trọng Sau đđy chúng tôi sẽ mô tả một số biểu đồ trình tự trong hệ thống điều khiển hoạt động của thang mây
a/ Biĩu dĩ trình tự của nút bâm trín tầng
Người sử dụng nhấn nút bam ở tầng mình cần gọi thang mây phục vụ, thang mây nhận yíu cầu phục vụ vă cập nhật thông tin tầng năy văo bộ điều khiển Bộ điều khiển chỉ thị cho đỉn ở tầng có bam nút bật sâng, đồng thời chỉ thị cho thang mây di chuyển đến tầng có người gọi thang mây Khi thang mây đê đến tầng có người gọi rồi thì dừng lại, đồng thời bộ điều khiển chỉ thị đỉn ở tầng đó tắt đi Tiếp theo bộ điều khiển chỉ thị cho cửa mở, người sử dụng đi văo thang mây Bộ điều khiển yíu cầu thang mây đóng cửa lại để chuẩn bị phục vụ cho nút bắm trong thang mây
; : Nut_tang Bo dieu khien Thang may Cua
Trang 14b/ Biĩu dĩ trinh tw cda nut bam trong thang may
Người sử dụng nhắn nút trong thang mây, bộ điều khiển sẽ cập nhật nút mă người sử dụng vừa nhấn đồng thời chỉ thị cho đỉn tương ứng bật sâng Tiếp theo bộ điều khiển chỉ thị cho thang mây di chuyển đến tầng người sử dụng yíu cầu, khi đến tầng người sử dụng yíu cầu thì thang mây dừng, đồng
thời bộ điều khiển chỉ thị đỉn của nút bâm tắt Sau đó chỉ thị cho cửa mở ra,
khi khâch ra hết hoặc sau một thời gian hạn định thì đóng cửa lại : Nut_thang_may ae dieu khien - Thang_may Cua: 7m ey -Nauoi dung 1: Nhan 2: Cap nhat l ' 1 3: Bat sang ' ' 4 Dichuyen ! Ệ | 5: Den ! Ta Sn : 8: Mô cua 7 9 Dong cua -4 Biểu đồ trình tự của nút bam trong thang may 2.2.4 Câc biểu đồ cộng tâc
Tương tự như biểu đồ trình tự, biểu đồ cộng tâc chỉ ra luồng sự kiện
xuyín qua kịch bản của Use case Trong khi biểu đồ trình tự có trật tự theo
thời gian, thì biểu đồ cộng tâc lại tập tập trung nhiều văo quan hệ giữa câc đối tượng, tổ chức cấu trúc của câc đối tượng gửi vă nhận thông điệp Biểu đồ
Trang 15cộng tâc được sử dụng để câc ky sư kiểm tra chất lượng vă câc kiến trúc sư hệ thống thấy được việc phđn bổ tiến trình giữa câc đối tượng thông qua loại biểu đồ năy
Biểu đồ cộng tâc chính lă một đồ thị chỉ ra một số câc đối tượng vă những sự liín kết giữa chúng, trong đó câc đỉnh lă câc đối tượng còn cạnh thể hiện sự trao đổi thông điệp giữa câc đối tượng
Từ biểu đồ tuần tự chúng ta có thể tạo ra biểu đồ cộng tâc của nút trong thang mây Qua đđy chúng ta thấy sự tương tâc giữa người sử dụng vă với nút bấm trín câc tầng, nút bấm trong thang mây Qua tương tâc năy bộ điều khiển sẽ chỉ thị cho thang mây, cửa, đỉn thực hiện những động tâc cần thiết để thang mây hoạt động đồng bộ vă hiệu quả
a/ Biểu đồ cộng tâc của nút bâm trín tằng
+ Nea Nutian 2: Cap nhat
Trang 16b/ Biĩu đồ cộng tâc của nút bâm trong thang mây Nut_thang may | 2: Cap nhat Peg OX, x _— el _=— Bo dieu khien _ F=- 3: Bat sang a 7: Tat i Nquoi dung 5: Den 4: Di chuyen 8: Mo cua 6: Dung 8: Dong cua Thang may Cua _ si
Biểu đồ cộng tâc của nút bắm trong thang mây
2.2.5 Biểu đồ chuyĩn trang thai
Biểu đồ chuyển trạng thâi mô tả chu kỳ tồn tại của đối tượng, nó bao gồm
câc thông tin về câc trạng thâi khâc nhau của đối tượng, thể hiện câch thức
chuyền từ trạng thâi năy sang trạng thâi khâc của đối tượng Biểu đồ trạng thâi còn cho biết câc sự kiện tâc động trín câc trạng thâi như thế năo
Mỗi đối tượng trong hệ thống khi thực hiện đều có câc trạng thâi cụ thể
Trạng thâi lă kết quả của câc hoạt động do đối tượng thực hiện trước đó Tại
mỗi thời điểm, đối tượng luôn ở trong một trạng thâi xâc định Thông thường trạng thâi được xâc định bởi giâ trị câc thuộc tính vă câc liín kết đến câc đối
tượng khâc
Biểu đồ trạng thâi có điểm khởi đầu (hình tròn đen) vă một số điểm kết thúc (Hình tròn bao quanh một hình tròn đen) Câc trạng thâi được biểu diễn bằng hình chữ nhật góc tròn, có tín gọi vă thao tâc kết hợp Trạng thâi của đối tượng sẽ bị thay đổi vă chuyển sang trạng thâi khâc khi thỏa mên một số điều
Trang 17
kiện năo đó Dòng biến đổi trạng thâi được biểu diễn bởi mũi tín có điều kiện vă nhên mô tả một sự kiện xảy ra Biểu đồ trạng thâi giải thích cho chúng ta câch thức vă điều kiện để trạng thâi của đối tượng thay đổi
Biểu đồ trạng thâi lă cần thiết bởi nó giúp phđn tích viín, người thiết kế vă người phât triển hệ thống hiểu hănh vi của đối tượng trong hệ thống Đặc biệt người phât triển phải hiểu rõ hănh vi đối tượng vì họ phải căi đặt hănh vi trong
phần mềm Họ không chỉ căi đặt đối tượng mă còn lăm đối tượng thực hiện
câi gì đó
Trong quâ trình hoạt động của thang mây có một số trạng thâi như sau: -Trạng thâi chờ ở tầng 0 (q1) : Lúc năy thang mây vừa mới khởi động hoặc vừa mới kết thúc xong một phiín lăm việc, thang mây đang ở tầng 0 Trong thời gian chờ câc đỉn tín hiệu tắt Nếu có nút tầng được bắm thì chuyển sang trạng thâi q2 hoặc q3
-Trang thai thang mây di chuyển lín (q2): Khi có một nút được bấm (đỉn tín hiệu sâng) ở một tầng cao hơn vị trí hiện tại của thang mây thì thang mây sẽ di chuyển lín Khi thang mây đến tầng nhắn nút thì đỉn tín hiệu tắt Sau đó chuyền sang trạng thâi q4
-Trạng thâi thang mây di chuyển xuống (q3): Khi có một nút được bắm (đỉn tín hiệu sâng) ở một tầng thấp hơn vị trí hiện tại của thang mây thì thang mây sẽ di chuyển xuống Khi thang mây đến tầng nhắn nút thì đỉn tín hiệu tắt Sau đó chuyển sang trạng thâi q4
-Trạng thâi thang mây dừng (q4): Khi thang mây chuyển đến tầng có nút
được bắm thì thang mây dừng, đỉn tín hiệu tắt, ngay lúc đó cửa được mở, bộ
đếm thời gian t¡ được đặt bằng 0, sau đó được tăng dần Nếu t¡ > kạ (ki lă giới hạn thời gian mở cửa) thì cửa được đóng Nếu nút dừng cửa được nhắn thì t¡ được đặt lại bằng 0 vă sau đó lại tăng dần Khi đóng cửa, bộ đếm tạ được đặt lại bằng 0 Sau đó chuyển sang trạng thâi q5
-Trạng thâi thang mây di chuyễn xuống tằng 0 (q5): Nếu tạ > kạ (kz la giới
hạn thời gian chờ) mă không có một nút được bấm thì thang mây sẽ di chuyển
xuống tầng 0 vă chuyển sang trạng thâi q1
Có thể vẽ biểu đồ chuyển trạng thâi như sau:
Trang 18
Có nút bđm lín Di chuyển lín Có nút được bằm lớn hơn vị trí hiện tại của thang may xuống tầng n Di chuyĩn Di chuyển Đến Dimg xuống Có nút được bẩm nhỏ hơn vụ trí hiện tại của thang may) Quâ k giđy mă không có nút năo được bam Biểu đồ chuyền trạng thâi của thang mây
2.2.6 Lưu đồ hănh động (Flow chart)
Lưu đồ hănh động lă một biến thể của biểu đồ trạng thâi Lưu đồ hănh động cung cấp thím câc thông tin để chúng ta hiểu hoạt động của thang mây Hănh động được biểu diễn bởi hình chữ nhật, trong đó có tín gọi, đường có mũi tín chỉ ra hướng xảy ra hănh động tiếp theo, điều kiện quyết định hănh
động được đặt trong hình thoi
Dưới đđy xin trình băy lưu đồ hănh động chọn tầng mở cửa của thang mây khi nó chuyển động lín vă chuyển động xuống
-Gọi k lă tầng tại thời điểm hiện tại -Gọi m lă số tầng của tòa nhă
-Gọi nl lă tập hợp câc nút tầng bắm lín vă câc nút thang mây lớn hơn k nl={n: na, ns / (n, >k) or (n, hướng lín)}
-Gọi nl1 lă _nI1={n, / (n¡ >k) and (n; thuộc nl)}
Trang 212.3 MO’ RONG BAI TOAN THANG MAY
Băi toân điều khiển hoạt động thang mây đặt ra ở trín chỉ giới hạn trong một tòa nhă có số tầng không quâ 10 Trín thực tế hiện nay, có nhiều tòa nhă rất cao (m<=100) với số lượng người sử dụng rất lớn Với đặc điểm năy nếu một người đi từ tầng 100 về tầng 0 thì sẽ mắt rất nhiều thời gian Vấn đề cần
giải quyết ở đđy lă phải xđy dựng hệ thống thang mây sao cho đâp ứng được
yíu cầu về mặt thời gian nhanh vă số lượng người dùng lớn
Để giải quyết vấn đề năy chúng tôi đưa ra biện phâp như sau:
Căn cứ số lượng người dùng để chọn số lượng cầu thang cần thiết Tat
nhiín trong tòa nhă cần phải có cả thang bộ lẫn thang mây
Để giải quyết vấn đề thời gian, hệ thống thang mây phải có nhiều loại mă ít nhất lă 2 loại:
-Loại 1: Thang mây nhanh Loại thang mây năy có bước di chuyển k
(3<=k<=10) tang dừng một trạm Như vậy, thang mây chỉ dừng lại ở câc tầng có số hiệu chia hết cho k
Ví dụ: Khi k=10 thì thang mây loại năy chỉ dừng ở câc tầng chia hết cho 10 (tầng trệt được quy định lă tầng 0)
-Loại 2: Thang mây chậm: Lă loại thang mây di chuyển cho mỗi nhóm
k+1 tầng: 0 k; k 2k; 2k 3k; 3k 4k; ;9k 10k, Thang may năy có bước
di chuyển từng tầng 1 vă chỉ di chuyển trong giới hạn k+1 tầng của nó Ví dụ: một người muốn đi từ tầng 4 đến tầng 93 thì có thể đi như sau: Dùng thang may cham di tiv tang 4 dĩn tang 10
Dung thang may nhanh di tiv tang 10 dĩn tang 90 Dùng thang mây chậm di từ tầng 90 đến 93
Khi tòa nhă có số tầng m mă (m mod k <>0) thì ta có thể giải quyết bằng
câch xĩt câc tang lẽ ở trín cùng như lă một trường hợp đặc biệt của thang
mây nhanh hoặc lă câc tầng lẽ đó sẽ không có thang mây nhanh phục vụ Ví dụ: m=97, k=10 thì có 7 tầng lẽ ở trín cùng sẽ không có thang mây nhanh phục vụ Những người ở câc tầng năy muốn đi thang mây nhanh phải di thang may chậm về tầng 90, sau đó chuyển sang thang mây nhanh
Câc biểu đồ của hệ thống thang mây nhanh cũng tương tự như câc biểu đồ của hệ thống thang mây đê giải quyết
Trang 22
100 99 92 91 90
Tang TM cham TM cham | TM nhanh
Minh họa hình ảnh hệ thống thang mây gồm hai loại thang mây nhanh vă thang mây chậm
Trong hình vẽ minh họa cho tòa nhă 100 tầng, dùng hai loại thang mây: loại nhanh có bước di chuyển k=10 tầng, loại chậm có bước di chuyển 1 tầng Mũi tín hai chiều nhằm chỉ phạm vi hoạt động của mỗi thang mây
Trang 23
PHAN 3 KET LUAN
Do nhu cầu xử lý thông tin của con người ngăy một lớn vă đòi hỏi ngăy căng nhanh nín nhiều phần mềm lớn, phức tạp ra đời Không những thế, yíu
cầu xử lý lại luôn thay đổi theo thời gian sử dụng Vì vậy nhiệm vụ của công
nghệ phần mềm lă nghiín cứu câc mô hình, phương phâp vă công cụ để tạo ra những hệ thống phần mềm có chất lượng cao trong phạm vi hạn chế về tăi nguyín nhằm đâp ứng được những nhu cầu thường xuyín thay đổi của khâch hăng, giải quyết được những vấn đề phức tạp đặt ra trong thực tế Một phương phâp phât triển phần mềm có tính đột phâ đó lă phương phâp hướng
đối tượng mă công cụ cơ bản lă sử dụng ngôn ngữ mô hình hóa để đặc tả, xđy
dựng vă lăm tăi liíu câc vật phẩm trong quâ trình xđy dựng hệ thống phần mềm Trong đó UML lă ngôn ngữ được sử dụng phổ biến nhât Đề tăi năy đê
minh hoạ cho quâ trình phđn tích vă thiết kế trước khi bước văo lập trình một
phần mềm
Laii kaut:
Aaĩg hoain thainh 4e#aiic 446 taii naiy, ngoaii
sœđ nễ lœơc, cố gắng của bản thân, chúng tảêi dai nhâôn 4ediic sei giuip đô? tân tenh của GS.TSKH Nguyễn Xuân Huy qua taœìng bài giảng ai
trên laip
1a3 mêũt hoũc viên cao hoũc chuyên ngành Tin hoũc, dù rất tâm đắc vợi vấn đề đẵt ra vai
đam mê vôii mên hoùủc nhang vảii thảìi gian haôn chế và khối lœôũng kiến thœïc còn ít ỏi nên chắc chắn tiểu luâđn sei khang trainh khoii nheing sai soit trong viêôc tiếp câôn, nghiên cetu vai trenh bày Chúng têi xin trân troủng cảm ảẳn sei giuip đô? quý ba1u cuia Quyi Thầy, của caic bain trong laip vai mong đœôủc doin nhâôn tei Quý Thầy sœô góp y1, bổ sung để giúp chúng têi có cách nhẹn đúng hẳn đối vải vấn đề nghiên ceiu đồng thảìi mong đœôủc
Trang 24
sei leaiing thei cho nheing sa suất trong tiểu luâôđn này
Xin trân troủng cảm ản!
Huế, Ngaiy 10 thaing 02 nam 2005
Trang 25
PHAN 4 TAI LIEU THAM KHAO
[1] Nguyễn Xuđn Huy, Giâo trình Công nghệ phần mềm [2] Đoăn Văn Ban, Ngôn ngữ lập trình Java
[3] Đặng Văn Đức, Phđn tích thiết kế hướng đối tượng bằng UML [4] Sinan Si Alhir, UML in a nutshell
Trang 26
MUC LUC Nội dung Trang Mở đầu 1 Ndi dung 2
Chương 1: Tổng quan về UML 2
1 Giới thiệu về UML 2
2 Mô hình khâi niệm UML 3
3 Kiín trúc hệ thông 5
4 Tổng quan Rational Rose 5
Chương 2: Phđn tích vă thiết kế băi toân điều khiển hoạt 6
động của thang mây
1 Phât biểu băi toân 6
2 Phđn tích thiệt kí 8
Biĩu do use case 8 Biĩu do lop 10 Biểu đồ trình tự 13 Biíu đồ cộng tâc 14 Biểu đồ chuyền trạng thâi 16 Lưu đồ hănh động 18 3 Mở rộng băi toân thang mây 21 Kết luận 22
Tăi liệu tham khảo 23