Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

111 13 0
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Đ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

Phần 1 của giáo trình Phân tích, thiết kế hướng đối tượng với UML cung cấp cho học viên những nội dung về: phương pháp hướng đối tượng và quá trình phát triển hệ thống phần mềm; UML và quá trình phát triển phần mềm; biểu đồ ca sử dụng phân tích các nhu cầu của hệ thống; phân tích hệ thống - mô hình khái niệm và biểu đồ lớp;... Mời các bạn cùng tham khảo!

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH GIÁO TRÌNH PHÂN TÍCH, THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI UML DÙNG CHO BẬC ĐẠI HỌC (LƯU HÀNH NỘI BỘ) QUẢNG NINH - 2021 Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban MỤC LỤC LỜI NÓI ĐẦU PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ QUÁ TRÌNH PHÁT TRIỂN HỆ THỐNG PHẦN MỀM 1.1 Giới thiệu 1.2 Giới thiệu hệ thống phần mềm .10 1.2.1 Các đặc trưng hệ thống 10 1.2.2 Phân loại hệ thống phần mềm 12 1.3 Sự phát triển hệ thống 14 1.3.1 Chu trình phát triển hệ thống 14 1.3.2 Mô hình hố hệ thống 19 1.4 Các cách tiếp cận phát triển phần mềm 22 1.4.1 Cách tiếp cận hướng chức 22 1.4.2 Cách tiếp cận hướng đối tượng 24 Ưu điểm phương pháp hướng đối tượng: 26 1.5 Quá trình phát triển phần mềm hợp với UML 27 (i) Xác định yêu cầu phân tích hệ thống 29 (ii) Phân tích hệ thống hướng đối tượng 31 (iii) Thiết kế hệ thống hướng đối tượng 32 (iv) Lập trình hướng đối tượng 33 (v) Kiểm định phần mềm 33 (vi) Vận hành, khai thác bảo trì hệ thống 34 1.6 Kết luận .34 Câu hỏi tập 36 UML VÀ QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM 37 2.1 Tổng quát UML 37 2.1.1 Mục đích UML 38 2.1.2 Quá trình phát triển phần mềm thống 38 2.1.3 Giới thiệu tổng quát UML 40 2.1.4 Các phần tử UML 41 -1- Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban 2.2 Các khái niệm phương pháp hướng đối tượng UML 45 2.2.1 Các đối tượng 45 2.2.2 Lớp đối tượng 46 2.2.3 Các giá trị thuộc tính đối tượng 47 2.2.4 Các thao tác phương thức 48 2.3 Các mối quan hệ lớp 48 2.3.1 Sự liên kết kết hợp đối tượng 49 2.3.2 Bội số 50 2.3.3 Các vai trò quan hệ 51 2.3.4 Quan hệ kết nhập 52 2.3.5 Quan hệ tổng quát hoá 53 2.3.6 Kế thừa bội 55 2.3.7 Quan hệ phụ thuộc 56 2.3.7 Quan hệ thực hoá 57 2.4 Các gói 57 2.5 Các qui tắc ràng buộc suy diễn .58 2.6 Quá trình phát triển phần mềm 59 2.6.1 Xác định yêu cầu phân tích hệ thống 61 2.6.2 Phân tích hệ thống hướng đối tượng 63 2.6.3 Thiết kế hệ thống hướng đối tượng 63 2.6.4 Lập trình kiểm tra chương trình 64 2.6.5 Vận hành bảo trì hệ thống 65 2.7 Rational Rose trình phát triển phần mềm thống 66 Bài tập câu hỏi 67 BIỂU ĐỒ CA SỬ DỤNG PHÂN TÍCH CÁC NHU CẦU CỦA HỆ THỐNG .68 3.1 Định nghĩa toán 68 3.2 Phân tích đặc tả yêu cầu hệ thống 71 3.2.1 Ca sử dụng 71 3.2.2 Tác nhân 73 3.2.3 Xác định ca sử dụng tác nhân 73 3.2.3 Đặc tả ca sử dụng 76 3.3 Biểu đồ ca sử dụng .79 -2- Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban 3.4 Tạo lập biểu đồ ca sử dụng Rational Rose 82 Bài tập câu hỏi 83 PHÂN TÍCH HỆ THỐNG – MƠ HÌNH KHÁI NIỆM VÀ BIỂU ĐỒ LỚP .84 4.1 Mơ hình khái niệm – mơ hình đối tượng .84 4.2 Xác định lớp đối tượng 86 4.3 Mối quan hệ lớp đối tượng 94 4.3.1 Đặt tên cho quan hệ kết hợp 95 4.3.2 Các phương pháp xác định mối quan hệ kết hợp 95 4.4 Biểu đồ lớp 97 4.4.1 Các loại lớp biểu đồ 97 4.4.2 Mẫu rập khuôn (stereotype) lớp 98 4.4.3 Biểu đồ lớp Hệ HBH 99 4.5 Thuộc tính lớp .100 4.5.1 Tìm kiếm thuộc tính 102 4.5.2 Các thuộc tính lớp HBH 105 4.6 Các phương thức lớp 106 4.7 Ghi nhận từ điển thuật ngữ 107 4.8 Thực hành Rational Rose 108 Câu hỏi tập 109 MƠ HÌNH ĐỘNG THÁI: CÁC BIỂU ĐỒ TƯƠNG TÁC VÀ HÀNH ĐỘNG TRONG HỆ THỐNG 111 5.1 Mô hình hố hành vi hệ thống 111 5.1.1 Các kiện hành động hệ thống 112 5.1.2 Sự trao đổi thông điệp đối tượng 114 5.2 Biểu đồ trình tự 115 5.2.1 Các thành phần biểu đồ trình tự 115 5.2.2 Xây dựng biểu đồ trình tự 117 5.2.3 Các biểu đồ trình tự mơ hình hành động hệ HBH 117 5.2.4 Ghi nhận hoạt động lớp đối tượng 119 5.2.5 Các hợp đồng hoạt động hệ thống 120 5.3 Biểu đồ trạng thái 123 5.3.1 Trạng thái biến đổi trạng thái 123 -3- Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban 5.3.2 Xác định trạng thái kiện 124 5.3.3 Xây dựng biểu đồ trạng thái 125 5.4 Biểu đồ hoạt động .127 5.5 Sử dụng Rational Rose để tạo lập biểu đồ trình tự 130 5.6 Sử dụng Rational Rose để tạo lập biểu đồ trạng thái .130 Bài tập câu hỏi 131 THIẾT KẾ CÁC BIỂU ĐỒ CỘNG TÁC VÀ BIỂU ĐỒ THÀNH PHẦN CỦA HỆ THỐNG 133 6.1 Các biểu đồ cộng tác 133 6.2 Thiết kế biểu đồ cộng tác lớp đối tượng 138 6.2.1 Ca sử dụng thực tế 138 6.2.2 Mẫu gán trách nhiệm 139 6.2.3 Mẫu gán trách nhiệm 140 6.3 Thiết kế hệ thống HBH 147 6.4 Thiết kế chi tiết biểu đồ lớp .153 6.5 Thiết kế biểu đồ cộng tác hoàn thiện thiết kế biểu đồ lớp Rose 161 6.5.1 Xây dựng biểu đồ cộng tác 161 6.5.2 Hoàn thiện thiết kế biểu đồ lớp 161 Bài tập câu hỏi 162 KIẾN TRÚC HỆ THỐNG VÀ PHÁT SINH MÃ TRÌNH .163 7.1 Kiến trúc Hệ thống 163 7.2 Biểu đồ thành phần 166 7.3 Biểu đồ triển khai 169 7.4 Ánh xạ thiết kế sang mã chương trình 170 7.4.1 Tạo lập định nghĩa lớp từ thiết kế biểu đồ lớp 170 7.4.2 Định nghĩa hàm từ biểu đồ cộng tác 172 7.5 Danh sách số lớp định nghĩa C++ 174 7.6 Thực hành Rose 177 7.6.1 Xây dựng biểu đồ thành phần 177 7.6.2 Xây dựng biểu đồ triển khai 177 7.6.3 Phát sinh mã trình Rose 177 Bài tập câu hỏi 183 -4- Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban Phụ lục: Hướng dẫn giải tập lớn 185 Bài 1: Xây dựng phần mềm cho hệ thống rút tiền tự động ATM 185 1.1 Mơ tả tốn 185 1.2 Biểu đồ ca sử dụng 185 1.3 Biểu đồ lớp 186 1.4 Biểu đồ trình tự 187 1.5 Biểu đồ cộng tác 188 1.6 Thiết kế lớp chi tiết 189 1.7 Biểu đồ thành phần 190 1.8 Biểu đồ triển khai 191 Bài 2: Phân tích thiết kế hệ thống điều khiển thang máy .191 2.1 Mơ tả tốn 191 2.2 Biểu đồ ca sử dụng 191 2.2 Biểu đồ lớp 193 2.3 Mô hình động thái 195 2.4 Biểu đồ trình tự 196 2-5 Biểu đồ cộng tác 197 2.6 Thiết kế lớp chi tiết 198 Bài 3: Hệ thống quản lý thư viện .200 3.1 Các yêu cầu toán 200 3.4 Biểu đồ trạng thái 204 3.5 Biểu đồ trình tự 205 3.6 Thiết kế kiến trúc 205 3.7 Thiết kế chi tiết 206 Bài 4: Hệ thống quản lý đăng ký học tập 210 4.1 Xác định toán 210 4.2 Phân tích yêu cầu toán 211 TÀI LIỆU THAM KHẢO .214 Danh sách thuật ngữ từ viết tắt 217 -5- Phân tích, thiết kế hướng đối tượng với UM L Đồn Văn Ban LỜI NĨI ĐẦU Nhiệm vụ cơng nghệ thơng tin nói chung, cơng nghệ phần mềm nói riêng nghiên cứu mơ hình, phương pháp cơng cụ để tạo hệ thống phần mềm chất lượng cao nhằm đáp ứng nhu cầu thường xuyên thay đổi, ngày phức tạp thực tế Nhiều hệ thống phần mềm xây dựng theo cách tiếp cận truyền thống tỏ lạc hậu, không đáp ứng yêu cầu người sử dụng Cách tiếp cận hướng đối tượng giúp có cơng cụ, phương pháp mới, phù hợp để giải vấn đề nêu Cách tiếp cận phù hợp với cách quan sát quan niệm giới xung quanh tạo công cụ mới, hữu hiệu để phát triển hệ thống có tính mở, dễ thay đổi theo u cầu người sử dụng, đáp ứng tiêu chuẩn phần mềm theo yêu cầu công nghệ thông tin đại, giải vấn đề phức tạp thực tế đặt kỷ 21 Giáo trình trình bày cách sử dụng ngơn ngữ mơ hình hố thống UML (Unified Modeling Language) để phân tích thiết kế hệ thống theo cách tiếp cận hướng đối tượng Cách tiếp cận hướng đối tượng đặt trọng tâm vào việc xây dựng lý thuyết cho hệ thống tổng qt mơ hình Hệ thống xem tập thực thể tác động qua lại trao đổi với thông điệp để thực nhiệm vụ đặt Các khái niệm mơ hình hệ thống hướng đối tượng bước thực phân tích, thiết kế hướng đối tượng mô tả, hướng dẫn thực thông qua ngôn ngữ chuẩn UML phần mềm cơng cụ hỗ trợ mơ hình hố Rational Rose Giáo trình biên soạn theo nhu cầu giảng dạy, học tập nghiên cứu mơn học “Phân tích, thiết kế hệ thống” ngành Công nghệ thông tin; nội dung biên -6- Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban soạn dựa vào kinh nghiệm giảng dạy môn học qua nhiều năm tác giả khoá đào tạo cao học, đại học Đại học Quốc gia Hà Nội, Đại học Bách khoa Hà Nội, Đại học Khoa học Huế, Đại học Đà Nẵng, Đại học Thái Nguyên, v.v Giáo trình trình bày tám chương Chương mở đầu giới thiệu khái niệm sở mô hình hố, qui trình phát triển hệ thống hai cách tiếp cận để phát triển hệ thống phần mềm hướng thủ tục (hướng chức năng) hướng đối tượng Chương II giới thiệu ngôn ngữ mơ hình hố thống UML vai trị q trình phát triển phần mềm Vấn đề phân tích yêu cầu hệ thống cách xây dựng biểu đồ ca sử dụng nêu chương III Chương IV trình bày khái niệm lớp đối tượng mối quan hệ chúng khơng gian tốn Biểu đồ lớp cho phép biểu diễn tất khái niệm cách trực quan thơng qua mơ hình khái niệm biểu đồ lớp, hiểu rõ hệ thống cần phát triển Những biểu đồ tương tác, mơ hình động thái thể hành vi ứng xử hệ thống giới thiệu chương V Dựa vào kết phân tích chương trước, hai chương nêu cách thực để thiết kế biểu đồ cộng tác cho nhiệm vụ, ca sử dụng hệ thống từ có thiết kế lớp, biểu đồ lớp chi tiết mơ tả xác nhiệm vụ giao Vấn đề quan trọng lựa chọn kiến trúc cho hệ thống khả ánh xạ kết thiết kế sang mã chương trình ngơn ngữ lập trình hướng đối tượng C++, Java, Visual Basic, v.v đề cập chương VII Chương cuối đề cập đến số vấn đề cần lưu ý thiết kế CSDL HĐT, chủ yếu giới thiệu việc ứng dụng ObjectStore cài đặt ứng dụng CSDL Bài toán “Hệ thống quản lý bán hàng” chọn làm ví dụ minh hoạ để phân tích, thiết kế hệ thống phần mềm theo cách tiếp cận hướng đối tượng xuyên suốt giáo trình Ngồi ra, phần phụ lục giới thiệu số tài liệu phân tích, thiết kế để bạn tham khảo thêm Tác giả xin chân thành cám ơn bạn đồng nghiệp Viện CNTT, bạn Khoa CNTT, Đại học Khoa học Huế, bạn Khoa CNTT, Đại học Quốc gia Hà Nội đóng góp q báu, hỗ trợ thiết thực động viên chân thành để hoàn thành giáo trình Mặc dù cố gắng giáo trình khơng tránh khỏi sai sót Chúng tơi mong nhận ý kiến góp ý thầy cô, nhận xét sinh viên bạn đọc để hiệu chỉnh thành sách hồn thiện Hà Nội 2004 Tác giả -7- Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban CHƯƠNG I PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ QUÁ TRÌNH PHÁT TRIỂN HỆ THỐNG PHẦN MỀM Chương I trình bày vấn đề sở về:  Các khái niệm đặc trưng hệ thống phần mềm,  Quá trình phát triển phần mềm hệ thống,  Các phương pháp phân tích thiết kế hệ thống 1.1 Giới thiệu Thách thức lớn loài người kỷ 21 hỗn độn mức độ phức tạp hầu hết lĩnh vực sống Khoa học tính tốn, tin học đóng vai trị quan trọng việc tăng thêm trí tuệ, khoa học cho người nhằm giải vấn đề phức tạp hoạt động Nền kinh tế kỷ phải chuyển sang kinh tế tri thức, nghĩa đổi thay đổi, khác hẳn với kinh tế dựa vào vật chất Để hiểu, để khống chế độ phức tạp vấn đề đặt kinh tế tri thức từ đưa giải pháp giải chúng phải có phương pháp khoa học đắn, phù hợp với qui luật xã hội tự nhiên Bên cạnh việc nghiên cứu phương pháp thích hợp loại hệ thống, cần tìm hiểu phận chúng để mơ hình hố xác định trình hình thành hệ thống Như Pascal khảng định “Không thể hiểu phận khơng hiểu tồn thể khơng thể hiểu tồn thể không hiểu phận” Do vậy, nhiệm vụ ngành khoa học nghiên cứu trình, qui luật tự nhiên, tính chất -8- Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban hành vi hệ thống để mơ hình hố chúng đề xuất phương pháp để giải vấn đề xảy hoạt động người cho hiệu Nhiệm vụ công nghệ thông tin nói chung, cơng nghệ phần mềm nói riêng nghiên cứu mơ hình, phương pháp cơng cụ để tạo hệ thống phần mềm chất lượng cao phạm vi hạn chế tài nguyên nhằm đáp ứng nhu cầu thường xuyên thay đổi khách hàng, giải vấn đề phức tạp đặt thực tế Trước năm 60, chưa định hình phương pháp rõ rệt cho trình phát triển phần mềm [19, 35] Người ta xây dựng hệ thống phần mềm tương đối tuỳ tiện, theo sở thích kinh nghiệm cá nhân Từ năm 70 tới nay, nhiều mơ hình, phương pháp phát triển phần mềm đời Mỗi phương pháp có ưu, nhược điểm riêng, ưa chuộng nơi này, số lĩnh vực lại khơng ưa chuộng nơi khác Sự đa dạng phong phú phương pháp có nghĩa khơng thống nhất, khơng chuẩn hoá Tuy nhiên, trải qua thời gian, số phương pháp tỏ có sức sống dẻo dai, áp dụng rộng rãi thực tế Trong số phải kể trước hết phương pháp có tên chung phương pháp có cầu trúc [7, 9, 19] (phương pháp phát triển xuống) Những phương pháp thống cách tiếp cận, hướng thủ tục hướng tư (có cấu trúc xuống), phương pháp lại đề cập đến phương diện trình phát triển phần mềm Do vậy, người ta thường sử dụng số phương pháp liên hoàn, bổ sung cho đề án phát triển phần mềm phức tạp Ngày chưa lạc hậu, phát huy tác dụng tốt cho hệ thống có cấu trúc với liệu tương đối Nhưng phong phú phương pháp luận đa dạng biểu diễn khái niệm (các ký hiệu khác nhau, không thống nhất) dẫn tới khó đưa qui trình thống cho trình phát triển phần mềm Mặt khác, nhiều vấn đề phức tạp xuất hiện, khơng u cầu tính tốn lớn, xử lý phân tán, thường xuyên thay đổi yêu cầu mà đòi hỏi phải quản lý với nhiều loại liệu khác nhau, liệu đa phương tiện, liệu âm thanh, hình ảnh, v.v Từ năm 90, xuất trào lưu mới, mãnh liệt: đời phương pháp hướng đối tượng [4, 5, 18 21, 24] Thay cách tiếp cận dựa vào chức năng, nhiệm vụ hệ thống phương pháp có cấu trúc nêu trên, phương pháp hướng đối tượng lại dựa vào thực thể (các đối tượng) Cách tiếp cận hướng đối tượng đặt trọng tâm vào việc xây dựng lý thuyết cho hệ thống tổng qt mơ hình khái niệm sở Hệ thống xem tập đối tượng tác động với sở truyền thông điệp để thực thi nhiệm vụ đặt hệ thống Cách tiếp cận phù hợp với cách quan sát quan niệm giới xung quanh tạo công cụ mới, hữu hiệu để phát triển hệ thống có tính mở, dễ thay đổi theo u cầu người sử dụng, đáp ứng tiêu chuẩn phần mềm theo yêu cầu công nghệ thông tin đại, giải vấn đề phức tạp thực tế đặt kỷ 21 Một điều quan trọng công nghệ phần mềm khái niệm mơ hình hệ thống hướng đối tượng, bước phát triển đặc tả thực theo qui trình thống [2, 21] với hệ thống ký hiệu chuẩn, ngơn ngữ mơ hình hố hợp UML (Unified Modeling -9- Phân tích, thiết kế hướng đối tượng với UM L Đồn Văn Ban Ví dụ: Xét hệ thống bán hàng HBH “Hệ thống đặt vé máy bay”, phạm trù quan hệ sau cần xem xét để tìm kiếm mối quan hệ kết hợp Các phạm trù kết hợp Các ví dụ A phận logic B A loại / lớp / kiểu B A chứa (vật lý) / B A chứa (logic) B A mô tả B A mục giao dịch A thành viên B A sử dụng quản lý B A trao đổi với B Giao dịch A có quan hệ với giao dịch B A sở hữu B DongBanHang - PhienBanHang ChuyenBay - TuyenBay ThanhToanTienMat – ThanhToan ChuyenBayNonStop - ChuyenBay HBH - CuaHang KhachBay – MayBay MoTaMatHang - DanhMucMatHang ChuyenBay - LichBay MoTaMatHang - MatHang MoTaChuyenBay - ChuyenBay DongBanHang – PhienBanHang NguoiBan - CuaHang PhiCong – DoiBay NguoiBan - HBH PhiCong – MayBay KhachHang - NguoiBan KhachBay – HangDatCho ThanhToan - PhienBanHang DatCho – HuyCho HBH - CuaHang MayBay – SanBay Tóm lại, dựa vào việc phân loại phạm trù kết hợp trên, dựa vào kinh nghiệm, kiến thức hệ thống dựa vào kết khảo sát hệ thống thực tế để liệt kê tất mối quan hệ kết hợp thực lớp hệ thống Các lớp HBH có quan hệ sau: DongBanHang - PhienBanHang MoTaMatHang – DanhMucMatHang NguoiBan – HBH KhachHang – HBH NguoiQL – HBH MatHang – CuaHang DongBanHang – MatHang HBH - CuaHang MoTaMatHang - MatHang ThanhToan - PhienBanHang NguoiBan – PhienBanHang PhienBanHang – CuaHang CuaHang – DanhMucMatHang DongBanHang – MoTaMatHang Lưu ý: Trong giai đoạn phân tích, quan hệ kết hợp khơng cần phải mơ tả dịng liệu, biến thể hiện, mối kết nối đối tượng lời giải cụ thể mà cần thể mối liên hệ có nghĩa giới thực Trong pha sau, pha thiết kế cài đặt, mối liên hệ cài đặt đường dẫn thông tin liên kết lớp thể khả quan sát đối tượng hệ thống thực Các mối quan hệ khác đề cập đến chương sau - 96 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban 4.4 Biểu đồ lớp Biểu đồ lớp mô tả quan sát tĩnh hệ thống thông qua lớp mối quan hệ chúng Nó sử dụng để hiển thị lớp gói lớp mối quan hệ chúng Biểu đồ lớp giúp người phát triển phần mềm quan sát lập kế hoạch cấu trúc hệ thống trước lập trình Nó đảm bảo hệ thống thiết kế tốt từ đầu 4.4.1 Các loại lớp biểu đồ Biểu đồ lớp chứa nhiều loại lớp khác nhau, chúng lớp thơng thường, lớp tham số hố, lớp thực, lớp tiện ích, lớp metaclass (siêu lớp) Lớp tham số hoá (Parameterized Class) Lớp tham số hoá lớp sử dụng để tạo họ lớp khác Trong ngơn ngữ lập trình có kiểu mạnh C++, lớp tham số hố lớp mẫu (template) Trong UML, khai báo lớp tham số hố (lớp mẫu) Set cho họ lớp có phần tử kiểu T bất kỳ, xem tham số sau: Set insert(T e) remove(T e) T Hình 4-6 Lớp tham số hố Lớp tham số hố sử dụng để thể định thiết kế giao thức trao đổi lớp Lớp tham số hố sử dụng mơ hình khái niệm mà chủ yếu sử dụng mơ hình cài đặt, ngơn ngữ lập trình chọn để lập trình có hỗ trợ chế lớp mẫu (template class) C++ chẳng hạn Cũng cần lưu ý tất ngơn ngữ lập trình hướng đối tượng hỗ trợ kiểu lớp mẫu, ví dụ Java khơng hỗ trợ, tất lớp Java lại tạo cấu trúc phân cấp có gốc lớp Object Do tính chất phân cấp nguyên lý chung bảo toàn mối quan hệ lớp với lớp cha (nguyên lý thành viên nguyên lý 100%) mà ta tạo cấu trúc tổng quát, không tương tự lớp mẫu [15] Lớp thực (Instantiated Class) Lớp thực loại lớp tham số hoá mà đối số kiểu trị cụ thể Như vậy, lớp tham số hố khn để tạo lớp thực Ví dụ, lớp Set tập số phức (Complex) lớp thực biểu diễn UML hình 4-7 Set insert(Complex e) remove(Complex e) Hình 4-7 Lớp thực hố - 97 - Phân tích, thiết kế hướng đối tượng với UM L Đồn Văn Ban Lớp tiện ích (Class Utility) Lớp tiện ích tập hợp thao tác sử dụng nhiều nơi hệ thống, chúng tổ chức thành lớp tiện ích để lớp khác sử dụng Trong biểu đồ, lớp tiện ích thể lớp có đường viền bóng hình 4-8 (a) Hình 4-8 (a) Lớp tiện ích (b) Giao diện Giao diện (Interface) Giao diện tập thao tác quan sát từ bên lớp và/hoặc thành phần, khơng có nội dung cài đặt riêng lớp Giao diện thuộc quan sát logic xuất biểu đồ lớp biểu đồ thành phần với ký hiệu đồ hoạ hình 4-8 (b) MetaClass (siêu lớp) MetaClass lớp để tạo lớp khác, nghĩa thể lớp khơng phải đối tượng Lớp tham số hố loại siêu lớp 4.4.2 Mẫu rập khuôn (stereotype) lớp Mẫu rập khuôn (Stereotype) chế mở rộng phần tử mơ hình để tạo phần tử Nó cho phép dễ dàng bổ sung thêm thơng tin cho phần tử mơ hình phần tử đặc tả dự án hay q trình phát triển phần mềm Nó sử dụng để phân loại lớp đối tượng Rational Rose xây dựng số stereotype , , , , v.v., ngồi định nghĩa loại kiểu cho mơ hình hệ thống Lớp biên (Entity Class) Lớp biên lớp nằm đường biên hệ thống với phần giới bên ngồi Nó biểu mẫu (form), báo cáo (report), giao diện với thiết bị phần cứng máy in, máy đọc ảnh (Scanner), v.v giao diện với hệ thống khác Trong UML, lớp biên ký hiệu hình 4-9 (a) Để tìm lớp biên khảo sát biểu đồ ca sử dụng, tác nhân xác định tương ứng lớp biên Nếu có hai tác nhân kích hoạt ca sử dụng cần tạo lớp biên cho hai Lớp thực thể (Control Class) Lớp thực thể lớp lưu giữ thông tin mà ghi vào nhớ ngồi Ví dụ lớp SinhVien lớp thực thể Trong UML, lớp thực thể ký hiệu hình 4-9 (b) - 98 - Phân tích, thiết kế hướng đối tượng với UM L Đồn Văn Ban Lớp thực thể tìm thấy luồng kiện biểu đồ tương tác Thông thường phải tạo bảng liệu CSDL cho lớp thực thể Mỗi thuộc tính lớp thực thể trở thành trường liệu bảng liệu Lớp điều khiển Lớp điều khiển lớp làm nhiệm vụ điều phối hoạt động lớp khác Thông thường ca sử dụng có lớp điều khiển để điều khiển trình tự kiện xảy Chú ý, lớp điều khiển không tự thực chức nghiệp vụ hệ thống, chúng lại gửi nhiều thông điệp cho lớp có liên quan, cịn gọi lớp quản lý Trong UML, lớp điều khiển ký hiệu hình 4-9 (c) Hình 4-9 (a) Lớp biên (b) Lớp thực thể (c) Lớp điều khiển 4.4.3 Biểu đồ lớp Hệ HBH Trong số quan hệ kết hợp phát mục 4.3, dễ nhận thấy lớp DanhMucMatHang chứa MoTaMatHang, hai lớp có quan hệ kết nhập Tương tự, PhienBanHang có số DongBanHang, nghĩa hai lớp có quan hệ kết nhập Kết hợp tất mối quan hệ lớp phân tích trên, xây dựng biểu đồ lớp sau: Ghi-nhận-hàng-bán * 1 Được-mô-tả-bởi  * DongBanHang 1 * Chứa DanhMucMatHang Chứa-trong MoTaMatHang * Được-sử-dụng-trong Mơ-tả * Có CuaHang Quản-lý * * MatHang 1 Có * PhienBanHang 1 Được-trả 1 * Thực-hiện 1 Được-quản-lý-bởi HBH Được-thực-hiện-bởi NguoiQL 1 Ghi-nhận-bán-hàn Được-khởi-động-bởi ThanhToan 1 KhachHang - 99 - NguoiBan 1 Phân tích, thiết kế hướng đối tượng với UM L Đồn Văn Ban Hình 4-10 Biểu đồ lớp HBH 4.5 Thuộc tính lớp Thuộc tính lớp mơ tả đặc tính đối tượng lớp Ví dụ, khách hàng lớp KhachHang có họ tên, địa chỉ, số tài khoản, v.v Ở thời điểm thuộc tính đối tượng lớp giá trị liệu logic biểu diễn cho tính chất tương ứng đối tượng, gọi giá trị thuộc tính đối tượng thời điểm Mỗi thuộc tính có: + Tên thuộc tính, + Kiểu xác định loại giá trị mà thuộc tính mơ tả, + Giá trị mặc định (khởi đầu) cho thuộc tính Việc gán giá trị khởi đầu cho thuộc tính tuỳ chọn, khơng bắt buộc Kiểu thuộc tính Kiểu thuộc tính kiểu liệu sở lớp xây dựng trước Kiểu thuộc tính nói cho ta biết loại giá trị kiểu số nguyên (Integer, int), số thực (Real, Float), giá trị logic (Boolean), ký tự (Character), thời gian (Time), v.v gọi kiểu nguyên thuỷ (primitive type) Ngoài kiểu nguyên thuỷ, người phát triển hệ thống tạo kiểu tuỳ ý Phạm vi thuộc tính Thuộc tính lớp cịn có thêm đặc tính để thể khả nhìn thấy hay đặc tính quản lý khả truy nhập thuộc tính đối tượng khác, gọi chung phạm vi quan sát (gọi tắt phạm vi) thuộc tính nói riêng thành phần lớp nói chung Đó đặc tính khai báo lớp ký hiệu: ‘+’ đứng trước thuộc tính UML, biểu tượng ổ khố khơng bị khố Rose để thể thuộc tính cơng khai (public), đối tượng nhìn thấy Bất kỳ đối tượng hệ thống nhì thấy quyền truy cập từ lớp khác ‘#’ đứng trước thuộc tính UML, biểu tượng ổ khố có chìa để bên cạnh Rose để thể thuộc tính bảo vệ (protected), đối tượng có quan hệ kế thừa nhìn thấy - 100 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban ‘-’ đứng trước thuộc tính UML, biểu tượng khố bị khố chìa bị cất Rose , để thể thuộc tính sở hữu riêng (private), thân đối tượng lớp nhìn thấy được, đối tượng khác không phép truy cập Mặc định: trường hợp thuộc tính khơng có ký hiệu đặc tính phạm vi đứng trước xem mặc định, biểu tượng mặc định Rose , nghĩa thuộc tính quan sát lớp gói Phạm vi mặc định cịn gọi phạm vi gói hay phạm vi cài đặt (Implementation) Ví dụ: KhachHang Thuộc tính mặc định + hoTen: String - soTaiKhoan: int # diaChi: String tuoi: int Hình 4-11 Các thuộc tính lớp UML Rose Thuộc tính hoTen có kiểu String cơng khai, soTaiKhoan có kiểu int (các số nguyên) riêng diaChi bảo vệ, có kiểu String Lưu ý: Khi cài đặt chương trình phạm vi quan sát thuộc tính cịn tuỳ thuộc vào qui định khác ngôn ngữ lập trình lựa chọn Ví dụ đặc tính mặc định, hay bảo vệ thuộc tính C++ Java khác Tính chất lưu trữ thuộc tính Các thuộc tính lớp xác định lưu trữ theo giá trị, theo tham chiếu, ngược lại chưa xác định  Giá trị (By value): thuộc tính gán tính chất By value mơ hình lưu lớp bền vững chứa thuộc tính  Tham chiếu (Reference): thuộc tính gán giá trị cho biết lưu trữ bên ngồi lớp, có trỏ tham chiếu đến  Chưa xác định (Unspecified): thuộc tính gán tính chất cho biết cách lưu trữ chưa xác định, phát sinh mã chương trình Rose coi By value Thuộc tính tĩnh (static) Thơng thường thuộc tính có liệu riêng cho đối tượng lớp Ví dụ, lớp NguoiBanHang Cơng ty có thuộc tính tenGoi - 101 - Phân tích, thiết kế hướng đối tượng với UM L Đồn Văn Ban taiKhoan Khi thực hệ thống tạo hai đối tượng hai người bán hàng cụ thể đối tượng có tenGoi taiKhoan riêng, người sử dụng tài khoản riêng Việc không thật phù hợp với thực tế, tất người bán hàng có chung tài khoản, tài khoản Cơng ty Việc thực cách sử dụng thuộc tính static cho taiKhoan Những thuộc tính khai báo static lớp thuộc tính chia sẻ tất đối tượng, nghĩa có liệu cho tất đối tượng lớp UML biểu diễn thuộc tính static dấu ‘$’ trước tên thuộc tính Thuộc tính suy dẫn (derived) Một số thuộc tính suy dẫn từ thuộc tính khác Ví dụ, lớp HinhChuNhat có thuộc tính chieuCao, chieuRong, có thêm thuộc tính dienTich tất nhiên dienTich suy từ tích chieuCao * chieuRong Trong UML, thuộc tính suy dẫn ký hiệu dấu ‘/’ trước tên thuộc tính Đặc tính lưu trữ đối tượng Trong hệ thống đối tượng, có đối tượng cần phải lưu trữ vào CSDL gọi đối tượng trì, đối tượng khơng cần lưu trữ nhớ gọi đối tượng khơng bền vững Trong Rose gán đặc tính lưu trữ cho lớp, đặc tính là:  Persistent: cho lớp có đối tượng lưu trữ CSDL hay khn mẫu đó, nghĩa chúng vấn tồn hệ thống không thực  Transient: cho lớp mà đối tượng khơng cần lưu trữ vào nhớ  Absract: cho lớp trừu tượng, lớp khơng có đối tượng thể thực tế Thường lớp trừu tượng xây dựng làm lớp sở cho lớp khác kế thừa 4.5.1 Tìm kiếm thuộc tính Với lớp tạo biểu đồ lớp hình 4-10, mong muốn tìm thuộc tính cho:  Đầy đủ: chứa đựng tất thông tin đối tượng lớp,  Tách biệt hoàn tồn: thuộc tính thể đặc tính khác   đối tượng, Độc lập với nhau: đối tượng, giá trị thuộc tính độc lập với đối tượng khác, tốt loại bỏ thuộc tính suy dẫn từ thuộc tính khác Liên quan đến yêu cầu ca sử dụng: thuộc tính đưa vào lớp phải xác định sở yêu cầu thực công việc cần để tổ chức, lưu trữ, trao đổi thơng tin đối tượng - 102 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban Trong mơ hình hố khái niệm, có nhầm lẫn giống Nhiều ta sử dụng thuộc tính để biểu diễn cho mà phải sử dụng khái niệm lớp hay mối quan hệ liên kết để thể chúng Sau xét số lưu ý nhằm xác định xác thuộc tính cho lớp nhằm đáp ứng nguyên tắc tránh sai sót Đảm bảo thuộc tính đơn giản Các thuộc tính mơ hình lớp phải thuộc tính đơn giản kiểu liệu tuý:  Một cách trực quan, thuộc tính đơn giản thuộc tính có giá trị kiểu liệu nguyên thuỷ: Boolean, Number, String (Text), Time, v.v  Một số kiểu phổ dụng bao gồm: DiaChi (Address), MauSac (Color), HinhHoc (Geometrics), SoDienThoai (PhoneNumber), SoBaoHiem (SocialSecurityNumber), MaSanPham (Universa ProductCode), kiểu liệt kê (EnumeratedTypes), v.v Thơng thường, nên cố tránh thuộc tính phức tạp nên thay vào quan hệ liên kết lớp Ví dụ: xét lớp NguoiBan, đưa thuộc tính heThongHienThoi vào để thể người bán hàng sử dụng hệ thống bán hàng Bởi hệ thống HBH lớp, nên kiểu phức tạp Do vậy, cách làm khơng phải tốt (hình 4-12 (a)) Để thể mối quan hệ này, ta sử dụng mối quan hệ kết hợp hình 4-12 (b) Sử dụng thuộc tính phức hợp NguoiBan ten: String heThongHienThoi: HBH Hình 4-12 (a) Trường hợp thiết kế lớp không tốt NguoiBan Sử-dụng HBH soHieu: Int ten: String Hình 4-12 (b) Tốt chuyển thuộc tính phức thành quan hệ kết hợp Qui tắc hướng dẫn là: Liên kết khái niệm với quan hệ kết hợp, không thuộc tính phức hợp - 103 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban Sử dụng giá trị liệu tuý Nói cách tổng qt, thuộc tính phải có giá trị liệu tuý kiểu Data Type UML, việc xác định khơng có nhiều ý nghĩa ngữ cảnh mơ hình hệ thống Ví dụ, kiểu liệu nguyên thuỷ thì: + Không cần tách biệt giá trị số giống nhau, + Không cần tách biệt thể SoDienThoai mà chúng có số, + Khơng cần tách biệt hai địa chúng giống nhau, v.v Song, đối tượng việc phân biệt chúng (thơng qua định danh) lại có ý nghĩa bắt buộc Ví dụ, hai khách hàng tên “Nguyễn Lam”, hệ thống phải xác định riêng biệt định danh Qui tắc hướng dẫn thứ hai là: Phần tử kiểu liệu tuý xác định thuộc tính lớp, sử dụng khái niệm (lớp) tách biệt mơ hình Khơng sử dụng thuộc tính khố ngoại Các thuộc tính khơng nên sử dụng để liên kết khái niệm lại với mơ hình khái niệm, mà sử dụng để lưu giữ thơng tin đối tượng lớp có thuộc tính Trong thiết kế mơ hình CSDL quan hệ ngun lý bị vi phạm vì, người ta thường sử dụng thuộc tính khoá ngoại để kết nối hai kiểu thực thể với Ví dụ: hình 4-13 (a), lớp NguoiBan có thuộc tính soHieuHT xem khố ngoại để thể người bán hàng sử dụng hệ thống bán hàng có số hiệu xác định Mặc dù thuộc tính thuộc tính đơn (khơng vi phạm hướng dẫn 1), khố ngoại khơng tốt đó, nên thay quan hệ kết hợp hình 4-13 (b) Sử dụng thuộc tính đơn dạng khố ngoại NguoiBan ten: String soHieuHT: int Hình 4-13 (a) Trường hợp sử dụng khố ngoại NguoiBan Sử-dụng HBH soHieu: int ten: String Hình 4-13 (b) Tốt chuyển thuộc tính phức thành quan hệ kết hợp Từ ta có qui tắc hướng dẫn thứ ba - 104 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban Nên kết nối khái niệm với quan hệ kết hợp, không sử dụng thuộc tính (khố ngoại) Tìm thuộc tính đâu nào?  Đọc kỹ mơ tả tốn, nghiên cứu hồ sơ chức hệ thống,    đặt tả ca sử dụng, kịch để tìm tất thơng tin, liệu cần phải lưu trữ, xử lý cập nhật Các mục thường danh từ, mệnh đề danh từ đơn, xem đại biểu thuộc tính Ví dụ: xem xét luồng kiện: “Đối với mặt hàng, người bán nhập vào mã sản phẩm thông qua máy đọc thẻ số lượng hàng mà khách hàng chọn mua” Như vậy, lớp MatHang tất nhiên phải có thuộc tính maSanPham, qua xác định tên gọi, chủng loại, giá bán, v.v thuộc tính MoTaMatHang Sử dụng qui tắc hướng dẫn nêu để xác định xác thuộc tính: đặc tính xác định phạm vi quan sát, tên gọi, kiểu giá trị khởi đầu (nếu có) thuộc tính Đọc giả thiết, phân loại hay qui ước cần áp dụng cho hệ thống thời để khẳng định lại thuộc tính lớp Gán thuộc tính cho lớp đối tượng biểu đồ lớp 4.5.2 Các thuộc tính lớp HBH Theo cách hướng dẫn nêu trên, xác định thuộc tính cho lớp để thực ca sử dụng “Mua hành tiền mặt” biểu đồ hình 4-10 sau: HBH MatHang soHieuHT: Int maSanPham: UPC PhienBanHang ngayBan: Date gioBan: Time NguoiBan DongBanHang CuaHang tenGoi: String diaChi: Address KhachHang soLuong: int NguoiQL ThanhToan tongSoTien: Number DanhMucMatHang MoTaMatHang maSanPham: UPC giaBan: Number moTa: Text - 105 - Phân tích, thiết kế hướng đối tượng với UM L Đồn Văn Ban Hình 4-14 Các thuộc tính lớp Đó thuộc tính xác định để thực ca sử dụng “Thanh toán tiền mặt” Tương tự, xem xét chức hệ thống, nghiên cứu ca sử dụng lại dựa vào tài liệu khác để xác định đầy đủ xác thuộc tính cho lớp đối tượng Biểu đồ lớp với thuộc tính mơ tả cấu trúc tĩnh hệ thống Nó mơ tả mối liên kết có cấu trúc mục liệu thao tác, xử lý hệ thống Nó mơ tả cách thông tin phân chia thành phần cho đối tượng, cách đối tượng chia thành lớp thể mối quan hệ đối tượng Tóm lại, mơ hình khái niệm tập trung mô tả:  Những khái niệm lớp đối tượng hệ thống,  Các mối liên kết lớp,  Các thuộc tính lớp 4.6 Các phương thức lớp Phương thức (thao tác, hàm thành phần) lớp mô tả hành vi mối quan hệ đối tượng hệ thống Mỗi phương thức mô tả phạm vi, tên gọi, danh sách tham số kiểu trả lại giá trị visibility name (arg1: DataType1, arg2: DataType2, …, argn: DataTypen): ReturnType Trong đó,  visibility khai báo phạm vi quan sát phương thức lớp visibility đặc tính: public, protected, private, hay mặc định giống thuộc tính nêu  name tên gọi phương thức, theo qui ước thường động từ (cụm động từ), viết hoa chữ từ trừ từ  argk tên tham số hình thức thứ k danh sách  DataTypek kiểu thuộc tính, thường kiểu thuộc tính khai báo lớp  ReturnType kiểu liệu trả lại sau phương thức kết thúc Những phương thức khơng có kiểu trả lại (các thủ tục) sử dụng Void (void) Ví dụ: lớp ThanhToan có phương thức + makePayment(upc: UPC, n: Integer): Boolean Lưu ý: bảng thiết kế lớp, nhiều phương thức cần hiển thị ngắn gọn tên danh sách tham số cho đơn giản Ví dụ, phương thức viết ngắn gọn: + makePayment(upc, n), upc mã sản phẩm, n số lượng mặt hàng mà khách hàng chọn mua - 106 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban Câu hỏi thường xuất thiết kế lớp có loại phương thức nào? Nói chung có năm loại phương thức: nghiệp vụ, quản lý, truy cập, hiển thị (trao đổi) trợ giúp  Phương thức nghiệp vụ (thực thi) Phương thức loại đảm nhận chức tác nghiệp mà lớp đối tượng cần thực Chúng tìm từ thơng điệp gửi tới cho đối tượng lớp biểu đồ tương tác Ví dụ, đối tượng :ThanhToan nhận thông điệp makePayment(soTien) biểu đồ cộng tác (hay biểu đồ trình tự) lớp ThanhToan có phương thức makePayment(soTien)  Phương thức quản lý: phương thức quản lý đối tượng lớp, làm nhiệm vụ tạo lập, huỷ bỏ đối tượng Ví dụ, tốn tử tạo lập huỷ tử thuộc nhóm  Phương thức truy cập Theo qui định, thuộc tính khai báo private hay protected lớp nhằm hạn chế việc truy cập đối tượng khác Tuy nhiên, để trao đổi với nhiều đối tượng lớp khác lại cần truy cập đến liệu Việc thực thông qua phương thức truy cập để đọc hay ghi (thay đổi) liệu thành phần lớp Ví dụ, lớp KhachHang có thuộc tính taiKhoan khai báo private để không cho đối tượng khác truy nhập tự Nhưng để xử lý việc tốn với khách hàng hệ thống phải có cách để truy cập taiKhoan người mua hàng, phải có phương thức getTaiKhoan() để đọc, hay setTaiKhoan() để cập nhật số tiền khách hàng Những phương thức loại thường khai báo public  Phương thức trợ giúp: phương thức mà lớp chứa cần thực cơng việc phân cơng Đó thường phương thức có tính chất private, protected  Phương thức hiển thị, trao đổi thông tin: phương thức đảm nhận việc hiển thị thông tin thiết bị ngoại vi máy in, máy vẽ, hình, v.v hay chuyển kênh truyền thông mạng 4.7 Ghi nhận từ điển thuật ngữ Từ điển thuật ngữ loại tài liệu đơn giản để định nghĩa hạng mục, thuật ngữ sử dụng trình phát triển phần mềm Từ điển thuật ngữ hay từ điển mơ hình, liệt kê định nghĩa hạng mục cách rõ ràng, dễ hiểu nhằm phục vụ tốt giao tiếp, trao đổi thành viên dự án giảm thiểu may rủi đáng tiếc hiểu lầm gây Sau ví dụ từ điển thuật ngữ hệ HBH Hạng mục Bán hàng MoTaMatHang.moTa: Text Phạm trù Ca sử dụng Thuộc tính - 107 - Chú thich Mơ tả q trình bán hàng cho khách cửa hàng Mô tả ngắn gọn mặt hàng Phân tích, thiết kế hướng đối tượng với UM L MatHang ThanhToan Lớp (kiểu) Lớp (kiểu) MoTaMatHang.giaBan: Number Thuộc tính DongBanHang.soLuong: Int Thuộc tính PhienBanHang DongBanHang Lớp (kiểu) Lớp (kiểu) CuaHang PhienBanHang.tongSoTien: Number Lớp (kiểu) Thuộc tính ThanhToan.tongSo: Number MoTaMatHang.maSanPham: UPC Thuộc tính Thuộc tính Đồn Văn Ban lớp MoTaMatHang Hàng để bán cửa hàng Lớp làm nhiệm vụ thu tiền mà khách hàng trả mua hàng Giá bán mặt hàng MoTaMatHang Số lượng mặt hàng mà khách mua Một giao dịch bán hàng Một dòng phiên giao dịch bán hàng Nơi có giao dịch bán hàng Tổng số tiền khách phải trả lần mua hàng Tổng số tiền cần phải thu khác Mã sản phẩm MoTaMatHang Thông thường từ điển thuật ngữ xây dựng từ pha đầu tiên, pha định nghĩa toán khảo sát ca sử dụng, hạng mục tạo ra, sau tiếp tục bổ sung, làm mịn pha Nghĩa là, việc xây dựng từ điển thuật ngữ thực song hành với công việc đặc tả yêu cầu, xây dựng ca sử dụng, thiết lập mơ hình khái niệm, biểu đồ tuần tự, cộng tác, v.v Khơng có mẫu thức áp dụng cho việc mô tả từ điển thuật ngữ 4.8 Thực hành Rational Rose Sử dụng Rational Rose ([8], [11]) để thực công việc sau: Tạo lập huỷ bỏ biểu đồ lớp Lưu ý: Rose, biểu đồ lớp thiết lập quan sát logic (Logical View), tạo lập mơ hình biểu đồ lớp Main tạo Logical View Ta tạo số biểu đồ khác quan sát để mô tả mô hình cấu trúc tĩnh hệ thống Bổ sung thêm loại lớp: lớp thông thường, lớp thực, lớp tiện ích, v.v Đặc tả lớp: tên lớp, chọn stereotype, đặc tính xác định phạm lớp (Public, Protected, Private, Package hay Implementation), đặc tính lưu trữ lớp (Persistent, Transient), v.v Tạo lập huỷ bỏ gói (Package), Đưa thuộc tính vào lớp: tên, kiểu gán trị khởi đầu, gán thuộc tính lưu trữ (By Value, By Reference, Unspecified), gán thuộc tính tĩnh (Static), gán thuộc tính suy dẫn (Derived), Thiết lập mối quan hệ lớp biểu đồ: tên gọi hướng quan hệ, gán stereotype, vai trò Role cho quan hệ, phạm vi quan hệ (Public, Protected, - 108 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban Private, Package hay Implementation) thuộc tính khác Static, By Value, By Reference, Unspecified, Friend, Link Element, Key / Qualifier, v.v Thực hành chức để xây dựng biểu đồ lớp hình 4-10 sau bổ sung thêm thuộc tính từ hình 4-14 Lưu ý: Rational Rose 4.0 nạp phiên demo với ngơn ngữ lập trình C++ mơi trường Window 95 từ http://www.ratinal.com/demos Rose công cụ tốt giúp ta thể kết phân tích, thiết kế hệ thống hướng đối tượng Tuy nhiên số ký pháp UML chưa thể Rose  Rose khơng cho phép vẽ hình chữ nhật giới hạn đường biên hệ thống  Biểu đồ lớp Rose thiếu ký hiệu biểu diễn cho loại quan hệ kết nhập khác (kết nhập thông thường, chia sẻ hợp thành)  Trong biểu đồ trình tự khơng có ký hiệu cho kiện tạo lập huỷ bỏ đối tượng Câu hỏi tập 4.1 Điền vào chỗ chống câu sau: + Khái niệm ý tưởng, + Sự khác biệt phân tích hướng đối tượng phân tích có cấu trúc phân rã hệ thống thành + Trong UML mơ hình khái niệm hệ thống mô tả mơ tả văn đại biểu lớp thuộc tính lớp + Có thể dựa vào phân loại phạm trù khái niệm để cho hệ thống.Quan hệ kết hợp hai lớp đối tượng hai lớp + Các đối tượng có mối quan hệ với cộng tác với theo đường lớp + Lớp trừu tượng lớp cụ thể + Trong hệ thống hướng đối tượng, đối tượng xác định 4.2 Nêu số phương pháp để phát lớp đối tượng giai đoạn phân tích hệ thống theo cách tiếp cận hướng đối tượng 4.3 Mô tả UML để thể hiện: “Mỗi sinh viên theo học nhiều 6, mơn học mơn học có nhiều 30 sinh viên ghi danh 4.4 Xác định lớp thiết lập biểu đồ lớp cho hệ thống “Quản lý thư viện” (Tiếp theo tập 3.4) 4.5 Xây dựng mơ hình khái niệm cho “Hệ thống rút tiền tự động ATM (Automatic Teller Machine)” (Tiếp theo toán 3.5) - 109 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban 4.6 Xây dựng mơ hình khái niệm cho hệ thống “Mơ hệ thống thang máy cho nhà cao tầng” (Tiếp theo toán 3.6) 4.7 Áp dụng phương pháp phân tích mục đích ca sử dụng để chuyển biểu đồ ca sử dụng hình sau sang biểu đồ lớp Hệ thống bán sách Đặt mua sách Kiểm tra Credit Tài vụ Lập hoá đơn Người mua Giao sách Kiểm kê kho Người bán 4.8 Chọn từ danh sách thuật ngữ thích hợp để điền vào chỗ [(…)] đoạn văn mô tả mục tiêu phương pháp hướng đối tượng Mục tiêu [(1)] phân tách hệ thống thành đối tượng xác định [(2)], [(3)] mà biết rõ chúng Mô hình [(2)] cách biểu diễn [(4)] phạm vi toán Chọn câu trả lời: a khái niệm b thực thể c phương pháp hướng đối tượng d vật - 110 - ... khai Biểu đồ thành phần Hình 1. 9: Quá trình phát triển phần mềm hướng đối tượng với UML - 35 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban Câu hỏi tập 1. 1 Hệ thống phần mềm gì?, nêu... cần phân biệt mối quan hệ lớp đối tượng với 2.3 .1 Sự liên kết kết hợp đối tượng Một liên kết kết nối vật lý logic đối tượng với Phần lớn liên kết kết nối hai đối tượng với Tuy nhiên có liên kết... 40 2 .1. 4 Các phần tử UML 41 -1 - Phân tích, thiết kế hướng đối tượng với UM L Đoàn Văn Ban 2.2 Các khái niệm phương pháp hướng đối tượng UML 45 2.2 .1 Các đối tượng

Ngày đăng: 18/10/2022, 15:22

Hình ảnh liên quan

Mơ hình này được thiết lập theo cách tiếp cận hướng chức năng và phù hợp cho những  dự  án  lớn,  phức  tạp - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

h.

ình này được thiết lập theo cách tiếp cận hướng chức năng và phù hợp cho những dự án lớn, phức tạp Xem tại trang 16 của tài liệu.
Hình 1.2: Chu trình phát triển phần mềm tăng trưởng - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 1.2.

Chu trình phát triển phần mềm tăng trưởng Xem tại trang 17 của tài liệu.
Hình 1.3: Chu trình xoắn ốc - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 1.3.

Chu trình xoắn ốc Xem tại trang 18 của tài liệu.
Mơ hình xoắn ốc  - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

h.

ình xoắn ốc Xem tại trang 19 của tài liệu.
Hình 1.6: Mối quan hệ giữa các cơng việc trong pha phân tích các yêu cầu - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 1.6.

Mối quan hệ giữa các cơng việc trong pha phân tích các yêu cầu Xem tại trang 32 của tài liệu.
Hình 1.7: Thiết kế logic và thiết kế chi tiết - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 1.7.

Thiết kế logic và thiết kế chi tiết Xem tại trang 34 của tài liệu.
Hình 1.9: Quá trình phát triển phần mềm hướng đối tượng với UMLBiểu đồ ca sử dụng     Biểu đồ trình tự      Biểu đồ cộng tác  - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 1.9.

Quá trình phát triển phần mềm hướng đối tượng với UMLBiểu đồ ca sử dụng Biểu đồ trình tự Biểu đồ cộng tác Xem tại trang 36 của tài liệu.
 Kỹ thuật mơ hình đối tượng (OMT – Object Modeling Technique) của Rumbaugh, - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

thu.

ật mơ hình đối tượng (OMT – Object Modeling Technique) của Rumbaugh, Xem tại trang 41 của tài liệu.
Hình 2-2 Các thành phần cơ sở của UML - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

2 Các thành phần cơ sở của UML Xem tại trang 42 của tài liệu.
một khía cạnh của hệ thống (hình 2-3) và thường được thể hiện trong một số biểu đồ nhất định - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

m.

ột khía cạnh của hệ thống (hình 2-3) và thường được thể hiện trong một số biểu đồ nhất định Xem tại trang 43 của tài liệu.
Hình 2-4 Những khái niệm cơ bản của phương pháp hướng đối tượng - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

4 Những khái niệm cơ bản của phương pháp hướng đối tượng Xem tại trang 47 của tài liệu.
Hình 2-7 (a) Liên kết giữa các đối tượng - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

7 (a) Liên kết giữa các đối tượng Xem tại trang 50 của tài liệu.
Hình 2-7 mơ tả các ký hiệu cho quan hệ liên kết và kết hợp. - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

7 mơ tả các ký hiệu cho quan hệ liên kết và kết hợp Xem tại trang 50 của tài liệu.
Hình 2-13 Quan hệ kết nhập thơng thường - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

13 Quan hệ kết nhập thơng thường Xem tại trang 54 của tài liệu.
xuất được. Cấu trúc phân cấp của lớp NhanVien được xác định như hình 2-15. - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

xu.

ất được. Cấu trúc phân cấp của lớp NhanVien được xác định như hình 2-15 Xem tại trang 55 của tài liệu.
Hình 2-16 Quan hệ tổng quát hố ngược lại với quan hệ kết nhập - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

16 Quan hệ tổng quát hố ngược lại với quan hệ kết nhập Xem tại trang 56 của tài liệu.
Ví dụ: chúng ta hãy xét mơ hình của chương trình đánh cờ. Trước khi đi một nước cờ, - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

d.

ụ: chúng ta hãy xét mơ hình của chương trình đánh cờ. Trước khi đi một nước cờ, Xem tại trang 57 của tài liệu.
Hình 2-19 Quan hệ hiện thực hố - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

19 Quan hệ hiện thực hố Xem tại trang 58 của tài liệu.
Trong mơ hình hố hệ thống với UML, ta cĩ thể sử dụng ngơn ngữ ràng buộc đối - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

rong.

mơ hình hố hệ thống với UML, ta cĩ thể sử dụng ngơn ngữ ràng buộc đối Xem tại trang 59 của tài liệu.
Hình 2-21 Tổ chức các gĩi của hệ thống thư viện - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

21 Tổ chức các gĩi của hệ thống thư viện Xem tại trang 59 của tài liệu.
Hình 2-23 Mối quan hệ giữa các cơng việc trong pha phân tích các yêu cầuNgười phát triển  - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 2.

23 Mối quan hệ giữa các cơng việc trong pha phân tích các yêu cầuNgười phát triển Xem tại trang 63 của tài liệu.
 Kiến trúc và cấu hình của hệ thống? Nhiệm vụ chính của thiết kế hệ thống là:  - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

i.

ến trúc và cấu hình của hệ thống? Nhiệm vụ chính của thiết kế hệ thống là: Xem tại trang 65 của tài liệu.
Một cách hình thức hơn, ca sử dụng mơ tả tập các hoạt động của hệ thống theo quan điểm của các tác nhân (Actor) - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

t.

cách hình thức hơn, ca sử dụng mơ tả tập các hoạt động của hệ thống theo quan điểm của các tác nhân (Actor) Xem tại trang 72 của tài liệu.
Hình 3-1 Ký hiệu của ca sử dụng - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 3.

1 Ký hiệu của ca sử dụng Xem tại trang 73 của tài liệu.
Các đối tượng vật lý, hay hữu hình Hệ HBH, NguoiBan, KhachHang MayBay (máy bay)  - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

c.

đối tượng vật lý, hay hữu hình Hệ HBH, NguoiBan, KhachHang MayBay (máy bay) Xem tại trang 89 của tài liệu.
Hình 4-2 Ca sử dụng “Đăng ký mơn học” và các thực thể liên quan - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 4.

2 Ca sử dụng “Đăng ký mơn học” và các thực thể liên quan Xem tại trang 93 của tài liệu.
Hình 4-9 (a) Lớp biên (b) Lớp thực thể (c) Lớp điều khiển - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 4.

9 (a) Lớp biên (b) Lớp thực thể (c) Lớp điều khiển Xem tại trang 100 của tài liệu.
Hình 4-11 Các thuộc tính của lớp trong UML và trong Rose - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

Hình 4.

11 Các thuộc tính của lớp trong UML và trong Rose Xem tại trang 102 của tài liệu.
cảnh của mơ hình hệ thống. Ví dụ, đối với những kiểu dữ liệu nguyên thuỷ thì: +  Khơng cần tách biệt các giá trị số giống nhau,  - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

c.

ảnh của mơ hình hệ thống. Ví dụ, đối với những kiểu dữ liệu nguyên thuỷ thì: + Khơng cần tách biệt các giá trị số giống nhau, Xem tại trang 105 của tài liệu.
4.6 Xây dựng mơ hình khái niệm cho hệ thống “Mơ phỏng hệ thống thang máy cho các nhà cao tầng” (Tiếp theo của bài tốn 3.6) - Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

4.6.

Xây dựng mơ hình khái niệm cho hệ thống “Mơ phỏng hệ thống thang máy cho các nhà cao tầng” (Tiếp theo của bài tốn 3.6) Xem tại trang 111 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan