Tiểu luận Công nghệ phần mềm

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ộ, chi 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 hợp thang máy 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.

docChia sẻ: nhungnt | Lượt xem: 3218 | Lượt tải: 4download
Bạn đang xem nội dung tài liệu Tiểu luận Công nghệ phần mềm, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
PHẦN I. MỞ ĐẦU 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ộ, chi 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 hợp thang máy 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. PHẦN 2. NỘI DUNG CHƯƠNG 1. TỔNG QUAN VỀ UML (Unified Modeling Language) 1.1. Giới thiệu UML. Các ngôn ngữ mô hình hoá 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 chi 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: Các phần tử cơ bản của mô hình trong UML. Các qui định liên kết các phần tử mô hình. 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: Các phần tử cơ bản để xây dựng mô hình. 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. 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). Phần tử 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. Phần tử 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. 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. 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. Kết hợp (association): là 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. Khái quát hóa (generalization): là quan hệ đặc 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. 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. 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. 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 chi 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. Biểu đồ thành phần (component): cho ta cái nhìn vật 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 phẩ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ề: Tổ chức của hệ thống phần mềm. Lựa chọn các phần tử cấu trúc và giao diện cho hệ thống. Hành vi của chúng thể hiện trong hợp tác giữa các phần tử. 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ả chi 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 chi 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. 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 2.1. Phát biểu bài toá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 máy. Vấn đề đặ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). +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 sẽ ưu tiên mở cửa trước. 1 2 3 ... m-1 m Tầng m    1 2 3 ... m-1 m Tầng m-1    ...    1 2 3 4 ... m-1 m Tầng 4  1 2 3 ... m-1 m   1 2 3 ... m-1 m Tầng 3    1 2 3 ... m-1 m Tầng 2    1 2 3 ... m-1 m Tầng 1    Minh hoạ hình ảnh thang máy trong toà nhà m tầng 2.2. Phân tích và 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. - Cửa thang máy mở ra để người sử dụng đi ra. - Người sử dụng ra khỏi thang máy. - Cửa thang máy đóng. Biểu đồ use case của hệ thống điều khiển hoạt động của thang máy 2.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 -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. Lớp Bo_dieu_khien -huong: là thuộc tính quy định hướng mà thang máy phải 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 -dong: là thuộc tính quy định trạng thái của cửa, đặt ngầm định là true. -dong(): là phương thức điều khiển đóng cửa thang máy. -mo(): là phương thức điều khiển mở cua thang máy. Lớp Nut Lớp Nut_thang_may Lớp này kế thừa từ lớp Nut. -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 -chisotang: là thuộc tính 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 2.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 đồ trình tự của nút bấm trên tầng Người sử dụng nhấn nút bấm ở 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ó bấm 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.  b/ Biểu đồ trình tự của nút bấm trong thang máy 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. Biểu đồ trình tự của nút bấm trong thang máy 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 đồ cộng tác được sử dụng để các kỹ 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  Biểu đồ cộng tác của nút bấm trên tầng b/ Biểu đồ cộng tác của nút bấm trong thang máy Biểu đồ cộng tác của nút bấm trong thang máy 2.2.5. Biểu đồ chuyển trạng thái. 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 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 -Trạng thái 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 t