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

Giáo trình Thiết kế hướng đối tượng (Nghề Lập trình máy tính): Phần 1 - Tổng cục dạy nghề

77 5 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 77
Dung lượng 2,3 MB

Nội dung

(NB) Giáo trình Thiết kế hướng đối tượng (Nghề Lập trình máy tính): Phần 1 được biên soạn nhằm giúp bạn hiểu được một số kỹ thuật, ngôn ngữ và các tiến trình được sử dụng trong quá trình phân tích và thiết kế hướng đối tượng. Nắm vững các thuật ngữ, đối tượng, lược đồ liên quan đến việc phân tích và thiết kế hướng đối tượng. Mời các bạn tham khảo!

BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ Dự án giáo dục kỹ thuật dy ngh (VTEP) trình độ đào tạo cc GIO TRèNH Môn học: THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Mã số: ITPRG05 NGHỀ: LẬP TRÌNH MÁY TÍNH Trình độ (lành nghề) THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Đà Lạt - 2007 Tuyên bố quyền : Tài liệu thuộc loại sách giáo trình Cho nên nguồn thơng tin 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 có ý đồ 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 Tổng Cục Dạy nghề làm cách để bảo vệ quyền Tổng Cục Dạy Nghề cám ơn hoan nghênh thông tin giúp cho việc tu sửa hoàn thiện tốt tàI liệu Địa liên hệ: Dự án giáo dục kỹ thuật nghề nghiệp Tiểu Ban Phát triển Chương trình Học liệu ……………………………………………… LỜI TỰA Đây tài liệu xây dựng theo chương trình dự án giáo dục kỹ thuật dạy nghề, để có đươc giáo trình dự án tiến hành theo hai giai đoạn Giai đoạn : Xây dựng chương trình theo phương pháp DACUM, kết gian đoạn khung chương trình gồm 230 trang cấp độ 170 trang cấp độ Giai đoạn : 29 giáo trình 29 tài liệu hướng dẫn giáo viên cho nghề lập trình máy tính cấp độ Để có khung chương trình chúng tơi mời giáo viên, chuyên gia làm việc lĩnh vực cơng nghệ thơng tin xây dựng chương trình Trong giai đoạn viết giáo trình chúng tơi có điều chỉnh để giáo trình có tính thiết thực phù hợp với phát triển lĩnh vực công nghệ thông tin Hệ thống phần mềm ngày trở nên phức tạp Các ứng dụng hơm có u cầu kiến trúc địi hỏi phức tạp nhiều so với khứ Các kỹ thuật, công cụ, phương pháp luận phát triển hệ thống phần mềm thay đổi cách nhanh chóng Các phương pháp phát triển phần mềm sử dụng tương lai có lẽ khác so với phương pháp hành sử dụng Tuy nhiên, điều hiển nhiên phát triển hướng đối tượng khái niệm sử dụng rộng rãi Nhiều trường học nhận điều tạo khoá học phát triển hệ thống hướng đối tượng phần yếu hệ thống thơng tin tin học hố chương trình khoa học máy tính Giáo trình dự kiến cung cấp kiến thức tảng phát triển hệ thống hướng đối tượng cho đối tượng sinh viên năm cuối Mục tiêu giáo trình cung cấp mô tả rõ ràng khái niệm tảng phát triển hệ thống hướng đối tượng.Trong đó, nhấn mạnh đến tính đơn giản tiếp cận giúp sinh viên có kiến thức UML dể dàng nắm bắt để phát triển hệ thống hướng đối tượng Trong trình biên soạn, cố gắng tham khảo nhiều tài liệu giáo trình khác tác giả khơng khỏi tránh thiếu sót hạn chế Tác giả chân thành mong đợi nhận xét, đánh giá góp ý để giáo trình ngày hồn thiện Tài liệu thiết kế theo mô đun/ môn học thuộc hệ thống mơ đun/mơn học chương trình, để đào tạo hồn chỉnh nghề Lập trình máy tính cấp trình độ lành nghề dùng làm Giáo trình cho học viên khố đào tạo, sử dụng cho đào tạo ngắn hạn cho công nhân kỹ thuật, nhà quản lý người sử dụng nhân lực tham khảo Đây tài liệu thử nghiệm hoàn chỉnh để trở thành giáo trình thức hệ thống dạy nghề Đà lạt tháng 10 năm 1007 MỤC LỤC ĐỀ MỤC TRANG LỜI TỰA MỤC LỤC GIỚI THIỆU VỀ MÔ ĐUN/MÔN HỌC SƠ ĐỒ QUAN HỆ THEO TRÌNH TỰ HỌC NGHỀ .7 CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MƠ ĐUN/MƠN HỌC U CẦU VỀ ĐÁNH GIÁ HỒN THÀNH MƠ ĐUN/MƠN HỌC 12 Bài : TỔNG QUAN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 13 Bài : XÂY DỰNG LƯỢC ĐỒ TÌNH HUỐNG SỬ DỤNG, XÁC ĐỊNH LỚP VÀ TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG 21 Bài : LƯỢC ĐÒ LỚP 48 10 Bài : SỰ KẾ THỪA VÀ PHÂN TÍCH HÀNH VI CỦA ĐỐI TƯỢNG 77 11 Bài : THIẾT KẾ KIẾN TRÚC HỆ THỐNG 120 12 CÁC BÀI TẬP MỞ RỘNG, NÂNG CAO VÀ GIẢI QUYẾT VẤN ĐỀ 191 13.THUẬT NGỮ CHUYÊN MÔN .194 13 TÀI LIỆU THAM KHẢO 196 GIỚI THIỆU VỀ MƠ ĐUN/MƠN HỌC Vị trí, ý nghĩa, vai trị mơ đun/mơn học : Hệ thống phần mềm ngày trở nên phức tạp Các ứng dụng hơm có u cầu kiến trúc đ̣i hỏi phức tạp nhiều so với khứ Các kỹ thuật, công cụ, phương pháp luận phát triển hệ thống phần mềm thay đổi cách nhanh chóng Các phương pháp phát triển phần mềm sử dụng tương lai có lẽ khác so với phương pháp hành sử dụng Tuy nhiên, điều hiển nhiên phát triển hướng đối tượng khái niệm sử dụng rộng rãi Nhiều trường học nhận điều tạo khoá học phát triển hệ thống hướng đối tượng phần yếu hệ thống thơng tin tin học hố chương trình khoa học máy tính Giáo trình dự kiến cung cấp kiến thức tảng phát triển hệ thống hướng đối tượng cho đối tượng sinh viên năm cuối Mục tiêu giáo trình cung cấp mô tả rõ ràng khái niệm tảng phát triển hệ thống hướng đối tượng Trong đó, nhấn mạnh đến tính đơn giản tiếp cận giúp sinh viên có kiến thức UML dể dàng nắm bắt để phát triển hệ thống hướng đối tượng Mục tiêu mô đun/môn học: Mô tả số kỹ thuật, ngôn ngữ tiến trình sử dụng q trình phân tích thiết kế hướng đối tượng Nắm vững thuật ngữ, đối tượng, luợc đồ liên quan đến việc phân tích thiết kế hướng đối tượng, Nắm vững khái niệm hướng đối tượng tính kế thừa đơn, kế thừa bội, tổng quát hoá, chuyên biệt hoá, trạng tháI đối tượng Biết kiểm tra mô hình thiết kế, kiểm tra độ tin cậy mơ hình biết thiết kế giao diện người sử dụng, lập trình kiểm tra đặc tả chu trình Mục tiêu thực mô đun/môn học: Học xong môn học học viên có khả năng: - Mơ tả số kỹ thuật, ngơn ngữ tiến trình sử dụng q trình phân tích thiết kế hướng đối tượng - Định nghĩa khái niệm tác nhân, tình sử dụng, quan hệ tình sử dụng lược đồ tình sử dụng Mô tả kỹ thuật sử dụng để kiểm tra hành vi hệ thống lược đồ tình sử dụng Định nghĩa đối tượng Mô tả việc xác định trạng thái, hành vi định danh cho đối tượng Định nghĩa, xác định lớp, kiều lớp đặc tả liên quan đến lớp Đóng gói lớp lược đồ lớp Sử dụng lược đồ lược đồ cộng tác để mô tả hoạt động hệ thống Xác định tương tác đối tượng - Ý nghĩa quan hệ Xác định quan hệ Mô tả kết hợp quan hệ Xác định tên quan hệ Vai trò tên kết hợp quan hệ Xác định số quan hệ Đóng gói quan hệ Xây dựng hoạt động cho lược đồ Đặc tả hoạt động Tạo đặc tả thuộc tính cho lớp Hiển thị hoạt động thuộc tính Mơ tả lớp kết hợp - Định nghĩa kế thừa, tổng quát hoá, chuyên biệt hoá Mô tả kế thừa So sánh kế thừa đa kế thừa Phân tích hành vi đối tượng Định nghĩa trạng tháI đối tượng Mô tả việc chuyền trạng thái đối tượng Xác định, xây dựng trạng thái chi tiết - Kiểm tra mơ hình Kiểm tra kết hợp lớp, phân chia lớp Kiểm tra độ tin cậy mơ hình Thiết kế kiến trúc hệ thống dựa kiến trúc khung nhìn: khung nhìn logic, khung nhìn thành phần, khung nhìn tiến trình khung nhìn triền khai Xây dựng vịng lặp (interation) Thiết kế giao diện người sử dụng, bổ sung lớp, thiết kế quan hệ, thiết kế thuộc tính hoạt động Lập trình, kiểm tra đặc tả chu trình Nội dung mơ đun/mơn học  - TỔNG QUAN VỀ PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG - XÂY DỰNG Lược ĐỒ TÌNH HUỐNG SỬ DỤNG, XÁC ĐỊNH LỚP VÀ TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG - Lược ĐỒ LỚP - SỰ KẾ THỪA VÀ PHÂN TÍCH HÀNH VI CỦA ĐỐI TƯỢNG - THIẾT KẾ KIẾN TRÚC HỆ THỐNG Kỹ thực hành: - Sử dụng thành thạo phần mềm hỗ trợ thiết kế - Lập tàI liệu phân tích thiết kế - Biên tập biểu đồ: Đọc chỉnh lý Thái độ học viên: - Cẩn thận, lắng nghe ý kiến thảo luận lý thuyết sửa bàI tập Nghiêm túc thực hành Sơ đồ quan hệ theo trình tự học nghề Hệ thống máy tính Giao diện người máy Lập trình nâng cao Lập trình Lập trình hướng đối tượng Mạng Cấu trúc liệu thuật giải Kỹ tin học văn phòng Thiết kế hướng đối tượng Cơ sở liệu Công nghệ phần mềm Kỹ Internet & WWW Thiết kế Web Công nghệ Đa phương tiện Quản lý dự án phần mềm Lập trình Visual Basic Mơi trường PT Phần mềm Anh văn cho tin học Phân tích thiết kế hệ thống Ứng dụng CNTT doanh nghiệp Kỹ Giao tiếp Cơ sở tốn học Lập trình Web Phần cứng máy tính Hệ sở liệu Hướng dẫn đồ án tốt nghiệp An toàn lao động Thi tốt nghiệp Ghi chú: Thiết kế hướng đối tượng môn học bắt buộc Mọi học viên phải học đạt kết chấp nhận kiểm tra đánh giá thi kết thúc đặt chương trình đào tạo Những học viên qua kiểm tra thi mà không đạt phải thu xếp cho học lại phần chưa đạt phải đạt điểm chuẩn phép học tiếp mô đun/ môn học Học viên, chuyển trường, chuyển ngành.nếu học sở đào tạo khác phải xuất trình giấy chứng nhận; Trong số trường hợp phải qua sát hạch lại CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MƠ ĐUN/MƠN HỌC 1- Học lớp về : - Mơ tả số kỹ thuật, ngôn ngữ tiến trình sử dụng q trình phân tích thiết kế hướng đối tượng - Định nghĩa khái niệm tác nhân, tình sử dụng, quan hệ tình sử dụng lược đồ tình sử dụng Mô tả kỹ thuật sử dụng để kiểm tra hành vi hệ thống lược đồ tình sử dụng Định nghĩa đối tượng Mô tả việc xác định trạng thái, hành vi định danh cho đối tượng Định nghĩa, xác định lớp, kiều lớp đặc tả liên quan đến lớp Đóng gói lớp lược đồ lớp Sử dụng lược đồ lược đồ cộng tác để mô tả hoạt động hệ thống Xác định tương tác đối tượng - Mơ hình trực quan - Khái quát tiến trình phát triển phần mềm - Như dự án phần mềm ? - Sơ đồ lớp - Xác định yêu cầu hệ thống 2- Nghe thuyết trình phịng chun mơn hoá về : - Ý nghĩa quan hệ Xác định quan hệ Mô tả kết hợp quan hệ Xác định tên quan hệ Vai trò tên kết hợp quan hệ Xác định số quan hệ Đóng gói quan hệ Xây dựng hoạt động cho lược đồ Đặc tả hoạt động Tạo đặc tả thuộc tính cho lớp Hiển thị hoạt động thuộc tính Mơ tả lớp kết hợp - Định nghĩa kế thừa, tổng quát hoá, chuyên biệt hố Mơ tả kế thừa So sánh kế thừa đa kế thừa Phân tích hành vi đối tượng Định nghĩa trạng tháI đối tượng Mô tả việc chuyền trạng thái đối tượng Xác định, xây dựng trạng thái chi tiết - Kiểm tra mơ hình Kiểm tra kết hợp lớp, phân chia lớp Kiểm tra độ tin cậy mơ hình Thiết kế kiến trúc hệ thống dựa kiến trúc khung nhìn: khung nhìn logic, khung nhìn thành phần, khung nhìn tiến trình khung nhìn triền khai Xây dựng vịng lặp (interation) Thiết kế giao diện người sử dụng, bổ sung lớp, thiết kế quan hệ, thiết kế thuộc tính hoạt động Lập trình, kiểm tra đặc tả chu trình - Thiết kế lớp Các tiên đề hệ luận thiết kế hướng đối tượng Thiết kế lớp Tóm tắt - Thiết kế Use Case Giới thiêu Kiến trúc tầng (three - layer) Xác địch lớp tầng dịch vụ tác nghiệp (business layer) Xác định lớp tầng tác nghiệp Xác định lớp tầng truy cập liệu (data layer) Mô tả thực hố use case - Thiết kế gói hệ thống I Mơ hình hố cài đặt hệ thống 3- Tự nghiên cứu tài liệu làm tập về : - Chu Trình Phát Triển Phần Mềm (Software Development Life Cycle) - Xác định tác nhân - Phân biệt khác người dùng tác nhân - Mơ hình hố nghiệp vụ 4- Thực tập phịng máy tính trường về : II Tiến trình phát triển phần mềm III Định nghĩa đối tượng - Định nghĩa xác định khn mẫu cho lớp - Mơ hình hố Use Case - Thuộc tính (attribute) - Bản số - Thuộc tính quan hệ (Qualifier) - Định danh (identifier) - Các cách tiếp cận xác định lớp đối tượng - Khởi tạo danh sách lớp ứng viên - Tiếp cận phân loại - Xác định mối kết hợp tổng quát – chuyên biệt (generalization) - Đa kế thừa - Mơ hình hố nghiệp vụ (BUSINESS MODELING) Giới thiệu Luồng cơng việc mơ hình hố nghiệp vụ Giới hạn hệ thống phát triển Xác định trình bày vấn đề hệ thống Xác định lĩnh vực cần ưu tiên Xác định tác nhân use case nghiệp vụ Xác định thừa tác viên nghiệp vụ (business worker) thực thể chịu tác động nghiệp vụ (business entity) Các khái niệm UML hỗ trợ thêm cho q trình mơ hình hố nghiệp vụ Hiện thực hoá use case nghiệp vụ Xác định yêu cầu tự động hoá IV Thiết kế lớp Các tiên đề hệ luận thiết kế hướng đối tượng Thiết kế lớp Tóm tắt V Thiết kế Use Case 10 Hình 5.8 :Các lớp ứng viên sau hệ thống ATM: Nhận xét: hạn chế cách tiếp cận cụm danh từ phụ thuộc vào tính đầy đủ tài liệu mô tả Điều thực tế để có tài liệu khó Hoặc văn lớn hệ thống dẫn đến nhiều lớp ứng viên! Dầu vậy, cách tiếp cận có tính sư phạm hữu dụng kết hợp với cách tiếp cận khác 10 Tiếp cận phân loại Phương pháp thứ hai gọi phương pháp sử dụng mẫu lớp chung, phương pháp dựa sở tri thức việc phân loại lớp theo mẫu chung Các mẫu chung là: Lớp khái niệm (concept) Một khái niệm quan niệm hiểu biết riêng biệt giới Lớp khái niệm bao gồm nguyên lý dùng để tổ chức để lưu trữ hoạt động trao đổi mặt quản lý Thông thường khái niệm tưởng, hiểu biết chia cộng đồng dùng để trao đổi Ví dụ: phương pháp, phương pháp luận, mơ hình,… ví dụ đối tượng lớp khái niệm Lớp kiện (event) Lớp kiện điểm thời gian cần lưu trữ Các việc xảy thời điểm, bước dăy bước Liên quan tới việc lưu trữ thuộc tính (và đối tượng chứa thuộc tính) là: ai, gì, nào, đâu, nào, Ví dụ: đãng ký, kết quả, hoá đơn, đơn hàng… Lớp tổ chức (organization) Một lớp tổ chức tập hợp người, tài nguyên, phương tiện, nhóm xác định chức người dùng,… Ví dụ: đơn vị, phận, phòng ban, chức danh,… Lớp người (people) Lớp người thể vai trò khác người dùng việc tương tác với ứng dụng Những đối tượng thường người dùng hệ thống người không sử dụng hệ thống thông tin họ lưu trữ hệ thống (đa số đối tượng mà hệ thống có trao đổi thơng tin khơng sử dụng hệ thống) Ví dụ: sinh viên, khách hàng, giáo viên, nhân viên,… Lớp vị trí (place) Các vị trí vật lý mà hệ thống cần mơ tả thơng tin Ví dụ: tồ nhà, kho, văn phịng, chi nhánh, đại lý, … Sự vật hữu hình lớp thiết bị Các đối tượng vật lý nhóm đối tượng hữu hình mà cảm nhận trực quan thiết bị mà hệ thống tương tác Ví dụ: xe hơi, máy bay, … vật hữu hình; thiết bị cảm ứng nhiệt lớp thiết bị Ví dụ: cố gắng xác định lại lớp hệ thống ATM dùng phương pháp tiếp cận: - Các lớp khái niệm: Tài Khoản 63 - Các lớp kiện: Giao dịch - Các lớp tổ chức: Ngân hàng - Các lớp ccon người Khách hàng - Các lớp vật hữu hình thiết bị Máy ATM Thẻ ATM Cách tiếp cân theo Use case Như giới thiệu, use case dùng để mơ hình hố kịch hệ thống xác định cách thức tác nhân tương tác với kịch Kịch mơ tả văn thông qua thứ tự bước Một hệ thống mô tả ngữ nghĩa kịch Chúng ta kiểm tra đoạn mô tả văn bước kịch để xác định đối tượng cần thiết kịch thực Chúng ta mơ hình hố kịch use case sử dụng sơ đồ (sequence diagram) sơ đồ hợp tác (collaboration diagram) Các mơ hình cho phép mơ hình hố cách trực quan giai đoạn phân tích trợ giúp thiết kế hệ thống thơng qua việc mơ hình hố tương tác đối tượng hệ thống Tuy nhiên, việc mơ hình hố kịch use case cách cụ thể dễ dẫn đến mô tả hoạt động phần mềm hệ thống nơi mà đối tượng phần mềm xác định (mà phải xác định giai đoạn thiết kế) Do đó, cách tiếp cận nên kết hợp với cách tiếp cận phân tích cụm danh từ cách tiếp cận phân loại để xác định đối tượng giai đoạn phân tích Trước tiên, xác định ḍng tương tác tác nhân với hệ thống use case Sau đó, đặt câu hỏi “đối tượng hệ thống chịu trách nhiệm tiếp nhận tương tác này?” Trả lời câu hỏi giúp tìm đối tượng use case Nếu đối tượng chuyển giao toàn phần trách nhiệm xử lý cho đối tượng khác đó, tiếp tục tiếp tục xác định đối tượng Q trình tiếp tục hết tất ḍng tương tác kiểm tra Ví dụ: hệ thống ATM xem hoạt động use case “Giải PIN không hợp lệ” Ở cần nghĩ hoạt động mà khách hàng thực hiện: - Đưa vào thẻ ATM - Nhập mã PIN - Rút thẻ ATM 64 Dựa hoạt động này, phản ứng hệ thống chấp nhận quyền truy cập tài khoản tương ứng từ chối Kế tiếp cần xác định cách tường minh hệ thống: Chúng ta tương tác với (của hệ thống)? Máy ATM Tiếp tục với kịch bảntiếp theo: máy ATM sử dụng đối tượng để kiểm tra mã PIN? Khách hàng ngân hàng Một khách hàng trường hợp người muốn truy cập đến tài khoảnthơng qua máy ATM, có khơng có tài khoản Ngược lại, khách hàng ngân hàng có tài khoản Sơ đồ Hình 5.9 :Sơ đồ Hình 6.0: Sơ đồ hợp tác 65 hình 6.1:Sơ đồ Hình 6.2 : Sơ đồ hợp tác 66 Như vậy, dựa vào hai sơ đồ hai use case xác định lớp: MáyATM, KháchHàngNgânHàng (KháchHàng), TàiKhoản Tiếp tục mơ hình hoá với sơ đồ hợp tác với use case lại hệ thống ATM, xác định lớp lại Xác định mối quan hệ lớp Trong môi trường hướng đối tượng, đối tượng đảm nhiệm vai trò chủ động hệ thống Đối tượng không tồn cách độc lập mà tương tác với đối tượng khác Sự tương tác thể thông qua mối kết hợp bao gồm hoạt động hành vi đối tượng Sau giới thiệu hướng dẫn giúp xác định ba loại liên kết: mối kết hợp, mối kết hợp thu nạp (thành phần) mối kết hợp tổng quát hoá Xác định mối kết hợp (association) Xác định mối kết hợp bắt đầu việc phân tích tương tác lớp Thơng thường có liên kết phụ thuộc hai hay nhiều lớp thiết lập mối kết hợp Một cách làm điều kiểm tra trách nhiệm đối tượng để thiết lập mối kết hợp Nói cách khác, đối tượng xác nhận để thi hành nhiệm vụ lại thiếu thơng tin để thi hành nhiệm vụ đó, đối tượng phải ủy quyền thực lại cho đối tượng khác sở hữu thơng tin Có nhiều cách tiếp cận để xác định mối kết hợp, trích lọc mối kết hợp ứng viên từ việc tham khảo mô tả hệ thống yêu cầu hệ thống tài liệu khác liên quan đến hệ thống Sau đó, tinh chế dần để chọn mối kết hợp có nghĩa Chú mối kết hợp mối kết hợp thành phần có ngữ nghĩa gần nhau, có trường hợp khó phân biệt, mối kết hợp thành phần trường đặc biệt mối kết hợp Tùy theo tìm vực ứng dụng tìm cách tự nhiên để biểu diễn mối kết hợp thành phần chọn nó, ngược lại chọn mối kết hợp để biểu diễn Sau hướng dẫn mẫu chung cho phép xác định mối kết hợp: Hướng dẫn xác định mối kết hợp - Một phụ thuộc hai hay nhiều lớp thiết lập thành mối kết hợp Mối kết hợp thường tương ứng với động từ cụm giới từ thành phần của, làm việc cho, chứa trong, … - Một tham chiếu từ lớp đến lớp khác mối kết hợp Mẫu chung xác định mối kết hợp - Mối kết hợp vị trí (location): liên kết tới, thành phần của, chứa trong, làm việc tại, … - Mối kết hợp sở hữu:của, có, thuộc,… Mối kết hợp có lớp TàiKhoản lớp GiaoDịch,mối kết hớp lớp TàiKhoản lớp KháchHàng - Mối kết hợp truyền thông, liên lạc (communication): đặt tới, trao đổi với, gởi cho, tiếp nhận từ,… 67 Hình 6.3 : mối kết hợp Loại bỏ mối kết hợp không cần thiết - Mối kết hợp cài đặt: mối kết hợp cài đặt nên đưa vào trình thiết kế cài đặt hệ thống Mối kết hợp cài đặt mối kết hợp mô tả liên quan lớp giai đoạn thiết kế cài đặt hệ thống bên mơi trường phát triển ngơn ngữ lập trình cụ thể môi liên kết đối tượng mô tả nghiệp vụ - Mối kết hợp đa phân: mối kết hợp ba lớp trở lên, mối kết hợp phức tạp cách thể Nếu có thể, phát biểu lại dùng mối kết hợp nhị phân Hình 6.4 : Mối kết hợp đa phân: - Mối kết hợp trực tiếp dư thừa (directed action): mối kết hợp định nghĩa ngữ nghĩa mối kết hợp khác (còn gọi mối kết hợp suy diễn bắc cầu) Những mối kết hợp loại dư thừa cần loại bỏ khỏi mơ hình Trong mối kết hợp liên quan, đặt tới, giao từ mối kết hợp giao từ suy từ mối kết hợp liên quan đặt tới Vậy mối kết hợp giao từ dư thừa loại bỏ khỏi mơ hình hình 6.5 :Mối kết hợp trực tiếp dư thừa 68 11 Xác định mối kết hợp tổng quát – chuyên biệt (generalization) Mối kết hợp tổng quát hoá – chuyên biệt thể quan hệ kế thừa lớp cấu trúc phân cấp xác định ḍng kế thừa Quan hệ cho phép đối tượng xây dựng từ đối tượng khác Một thuận lợi sử dụng mối kết hợp xây dựng có quan trọng sử dụng lại có Sau tiếp cận hướng dẫn xác định mối kết hợp tổng quát hoá: Tiếp cận xuống (top-down): Từ lớp tìm kiếm cụm danh từ chứa tên lớp tính từ (hoặc danh từ) Đánh giá xem cụm danh từ trường hợp đặc biệt cần quản lý hệ thống khơng; tìm kiếm xem có đặc trưng riêng lớp mà hệ thống cần hay không Nếu định lớp loại chun biệt lớp ban đầu Ví dụ: từ lớp Hố đơn tìm thấy cụm danh từ Hố đơn giao hàng có chứa từ Hố đơn, trường hợp định Hoá đơn giao hàng lớp chuyên biệt lớp Hóa đơn HÌnh 6.8: tiếp cận hố đơn Hoặc hệ thống ATM, từ lớp GiaoDịch chun biệt hố xuống hai lớp GiaoDịchRút GiaoDịchGởi Hình 6.9 : tiếp cận hệ thống ATM Trong trình tạo cấu trúc phân cấp tổng quát – chuyên biệt, không nên lạm dụng việc chuyên biệt hóa mà đưa vào tất lớp chuyên biệt không cần thiết Các lớp chuyên biệt cần thiết lớp có đặc trưng (thuộc tính, hành vi mối kết hợp) riêng biểu diễn hệ thống Ví dụ, có nhiều loại hố đơn tạo lớp chun biệt là: hoá đơn bán lẽ, hoá đơn bán sĩ, hoá đơn giao hàng Trong đó, có Hố đơn giao hàng có thuộc tính riêng nên biểu diễn hệ thống, hai lớp lại khơng cần thiết khơng tìm đặc trưng riêng Tiếp cận lên (bottom-up): tìm kiếm lớp để xác định xem có thuộc tính phương thức giống Sau gom nhóm đưa thuộc tính phương thức chung lên lớp tổng quát (trừu tượng) Tạo mối kết hợp tổng quát hoá từ lớp đến lớp tổng quát xác định Mô hình cho thấy, lớp Hố đơn Đơn đặt hàng có ba thuộc tính giống 69 (Hoá đơn: Số HĐ, Ngày HĐ, Diễn giải Đơn đặt hàng: Số ĐH, Ngày ĐH, Diễn giải) mối kết hợp với lớp NGK giống Do đó, tạo lớp tổng quát Chứng từ di chuyển ba thuộc tính mối kết hợp lên lớp tạo mối kết hợp tổng quát hoá từ lớp Hoá đơn Đơn đặt hàng đến lớp Chứng từ Hình 7.0 : Tiếp cận lên với hoá đơn Đơn đặt hàng Tiếp cận tái sử dụng: di chuyển thuộc tính phương thức lên cao tốt cấu trúc phân cấp 12 Đa kế thừa: tránh sử dụng mức đa kế thừa mơ hình đa kế thừa phức tạp việc xác định đường dẫn kế thừa hành vi từ lớp Xác định mối quan hệ thành phần (a-part-of, aggregation) Mối quan hệ thành phần sử dụng tình lớp hình thành bao gồm lớp thành phần Hai đặc trưng mối quan hệ thành phần tính bắc cầu tính phản đối xứng 70 - Tính bắc cầu: lớp A thành phần lớp B lớp B thành phần lớp C, lớp A thành phần lớp C - Tính phản đối xứng: lớp A thành phần lớp B lớp B khơng phải thành phần lớp A Việc xác định mối quan hệ thành phần dựa mẫu dẫn sau: - Tập hợp: đối tượng vật lý hình thành từ đối tượng vật lý thành phần khác - Hình 7.1 :tập hợp - Vật chứa: đối tựơng vật lý chứa đựng thành phần khơng cấu tạo thành phần hình 7.2 ; Vật chứa Một phòng học chứa đựng tất đối tượng bàn ghế không cấu tạo từ đối tượng - Tập hợp – thành viên: đối tượng quan niệm chứa thành phần vật lý quan niệm Hình 7.3: Tập hợp – thành viên 71 Các lớp PhịngBan, ĐộiBóng, DứAn, GiaiĐoạn lớp quan niệm; lớp NhânViên, CầuThủ lớp vật lý Trong hệ thống ATM, ngân hàng bao gồm máy ATM, tài khoản, nhà, nhân viên,.v.v… Tuy nhiên, đối tượng tồ nhà, nhân viên,… khơng thuộc phạm vi hệ thống xét Do đó, định nghĩa mối kết hợp thành phần lớp NgânHàng lớp: MáyATM, TàiKhoản hình 7.4 : Tập hợp – thành viên hệ thống ATM Xác định thuộc tính (attribute) phương thức (method) lớp Xác định thuộc tính phương thức cơng việc khó xác định lớp, tiến trình lặp Thông thường người ta dựa vào use case sơ đồ UML khác để xác định thuộc tính phương thức lớp Thuộc tính thành phần mà đối tượng phải ghi nhớ màu sắc, trị giá, hảng sản xuất,… Xác định thuộc tính lớp hệ thống bắt đầu với việc tìm hiểu trách nhiệm hệ thống Và xác định răng, trách nhiệm hệ thống nhận định qua việc phát triển use case đặc điểm mong muốn ứng dụng xác định thông tin mà người dùng cần cho hệ thống Các câu hỏi sau giúp xác định nhiệm vụ lớp thành phần liệu mà hệ thống muốn lưu trữ Thơng tin đối tượng lưu trữ? Dịchvụ mà lớp phải cung cấp? Trả lời câu hỏi thứ giúp xác định thuộc tính lớp Trả lời câu hỏi thứ hai giúp xác định phương thức lớp Xác định thuộc tính Bằng việc phân tích use case, yêu cầu, mơ tả sơ đồ bắt đầu hiểu trách nhiệm lớp cách thức mà lớp tương tác để thi hành công việc Mục tiêu để hiểu mà lớp có trách nhiệm tri thức.Sau số hướng dẫn giúp xác định lớp use case: Thuộc tính thường tương ứng tới danh từ theo cụm phó từ là: chi phí sản phẩm Các thuộc tính tương ứng tới tính từ phó từ Giữ cho lớp đơn giản: dùng đủ thuộc tính để diễn đạt trạng thái đối tượng Các thuộc tính mơ tả đầy đủ mơ tả vấn đề Do đó, chúng 72 ta phải sử dụng tri thức tìm vực ứng dụng thực tế để tìm chúng Khơng nên quan tâm việc phải khám phá hết thuộc tính Chúng ta bổ sung thêm thuộc tính vịng lặp Ví dụ: xác định thuộc tính cho lớp hệ thống ATM Xác định thuộc tính cho lớp KháchHàng Bằng việc phân tích use case, sơ đồ hợp tác sơ đồ hoạt động, rõ ràng rằng, với lớp KháchHàng, tìm vực tốn hệ thống đưa vài thuộc tính Tìm kiếm sơ đồ tuần từ use case “Xứ lý PIN không hợp lệ” tìm thấy lớp KháchHàng phải có mã PIN (hay password) số thẻ Do đó, mãPIN sốThẻ hai thuộc tính thích hợp lớp KháchHàng Các thuộc tính khác KháchHàng biểu diễn tri thức chung khách hàng, thuộc tính lớp KháchHàng là: tênKháchHàng họKháchHàng mãPIN sốThẻ thời điểm quan tâm đến chức đối tượng khách hàng mà không quan tâm đến thuộc tính cài đặt Xác định thuộc tính cho lớp TàiKhoản Tương tự thuộc tính lớp TàiKhoản xác định là: sốTàiKhoản loạiTàiKhoản sốDư Xác định thuộc tính cho lớp GiaoDịch giaoDịchID ngàyGiaoDịch thờiGianGiaoDịch loạiGiaoDịch sốTiền sốDư Xác định thuộc tính cho lớp MáyATM Máy ATM đối tượng vật lý hữu hình, thuộc tính dùng để mơ tả vị trí trạng thái máy địaChỉ trạngThái sồTiềnHiệnTại 73 hình 7.5 :Xác định thuộc tính cho lớp MáyATM Xác định phương thức Phương thức (method) thông điệp (message) thành phần gánh vác công việc xử lý hệ thống hướng đối tượng Trong môi trường hướng đối tượng, phần liệu đối tượng bao quanh tập hợp thường trình gọi phương thức Những phương thức dịch vụ toán tử lớp định nghĩa để cài đặt hành vi đối tượng thành viên lớp Các phương thức cách thức mà đối tượng thực tương tác với đối tượng khác hệ thống Phát phương thức để cài đặt hành vi đối tượng hoạt động quan trọng giai đoạn phân tích Cũng thuộc tính, lớp có phương thức nội (private) toàn cục (puplic).Trong giai đoạn phân tích, quan tâm phát phương thức tồn cục mà quan tâm đến phương thức nội đối tượng Các phương thức thường tương ứng với truy vấn thuộc tính đối tượng Nói cách khác, phương thức chịu trách nhiệm quản lý trị thuộc tính truy vấn, cập nhật, đọc ghi Chú giai đoạn phân tích, ta làm việc mức cao sử trừu tượng hố Do đó, phương thức tạo (constructor) phương thức mô tả chi tiết việc cài đặt phát giai đoạn thiết kế Trong phần chúng xem xét cách thức xác định phương thức sử dụng sơ đồ UML là: sơ đồ trạng thái, sơ đồ hoạt động, sơ đồ tuần tự/hợp tác sơ đồ use case Xác định phương thức việc phân tích sơ đồ UML use case Trong sơ đồ tuần tự, đối tượng đặt sơ đồ với đường đứt quảng thẳng đứng Do đó, kiện xảy đối tượng đặt theo ḍng nằm ngang Một kiện xem hành động để chuyển thông tin Mặt khác, hành động toán tử mà đối tượng phải thực thi 74 Ví dụ, để xác định phương thức lớp TàiKhoản, xem xét sơ đồ ứng với use case: Rút tiền Gởi tiền Xem thông tin tài khoản Sơ đồ trợ giúp xác định dịch vụ mà đối tượng phải cung cấp Ví dụ, qua việc nghiên cứu sơ đồ use case Rút tiền, thấy lớp TàiKhoản phải cung cấp dịch vụ rútTiền Qua việc nghiên cứu use case Gởi tiền, lớp TàiKhoản phải cung cấp dịch vụ gởiTiền Tương tự, dịch vụ lớp KháchHàng: kiểmTraMậtKhẩu (kiểm tra mật khách hàng) Các dịch vụ lớp MáyATM Khởi động máy Đóng máy 75 Hình :7.6 :Các dịch vụ lớp MáyATM Chú ý: dịch vụ đưa vào lớp tổng quát thừa kế lớp chuyên biệt 76 Bài tập câu hỏi Các đối tượng hệ thống giai đoạn phân tích xác định từ đâu? Mô tả chiến lược “cụm danh từ” việc xác định lớp ứng viên tìm vực vần đề? Chiến lược phân loại Các lớp khái niệm Các lớp kiện Các lớp tổ chức Các lớp người gì? Các lớp vị trí gì? Các lớp vật hữu hình thiết bị gì? 10 Tại xây dựng sơ đồ tuần tự/hợp tác hoạt động hữu dụng cho việc xác định lớp? 11 Tại việc xác định lớp trình gia tăng? 12 Tại việc xác định phân cấp lớp quan trọng phân tích hướng đối tượng? 13 Liên kết kết hợp (association), tổng qt hố (generalization) 14 Thuộc tính phương thức lớp xác định cách nào? 77 ... theo trình tự học nghề Hệ thống máy tính Giao diện người máy Lập trình nâng cao Lập trình Lập trình hướng đối tượng Mạng Cấu trúc liệu thuật giải Kỹ tin học văn phòng Thiết kế hướng đối tượng. .. TẠO LẠI 12 BÀI Tên bài: TỔNG QUAN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Mã bài : ITPRG05 .1 Giới thiệu : - Mô tả số kỹ thuật, ngơn ngữ tiến trình sử dụng q trình phân tích thiết kế hướng đối tượng. .. phân tích thiết kế hướng đối tượng, Nắm vững khái niệm hướng đối tượng tính kế thừa đơn, kế thừa bội, tổng quát hoá, chuyên biệt hoá, trạng tháI đối tượng Biết kiểm tra mơ hình thiết kế, kiểm

Ngày đăng: 17/01/2022, 11:39

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN