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

Phân tích, thiết kế hướng đối tượng bằng UM L, đại học bách khoa hà nội

181 428 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

Thông tin cơ bản

Định dạng
Số trang 181
Dung lượng 1,56 MB

Nội dung

Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU 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 1.1 Giới thiệu 1.2 Giới thiệu hệ thống phần mềm 1.2.1 Các đặc trưng hệ thống 1.2.2 Phân loại hệ thống phần mềm 11 1.3 Sự phát triển hệ thống 13 1.3.1 Chu trình phát triển hệ thống 13 1.3.2 Mơ hình hố hệ thống 18 1.4 Các cách tiếp cận phát triển phần mềm 21 1.4.1 Cách tiếp cận hướng chức 21 1.4.2 Cách tiếp cận hướng đối tượng 23 1.5 Quá trình phát triển phần mềm hợp 25 1.6 Kết luận .33 Câu hỏi tập 33 CHƯƠNG II: UML VÀ QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM 35 2.1 Tổng quát UML 35 2.1.1 Mục đích UML 35 2.1.2 Quá trình phát triển phần mềm thống với UML 36 2.1.3 Giới thiệu tổng quát UML 37 2.1.4 Các phần tử UML 39 2.2 Các khái niệm phương pháp hướng đối tượng .43 2.2.1 Các đối tượng 43 2.2.2 Lớp đối tượng 44 2.2.3 Các giá trị thuộc tính đối tượng 45 2.2.4 Các thao tác phương thức 46 2.3 Các mối quan hệ lớp 46 2.3.1 Sự liên kết kết hợp đối tượng 46 -1- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban 2.3.2 Bội số 48 2.3.3 Các vai trò quan hệ 49 2.3.4 Quan hệ kết nhập 49 2.3.5 Quan hệ tổng quát hoá 51 2.3.6 Kế thừa bội 52 2.3.7 Quan hệ phụ thuộc 54 2.3.7 Quan hệ thực hoá 54 2.4 Các gói 55 2.5 Các qui tắc ràng buộc suy diễn 56 2.7 Rational Rose trình phát triển phần mềm thống 58 Bài tập câu hỏi .59 CHƯƠNG III: BIỂU ĐỒ CA SỬ DỤNG PHÂN TÍCH CÁC NHU CẦU CỦA HỆ THỐNG 60 3.1 Định nghĩa toán 60 3.2 Phân tích đặc tả yêu cầu hệ thống 63 3.2.1 Ca sử dụng 63 3.2.2 Tác nhân 64 3.2.3 Xác định ca sử dụng tác nhân 65 3.2.3 Đặc tả ca sử dụng 67 3.3 Biểu đồ ca sử dụng 70 3.4 Tạo lập biểu đồ ca sử dụng Rational Rose 74 Bài tập câu hỏi .74 CHƯƠNG IV: PHÂN TÍCH HỆ THỐNG – MƠ HÌNH KHÁI NIỆM VÀ BIỂU ĐỒ LỚP 76 4.1 Mơ hình khái niệm – mơ hình đối tượng 76 4.2 Xác định lớp đối tượng 77 4.3 Mối quan hệ lớp đối tượng 85 4.3.1 Đặt tên cho quan hệ kết hợp 86 4.3.2 Các phương pháp xác định mối quan hệ kết hợp 86 4.4 Biểu đồ lớp 88 4.4.1 Các loại lớp biểu đồ 88 4.4.2 Mẫu rập khuôn (stereotype) lớp 90 4.4.3 Biểu đồ lớp Hệ HBH 90 -2- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban 4.5 Thuộc tính lớp 91 4.5.1 Tìm kiếm thuộc tính 94 4.5.2 Các thuộc tính lớp HBH 97 4.6 Các phương thức lớp 98 4.7 Ghi nhận từ điển thuật ngữ .99 4.8 Thực hành Rational Rose 100 Câu hỏi tập 101 CHƯƠNG V: MƠ HÌNH ĐỘNG THÁI: CÁC BIỂU ĐỒ TƯƠNG TÁC VÀ HÀNH ĐỘNG TRONG HỆ THỐNG .103 5.1 Mơ hình hố hành vi hệ thống 103 5.1.1 Các kiện hành động hệ thống 104 5.1.2 Sự trao đổi thông điệp đối tượng 106 5.2 Biểu đồ trình tự .106 5.2.1 Các thành phần biểu đồ trình tự 107 5.2.2 Xây dựng biểu đồ trình tự 108 5.2.3 Các biểu đồ trình tự mơ hình hành động hệ HBH 109 5.2.4 Ghi nhận hoạt động lớp đối tượng 111 5.2.5 Các hợp đồng hoạt động hệ thống 112 5.3 Biểu đồ trạng thái 114 5.3.1 Trạng thái biến đổi trạng thái 115 5.3.2 Xác định trạng thái kiện 116 5.3.3 Xây dựng biểu đồ trạng thái 117 5.4 Biểu đồ hoạt động 119 5.5 Sử dụng Rational Rose để tạo lập biểu đồ trình tự 121 5.6 Sử dụng Rational Rose để tạo lập biểu đồ trạng thái 122 Bài tập câu hỏi 123 CHƯƠNG VI: THIẾT KẾ CÁC BIỂU ĐỒ CỘNG TÁC VÀ BIỂU ĐỒ THÀNH PHẦN CỦA HỆ THỐNG .124 6.1 Các biểu đồ cộng tác 125 6.2 Thiết kế biểu đồ cộng tác lớp đối tượng 129 6.2.1 Ca sử dụng thực tế 130 6.2.2 Mẫu gán trách nhiệm 131 6.2.3 Mẫu gán trách nhiệm 132 -3- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban 6.3 Thiết kế hệ thống HBH 138 6.4 Thiết kế chi tiết biểu đồ lớp .144 6.5 Thiết kế biểu đồ cộng tác hoàn thiện thiết kế biểu đồ lớp 152 6.5.1 Xây dựng biểu đồ cộng tác 152 6.5.2 Hoàn thiện thiết kế biểu đồ lớp 152 Bài tập câu hỏi 153 CHƯƠNG VIII: KIẾN TRÚC HỆ THỐNG VÀ PHÁT SINH Mà TRÌNH 154 7.1 Kiến trúc Hệ thống 154 7.2 Biểu đồ thành phần 157 7.3 Biểu đồ triển khai 160 7.4 Ánh xạ thiết kế sang mã chương trình .161 7.4.1 Tạo lập định nghĩa lớp từ thiết kế biểu đồ lớp 161 7.4.2 Định nghĩa hàm từ biểu đồ cộng tác 163 7.5 Danh sách số lớp định nghĩa C++ 165 7.6 Thực hành Rose 168 7.6.1 Xây dựng biểu đồ thành phần 168 7.6.2 Xây dựng biểu đồ triển khai 168 7.6.3 Phát sinh mã trình Rose 168 Bài tập câu hỏi 174 TÀI LIỆU THAM KHẢO 176 Danh sách thuật ngữ từ viết tắt 179 -4- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồ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 yê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 soạn theo yêu cầu chương trình đào tạo CNTT 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 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 bảy 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ị trình phát triển phần mềm thống 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 -5- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban 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, Oracle, v.v đề cập chương VII Bài toán xây dựng “Hệ thống quản lý bán hàng” chọn làm ví dụ minh hoạ xuyên suốt giáo trình để 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 Ngoà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, Đại học Thái Ngun đóng góp q báu, hỗ trợ thiết thực động viên chân thành để hồ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 bạn đọc để hiệu chỉnh thành sách hoàn thiện Hà Nội 2004 Tác giả -6- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồ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 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 có khơng thống nhất, khơng chuẩn hố Tuy nhiên, trải qua thời gian, số phương pháp tỏ có sức sống dẻo dai, -7- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban á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] 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, cịn 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 quát 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 yê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 Language) [3, 10], hỗ trợ phần mềm công cụ Rational Rose [17, 22] Những công cụ hỗ trợ hiệu cho giai đoạn phân tích, thiết kế lập trình hướng đối tượng 1.2 Giới thiệu hệ thống phần mềm Theo từ điển Larousse, “Tin học tập hợp ngành khoa học, kỹ thuật, kinh tế xã hội vận dụng vào việc xử lý thơng tin tự động hố” Nếu vậy, định nghĩa hệ thống tin học hệ thống có mục đích xử lý thơng tin có tham gia máy tính Sự tham gia máy tính hệ thống tin học nhiều mức độ khác nhau: ƒ Mức thấp: máy tính sử dụng để giải số công việc đơn lẻ, soạn thảo công văn, báo cáo, bảng biểu thống kê, hoá đơn, chứng từ, bảng tính lương, v.v -8- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban ƒ Mức trung bình: máy tính với người cộng tác, phân công với để thực qui trình quản lý phức tạp, ví dụ, hệ thống thơng tin quản lý hành nhà nước, dịch vụ công, hệ thống điều hành tác nghiệp xây dựng Chương trình Cải cách hành chính, Đề án 112 Chính phủ giai đoạn 2001 – 2005, v.v ƒ Mức cao: máy tính đóng vai trị chủ chốt q trình xử lý thơng tin, người khơng can thiệt trực tiếp vào q trình mà có nhiệm vụ cung cấp thơng tin đầu vào cho hệ thống nhận kết từ máy tính chương trình điều khiển chuyến bay tàu vũ trụ, chương trình điều khiển trình sản xuất tự động, vấn đề trí tuệ nhân tạo, v.v Hệ thống tin học (phần mềm) vậy, xem tổ hợp phần cứng, phần mềm có quan hệ qua lại với nhau, hoạt động hướng tới mục tiêu chung thông qua việc nhận liệu đầu vào (Input) sản sinh kết đầu (Output) thường dạng thông tin khác nhờ trình xử lý, biến đổi có tổ chức Một cách hình thức định nghĩa phần mềm [13, 19] bao gồm thành phần sau: ƒ Hệ thống câu lệnh (chương trình) thực tạo hoạt động cho kết theo yêu cầu, ƒ Các cấu trúc liệu làm cho chương trình thực thao tác, xử lý cho thông tin cần thiết, ƒ Các tài liệu mô tả thao tác cách sử dụng hệ thống 1.2.1 Các đặc trưng hệ thống Hệ thống thông tin giống hệ thống khác có đặc trưng sau: Mọi hệ thống có tính thể hố đặc tính thể thơng qua: ƒ Phạm vi qui mô hệ thống xác định thể thống hệ thống không thay đổi điều kiện định Khi điều kiện khơng cịn đảm bảo hệ thống phải biến đổi theo ƒ Tạo đặc tính chung để thực nhiệm vụ hay nhằm đạt mục tiêu chung mà phận riêng lẻ thực Trong hỗn độn, phức tạp giới xung quanh, hệ thống tạo phát triển phải có tính tổ chức, có thứ bậc Nghĩa là: ƒ Mọi hệ thống hệ thống hệ thống lớn môi trường lại bao gồm hệ thống (các thành phần) nhỏ -9- http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML ƒ Đoàn Văn Ban Giữa thành phần hệ thống có xếp theo quan hệ thứ bậc hay trình tự định Mọi hệ thống có cấu trúc: Chính cấu trúc hệ thống định chế vận hành hệ thống mục tiêu mà cần đạt Cấu trúc hệ thống thể bởi: ƒ Các phần tử xếp theo trật tự để cấu thành hệ thống ƒ Mối quan hệ thành phần liên quan chủ yếu đến loại hình, số lượng, chiều, cường độ, v.v Những hệ thống có cấu trúc chặt thường gọi hệ thống có cấu trúc Cấu trúc hệ thống quan trọng, định tính chất hệ thống Ví dụ: kim cương than đá cấu tạo từ phân tử các-bon, khác cấu trúc nên: kim cương vơ rắn chắc, cịn tham đá khơng có tính chất Sự thay đổi cấu trúc tạo đặc tính (sức trồi mới, hay gọi đột biến) hệ thống vượt q ngưỡng dẫn tới việc phá vỡ hệ thống cũ Ví dụ: cơng nghệ biến đổi gen: làm thay đổi cấu trúc tế bào sinh học Những nguyên lý di truyền biến đổi gen công nghệ sinh học nghiên cứu ứng dụng công nghệ thông tin Mọi hệ thống biến đổi theo thời gian không gian: ƒ Hệ thống có đời sống, từ lúc khai sinh đến lúc bị phế bỏ Các hệ thống phải thay đổi cho phù hợp với điều kiện thực tế theo thời gian không gian, nghĩa muốn tồn phát triển phải biến đổi cho phù hợp với môi trường xung quanh theo qui luật tiến hoá tự nhiên (Darwin) Sự khác chủ yếu tốc độ khả nhận biết thay đổi ƒ Mọi thay đổi ln có mối liên hệ ngược (feedback) hệ thống chịu tác động qui luật “nhân - quả” Hệ thống đánh giá theo nhiều tiêu chí khác [7, 13, 19, 24] chưa có hệ thống tiêu chí chuẩn để đánh giá cho sản phẩm phần mềm Ở quan tâm đến số tính chất quan trọng sản phẩm phần mềm Một sản phẩm cơng nghệ phần mềm nay, ngồi tính chất chung hệ thống nêu phải có tính chất sau: ƒ Tính tiện dụng (usability): sản phẩm phải dễ sử dụng tiện lợi cho người dùng, hỗ trợ để thực cơng việc tốt Muốn đạt mục đích phần mềm phải có giao diện thân thiện, phù hợp, có đầy đủ tài liệu mơ tả có hỗ trợ kịp thời cho người sử dụng - 10 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban Lớp PhienBanHang #define M 20 class PhienBanHang{ private: DongBanHang danhSachBan[M]; Date ngayBan; // Kiểu ngày/tháng/năm Time gioBan; // Kiểu giờ/phút/giây int soDong = 0; int isComplete = 0; // false ThanhToan traTien; public: getBalance(){ return traTien.getAmount() - total(); } void becomeComplete(){isComplete = 1;} int isComplete() {return isComplete;} void makeLineItem(MoTaMatHang mt, int sl){ lineItem[soDong++]= new DongBanHang(mt, sl); } float total(){ float t = 0.; for (int k = 0; k < soDong; k++) t += lineItem[k].subtotal(); return t; } void makePayment(float soTien){ traTien = new ThanhToan(soTien); } }; Lớp HBH class HBH{ private: DanhMucMatHang catalog; PhienBanHang banHang; public: HBH(DanhMucMatHang danhMuc){ catalog = danhMuc;} void endSale(){ banHang.becomeComplete();} void enterItems(int upc, int soLuong){ if (isNewSale(){ banHang = new PhienBanHang(); } MoTaMatHang mt = catalog.find(upc); banHang.makeLineItem(mt, soLuong); } void makePayment(soTien){ banHang.makePayment(soTien); - 167 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban } int isNewSale(){ return (banHang == null) || (banHang.isComplete()); } }; Lớp CuaHang class CuaHang{ private: DanhMucMatHang dm = new DanhMucMatHang(); HBH post = new HBH(dm); public: HBH getPOST() {return post;} }; Tương tự, dễ dàng định nghĩa cho tất lớp khác hệ thống HBH 7.6 Thực hành Rose 7.6.1 Xây dựng biểu đồ thành phần + Tạo lập mở biểu đồ thành phần tạo lập trước, + Bổ sung, loại bỏ thành phần, + Đặc tả chi tiết thành phần: gán Stereotype, chọn ngôn ngữ Language, chọn lớp để gán Assign, + Thiết lập mối quan hệ phụ thuộc thành phần 7.6.2 Xây dựng biểu đồ triển khai + Tạo lập mở biểu đồ triển khai tạo lập trước, + Bổ sung, loại bỏ nút, phần tử xử lý Processor, + Đặc tả chi tiết phần tử xử lý: gán Stereotype, bổ sung số đặc tính Preemtive, Non preemtive, Cyclic, v.v gán Schelduling, + Bổ sung thiết bị Device đặc tả chúng, + Thiết lập mối quan hệ kết nối nút, + Bổ sung huỷ bỏ tiến trình Process 7.6.3 Phát sinh mã trình Rose Có sáu bước thực để phát sinh mã chương trình: Thiết lập thuộc tính mơ hình Kiểm tra mơ hình Tạo lập thành phần Gán lớp vào thành phần Chọn lớp, thành phần hay gói để phát sinh mã - 168 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban Phát sinh mã chương trình Khơng phải ngơn ngữ cần đầy đủ bước nêu Ví dụ, phát sinh mã chương trình C++ (hay Java) cho lớp thiết kế chi tiết cần thực bước 6, hay bước không bắt buộc phải thực Tuy nhiên, mặt qui trình cơng nghiệp nên thực sáu bước Bước 1: Thiết lập đặc tính mơ hình Có nhiều đặc tính sử dụng để phát sinh mã nguồn gán cho lớp, vai trị (Role), thuộc tính, hàm thành phần khác lớp + Các đặc tính lớp bao gồm: toán tử tạo lập, huỷ tử, toán tử tạo lập nhân bản, phép đối sánh, phương thức truy cập liệu (get/set methods) + Các đặc tính vai trò bao gồm: thiết lập phương thức truy cập, lớp chứa + Các đặc tính phương thức bao gồm: phép toán chung phương thức abstract, virtual, static, friend, v.v Các đặc tính điều khiển việc phát sinh mã chương trình tự động Ví dụ, đặc tính GenrateGetOperation C++ điều khiển để sinh mã hàm có tiếp đầu ngữ getX để đọc liệu bị che giấu (khai báo private) lớp chọn Trước phát sinh mã chương trình nên xem xét đặc tính mơ hình bổ sung, hay thay đổi chúng cần Để quan sát đặc tính mơ hình chọn Tools > Options (hoặc nhấn đúp vào Model Properties từ Browser), sau chọn ngơn ngữ lập trình, ví dụ chọn C++ hình 7-10 Bạn thay đổi Value Source đặc tính nhấn chuột vào đặc tính cần thay đổi lựa chọn đại lượng tương ứng thực đơn đẩy xuống Tập đặc tính tạm thời Thay đặc tính mặc định, ta tạo lập đặc tính tạm thời để sử dụng Để tạo lập tập đặc tính tạm thời cho C++, bạn chọn Tools > Model Properties > Edit > C++ tab > Edit Set sau nhấn nút Close cửa sổ Clone the Property Set nhập tên cho tập đặc tính Khi khơng cịn cần đến tập đặc tính tạm thời chọn Remove để loại bỏ - 169 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban Hình 7-10 Các đặc tính mơ hình để sinh mã cho lớp C++ Bước 2: Kiểm tra mơ hình Chức Check Model Tools thiết kế để kiểm tra quán đơn thể mơ hình bạn lưu trành nhiều đơn vị điều khiển Kiểm tra mơ hình để phát sai phạm, điểm không thống lỗi mơ hình Sau chọn Tools > Check Model, lỗi mơ hình hiển thị cửa sổ Log Các lỗi hay xảy thông điệp biểu đồ tương tác không ánh xạ thành phương thức lớp tương ứng Mục Access Violation tìm vi phạm có quan hệ hai lớp hai gói khác nhau, hai gói lại khơng có quan hệ với Chọn Report > Show Access Violation để biết vi phạm Bước 3: Tạo lập thành phần hay mở biểu đồ thành phần Ta sinh mã trình cho lớp cho thành phần chứa số lớp định mẫu rập khuôn (stereotype) Các thành phần cần thiết để ánh xạ lớp mơ hình sang ngơn ngữ lập trình xác định đơn thể phần mềm Có nhiều loại thành phần thành phần chứa mã nguồn, tệp thực thi (.exe), tệp thư viện, v.v Các lớp giao diện phải gán vào thành phần ngữ cài đặt gán vào số thành phần ngôn ngữ 3.1 Tạo lập thành phần Chọn Component view vùng Browser (thường hiển thị bên trái nhất) - 170 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban Nhấn chuột phải để hiển thị thực đơn tắt (shortcut) Chọn New > Package New > Component đặt tên cho chúng, không chúng đặt tên mặc định Bạn chọn package muốn tạo lập gói chứa số lớp để phát sinh mã chương trình Hoặc nhấn chuột phải để mở thực đơn tắt nhấn đúp chuột để mở Open Specification Trong bạn chọn mẫu rập khuôn cho thành phần Stereotype gán ngôn ngữ cho thành phần hộp Language (xem hình 7-11) Hình 7-11 Tạo lập thành phần Lưu ý: để tạo header file chọn Package Specification, cịn muốn tạo tệp nội dung chọn Package Body Stereotype 3.2 Mở biểu đồ tạo lập thành phần Để tạo lập thành phần biểu đồ thành phần làm sau: Mở Component Diagram Sử dụng biểu tượng Component công cụ để bổ sung loại thành phần vào biểu đồ Bước 4: Gán lớp, giao diện vào cho thành phần Mỗi thành phần mã nguồn biểu diễn tệp mã nguồn hay vài lớp Trong C++, lớp gán vào hai thành phần mã nguồn: tệp header h tệp chứa thân lớp cpp Với C++, Rose khơng qua bước này, phát sinh mã chương trình cho lớp yêu cầu gán trực tiếp vào thành phần lựa chọn Một lớp giao diện gán vào thành phần ngơn ngữ lập trình gán vào số thành phần ngôn ngữ sau: Chọn lớp Browser, biểu đồ, mở Open Specification lớp Ở mục Components tab, chọn Show All Components Nhấn chuột phải thành phần tương ứng kích vào Assign để gán lớp chọn vào thành phần - 171 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban Lưu ý: Bạn chọn thành phần Browser di chuột để kéo đến lớp tương ứng biểu đồ Browser, mở Components tab phần đặc tả lớp (Class Specification) Sau lớp gán vào cho thành phần Browser, tên lớp đính với tên thành phần ngoặc đơn Để gán nhiều lớp (giao diện) vào thành phần ta làm sau: Chọn thành phần Browser, biểu đồ thành phần, mở Open Specification thành phần Về Realizes tab, kích vào mục Show All Classes Đối với lớp cần gán vào thành phần nhấn chuột phải vào lớp kich vào Assign để gán vào thành phần chọn Về mục General tab, đặt tên cho thành phần hộp Name, chọn kiểu cho thành phần hộp Stereotype, gán ngôn ngữ cài đặt cho thành phần hộp Language Lưu ý: Tương tự trên, bạn chọn lớp (giao diện) di chuột để gán lớp chọn tới thành phần tương ứng biểu đồ Browser Để gán ngôn ngữ cho lớp (tương tự thành phần): Mở phần đặc tả Open Specification lớp (nhấn chuột phải tên lớp) Về mục Components tab, kích vào mục Show All Components Ở trường Language hiển thị ngôn ngữ gán cho thành phần Nhấn chuột phải thành phần mà bạn định gán lớp vào nhấn Assign Để tìm xem ngơn ngữ gán cho lớp ta thực sau: Mở phần đặc tả Open Specification lớp (nhấn chuột phải tên lớp) Bạn nhìn thấy ngơn ngữ lập trình gán cho lớp trường Language chọn mục Component (xem hình 7-11) Bước 5: Chọn lớp, thành phần hay gói Bạn chọn lớp, thành phần hay gói Browser để phát sinh mã chương trình đồng thời Nếu phát sinh mã chương trình từ gói Logical View biểu đồ lớp hay biểu đồ thành phần Component View Bước 6: Phát sinh mã chương trình Nếu cài đặt Rose Enterprise, bạn lựa chọn nhiều ngôn ngữ để cài đặt chương trình Để hiển thị hay ẩn lựa chọn ngơn ngữ, chọn Add-Ins > Add-In Manager Khi chọn lớp hay thành phần để phát sinh mã, chọn ngôn ngữ tương ứng thực đơn Để sinh mã chương trình cho lớp hay thành phần thực theo hai cách - 172 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban Cách thứ thực sau: Chọn lớp, thành phần, hay gói biểu đồ Browser Từ Tools chọn ngơn ngữ lập trình, ví dụ C++ nhấn Code Generation Mỗi lớp tạo hai tệp tương ứng nói Khi bạn muốn xem mã chương trình chọn lớp tương ứng, nhấn chuột phải, C++ nhấn Browse Header Browse Body tuỳ bạn muốn hiển thị header file hay thân lớp Cách thứ hai thực sau: Chọn lớp, hay thành phần biểu đồ Browser Nhấn chuột phải lớp, thành phần chọn, chọn ngôn ngữ (C++) nhấn Code Generation Nếu có lỗi (Errors) hay cảnh báo (Warning) trình sinh mã lỗi, hay cảnh báo hiển thị cửa sổ Log Lưu ý: Bạn sinh mã chương trình cho lớp thành phần mà không cần phải thực bước nêu Để sinh mã chương trình trực tiếp ta thực sau: Trước tiên chọn lớp (thành phần) biểu đồ Từ Tools, chọn ngơn ngữ, ví dụ C++ Chọn Code Generation để phát sinh mã chương trình C++ cho lớp chọn Nếu chọn Java trước phát sinh mã chương trình, bạn phải chọn thư mục lớp tương ứng nhấn Map để ánh xạ chương trình phát sinh vào thư mục chọn hình 7-12 Hình 7-12 Phát sinh mã Java cho lớp NewClass7 Cái phát sinh? Khi phát sinh mã chương trình, Rose tập hợp thơng tin từ Logical View Component View Rose phát sinh khung chương trình bao gồm Class: lớp mơ hình phát sinh mã chương trình, Attribute: thuộc tính xác định miền tác động, kiểu liệu giá trị mặc định, - 173 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban Operation: thao tác khai báo kèm theo danh sách tham số, kiểu tham số, kiểu liệu trả lại, Relationships: số mối quan hệ phát sinh mã tương ứng, Component: thành phần cài đặt tệp mã nguồn tương ứng Lưu ý: Rose không hướng vào thiết kế giao diện đồ hoạ Do vậy, sau phát sinh khung chương trình trên, nhiệm vụ người phát triển tập hợp tệp nguồn tạo lập, lập trình chi tiết cho thao tác lớp chưa sinh mã thiết kế giao diện đồ hoạ cho hệ thống ứng dụng Bài tập câu hỏi 7.1 Hãy cho biết mệnh đề sau hay sai (true / false), giải thích sao? + Kiến trúc vật lý thể lớp đối tượng, quan hệ cộng tác để hình thành chức hệ thống + Kiến trúc phổ biến chung cho hệ thống phần mềm kiến trúc ba tầng: tầng giao diện, tầng tác nghiệp tầng lưu trữ + Biểu đồ thành phần mô tả thành phần phụ thuộc chúng hệ thống + Có thể chọn mơ hình liệu quan hệ để lưu trữ liệu cho hệ thống phân tích, thiết kế hướng đối tượng + Tất tên gọi, biến kiểu liệu lớp biểu đồ lớp thiết kế phải chuyển tương ứng sang mã chương trình định nghĩa lớp ngơn ngữ lập trình lựa chọn 7.2 Xây dựng biểu đồ thành phần cho hệ thống “Đăng ký môn học” 7.3 Xây dựng biểu đồ thành phần cho hệ thống “Quản lý thư viện” (tiếp theo 6.3) 7.4 Thực sinh mã tự động Rose cho lớp hình 7.8 7.5 Chọn từ danh sách thuật ngữ thích hợp để điền vào chỗ [(…)] đoạn văn mô tả kiến trúc hệ thống phần mềm Kiến trúc phần mềm [(1)] hệ thống con, [(2)] [(3)] chúng Các hệ thống [(2)] xác định theo nhiều góc nhìn khác để [(4)] hệ thống phần mềm Kiến trúc hệ thống chia thành hai loại: logic vật lý Chọn câu trả lời: a thuộc tính chức b mối quan hệ c thành phần d mô tả e phi chức - 174 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban 7.6 Chọn từ danh sách thuật ngữ thích hợp để điền vào chỗ [(…)] đoạn văn mô tả biểu đồ thành phần Biểu đồ thành phần xem tập biểu tượng thành phần biểu diễn cho [(1)] vật lý [(2)] Ý tưởng biểu đồ [(1)] tạo cho [(3)] phát triển tranh chung thành phần [(2)] Chọn câu trả lời: a hệ thống b người thiết kế c thành phần vật lý d mô tả - 175 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban TÀI LIỆU THAM KHẢO [1] Binder R V., Testing Object-Oriented Systems: Models, Patterns and Tools, Addison-Wesley, 1999 [2] Booch G., Rumbaugh J and Jacobson I., The Unified Software Development Process, Addision – Wesley, 1998 [3] Booch G., Rumbaugh J and Jacobson I., The Unified Modeling Language User Guide, Addision – Wesley, 1999 [4 ] Coad, P., Yourdon E., Object-Oriented Analisys, Prentice Hall, Englewood Cliffs, 1991 [5] Coad, P., Yourdon E., Object-Oriented Design, Prentice Hall, Englewood Cliffs, 1991 [6] Date C J , An Introduction to Database Systems, Eddison-Wesley, 2000 [7] Hussain K M., Hussain D., Information Systems: Analysis, Design and Implementation, McGraw-Hill, 1998 [8] Fong J., Siu B., Multimedia, Knowledge-Based & Object-Oriented Databases, Springer, 1996 [9] Kendall P., Introduction to System Analysis and Design: A structured Approach, Wm C Brown Publishers, 2001 [10] Larman C., Applying UML and Patterrns: An Instruction to Object-Oriented Analysis and Design, Prentice Hall, 1997 [11] Liang Y., From use cases to classes: a way of building object model with UML, Information and Software Technology, 45 (2003) 83-93, www.elservier.com/locate/infsof [12] Maier D., Object-Oriented Database Theory: An Introduction and Indexing in OODBS, Database Hall of Fame,2001, http://www.csc.ogi.edu [13] Meyer B., Object-Oriented Software Construction, Prentice Hall, Englewood Cliffs, 1988 [14] Michael B., William P., Object – Oriented Modeling and Design for Database Applications, Prentice Hall, New Jersey 1998 [15] Oestereich B., Developing Software with UML, Object-Oriented Analysis and Design in Practice, Addision – Wesley, 2000 [16] OMG, “The OMG Unified Modeling Language Specification”, http:// www.omg.org/uml , 1999 [17] Quatrani T., Visual Modeling With Rational Rose and UML, Addison-Wesley, http:// www.rational.com, 2000 [18] Rumbaugh J., Blaha M., Premerlani V., Eddy F., Lorensen V., Object-Oriented Modeling and Design, Prentice-Hall, NJ 1991 - 176 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban [19] Sommerville I., Software Engineering, 4th Edition, Addition Wesley, 1994 [20] Vafadarafshar R., Document a brief introduction of ObjectStore, 2002, http://www.cs.concordia.ca [21] Zhiming L., Object-Oriented Software Development Using UML, UNU /IIST, Macau 2001 [22] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng UML (Thực hành với Rational Rose), NXB Khoa học Kỹ thuật, Hà Nội 2002 [23] Đặng Văn Hưng, Đoàn Văn Ban, Nguyễn Ngọc Thuần, Maintaining the amount of global information in local states of processes of distributed systems, Proceeding of the National Centre for Science and Technology of Vietnam, Volume 9, No 2, 1997 [24] Đồn Văn Ban, Phân tích, thiết kế lập trình hướng đối tượng, NXB Thống Kê 1997 [25] Đoàn văn Ban, Sử dụng phương pháp phân tích hướng đối tượng để phát triển hệ thống lớn tích hợp, Tạp chí Tin học Điều khiển học, Tập 13, số 4, 1997 (1-10) [26] Đoàn văn Ban, Một số tính chất q trình thừa kế kiểu mơ hình sở liệu hướng đối tượng, Tạp chí Tin học Điều khiển học, Tập 15, số 3, 1999 (1-7) [27] Đoàn văn Ban, Hồ Văn Hương, Các giải pháp kết nối Web với sở liệu, Tạp chí Tin học Điều khiển học, Tập 16, số 2, 2000 (25-31) [28] Đoàn văn Ban, Một số tính chất q trình thừa kế kiểu mơ hình sở liệu hướng đối tượng, Tạp chí Tin học Điều khiển học, Tập 16, số 2, 2000 (25-31) [29] Đoàn văn Ban, Tính đắn lược đồ sở liệu hướng đối tượng, Tạp chí Tin học Điều khiển học, Tập 16, số 3, 2000 (7-15) [30] Đoàn Văn Ban, Hoàng Quang, Chuyển đổi biểu thức đại số quan hệ thành câu truy vấn mơ hình liệu hướng đối tượng, Tạp chí Khoa học Cơng nghệ, Tập 40-Số ĐB, 2002 (120-129) [31] Đoàn văn Ban, Nguyễn Hữu Ngự, Hồ Văn Hương, A Formal Specification of the Correctness Criteria for Concurrent Executions of a Transaction System in RealTime Databases, Tạp chí Tin học Điều khiển học, Tập 19, số 3, 2003 (263-273) [32] Đoàn Văn Ban, Cơ sở liệu hướng đối tượng, giáo trình Khoa CNTT, HN 2003 [33] Đồn Văn Ban, Lập trình hướng đối tượng với Java, Nhà xuất Khoa học, Hà Nội, 2003 [34] Đoàn Văn Ban, Lê Mạnh Thạnh Hoàng Bảo Hùng, Sự tương đương biểu diễn ngôn ngữ truy vấn OQL đại số đối tượng, Tạp chí Tin học Điều khiển học, Tập 20, số 2, 2004 ( 11 trang) - 177 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban [35] Nguyễn Văn Ba, Phân tích thiết kế hệ thống thông tin, Nhà xuất Đại học Quốc gia Hà Nội, 2003 [36] Ban điều hành Đề án 112 Chính phủ, Chương trình tổng thể Cải cách hành chính, Giải pháp khả thi hệ thống quản lý văn hồ sơ công việc Tỉnh (Tp) (Tài liệu mẫu), Hà Nội 2004 [37] Ban điều hành Đề án 112 Chính phủ, Chương trình tổng thể Cải cách hành chính, Giải pháp khả thi hệ thống thơng tin tổng hợp kinh tế - xã hội phục vụ điều hành địa bàn Tỉnh (Tp) (Tài liệu mẫu), Hà Nội 2004 [38] Ban điều hành Đề án 112 Chính phủ, Chương trình tổng thể Cải cách hành chính, Xây dựng khung trang thông tin điện tử phục vụ điều hành Bộ, Tỉnh (Tp) (Tài liệu mẫu), Hà Nội 2004 - 178 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban Danh sách thuật ngữ từ viết tắt Từ viết tắt tiếng Anh UML OOA OOD API CASE OMT OOSE OCL GRASP ODMG USPD RUP UP OCL GUI Unified Modeling Language Object Oriented Analysis Object Oriented Design Application Programming Interface Computer Aided Software Engineering Object Modeling Technique Object-Oriented Software Engineering Object Constraints Language General Responsibility Assignment Software Patterrn Object Data Management Group Unified Software Development Process Rational Unified Process Unified Process Object Constraints Language Graphics User Interface Từ viết tắt tiếng Việt CNTT CSDL NSD CNPM HBH CSDLQH CSDLHĐT QTCSDL Công nghệ thông tin Cơ sở liệu Người sử dụng Công nghệ phần mềm Hệ thống bán hàng Cơ sở liệu quan hệ Cơ sở liệu hướng đối tượng Hệ quản trị sở liệu Các thuật ngữ Việt – Anh Bao gói Biểu đồ ca sử dụng Biểu đồ cộng tác Biểu đồ hành động Biểu đồ lớp Biểu đồ thành phần Biểu đồ trạng thái Biểu đồ triển khai Biểu đồ trình tự Biểu đồ đối tượng Bộ phận kiểm duyệt séc Bộ phận kiểm duyệt thẻ tín dụng Bội số, số (cơ số) Các hệ thống kỹ thuật Encapsulation Use case diagram Collaboration diagram Activity diagram Class diagram Component diagram State diagram, Deployment diagram Sequence diagram Object diagram Check Authorization Service Credit Authorization Service Multiplicity Technical Systems - 179 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Các hệ thống nghiệp vụ Các hệ thống nhúng thời gian thực Cách tiếp cận hướng đối tượng Cách tiếp hướng chức Che giấu thông tin Chỉ số, mục Chia để trị Cố kết Công nghệ hệ thứ tư 4GT Đa xạ, đa hình Định danh Dữ liệu thành phần Được hướng dẫn ca sử dụng Giao diện Gói Hàm thành phần Hệ thống phần mềm Hệ thống thơng tin Hiện thực hố Hướng thủ tục Huỷ tử Kế thừa Kế thừa bội Kế thừa đơn Kết nhập chia sẻ Kết nhập hợp thành Kết nhập thơng thường Khả trì hoạt động Khung công việc Liên kết Lớp Lớp biên Lớp điều khiển Lớp thực Lớp mẫu Lớp tham số hoá Lớp thực thể Lớp tích cực Lớp tiện ích Luồng Mẫu rập khn Mơ hình thác nước Mơ hình xốn ốc Nạp chồng Nguyên mẫu Phạm vi quan sát thuộc tính Phương thức Quan hệ kết hợp Đồn Văn Ban Business Systems Embedded Real_time Systems Object-Oriented Approach Functional-Oriented Approach Information hidding Index Devide and conquer Cohension Fourth Generation Technology Polymorphism Identifier (ID) Data member Use-case-driven Interface Package Member function Software System Information System Realisation Procedure-Oriented Destructor Inheritance Multiple inheritance Single inheritance Shared Aggregation Composition Aggregation Normal aggregation Maintainability Framework Link Class Boundary class Control class Instantiated class Template class Parameterized Class Entity class Active class Class utility Thread Stereotype Waterfall model Spiral model Overloading Prototype Attribute visibility Method Association relationship - 180 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Quan hệ kết nhập Quan hệ phụ thuộc Quan sát logic Quan sát thành phần Quan sát theo ca sử dụng Quan sát triển khai Quan sát tương tranh Qui tắc ràng buộc Qui tắc suy dẫn Siêu liệu Sự kết hợp Tác nhân Tập trung vào kiến trúc Tên vai trò Thành phần Thao tác Thơng điệp Thuộc tính Tính hiệu Tính tiện dụng Tính tin cậy Tốn tử tạo lập (huỷ tử) Tổng quát hóa Từ điển thuật ngữ Tuyển tập Vật phẩm Đoàn Văn Ban Aggregation relationship Depedency relationship Logic view Component view Use case view Deployement view Concurrency view Constraint rule Derivation rule Meta data Association Actor Architecture-centric Role name Compơonent Operation Message Attribute Efficiency Usability Dependability Constructor Generalization Glossary Collection Artifact - 181 - http://www.ebook.edu.vn ... http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban Kế thừa Lớp Hàm Bao gói Quan hệ Cá thể Đối tượng Thơng điệp Đa xạ Hình 2-4 Những khái niệm phương pháp hướng đối tượng 2.2.2 Lớp đối tượng. .. cho việc phân chia - 24 - http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đồn Văn Ban dự án lớn, phức tạp để phân tích, thiết kế theo cách chia nhỏ tốn thành lớp đối tượng hoàn... http://www.ebook.edu.vn Phân tích, thiết kế hướng đối tượng UML Đoàn Văn Ban 6.3 Thiết kế hệ thống HBH 138 6.4 Thiết kế chi tiết biểu đồ lớp .144 6.5 Thiết kế biểu đồ cộng tác hoàn thiện thiết kế biểu

