Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
255,67 KB
Nội dung
LỜI MỞ ĐẦU Ngày nay, kỹ thuật phần cứng ngày phát triển, máy tính ngày mạnh nên người sử dụng mong đợi chúng ngày nhiều Do xu hướng phát triển phần mềm ngày lớn phức tạp Một mặt ta muốn có nhiều phần mềm thích ứng tốt với nhu cầu điều lại làm cho phần mềm trở lên phức tạp Mặt khác yêu cầu thời gian sản xuất phần mềm ngày ngắn Vì cần phải có công nghệ để đáp ứng mục đích phát triển phần mềm phức tạp ngày Tổ chức sản xuất phần mềm có cách làm việc quản lý, trình mà tích hợp nhiều mặt phát triển phần mềm, trình mà cung cấp hướng dẫn trật tự hoạt động đội làm phần mềm, đạo nhiệm vụ người phát triển nhóm thể thống nhất, chế tác cần phát triển, đề xuất tiêu chuẩn cho việc giám sát đo lường sản phẩm hoạt động 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 tăng dần), vòng đời có bốn giai đoạn: Sơ bộ, chi tiết, xây dựng chuyển giao Công cụ để phát triển phần mềm sử dụng ngôn ngữ mô hình hóa để đặc tả, xây dựng làm tài liệu vật phẩm trình xây dựng hệthống phần mềm Trong UML ngôn ngữ sử dụng phổ biến Để tiếp cận với giải pháp này, nhóm chúng em minh họa thông qua đề tài “ Hệthốngđiềukhiểnthang máy” Nội dung tiểu luận gồm chương: Chương 1: Tổng quan UML Chương 2: Phân tích thiết kế hệthốngđiềukhiểnthangmáy Do hạn chế thời gian nghiên cứu, khuôn khổ đề án kiến thức kinh nghiệm ứng dụng thực tiễn nên đề án nhóm em không tránh khỏi thiếu sót Rất mong nhận cảm thông đóng góp ý kiến thầy giáo, bạn bè, để đề án nhóm em hoàn thiện Chúng em xin chân thành cảm ơn! MỤC LỤC Chương Tổng quan UML 1.1 Giới thiệu UML - Unified Modeling Language – tạm dịch ngôn ngữ mô hình hợp nhất, hiểu ngôn ngữ thống xu hướng hình thái cách mạng tri thức lĩnh vực thông tin Nó phương tiện giúp cho tổ chức nhận thức cách tốt lợi cạnh tranh thông qua việc nắm bắt, truyền đạt, trao đổi nâng cao tri thức lĩnh vực công nghệ phần mềm Chính xác UML ngôn ngữ mô hình hóa dùng để đặc tả, trực quan hóa, xây dựng làm sưu liệu cho hệthống phần mềm UML 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 ba vấn đề sau: - Các phần tử mô hình UML - Các quy định liên kết phần tử mô hình - Một số chế chung áp dụng cho ngôn ngữ UML ngôn ngữ phần tiến trình phát triển phần mềm, độc lập với tiến trình Vì vậy, UML phù hợp cho việc mô hình hóa hệthống như: hệthốngthông tin doanh nghiệp, ứng dụng phân tán Web, hệthống nhúng thời gian thực,… Các quan sát ngôn ngữ tập trung vào phát triển triển khai hệ thống, không khó hiểu dễ sử dụng UML ngôn ngữ mà ngôn ngữ để hiển thị, để đặc tả, để xây dựng để làm tài liệu 1.2 Mô hình khái niệm UML Để hiểu UML ta phải hình dung mô hình khái niệm ngôn ngữ Nó đòi hỏi phải nắm ba vấn đề chính: - Các phần tử để xây dựng mô hình - Quy tắc liên kết phần tử mô hình - Một số 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ệ biểu đồ Phần tử trừu tượng mô hình; quan hệ gắn phần tử lại với nhau; biểu đồ nhóm tập hợp phần tử 5 1.2.1 Các phần tử mô hình UML Trong UML có bốn loại phần tử mô hình, phần tử cấu trúc, phần tử hành vi, phần tử nhóm phần tử thích Các phần tử khối xây dựng hướng đối tượng UML - Phần tử cấu trúc: danh từ mô hình UML, phận tĩnh mô hình để biểu diễn thành phần khái niệm hay vật lý Có 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 nút (node) - Phần tử hành vi: phận hành động mô hình UML Có loại phương pháp trạng thái - Phần tử nhóm: phận tổ chức mô hình UML Chỉ có phần tử thuộc nhóm gói (package) - Phần tử thích: phận giải mô hình UML 1.2.2 Các quan hệ UML Có bốn loại quan hệ UML, bao gồm quan hệ phụ thuộc, kết hợp, khái quát hóa thực hóa; chúng khối sở để xây dựng quan hệ UML 1.2.3 Các biểu đồ sử dụng UML - Biểu đồ Use Case: tương tác UC tác nhân - Biểu đồ trình tự (sequence): luồng chức xuyên qua UC - Biểu đồ cộng tác (collaboration): tập trung tổ chức cấu trúc đối tượng gửi nhận thông điệp - Biểu đồ lớp (class): tương tác lớp hệthống - Biểu đồ thành phần (component): cho thấy thành phần phần mềm hệthống quan hệ chúng 1.3 Kiến trúc hệthống Kiến trúc tập định về: - Tổ chức hệthống phần mềm - Lựa chọn phần tử cấu trúc giao diện hệthống - Hành vi chúng thể hợp tác phần tử - Tổ hợp phần tử cấu trúc hành vi vào hệ lớn Chương PHÂN TÍCH VÀ THIẾT KẾ HỆTHỐNGĐIỀUKHIỂNTHANGMÁY 2.1 Mô tả toán Công ty xây dựng muốn xây tòa nhà có m tầng Để khách lại cần phải có hệthống cầu thang gồm cầu thangthangmáy Vấn đề đặt phải xây dựng hệthốngthangmáy hoạt động cách tối ưu thuận lợi Cụ thể hoạt động hệthống phải đáp ứng yêu cầu: - Mỗi thangmáy có m nút bấn (button), nút ứng với tầng nhà Khi nút nhấn đèn nút bật sáng thangmáy chuyển đến tầng tương ứng Đèn nút tắt thangmáy đến tầng yêu cầu Tầng có mũi tên xuống, tầng có mũi tên lên - Mỗi tầng, trừ tầng tầng cuối cùng, có nút: nút có mũi tên lên để yêu cầu lên tầng nút vó mũi tên xuống để yêu cầu xuống tầng Những nút bật sáng chúng nhấn sau tự động tắt có thangmáy đến tầng yêu cầu, dừng mở cửa để đưa / đón người theo chiều - Khi yêu cầu thangmáy đứng nguyên vị trí thời với cửa đóng chờ yêu cầu - Thangmáy hoạt động theo nguyên tắc nhân tiện: tức thangmáy lên có người yêu cầu tầng lớn vị trí thangmáythangmáy mở cửa đến tầng yêu cầu 2.2 Biểu đồ Ca sử dụng (Use case) Biểu đồ Use case mô tả khái quát hoạt động chức hệthốngđiềukhiểnthang máy; kết trình khảo sát, nghiên cứu yêu cầu thỏa thuận người sử dụng thangmáy với người phát triển phần mềm Trước tiên chúng dễ nhận thấy, hệthốngthangmáy có hai loại nút cần phân biệt: - Nút thangmáy đánh số theo tầng nhà để người vào thangmáy nhấn tầng cần đến - Nút tầng mũi tên lên / xuống để người thangmáy nhấn có yêu cầu lên xuống Để hiểu rõ hoạt động hệthống thường phải xác định số kịch bản, trường hợp cụ thể ca sử dụng Quan hệ kịch ca sử dụng tương tự quan hệ đối tượng lớp - Ca sử dụng đề cập đến quan hệ tương tác lớp hệthống với tác nhân (người sử dụng) - Kịch lại tập cụ thể tương tác đối tượng tác nhân xác định Một kịch thông thường hệthốngthangmáy xây dựng sau: • Người A tầng nhấn nút “mũi tên lên” (↑) để yêu cầu thangmáy lên tầng • Nút ↑ tầng bật sáng • Một thangmáy đến tầng Trong thangmáy có người B vào từ tầng nhấn nút để lên tầng • Nút ↑ tầng tắt • Thangmáy mở cửa người A vào • Người A nhấn nút thangmáy • Nút số thangmáy bật sáng • Thangmáy đóng cửa lên tầng • Thangmáy đến tầng • Nút số bên thangmáy tắt • Thangmáy mở cửa để người A tầng • Thangmáy đóng cửa • Thangmáy tiếp tục lên theo yêu cầu người B • v.v Những kịch tương tự trên, không bình thường xẩy như: - Ở tầng có người người A vào thangmáy đồng thời lại muốn xuống tầng Trong bên thangmáy có người B nhấn để lên tầng - Khi thangmáy lên tầng theo yêu cầu người B (yêu cầu trước) để người xuống tầng Lưu ý: UML có hai biểu đồ mô tả kịch biểu đồ trình tự biểu đồ cộng tác 2.2.1 Các tác nhân STT Tác nhân Vai trò tác nhân Người sử Sử dụng hệthốngthangmáy dụng Bộ điềukhiển Quản lý toàn hệthốngđiềukhiểnthangmáy 2.2.2 Các ca sử dụng - Nhấn nút thang máy: phục vụ cho người sử dụng lên xuống tầng nhà theo yêu cầu - Nhấn nút tầng: phục vụ cho người sử dụng cần lên xuống - bật/tắt nút: - di chuyển thangmáy - mở/đóng cửa: 2.2.3 Biểu đồ ca sử dụng Nhan nut TM Bat/Tat nut NguoiSuDung Nhan nut tang BoDieuKhien Di chuyen TM Mo/Dong cua Hình 2.1: Biểu đồ ca sử dụng hệthốngthangmáy 2.2 Biểu đồ lớp Lớp mô tả tập đối tượng có chung thuộc tính, phương thức hành động, mối quan hệ giống ngữ nghĩa Nhiệm vụ bước là: + Xác định lớp (đối tượng) thuộc tính chúng + Xác định mối quan hệ lớp 2.2.1 Các lớp hệthốngđiềukhiểnthangmáy Dựa vào mô tả toán hệthốngđiềukhiểnthang máy, ta xác định lớp sau: + Lớp thang máy, đặt tên ThangMay 10 -huong: thuộc tính quy định hướng di chuyển thangmáy lên hay xuống -tanghientai: thuộc tính quy định tầng thangmáy -dichuyen(): phương thức điềukhiểnthangmáy di chuyển -dung(): phương thức điềukhiểnthangmáy dừng -tinhtrang(): phương thức cho biết tình trạng thời thang máy: dừng, lên hay xuống + Lớp cửa thang máy, đặt tên CuaTM true -dong: thuộc tính quy định trạng thái cửa, mặc định -dong(): phương thức điềukhiển đóng cửa thangmáy -mo(): phương thức điềukhiển mở cua thangmáy + Lớp DieuKhienTM -huong: thuộc tính quy định hướng mà thangmáy phải di chuyển -vitri: thuộc tính cho biết vị trí thangmáy -matang: thuộc tính quy định tầng thangmáy phải đến -dieukhien(): điềukhiển hoạt động thangmáy -capnhat(): cập nhật lại yêu cầu + Lớp NutBam + Lớp nút thang máy, đặt tên NutThangMay 11 Lớp kế thừa từ lớp NutBam -chisotang: thuộc tính quy định tầng mà người dùng yêu cầu thangmáy + Lớp nut tầng, đặt tên NutTrenTang Lớp kế thừa từ lớp NutBam -chisotang: thuộc tính quy định tầng mà người dùng đứng bấm -huong: thuộc tính quy định hướng di chuyển mà người dùng yêu cầu thangmáy 2.2.2 Phân tích mối quan hệ lớp - Nhận thấy hai lớp NutThangMay NutTrenTang có thuộc tính, hành vi tương tự nhau, gộp thành lớp tổng quát, lớp sở chúng Lớp đặt tên NutBam - Trong hệthốngđiềukhiểnthang máy, nút bấm không trao đổi trực tiếp với thangmáy mà thường thông qua Bộ điềukhiểnthangmáy - lớp DieuKhienTM thực việc điềukhiển hoạt động thangmáy có người nhấn nút yêu cầu lên xuống Biểu đồ lớp hệthốngthangmáy mô tả hình 12 ThangMay huong : Boolean tanghientai : Int dichuyen() dung() tinhtrang() DieuKhienTM huong : Boolean vitri : Int matang : Int +Dieukhien * CuaTM dong : Boolean = true +Dieukhien dieukhien() capnhat() * dong() mo() Tuongtac * NutBam den : Boolean = off densang() tinhtrang() NutTrenTang NutThangMay chisotang : Int chisotang : Int huong : Boolean Hình 2.2: Biểu đồ lớp 2.3 Biểu đồ trình tự Biểu đồ trình tự biểu đồ tương tác theo trật tự thời gian giao tiếp thông điệp đối tượng Biểu đồ đọc từ đỉnh xuống đáy Mỗi use case có nhiều luồng liệu, biểu đồ trình tự biểu diễn luồng liệu Đây biểu đồ quan trọng Sau mô tả số biểu đồ trình tự hệthốngđiềukhiển hoạt động thangmáy 2.3.1 Biểu đồ trình tự nút bấm tầng Người sử dụng nhấn nút bấm tầng cần gọi thangmáy phục vụ, thangmáy nhận yêu cầu phục vụ cập nhật thông tin tầng vào điềukhiển Bộ điềukhiển thị cho đèn tầng có bấm nút bật sáng, đồng thời thị cho thangmáy di chuyển đến tầng có người gọi thangmáy Khi thangmáy đến tầng có người gọi dừng lại, đồng thời điềukhiển thị đèn tầng tắt Tiếp theo điềukhiển thị cho cửa mở, người sử dụng vào thangmáy Bộ điềukhiển yêu cầu thangmáy đóng cửa lại để chuẩn bị phục vụ cho nút bấm thangmáy 13 : NguoiSuDung : NutTrenTang : DieuKhienTM : ThangMay : CuaTM 1:Nhan 2: Cap nhat 3:Bat sang 4: Di chuyen 5: Den 6: Dung 7: Tat 8: Mo cua 9: Dong cua Hình 2.3: Biểu đồ trình tự nút bấm tầng 2.3.2 Biểu đồ trình tự nút bấm thangmáy Người sử dụng nhấn nút thang máy, điềukhiển cập nhật nút mà người sử dụng vừa nhấn đồng thời thị cho đèn tương ứng bật sáng Tiếp theo điềukhiển thị cho thangmáy di chuyển đến tầng người sử dụng yêu cầu, đến tầng người sử dụng yêu cầu thangmáy dừng, đồng thời điềukhiển thị đèn nút bấm tắt Sau thị cho cửa mở ra, khách hết sau thời gian hạn định đóng cửa lại 14 : NutThangMay 1: Nhan : DieuKhienTM : NguoiSuDung : ThangMay : CuaTM 2: Cap nhat 3: Bat sang 4: Di chuyen 5: Den 6: Dung 7: Tat 8: Mo cua 9: Dong cua Hình 2.4: Biểu đồ trình tự nút bấm thangmáy 2.4 Biểu đồ cộng tác Tương tự biểu đồ trình tự, biểu đồ cộng tác luồng kiện xuyên qua kịch Use case Trong biểu đồ trình tự có trật tự theo thời gian, biểu đồ cộng tác lại tập tập trung nhiều vào quan hệ đối tượng, tổ chức cấu trúc đối tượng gửi nhận thông điệp Biểu đồ cộng tác sử dụng để kỹ sư kiểm tra chất lượng kiến trúc sư hệthống thấy việc phân bổ tiến trình đối tượng thông qua loại biểu đồ Biểu đồ cộng tác đồ thị số đối tượng liên kết chúng, đỉnh đối tượng cạnh thể trao đổi thông điệp đối tượng Từ biểu đồ tạo biểu đồ cộng tác nút thangmáy Qua thấy tương tác người sử dụng với nút bấm tầng, nút bấm thangmáy Qua tương tác điềukhiển thị cho thang máy, cửa, đèn 15 thực động tác cần thiết để thangmáy hoạt động đồng hiệu 2.4.1 Biểu đồ cộng tác nút bấm tầng : NutTrenTang 2: Cap nhat 1: Nhan : DieuKhienTM 3: Bat sang 7: Tat 5: Den : NguoiSuDung 4: Di chuyen 6: Dung 8: Mo cua 9: Dong cua : ThangMay : CuaTM Hình 2.5: Biểu đồ cộng tác nút bấm tầng 2.4.2 Biểu đồ cộng tác nút bấm thangmáy : NutThangMay 2: Cap nhat 1: Nhan 3: Bat sang 7: Tat : NguoiSuDung : DieuKhienTM 5: Den 4: Di chuyen 6: Dung 8: Mo cua 9: Dong cua : ThangMay : CuaTM Hình 2.6: Biểu đồ cộng tác nút bấm thangmáy 16 2.5 Biểu đồ chuyển trạng thái Biểu đồ chuyển trạng thái mô tả chu kỳ tồn đối tượng, bao gồm thông tin trạng thái khác đối tượng, thể cách thức chuyển từ trạng thái sang trạng thái khác đối tượng Biểu đồ trạng thái cho biết kiện tác động trạng thái Mỗi đối tượng hệthống thực có trạng thái cụ thể Trạng thái kết hoạt động đối tượng thực trước Tại thời điểm, đối tượng trạng thái xác định Thông thường trạng thái xác định giá trị thuộc tính liên kết đến đối tượng khác Biểu đồ trạng thái có điểm khởi đầu (hình tròn đen) số điểm kết thúc (Hình tròn bao quanh hình tròn đen) Các trạng thái biểu diễn hình chữ nhật góc tròn, có tên gọi thao tác kết hợp Trạng thái đối tượng bị thay đổi chuyển sang trạng thái khác thỏa mãn số điều kiện Dòng biến đổi trạng thái biểu diễn mũi tên có điều kiện nhãn mô tả kiện xảy Biểu đồ trạng thái giải thích cho cách thức điều kiện để trạng thái đối tượng thay đổi Biểu đồ trạng thái cần thiết giúp phân tích viên, người thiết kế người phát triển hệthống hiểu hành vi đối tượng hệthống Đặc biệt người phát triển phải hiểu rõ hành vi đối tượng họ phải cài đặt hành vi phần mềm Họ không cài đặt đối tượng mà làm đối tượng thực Trong trình hoạt động thangmáy có số trạng thái sau: -Trạng thái chờ tầng (q1) : Lúc thangmáy vừa khởi động vừa kết thúc xong phiên làm việc, thangmáy tầng Trong thời gian chờ đèn tín hiệu tắt Nếu có nút tầng bấm chuyển sang trạng thái q2 q3 -Trạng thái thangmáy di chuyển lên (q2): Khi có nút bấm (đèn tín hiệu sáng) tầng cao vị trí thangmáythangmáy di chuyển lên Khi thangmáy đến tầng nhấn nút đèn tín hiệu tắt Sau chuyển sang trạng thái q4 -Trạng thái thangmáy di chuyển xuống (q3): Khi có nút bấm (đèn tín hiệu sáng) tầng thấp vị trí thangmáythangmáy di chuyển xuống Khi thangmáy đến tầng nhấn nút đèn tín hiệu tắt Sau chuyển sang trạng thái q4 -Trạng thái thangmáy dừng (q4): Khi thangmáy chuyển đến tầng có nút bấm thangmáy dừng, đèn tín hiệu tắt, lúc cửa mở, đếm thời gian t đặt 0, sau tăng dần Nếu t1 > k1 (k1 giới hạn thời gian mở cửa) cửa đóng Nếu nút dừng cửa nhấn t1 đặt lại sau lại tăng dần Khi đóng cửa, đếm t đặt lại Sau chuyển sang trạng thái q5 17 -Trạng thái thangmáy di chuyển xuống tầng (q5): Nếu t2 > k2 (k2 giới hạn thời gian chờ) mà nút bấm thangmáy di chuyển xuống tầng chuyển sang trạng thái q1 Có thể vẽ biểu đồ chuyển trạng thái sau: Dang o tang Co nut bam len Di chuyen len Den Den Di chuyen xuong tang Di chuyen xuong Den Dung Co nut bam nho hon vi tri hien tai cua TM Qua k giay ma khong co nut nao duoc bam Hình 2.7: Biểu đồ trạng thái Co nut bam lon hon vi tri hien tai cua thangmay 18 2.6 Lưu đồ hành động Lưu đồ hành động biến thể biểu đồ trạng thái Lưu đồ hành động cung cấp thêm thông tin để hiểu hoạt động thangmáy Hành động biểu diễn hình chữ nhật, có tên gọi, đường có mũi tên hướng xảy hành động tiếp theo, điều kiện định hành động đặt hình thoi Dưới xin trình bày lưu đồ hành động chọn tầng mở cửa thangmáy chuyển động lên chuyển động xuống -Gọi k tầng thời điểm -Gọi m số tầng tòa nhà -Gọi nl tập hợp nút tầng bấm lên nút thangmáy lớn k nl={n1,n2, ns / (ni >k) or (ni hướng lên)} -Gọi nl1 nl1={ni / (ni >k) and (ni thuộc nl)} -Gọi nx tập hợp nút tầng bấm xuống nút thangmáy nhỏ k nx={n1,n2, ns / (ni