1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình môn học/mô đun: Phân tích và thiết kế hướng đối tượng (Ngành/nghề: Thiết kế trang web) - Phần 1

140 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

(NB) Căn cứ vào chương trình đào tạo nghề Thiết kế trang web, giáo trình giúp cung cấp cho người học những kiến thức cơ bản về phân tích thiết kế hệ thống cũng như kỹ năng sử dụng phần mềm Rose để thiết kế hướng đối tượng. Cấu trúc chung của giáo trình này bao gồm 9 chương, phần 1 giáo trình sẽ bao gồm những kiến thức cơ bản về: Khái quát về UML, mô hình hóa trường hợp sử dụng, mô hình hóa tương tác đối tượng, biểu đồ lớp và gói.

ỦY BAN NHÂN DÂN TỈNH LÂM ĐỒNG TRƢỜNG CAO ĐẲNG NGHỀ ĐÀ LẠT GIÁO TRÌNH MƠN HỌC/ MƠ ĐUN: PHÂN TÍCH VÀ THIẾT KẾ HƢỚNG ĐỐI TƢỢNG NGÀNH/ NGHỀ: THIẾT KẾ TRANG WEB TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: 1157/QĐ-CĐNĐL ngày 11 tháng 12 năm 2019 Hiệu trưởng Trường Cao đẳng Nghề Đà Lạt (LƢU HÀNH NỘI BỘ) Lâm Đồng, năm 2019 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin đƣợc phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm Giáo trình đƣợc lƣu hành nội Trƣờng Cao đẳng Nghề Đà Lạt Phát triển phần mềm UML trang | LỜI GIỚI THIỆU Vài nét xuất xứ giáo trình: Giáo trình đƣợc viết theo Thơng tƣ số 03/2017/TT-BLĐTBXH ngày 01 tháng 03 năm 2017 Bộ Lao động – Thƣơng binh Xã hội việc Quy định quy trình xây dựng, thẩm định ban hành chƣơng trình; tổ chức biên soạn, lựa chọn, thẩm định giáo trình đào tạo trình độ trung cấp, trình độ cao đẳng Quá trình biên soạn: Giáo trình đƣợc biên soạn có tham gia tích cực giáo viên có kinh nghiệm, với ý kiến đóng góp quý báu chuyên gia lĩnh vực công nghệ thông tin Mối quan hệ tài liệu với chương trình, mơ đun/mơn học: Căn vào chƣơng trình đào tạo nghề Thiết kế trang web, giáo trình giúp cung cấp cho ngƣời học kiến thức phân tích thiết kế hệ thống nhƣ kỹ sử dụng phần mềm Rose để thiết kế hƣớng đối tƣợng Để học đƣợc mô đun ngƣời học cần có kiến thức sở liệu hệ quản trị sở liệu quan hệ Cấu trúc chung giáo trình bao gồm chương: CHƢƠNG MỞ ĐẦU CHƢƠNG KHÁI QT VỀ UML CHƢƠNG MƠ HÌNH HĨA TRƢỜNG HỢP SỬ DỤNG CHƢƠNG MƠ HÌNH HĨA TƢƠNG TÁC ĐỐI TƢỢNG CHƢƠNG BIỂU ĐỒ LỚP VÀ GÓI CHƢƠNG BIỂU ĐỒ CHUYỂN TRẠNG THÁI VÀ BIỂU ĐỒ HOẠT ĐỘNG CHƢƠNG BIỂU ĐỒ KIẾN TRÚC VẬT LÝ VÀ PHÁT SINH MÃ TRÌNH CHƢƠNG VÍ DỤ ÁP DỤNG CHƢƠNG MÃ TRÌNH PHÁT SINH TRONG ROSE Hệ thống tin học ngày phức tạp Xu áp dụng phƣơng pháp hƣớng đối tƣợng (phƣơng pháp mới) thay cho phƣơng pháp cấu trúc (phƣơng pháp truyền thống) ngày phổ biến xây dựng hệ thống phần mềm lớn phức tạp Hơn nữa, từ Ngơn ngữ mơ hình hóa thống (Unified Modeling Language – UML) đƣợc tổ chức OMG (Object Management Group) công nhận chuẩn cơng nghiệp trở thành công cụ phổ dụng hữu hiệu cho phƣơng pháp Mục tiêu tài liệu nhằm giới thiệu khái niềm tiếp cận hƣớng đối tƣợng mơ hình hóa hệ thống phần mềm theo phƣơng pháp hƣớng đối tƣợng Các khái niệm đƣợc mô tả, hƣớng dẫn thực hành thông qua ngôn ngữ chuẩn UML phần mềm cơng cụ mơ hình hóa tiếng Rational Rose Raitonal Software Corporation Phƣơng pháp phân tích thiết kế hƣớng đối tƣợng đƣợc sử dụng rộng rãi nƣớc phát triển bắt đầu đƣợc sử dụng số đơn vị tin học Việt Nam Tuy nhiên tài liệu tiếng Việt lĩnh vực cịn hoi, khơng đáp ứng nhu cầu Phát triển phần mềm UML trang | Hơn nữa, nhận thức đƣợc tầm quan trọng phƣơng pháp này, số trƣờng đại học hình thành mơn học liên quan đến vấn đề nói cho sinh viên, cịn số trƣờng khác có kế hoạch đƣa chủ đề vào chƣơng trình đào tạo khóa Chủ điểm tài liệu đƣợc thể dƣới góc nhìn ngƣời phát triển hệ thống phần mềm, dƣới góc độ quan sát nhà phƣơng pháp luận Lựa chọn xuất phát từ thực tế từ phƣơng pháp luận hƣớng đối tƣợng dẫn đến việc ứng dụng vào xây dựng phần mềm cụ thể cịn khoảng cách xa vời đầy khó khăn, đặc biệt với trình độ tin học nói chung chƣa cao Việt Nam Với quan điểm này, tài liệu đƣợc cấu trúc nhƣ sau: Chƣơng mở đầu trình bày khái qt mơ hình mơ hình hóa; bƣớc xây dƣng hệ thống phần mềm tầm quan trọng phƣơng pháp hƣớng đối tƣợng Chƣơng giời thiệu ngôn ngữ chuẩn công nghiệp UML, cơng cụ hữu hiệu mơ hình hóa hệ thống phần mềm Trong phần trình bày kỹ thuật mơ hình hóa, từ phân tích u cầu đến thiết kế hệ thống, kiến trúc hệ thống cài đặt ngơn ngữ lập trình Chƣơng cuối học thực nghiệm kỹ thuật trình bày chƣơng trƣớc vào toán cụ thể Đặc biệt, chƣơng tài liệu có phần thực hành phần mềm Rational Rose để độc giả áp dụng ngày cơng cụ mới, kỹ thuật vào giải vấn đề riêng họ Phần phụ lục trình bày số mã trình vài ngơn ngữ thơng dụng tƣơng ứng với nhóm phần tử biểu đồ UML… Hiện phần lớn bạn sinh viên đại học năm cuối kỹ sƣ tin học trƣờng gặp khó khăn nhận nhiệm vụ xây dựng hệ thống phần mềm hay nâng cấp phần mềm có sẵn Các bạn thƣờng không làm nhƣ để có đƣợc phần mềm phần mềm tốt, nói cách khác cịn thiếu phƣơng pháp Do vậy, sách tài liệu tham khảo tốt cho bạn sinh viên kỹ sƣ tin học Lời cảm ơn Giáo trình đƣợc biên soạn sở văn quy định Nhà nƣớc tham khảo nhiều tài liệu liên quan có giá trị Song hẳn q trình biên soạn khơng tránh khỏi thiếu sót định Ban biên soạn mong muốn thực cảm ơn ý kiến nhận xét, đánh giá chuyên gia, thầy đóng góp cho việc chỉnh sửa để giáo trình ngày hồn thiện Lâm Đồng, ngày 10 tháng 12 năm 2019 Tham gia biên soạn Phạm Đình Nam Ngơ Thiên Hồng Nguyễn Quỳnh Nguyên Phan Ngọc Bảo Phát triển phần mềm UML trang | Phát triển phần mềm UML trang | Mục lục CHƢƠNG MỞ ĐẦU 1.1 LỊCH SỬ HƢỚNG ĐỐI TƢỢNG 10 1.2 MỘT SỐ KHÁI NIỆM CƠ BẢN 11 1.3 NGUYÊN TẮC QUẢN LÝ ĐỘ PHỨC TẠP 14 1.4 NGUN TẮC MƠ HÌNH HĨA 15 1.5 KHÁI QUÁT VỀ TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM 17 1.5.1 - Các phương pháp mô hình hóa hệ thống 17 1.5.2 - Các pha phát triển phần mềm 19 CHƢƠNG KHÁI QUÁT VỀ UML 27 2.1 GIỚI THIỆU UML 27 2.2 MƠ HÌNH KHÁI NIỆM CỦA UML 29 2.2.1 - Phần tử mơ hình UML 29 2.2.2 - Các quan hệ UML 31 2.2.3 - Kiểu liệu 32 2.2.4 - Biểu đồ UML 32 2.3 KIẾN TRÚC HỆ THỐNG 41 2.3.1 - Khung nhìn UC 41 2.3.2 - Khung nhìn thiết kế 42 2.3.3 - Khung nhìn cài đặt 42 2.3.4 - Khung nhìn triển khai 42 2.3.5 - Khung nhìn tiến trình 43 2.3.6 - Cần khung nhìn 43 2.4 RATIONAL ROSE LÀ GÌ? 43 2.5 KHẢ NĂNG SỬ DỤNG UML 44 2.6 THỰC HÀNH 45 CHƢƠNG MƠ HÌNH HĨA TRƢỜNG HỢP SỬ DỤNG 47 3.1 PHÂN TÍCH TRƢỜNG HỢP SỬ DỤNG (USE CASE – UC) 47 3.1.1 - UC gì? 47 3.1.2 - Xây dựng UC để làm gì? 47 3.1.3 - Tìm kiếm UC ? 48 3.1.4 - Luồng kiện UC 51 3.2 BIỂU ĐỒ TRƢỜNG HỢP SỬ DỤNG 53 3.3 THỰC HÀNH 57 3.3.1 - Sử dụng Rational Rose 57 3.3.2 - Thí dụ: hệ thống bán hàng 63 CHƢƠNG MƠ HÌNH HÓA TƢƠNG TÁC ĐỐI TƢỢNG 66 4.1 ĐỐI TƢỢNG VÀ TÌM KIẾM ĐỐI TƢỢNG 66 4.2 BIỂU ĐỒ TƢƠNG TÁC 66 4.2.1 - Biểu đồ trình tự 67 4.2.2 - Biểu đồ cộng tác 73 4.3 KỸ THUẬT XÂY DỰNG BIỂU ĐỒ TƢƠNG TÁC 74 Phát triển phần mềm UML trang | 4.4 THỰC HÀNH 77 4.4.1 - Sử dụng Rational Rose 77 4.4.2 - Thí dụ: hệ thống bán hàng (tiếp theo) 84 CHƢƠNG BIỂU ĐỒ LỚP VÀ GÓI 93 5.1 LỚP VÀ TIỀM KIẾM LỚP 93 5.2 BIỂU ĐỒ LỚP 95 5.2.1 - Các loại lớp biểu đồ 95 5.2.2 - Stereotype lớp 96 5.3 GÓI 98 5.4 THUỘC TÍNH LỚP 99 5.4.1 - Tìm kiếm thuộc tính 99 5.4.2 - Đặc tả thuộc tính 99 5.5 THAO TÁC CỦA LỚP 102 5.6 QUAN HỆ 103 5.6.1 - Quan hệ kết hợp 103 5.6.2 - Quan hệ phụ thuộc 105 5.6.3 - Phụ thuộc tụ hợp 107 5.6.4 - Quan hệ khái quát hóa 108 5.6.5 - Gán đặc tính cho quan hệ 110 5.7 CƠ CHẾ DUY TRÌ ĐỐI TƢỢNG 114 5.8 THỰC HÀNH 118 5.8.1 - Sử dụng Rational Rose 118 5.8.2 - Thí dụ: Hệ thống bán hàng (tiếp theo) 128 CHƢƠNG BIỂU ĐỒ CHUYỂN TRẠNG THÁI VÀ BIỂU ĐỒ HOẠT ĐỘNG139 6.1 BIỂU ĐỒ CHUYỂN TRẠNG THÁI 139 6.1.1 - Trạng thái 141 6.1.2 - Quá độ 143 6.1.3 - Trạng thái ẩn 144 6.1.4 - Lớp biểu đồ trạng thái 146 6.2 BIỂU ĐỒ HOẠT ĐỘNG 146 6.2.1 - Trạng thái hành động trạng thái hoạt động 146 6.2.2 - Quá độ 146 6.2.3 - Rẽ nhánh 147 6.2.4 - Đường dẫn tương tranh 147 6.2.5 - Đường bơi 149 6.2.6 - Luồng đối tượng 149 6.2.7 - Gửi nhận tín hiệu 150 6.3 THỰC HÀNH 151 6.3.1 - Sử dụng Rational Rose 151 6.3.2 - Thí dụ: Hệ thống bán hàng (tiếp theo) 153 CHƢƠNG BIỂU ĐỒ KIẾN TRÚC VẬT LÝ VÀ PHÁT SINH MÃ TRÌNH 156 7.1 BIỂU ĐỒ THÀNH PHẦN 156 7.1.1 - Thành phần gì? 156 7.1.2 - Biểu tượng thành phần Rational Rose 157 Phát triển phần mềm UML trang | 7.1.3 - Phụ thuộc thành phần 158 7.1.4 - Biểu đồ thành phần 159 7.2 BIỂU ĐỒ TRIỂN KHAI 160 7.2.1 - Phần tử mơ hình biểu đồ 161 7.2.2 - Tiến trình 161 7.3 THỰC HÀNH 162 7.3.1 - Sử dụng Rational Rose 162 7.3.2 - Phát sinh mã trình Rose 165 7.3.3 - Rational Rose Visual C++ 170 7.3.4 - Thí dụ: Hệ thống bán hàng (tiếp theo) 172 CHƢƠNG VÍ DỤ ÁP DỤNG 183 8.1 KHẢO SÁT TIẾN TRÌNH TÁC NGHIỆP 183 8.2 PHÂN TÍCH LĨNH VỰC 189 8.3 PHÂN TÍCH HỆ THỐNG 193 8.3.1 - Xây dựng biểu đồ trường hợp sử dụng (Use Case-UC) 193 8.4 BIỂU ĐỒ TƢƠNG TÁC 203 8.4.1 - Tiến trình đặt trước sách để mượn 203 8.4.2 - Tiến trình mượn sách , tạp chí 205 8.5 BIỂU ĐỒ LỚP 207 8.6 BIỂU ĐỒ TRIỂN KHAI 208 8.7 THIẾT KẾ GIAO DIỆN 210 CHƢƠNG MÃ TRÌNH PHÁT SINH TRONG ROSE 213 9.1 PHÁT SINH MÃ TRÌNH C++ 213 9.1.1 - Các lớp 213 9.1.2 - Quan hệ kết hợp 216 9.1.3 - Quan hệ phụ thuộc tập hợp 220 9.1.4 - Quan hệ kế thừa 223 9.2 PHÁT SINH MÃ TRÌNH JAVA 224 9.2.1 - Các lớp 224 9.2.2 - Quan hệ kết hợp 225 9.2.3 - Quan hệ phụ thuộc tập hợp 227 9.2.4 - Quan hệ kế thừa 228 9.3 PHÁT SINH MÃ TRÌNH VISUAL BASIC 229 9.3.1 - Các lớp 229 9.3.2 - Quan hệ kết hợp 231 9.3.3 - Quan hệ kế thừa đơn 232 9.4 PHÁT SINH MÃ TRÌNH SQL 233 9.4.1 - Các lớp 233 9.4.2 - Quan hệ kết hợp 233 9.4.3 - Quan hệ kế thừa 235 Phát triển phần mềm UML trang | CHƢƠNG MỞ ĐẦU Phát triển phần mềm ngày trở nên phức tạp Thay đổi giao diện từ xâu ký tự sang giao diện đồ họa xu kiện; kiến trúc hệ thống đa tầng khách/chủ; sở liệu (CSDL) phân tán; Internet … làm tăng độ phức tạp hệ thống phần mềm Thách thức hai mƣơi năm tới xây dựng hệ thống phần mềm tốc độ thực chƣơng trình, kinh phí hay sức mạnh mà vấn đề độ phức tạp (Sun Microsystem) Kẻ thù độ phức tạp, ta phải loại bỏ chúng (Jan Bean) Vậy, loại bỏ độ phức tạp cách nào? Các phƣơng pháp tiếp cận hƣớng cấu trúc, tiệm cận hƣớng logic, tiếp cận hƣớng hƣớng đối tƣợng tiếp cận hƣớng tác tử để giải vấn đề nhƣng mức độ khác Tổng quát việc xây dựng phần mềm phải quan tâm đến tổ chức, quan hệ cấu trúc để hình thành đƣợc hành vi phức tạp hệ thống Mọi việc khảo sát hệ thống phải đƣợc thực với mức độ trừu tƣợng khác nhau, từ chi tiết đến tổ chức tổng thể Do vậy, xây dựng phần mềm thực dãy tƣơng tác chia nhỏ hợp Chia nhỏ để hiểu rõ vấn đề hợp để xây dựng hệ thống Tiến trình chia nhỏ (tách) có truyền thống tuân thủ tiêu chí chức Các chức hệ thống đƣợc nhận diện, sau chúng đƣợc tách thành chức Tiến trình đƣợc thực lặp lặp lại có đƣợc thành phần đơn giản đến mức chúng đƣợc biểu diễn trực tiếp hàm hay thủ tục ngôn ngữ lập trình (hình 1.1) Cách tiếp cận đƣợc gọi tiếp cận hƣớng chức (hay gọi thủ tục, truyền thống) Ngƣời phát triển phần mềm tập trung vào nhiệm vụ điều khiển tách thuật toán lớn thành thuật toán nhỏ Khối để hình thành phần mềm hàm hay thủ tục Chức Chức Chức 1.1 Chức 1.2 Chức Chức 2.1 Chức 2.2 Hình 1.1 Tiếp cận hướng chức Kiến trúc phần mềm đƣợc cài đặt theo cách tiếp cận vừa mô tả phản ảnh chức hệ thống Tiếp cận sở chức chế phân cấp cho lại kết mong muốn chức đƣợc nhận biết đầy đủ khơng đƣợc thay đổi theo thời gian Thực tế lại khơng nhƣ nhiều trƣờng hợp, phát triển phần mềm không kết thúc hồn tồn, ln có phải sửa đổi, nâng cấp Sửa đổi hay mở rộng hệ thống nhiều làm cho chƣơng trình khác xa quan niệm ban đầu Do cần phải có phƣơng pháp cho khả làm chủ đƣợc độ phức tạp, giúp quản lý đƣợc chất lƣợng, độ tin cậy phần mềm ngày cấu trúc bị tách hay tiến hóa Phát triển phần mềm UML trang | Nhập giá trị mặc định cho thuộc tính vào Intial Value Đặt phạm vi cho thuộc tính Việc gán phạm vi thuộc tính đƣợc thực nhƣ sau: Nhấn phím phải thuộc tính browser Chọn thực đơn Open Specification Chọn phạm vi thuộc tính cửa sổ Export Control Mặc định phạm vi thuộc tính Private Đặt cách thức lƣu trự thuộc tính Cách thức lƣu trữ thuộc tính mơ tả thuộc tính đƣợc lƣu trữ lớp nhƣ nào, chúng bao gồm ba loại: by value, by reference unspecified Các bƣớc thức lƣu trữ thuộc tính nhƣ sau: Nhấn phím phải thuộc tính browser Chọn thực đơn Open Specification Rose mở cửa sổ đặc tả thuộc tính Chọn bảng Detail Chọn By Value, By Reference hay Unspecified Mặc định thuộc tính đƣợc gán Unspecified Gán thuộc tính tĩnh Thuộc tính tĩnh đƣợc thức hệ thống chia Gán thuộc tính tĩnh đƣợc thực nhƣ sau: Nhấn phím phải thuộc tính browser Chọn thực đơn Open Specification Rose mở cửa sổ đặc tả thuộc tính Chọn bảng Detail Đánh dấu Static hộp thoại Rose đặt đấu $ trƣớc tên thuộc tính biểu đồ lớp Gán thuộc tính suy diễn Thuộc tính suy diễn thuộc tính đƣợc tính tốn từ hay nhiều thuộc tính khác Gán thuộc tính suy diễn theo bƣớc sau đây: Nhấn phím phải thuộc tính browser Chọn thực đơn Open Specification Rose mở cửa sổ đặc tả thuộc tính Chọn bảng Detail Đánh dấu Derived hộp thoại Rose đặt đấu / trƣớc tên thuộc tính biểu đồ lớp 5.8.1.14 - Bổ sung hủy bỏ thao tác Tƣơng tự thuộc tính, thao tác đƣợc bổ sung vào mơ hình thơng qua biểu đồ lớp, browser hay thông qua đặc tả lớp Khi bổ sung thao tác ta bổ sung tài liệu cho chúng Tài liệu thƣờng mơ tả mục đích thao tác, mơ tả tham số giá trị cho lại Trình tự thực bổ sung thao tác nhƣ sau: Nhấn phím phải lớp biểu đồ lớp Chọn New>Operation Nhập tên lớp theo khuôn mẫu nhƣ sau: Phát triển phần mềm UML trang | 124 Name(arg1:arg1 data type): Operation Return Type Thí dụ: Add(X:Integer, Y:Integer): Integer Print(EmployeeID:Long): Boolean Delete():Long Nhấn Enter để tiếp tục nhập trực tiếp thao tác khác vào biểu đồ lớp Trình tự thực bãi bỏ thao tác nhƣ sau: Nhấn phím phải thuộc tính browser Chọn thực đơn Delete 5.8.1.15 - Đặc tả thao tác Trong đặc tả thao tác ta gán tham số thao tác, kiểu cho lại phạm vi thao tác Để thực việc trƣớc hết ta phải mở cửa sổ đặc tả, trình tự thực nhƣ sau: Nhấn phím phải thuộc tính browser Chọn thực đơn Open Specification Gán lớp trả lại cho thao tác Lớp trả lại cho thao tác kiểu kết thao tác Thực việc theo bƣớc nhƣ sau: Nhấn phím phải thuộc tính browser Chọn thực đơn Open Specification Chọn lớp trả lại từ hộp danh sách hay nhập kiểu trả lại Gán stereotype cho thao tác Bốn loại stereotype hay sử dụng cho thao tác là: Implemetor, Manager, Access Helper Trình tự đặt stereotype cho thao tác tƣơng tự nhƣ sau đây: Nhấn phím phải thuộc tính browser Chọn thực đơn Open Specification Chọn stereotype từ hộp danh sách hay nhập kiểu stereotype Gán phạm vi cho thao tác Bốn tùy chọn cho phạm vi thao tác là: Public, Private, Protected Pakage (Implementation) Đặt phạm vi cho thao tác theo trình tự sau: Nhấn phím phải thuộc tính browser Chọn phạm vi thao tác cửa sổ Export Control Mặc định, phạm vi thao tác Public 5.8.1.16 - Bổ sung đối số vào thao tác Đối số thao tác (hay tham số) liệu vào thao tác Hai loại thông tin cho đối số tên đối kiểu cho lại Trong biểu đồ lớp, đối kiểu thao tác đặt dấu() Nếu gán giá trị mặc định cho đối ký pháp UML nhƣ sau: Operation Name(arg1:arg1 data type=arg1 default value):operation return type Trình tự thực bổ sung đối cho thao tác nhƣ sau: Mở cửa sổ đặc tả thao tác Phát triển phần mềm UML trang | 125 Chọn bảng Detail Nhấn phím phải hộp argument, chọn thực đơn insert Nhập tên đối số Nhấn chuột cột Type nhập kiểu đối Nhấn cột Default nhập giá trị mặc định muốn 5.8.1.17 - Ánh xạ thao tác thành thông điệp Trong biểu đồ tƣơng tác, thông điệp đƣợc ánh xạ vào thao at1c bên lớp Trình tự ánh xạ thông điệp thành thao tác theo thứ tự sau: Đảm bảo đối tƣợng nhận thông điệp đƣợc ánh xạ đến lớp Nhấn phím phải thông điệp biểu đồ tƣơng tác Danh sách thao tác xuất Chọn thao tác danh sách cho thông điệp Loại bỏ ánh xạ thao tác thông điệp nhƣ sau; Nhấn đúp thông điệp biểu đồ tƣơng tác Trong cửa sổ Name: xóa tên thao tác nhập tên thơng điệp Tạo lập thao tác cho thông điệp nhƣ sau; Đảm bảo đối tƣợng nhận thông điệp đƣợc ánh xạ đến lớp Nhấn phím phải thông điệp biểu đồ tƣơng tác Chọn Nhập tên chi tiết khác thao tác Nhấn phím OK Nhấn phím phải thơng điệp Chọn thao tác danh sách 5.8.1.18 - Tính nhiều lớp Để đặt tính nhiều (multiplicity) cho lớp ta làm nhƣ sau: Nhấn phím phải đầu cuối quan hệ Chọn thực đơn Multiplicity Chọn multiplicity mong muốn Lặp lại bƣớc 1-3 cho đầu cuối lại quan hệ Cách khác là: Mở cửa sổ đặc tả quan hệ (Nhấn phím phải quan hệ, chọn Specification) Chọn bảng Role Detail cho đầu cuối quan hệ Thay đổi multiplicity thông qua trƣờng cardinality Phát triển phần mềm UML trang | 126 Lặp lại từ 1-3 cho đầu quan hệ 5.8.1.19 - Đặt tên hướng quan hệ Đặt tên quan hệ theo bƣớc nhƣ sau: Chọn quan hệ, mở cữa sổ đặt tả quan hệ Chọn bảng General Nhập tên quan hệ vào cửa sổ name Đặt hƣớng tên quan hệ nhƣ sau: Mở cửa sổ đặc tả quan hệ mong muốn Chọn bảng Detail Chọn hƣớng tên quan hệ cửa sổ hƣớng tên quan hệ 5.8.1.20 - Gán stereotype cho quan hệ Đặt stereotype cho quan hệ theo bƣớc sau đây: Mở cửa sổ đặc tả cho quan hệ Chọn bảng General Nhập stereotype cho quan hệ 5.8.1.21 - Gán nhiệm vụ cho quan hệ Đặc tên nhiệm vụ theo thứ tự nhƣ sau: Nhấn phím phải đầu cuối quan hệ kết hợp Chọn thực đơn Role Name Nhập tên nhiệm vụ 5.8.1.22 - Phạm vi quan hệ Trong quan hệ kết hợp, Rose tạo thuộc tính phát sinh mã tình Sử dụng cử sổ Export Control Rose để phát sinh phạm vi thuộc tính Phạm vi Public, Private, Protected hay Pakage (Inplementation) Trong quan hệ hai chiều có thê đặt phạm vi cho hai thuộc tính, chúng đầu quan hệ Trong quan hệ chiều cần đặt mộ đầu cho quan hệ Phạm vi đƣợc đặc chọn bảng Role A General hay Role B General cửa sổ đặc tả cửa quan hệ Đặt phạm vi quan hệ nhƣ sau: Nhấn phím phải tên nhiệm vụ Chọn Export Control thích ứng 5.8.1.23 - Đặt quan hệ tĩnh Để đặt quan hệ kết hợp tĩnh ta làm nhƣ sau: Nhấn phím phải tên nhiệm vụ Chọn thực đơn Static Phát triển phần mềm UML trang | 127 5.8.1.24 - Đặt quan hệ friend Đặt quan hệ friend nhƣ sau: Nhấn phím phải quan hệ Chọn thực đơn Friend 5.8.1.25 - Đặt Containment Đặt tính cho biết cách lƣu trữ thuộc tính lớp nhƣ Đặt tính chất chứa nhƣ sau: Nhấn phím phải chuột quan hệ Chọn Contaiment Chọn By Reference, By Value hay Unspecified 5.8.1.26 - Đặt thành phần liên kết Trình tự đặt phần tử liên kết cho quan hệ: Mở cửa sổ đặc tính quan hệ Chọn bảng Detail Đặt phần tử liên kết nhờ trƣờng Link Element 5.8.1.27 - Đặt giới hạn phạm vi quan hệ Trình tự đặc giới hạn phạm vi cho quan hệ nhƣ sau: Nhấn phím phải đầu cuối quan hệ kết hợp Chọn thực đơn Key/Qualifier Nhập tên kiểu qualifier 5.8.2 - Thí dụ: Hệ thống bán hàng (tiếp theo) Sau khách hàng ngƣời phát triển phần mềm thống cho biểu đồ tƣơng tác phù hợp với yêu cầu tác nghiệp, ngƣời thiết kế định nhóm lớp thành nhóm theo stereotype Vậy gói sau đƣợc tạo lập: Entities, Boundaries Control Sau chuyển lớp vào nhóm tƣơng ứng Tiếp theo biểu đồ lớp đƣợc lập gói: biểu đồ lớp Main hiển thị gói, biểu đồ lớp Enter New Order lớp cho UC 5.8.2.1 - Đặt cấu hình Rose Chọn thực đơn Topols>Options Chọn bảng Diagram Đảm bảo hộp đánh dấu sau đƣợc chọn: Show Stereotype, Show all Attributes, Show all Operations Đảm bảo hộp đán dấu sau không đƣợc chọn: Suppress Attributes, Suppress Operations 5.8.2.2 - Tạo lập gói Nhấn phím phải Logical View Browse Phát triển phần mềm UML trang | 128 Chọn thực đơn New>Pakage Đặt tên Entities ặp lại để tạo gói Boundaries Control 5.8.2.3 - Tạo lập biểu đồ lớp Main Nhấn đúp Main class diagram dƣới Logical View để mở Di gói Entities từ browser vào biểu đồ Di gói Boundaries Control vào biểu đồ Hình 5.39 biểu đồ lớp Main kết Boundaries Entities Control Hình 5.39 Các gói OrderOption Create() OrderMgr SaveOrder() TransactionMgr SaveOrder() Commit() OrderDtail Order Open() SubmitInfor() Save() Create() SetInfor() GetInfor() Hình 5.40 Biểu đồ lớp Uc Entry New Order 5.8.2.4 - Tạo lập biểu đồ lớp cho lớp UC Enter New Order Nhấn phím phải Logical View Browse Chọn thực đơn New>Class Diagram Đặt tên cho biểu đồ lớp: Add New Order Nhấn đúp biểu đồ lớp Add New Order để mở Di lớp OrderOptions, OrderDetail, OrderMgr, Order TransactionMgr từ browser vào biểu đồ Biểu đồ kết hình 5.40 Phát triển phần mềm UML trang | 129 5.8.2.5 - Bổ sung Stereotype vào lớp Nhấn phím phải lớp OrderOptions biểu đồ Chọn Open Specification Nhập Boundaries vào vùng stereotype Nhấn phím OK Nhấn phím phải lớp OrderDetail biểu đồ Chọn Open Specification Chọn Boundaries từ hộp danh sách Nhấn OK Lặp lại để gán lớp OrderMgr, TransactionMgr cho stereotype Control lớp Order cho stereotype Entity Kết đƣợc thể hình 5.41 OrderOptions Create() > OrderMgr SaveOrder() OrderDetail > Order Open() SubmitInfor() Save() Create() SetInfor() GetInfor() > TransactionMgr SaveOrder() Commit() Hình 5.41 Stereotype lớp Hình 5.42 Các gói browser Phát triển phần mềm UML trang | 130 5.8.2.6 - Nhóm lớp vào gói Di lớp OrderOptions OrderDetail browser vào gói Boundaries Di lớp OrderMgr, TransactionMgr vào gói Control Di lớp Order vào gói Entities 5.8.2.7 - Bổ sung lớp vào gói Nhấn phím phải vào gói Boundaries browser Chọn thực đơn New>Class Diagram Đặt tên biểu đồ mới: Main Nhấn đúp Main để mở Di lớp OrderOptions OrderDetail từ browser vào biểu đồ Đóng biểu đồ Biểu đồ kết hình 5.43 Nhấn phím phải gói Entities browser Chọn thực đơn New>Class Diagram Đặt tên biểu đồ mới: Main OrderOptions OrderDetail Create() Open() SubmitInfor() Save() Hình 5.43 Lớp gói Boundaries 10 Nhấn đúp Main để mở 11 Di lớp Order từ browser vào biểu đồ 12 Đóng biểu đồ Biểu đồ kết hình 5.44 13 Nhấn phím phải gói Control browser 14 Chọn thực đơn New>Class Diagram 15 Đặt tên biểu đồ mới: Main 16 Nhấn đúp Main để mở Di lớp OrderMgr TransactionMgr từ browser vào biểu đồ 18 Đóng biểu đồ Biểu đồ kết hình 5.45 17 Phát triển phần mềm UML trang | 131 > Order > OrderMgr Create() SetInfor() GetInfor() SaveOrder() Hình 5.44 Lớp gói Entity > TransactionMgr SaveOrder() Commit() Hình 5.45 Lớp gói Control Ta có biểu đồ lớp cho UC Enter New Order Bây cần bổ sung tham số, kiểu liệu kiểu giá trị cho lại vào lớp Ta phải trở lại luồng kiện để tìm ac1c thuộc tính Các thuộc tính Order Number Customer Name đƣợc bổ sung vào lớp Order biểu đồ lớp Vì có nhiều chi tiết đơn hàng (order items) đơn hàng lại có thơng tin hành vi riêng, mục đơn hàng đƣợc mô hình hóa thành lớp, thay cho thuộc tính Order Biểu đồ trình tự đƣợc cập nhật nhƣ hình 5.46 Phát triển phần mềm UML trang | 132 Hình 5.46 Biểu đồ trình tự 5.8.2.8 - Bổ sung thuộc tính thao tác Khách hàng có nhu cầu thay đổi yêu cầu nhƣ: hệ thống có khả yêu cầu thay đổi đặt hàng thời gian cung cấp hàng; bổ sung thêm nguồn hàng; thay đổi cút thủ tục nhập hàng vào kho Phát triển phần mềm UML trang | 133 Tài liệu yêu cầu hay thay đổi phải đƣợc cập nhật Nhận thấy yêu cầu ngày tháng ảnh hƣởng đến UC thiết kế Enter New Order Do chúng đƣợc quan tâm cách bổ sung hai thuộc tính cho lớp Order 5.8.2.9 - Đặt cấu hình Rose Chọn thực đơn Tools>Options Chọn bảng Diagram Đảm bảo hộp đánh dấu sau đƣợc chọn: Show Visibility, Show Stereotype, Show Operation Signatures, Show all Attributes Show all Operarions Đảm bảo hộp đánh dấu sau không đƣợc chọn: Suppress Attributes, Suppress Operations Chọn bảng Notation Đảm bảo hộp đánh dấu sau không đƣợc chọn: Visibility as Icons 5.8.2.10 - Bổ sung lớp Tìm biểu đồ lớp Add New Order browser Nhấp đúp để mở biểu đồ Chọn phím cơng cụ Class công cụ Nhấn đâu biểu đồ để vẽ lớp Nhập tên OrderItem cho lớp Gán Entity cho stereotype lớp OrderItem Di lớp OrderItem từ browser vào gói Entities 5.8.2.11 - Bổ sung thuộc tính Nhấn phím phải lớp Order Chọn New Attribute Nhập thuộc tính mới: OrderNumber: Integer Nhấn phím Enter Nhập tiếp thuộc tính mới: CustomerName: String Lặp để nhập thuộc tính sau: OrderDate: Date, OrderFillDate: Nhấn phím phải lớp OrderItem Chọn New Attribute Nhập thuộc tính mới: ItemID: Integer 10 Nhấn phím Enter 11 Nhập tiếp thuộc tính mới: ItemDescription: String Date 5.8.2.12 - Bổ sung thao tác vào lớp OrderItem Nhấn phím phải lớp OrderItem Phát triển phần mềm UML trang | 134 Chọn New Operation Nhập thao tác mới: Create Nhấn phím Enter Nhập thao tác mới: SetInfo Nhấn phím Enter Nhập thao tác mới: GetInfo 5.8.2.13 - Bổ sung chi tiết thao tác biểu đồ lớp Nhấn phím chuột lớp Order để mở Nhấn chuột lớp Order Cập nhật thao tác Create() thành Create(): Boolean Cập nhật thao tác SetInfo() thành Setinfo(OrderNum: Integer, Customer: String, OrderDate: Date, OrderFillDate: Date): Boolean Cập nhật thao tác GetInfo() thành GetInfo():Boolean 5.8.2.14 - Bổ sung chi tiết thao tác browser Tìm lớp OrderItem browser Nhấn ký tự + cạnh OrderItem để mở Nhấn đúp GetInfo() để mở Operation Specification (hình 5.47) Hình 5.47 Cửa sổ thao tác đặc biệt Phát triển phần mềm UML trang | 135 Chọn String hộp danh sách Return type Nhấn OK Thực tƣơng tự nhƣ để chọn Boolean cho kiểu gái trị cho lại thao tác SetInfo() Chọn bảng Detail Nhấn phím phải khoảng trắng vùng đối số để bổ sung tham số nhƣ hình 5.48 Hình 5.48 Bổ sung thao tác Chọn Select Rose tự gán đối số có tên argname Đổi tên từ argname thành ID 10 Nhấn cột Type để mở hộp danh sách kiểu Chọn Integer 11 Nhấn cột Default để bổ sung giá trị mặc định Nhập giá trị 12 Nhấn OK 13 Nhấn đúp thao tác Create() lớp OrderItem để mở cửa sổ đặc tả thao tác 14 Chọn Boolean cho combobox kiểu cho lại (Return type) 15 Nhấn OK 5.8.2.15 - Bổ sung quan hệ Sau bổ sung thuộc tính thao tác vào lớp, ta tiến gần đến phát sinh mã trình Nhƣng trƣớc hết phải quan tâm đến quan hệ lớp Hãy quan s1t Phát triển phần mềm UML trang | 136 việc bổ sung thực đơn biểu đồ trình tự để tìm quan hệ Bất kỳ lớp biểu đồ trình tự cần quan hệ biểu đồ lớp Một tìm quan hệ bổ sung vào biểu đồ Thí dụ sau thực bổ sung quan hệ vào lớp UC Enter New Order 5.8.2.16 - Đặt cấu hình Rose Định vị biểu đồ lớp Add New Order browser Nhấp đúp để mở biểu đồ Tìm phím cơng cụ Unidirectional Association, khơng tìm thấy tiếp tục tiếp bƣớc sau Nhấn phím phải công cụ Dagram để chọn Customize Bổ sung phím tên Creates A Unidirectional Asscoiation 5.8.2.17 - Bổ sung kết hợp Chọn phím cơng cụ Unidirectional Association Vẽ kết hợp từ lớp OrderOptions đến lớp OrderDetail Lặp lại để vẽ kết hộp sau: a Từ OrderDetail đến OrderMgr b Từ OrderMgr đến Order c Từ OrderMgr đến TransactionMgr d Từ TransactionMgr đến Order e Từ TransactionMgr đến OrderItem f Từ Order đến OrderItem Nhấn phím phải kết hợp chiều OrderOptions lớp OrderDetail, gần phía lớp OrderOptions Chọn Multiplicity>Zero or One Nhấn phím phải phía quan hệ chiều Chọn Multiplicity>Zero or One Lặp lại bổ sung Multiplicity Sơ đồ kết nhƣ hình 5.49 Phát triển phần mềm UML trang | 137 OrderOptions > OrderMgr (from Boundaries ) (from Control ) Create(OrderID : Integer) : Boolean SaveOrder() : Boolean 1 OrderDetail (from Boundaries ) Open() : Boolean SubmitInfor() : Boolean Save() : Boolean 1 1 n > Order > TransactionMgr (from Entities ) (from Control ) Create() n SetInfor() GetInfor() 1 n SaveOrder() Commit() n > OrderItem (from Entities ) Create() : Boolean SetInfor(ID : int=0) : Boolean GetInfor() : Boolean Hình 5.49 Quan hệ kết hợp Add New Order Phát triển phần mềm UML trang | 138 ... 213 9 .1 PHÁT SINH MÃ TRÌNH C++ 213 9 .1. 1 - Các lớp 213 9 .1. 2 - Quan hệ kết hợp 216 9 .1. 3 - Quan hệ phụ thuộc tập hợp 220 9 .1. 4 - Quan hệ kế thừa... 15 6 7 .1. 2 - Biểu tượng thành phần Rational Rose 15 7 Phát triển phần mềm UML trang | 7 .1. 3 - Phụ thuộc thành phần 15 8 7 .1. 4 - Biểu đồ thành phần 15 9 7.2 BIỂU... 16 0 7.2 .1 - Phần tử mơ hình biểu đồ 16 1 7.2.2 - Tiến trình 16 1 7.3 THỰC HÀNH 16 2 7.3 .1 - Sử dụng Rational Rose 16 2 7.3.2 - Phát sinh mã trình

Ngày đăng: 07/05/2021, 13:51

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w