Ngày đăng: 22/12/2016, 12:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Binder R. V., Testing Object-Oriented Systems: Models, Patterns and Tools, Addison-Wesley, 1999 Sách, tạp chí
Tiêu đề: Testing Object-Oriented Systems: Models, Patterns and Tools
[2] Booch G., Rumbaugh J. and Jacobson I., The Unified Software Development Process, Addision – Wesley, 1998 Sách, tạp chí
Tiêu đề: The Unified Software Development Process
[3] Booch G., Rumbaugh J. and Jacobson I., The Unified Modeling Language User Guide, Addision – Wesley, 1999.[4 ] Coad, P., Yourdon E., Object-Oriented Analisys, Prentice Hall, Englewood Cliffs, 1991 Sách, tạp chí
Tiêu đề: The Unified Modeling Language User Guide, "Addision – Wesley, 1999. [4 ] Coad, P., Yourdon E., "Object-Oriented Analisys
[5] Coad, P., Yourdon E., Object-Oriented Design, Prentice Hall, Englewood Cliffs, 1991 Sách, tạp chí
Tiêu đề: Object-Oriented Design
[6] Date C. J. , An Introduction to Database Systems, Eddison-Wesley, 2000 Sách, tạp chí
Tiêu đề: An Introduction to Database Systems
[7] Hussain K M., Hussain D., Information Systems: Analysis, Design and Implementation, McGraw-Hill, 1998 Sách, tạp chí
Tiêu đề: Information Systems: Analysis, Design and Implementation
[8] Fong J., Siu B., Multimedia, Knowledge-Based &amp; Object-Oriented Databases, Springer, 1996 Sách, tạp chí
Tiêu đề: Multimedia, Knowledge-Based & Object-Oriented Databases
[9] Kendall P., Introduction to System Analysis and Design: A structured Approach, Wm. C. Brown Publishers, 2001 Sách, tạp chí
Tiêu đề: Introduction to System Analysis and Design: A structured Approach
[10] Larman C., Applying UML and Patterrns: An Instruction to Object-Oriented Analysis and Design, Prentice Hall, 1997 Sách, tạp chí
Tiêu đề: Applying UML and Patterrns: An Instruction to Object-Oriented Analysis and Design
[11] Liang Y., From use cases to classes: a way of building object model with UML, Information and Software Technology, 45 (2003) 83-93, www.elservier.com/locate/infsof Sách, tạp chí
Tiêu đề: Information "and
[12] Maier D., Object-Oriented Database Theory: An Introduction and Indexing in OODBS, Database Hall of Fame,2001, http://www.csc.ogi.edu Sách, tạp chí
Tiêu đề: Object-Oriented Database Theory: An Introduction and Indexing in OODBS
[13] Meyer B., Object-Oriented Software Construction, Prentice Hall, Englewood Cliffs, 1988 Sách, tạp chí
Tiêu đề: Object-Oriented Software Construction
[14] Michael B., William P., Object – Oriented Modeling and Design for Database Applications, Prentice Hall, New Jersey 1998 Sách, tạp chí
Tiêu đề: Object – Oriented Modeling and Design for Database Applications
[15] Oestereich B., Developing Software with UML, Object-Oriented Analysis and Design in Practice, Addision – Wesley, 2000 Sách, tạp chí
Tiêu đề: Developing Software with UML, Object-Oriented Analysis and Design in Practice
[16] OMG, “The OMG Unified Modeling Language Specification”, http:// www.omg.org/uml , 1999 Sách, tạp chí
Tiêu đề: The OMG Unified Modeling Language Specification”, http:// www.omg.org/uml
[17] Quatrani T., Visual Modeling With Rational Rose and UML, Addison-Wesley, http:// www.rational.com, 2000 Sách, tạp chí
Tiêu đề: Visual Modeling With Rational Rose and UML", Addison-Wesley, "http:// www.rational.com
[18] Rumbaugh J., Blaha M., Premerlani V., Eddy F., Lorensen V., Object-Oriented Modeling and Design, Prentice-Hall, NJ 1991 Sách, tạp chí
Tiêu đề: Object-Oriented Modeling and Design
[19] Sommerville I., Software Engineering, 4 th Edition, Addition Wesley, 1994 Sách, tạp chí
Tiêu đề: Software Engineering
[20] Vafadarafshar R., Document a brief introduction of ObjectStore, 2002, http://www.cs.concordia.ca Sách, tạp chí
Tiêu đề: Document a brief introduction of ObjectStore
[21] Zhiming L., Object-Oriented Software Development Using UML, UNU /IIST, Macau 2001 Sách, tạp chí
Tiêu đề: Object-Oriented Software Development Using UML

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w