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

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

93 11 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

Giáo trình Phân tích thiết kế hướng đối tượng với UML (Nghề Lập trình máy tính): Phần 1 do Tổng cục dạy nghề biên soạn nhằm cung cấp cho bạn những kiến thức về tổng quan về OOAD và UML, khảo sát hệ thống, phân tích các lớp và phân tích hệ thố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: PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI UML Mã số: ITPGR3_16 NGHỀ: LẬP TRÌNH MÁY TÍNH Trình độ (bậc cao) Đà 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 độ bậc cao 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-2007 MỤC LỤC ĐỀ MỤC TRANG 01 LỜI TỰA 02 MỤC LỤC 03 GIỚI THIỆU MÔN HOC 04 CÁC HÌNH THỨC CHÍNH HỌC TẬP TRONG MÔN HỌC 05 Bài TỔNG QUAN VỀ OOAD VÀ UML 11 06 Bài KHẢO SÁT HỆ THỐNG 19 07 Bài PHÂN TÍCH CÁC LỚP 69 08 Bài PHÂN TÍCH HỆ THỐNG 80 09 Bài HỆ THỐNG VÀ HÀNH VI ĐỐI TƯỢNG 94 10 Bài THIẾT KẾ HỆ THỐNG 109 11 Bài CÁC VẤN ĐỀ VỀ THIẾT KẾ VÀ THI HÀNH 116 12 Bài GIỚI THIỆU VỀ RATIONAL ROSE 132 13 NỘI DUNG THỰC HÀNH 170 14 TRẢ LỜI CÁC CÂU HỎI VÀ BÀI TẬP 158 15 THUẬT NGỮ CHUYÊN MÔN 160 15 TÀI LIỆU THAM KHẢO 162 GIỚI THIỆU VỀ MƠN HỌC Vị trí, ý nghĩa, vai trị mơn học : Vị trí mơh học: Mơn học bố trí sau học xong mơđun mơn học: Phân tích thiết kế hệ thống, Cơ sở liệu , Lập trình nâng cao, Thiết kế hướng đối tượng Tính chất môn học: môn học lý thuyết chuyên ngành bắt buộc Mục tiêu môn học: Nắm nguyên tắc phân tích thiết kế hướng đối tượng (OOAD) vai trị ngơn ngữ mơ hình hợp (UML) Biết phân tích yêu cầu hệ thống với use case, biết phân tích lớp từ tập hợp ban đầu yêu cầu hệ thống, biết mô tả rõ tương tác đối tượng UML xác định mối liên kết thừa kế lớp, biết áp dụng nguyên tắc thiết kế thực mơ hình hướng đối tượng qua sử dụng Rational Rose Mục tiêu thực môn học: Học xong môn học học viên có khả năng: - - - - - Phân biệt phân tích thiết kế, giải thích tầm quan trọng tiến trình chu trình sống phần mềm, liệt kê ưu việc sử dụng hướng đối tượng, mơ tả vai trị UML phân tích thiết kế, liệt kê thành phần giai đoạn tiến trình Objectory Giải thích use case, actor, mơ tả q trình khảo sát hệ thống, mơ tả mục đích việc phát biểu vấn đề, minh họa use case actor mơ hình use sử dụng ký pháp UML, giải thích việc phát sinh luồng kiện từ use case Phân biệt đối tượng lớp, liệt kê đặc trưng lớp, phân tích lớp từ luồng kiện, mơ tả nhóm biên, thực thể, stereotype, vẽ sơ đồ lớp đơn giản UML, sử dụng kỹ thuật CRC (ClassResponsibilities-Collaborators) để tinh lọc thơng tin lớp Phân tích tương tác đối tượng, giải thích biểu đồ nối tiếp cộng tác UML, mô tả kiểu quan hệ lớp, bổ sung tên, vai trò định hướng liên kết biểu đồ lớp, bổ sung số, phân tích quan hệ thừa kế lớp, phân biệt thừa kế kết hợp Phân tích thao tác thuộc tính lớp, mơ tả mục đích biểu đồ trạng thái biểu đồ hoạt động, đọc giải thích biểu đồ trạng thái, biểu đồ hoạt động UML, xem xét tính bền vững chất lượng mơ hình Hiểu biết tầm quan trọng kiến trúc hệ thống, liệt kê phần tử kiến trúc mẫu 4+1, sử dụng biểu đồ thành phần triển khai, hiểu biết tầm quan trọng chế - Liệt kê đặc trưng lớp, hiểu biết vấn đề liên quan đến thiết kế quan hệ, thuộc tính, thao tác, thừa kế, định rõ chi tiết thiết kế thuộc tính thao tác UML, định hướng thiết kế cho liên kết lớp Liệt kê đặc tính công cụ Rational Rose, sử dụng giao diện người dùng thiết lập tùy chọn, tạo, cập nhật, lưu trữ biểu đồ use case, biểu đồ lớp, bổ sung chi tiết thao tác thuộc tính vào biểu đồ lớp, tạo, cập nhật, lưu trữ biểu đồ tương tác, biểu đồ chuyển tiếp trạng thái, thao tác với gói, tạo, cập nhật, lưu trữ biểu đồ thành phần triển khai, hiểu biết nguyên tắc phát triển nhóm Rational Rose, liệt kê mơ tả số đặc tính tăng cường Rational Rose Nội dung mơn học : - I.TỔNG QUAN VỀ OOAD VÀ UML Chủ đề : Giới thiệu phân tích thiết kế hướng đối tượng (OOAD) ngơn ngữ mơ hình hợp (UML), tiến trình OOAD, tiến trình Objectory II.KHẢO SÁT HÀNH VI HỆ THỐNG Chủ đề : Xác định u cầu hệ thống, mơ hình hố trường hợp sử dụng, phân tích actor use case, tạo biểu đồ luồng kiện III.PHÂN TÍCH CÁC LỚP Chủ đề : Các đối tượng lớp, xác định lớp thực thể, phân tích lớp biên điều khiển, mơ hình hố CRC (Class-ResponsibilitiesCollaborators) IV.PHÂN TÍCH HỆ THỐNG Chủ đề : Các biểu đồ tương tác, biểu đồ nối tiếp UML, biểu đồ cộng tác UML, liên kết đơn giản, kết hợp, số, tinh chỉnh liên kết, tính thừa kế, thừa kế kết hợp, biến thái V.HỆ THỐNG VÀ HÀNH VI ĐỐI TƯỢNG Chủ đề : Các thao tác thuộc tính đối tựơng, phân tích hoạt động hệ thống, phân tích hành vi đối tượng, kiểm tra mơ hình VI.THIẾT KẾ HỆ THỐNG Chủ đề : Kiến trúc phần mềm, thiết kế kiến trúc hệ thống, chế VII.CÁC VẤN ĐỀ VỀ THIẾT KẾ VÀ THI HÀNH Chủ đề : Cơ thiết kế thi hành lớp, thiết kế giao diện lớp, kiểu tham số, số khái niệm thiết kế, thao tác, thuộc tính UML, thiết kế thừa kế, thiết kế mối liên kết kết hợp VIII.GIỚI THIỆU VỀ RATIONAL ROSE Chủ đề : Giới thiệu Rational Rose, lớp gói, thao tác thuộc tính, biểu đồ tương tác, biểu đồ chuyển tiếp trạng thái, biểu đồ thành phần triển khai, phát triển nhóm, RoseScript phát sinh mã Kỹ thực hành :  Phân tích thiết kế hướng đối tượng sử dụng UML  Lập tài liệu phân tích thiết kế  Sử dụng thành thạo phần mềm hỗ trợ thiết kế (Rational Rose) Thái độ học viên : Luôn rèn luyện khả tư logic để phân tích, tổng hợp vấn đề cần giải Không ngừng học hỏi kiến thức phân tích thiết kế theo hướng đối tượng Ln ý rèn luyện thao tác xác, cẩn thận làm việc SƠ ĐỒ QUAN HỆ THEO TRÌNH TỰ HỌC NGHỀ Học kỳ V Học kỳ VI Tiếng Anh chuyên Lập trình nâng cao hướng ngành NET Phát triển phần mềm ứng dụng Cơ sở kỹ thuật điện điện tử Phân tích thiết kế giải thuật Lý thuyết ngôn ngữ Thiết kế mạng quản trị lập trình mạng Cấp độ Kho liệu Bảo trì máy tính Mơ hình client-server SQL server Cơ sở trí tuệ nhân tạo hệ chuyên gia Phân tích hướng đối tượng UML Tích hợp ứng dụng mạng Lập trình logic An tồn thông tin Cơ sở liệu nâng cao Chuyên đề tự chọn Phân tích hướng đối tượng UML 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 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 :  Giới thiệu phân tích thiết kế hướng đối tượng (OOAD) ngơn ngữ mơ hình hợp (UML), tiến trình OOAD, tiến trình Objectory  Xác định u cầu hệ thống, mơ hình hố trường hợp sử dụng, phân tích actor use case, tạo biểu đồ luồng kiện 2- Nghe thuyết trình phịng chun mơn hố :  Các đối tượng lớp, xác định lớp thực thể, phân tích lớp biên điều khiển, mơ hình hố CRC (Class-Responsibilities-Collaborators)  Kiến trúc phần mềm, thiết kế kiến trúc hệ thống, chế 3- Tự nghiên cứu tài liệu làm tập :  Phân tích thiết kế hướng đối tượng sử dụng UML  Lập tài liệu phân tích thiết kế  Sử dụng thành thạo phần mềm hỗ trợ thiết kế (Rational Rose) 4- Thực tập phịng máy tính trường :    Các biểu đồ tương tác, biểu đồ nối tiếp UML, biểu đồ cộng tác UML, liên kết đơn giản, kết hợp, số, tinh chỉnh liên kết, tính thừa kế, thừa kế kết hợp, biến thái Các thao tác thuộc tính đối tựơng, phân tích hoạt động hệ thống, phân tích hành vi đối tượng, kiểm tra mơ hình Giới thiệu Rational Rose, lớp gói, thao tác thuộc tính, biểu đồ tương tác, biểu đồ chuyển tiếp trạng thái, biểu đồ thành phần triển khai, phát triển nhóm, RoseScript phát sinh mã 5- Tham quan thực tế công ty sản xuất phần mềm : - Phân tích thiết kế hệ thống tơng tin sử dụng ngơn ngữ mơ hình hợp (UML) U CẦU VỀ ĐÁNH GIÁ HỒN THÀNH MƠ ĐUN/MƠN HỌC - Phương pháp nội dung đánh giá * Vế kiến thức: Được đánh giá qua kiểm tra viết, trắc nghiệm đạt yêu cầu sau: - Phân biệt phân tích thiết kế, giải thích tầm quan trọng tiến trình chu trình sống phần mềm, liệt kê ưu việc sử dụng hướng đối tượng, mơ tả vai trị UML phân tích thiết kế, liệt kê thành phần giai đoạn tiến trình Objectory - Giải thích use case, actor, mơ tả q trình khảo sát hệ thống, mơ tả mục đích việc phát biểu vấn đề, minh họa use case actor mơ hình use sử dụng ký pháp UML, giải thích việc phát sinh luồng kiện từ use case - Phân biệt đối tượng lớp, liệt kê đặc trưng lớp, phân tích lớp từ luồng kiện, mơ tả nhóm biên, thực thể, stereotype, vẽ sơ đồ lớp đơn giản UML, sử dụng kỹ thuật CRC (ClassResponsibilities-Collaborators) để tinh lọc thơng tin lớp - Phân tích tương tác đối tượng, giải thích biểu đồ nối tiếp cộng tác UML, mô tả kiểu quan hệ lớp, bổ sung tên, vai trò định hướng liên kết biểu đồ lớp, bổ sung số, phân tích quan hệ thừa kế lớp, phân biệt thừa kế kết hợp - Phân tích thao tác thuộc tính lớp, mơ tả mục đích biểu đồ trạng thái biểu đồ hoạt động, đọc giải thích biểu đồ trạng thái, biểu đồ hoạt động UML, xem xét tính bền vững chất lượng mơ hình - Hiểu biết tầm quan trọng kiến trúc hệ thống, sử dụng biểu đồ thành phần triển khai, hiểu biết tầm quan trọng chế - Liệt kê đặc trưng lớp, hiểu biết vấn đề liên quan đến thiết kế quan hệ, thuộc tính, thao tác, thừa kế, định rõ chi tiết thiết kế thuộc tính thao tác UML, định hướng thiết kế cho liên kết lớp - Liệt kê đặc tính cơng cụ Rational Rose, sử dụng giao diện người dùng thiết lập tùy chọn, tạo, cập nhật, lưu trữ biểu đồ use case, biểu đồ lớp, bổ sung chi tiết thao tác thuộc tính vào biểu đồ lớp, tạo, cập nhật, lưu trữ biểu đồ tương tác, biểu đồ chuyển tiếp trạng thái, thao tác với gói, tạo, cập nhật, lưu trữ biểu đồ thành phần triển khai, hiểu biết nguyên tắc phát triển nhóm Rational Rose, liệt kê mô tả số đặc tính tăng cường Rational Rose * Về kỹ năng: Đánh giá kỹ thực hành học sinh thực hành đạt yêu cầu sau: - Phân tích thiết kế hướng đối tượng sử dụng UML - Lập tài liệu phân tích thiết kế - Sử dụng thành thạo phần mềm hỗ trợ thiết kế (Rational Rose) * Về thái độ: - Khả tư logic để phân tích, tổng hợp vấn đề cần giải Không ngừng học hỏi kiến thức phân tích thiết kế theo hướng đối tượng Ln ý rèn luyện thao tác xác, cẩn thận làm việc Đánh giá thông qua kiểm tra trắc nghiệm: Kiểm tra trắc nghiệm thực máy tính chấm cho kết Xây dựng ngân hàng câu hỏi Học viên nhận ngẫu nhiên câu hỏi trắc nghiệm 100 câu (mỗi chức 20 câu), Thời gian kiểm tra hạn chế 60 phút Thang điểm: 0-49: Không đạt 50-69 : Đạt trung bình 70-85 : Đạt 86-100: Đạt Giỏi Các dạng kiểm tra, tập thực hành cuối mô đun : Đánh giá kết học tập mơ đun = ĐIỂM TRUNG BÌNH CHUNG : - Kết điểm kiểm tra đầu (5-15 phút) -Lấy hệ số - Kết điểm kiểm tra viết (45 phút) tập tự nghiên cứu -Lấy hệ số - Kết điểm kiểm tra viết (90 phút ) tập tự nghiên cứu -Lấy hệ số - Kết điểm kiểm tra thực hành (60-90 phút) -Lấy hệ số ĐÁNH GIÁ KẾT QUẢ HỌC TẬP CỦA MÔ ĐUN: - Điểm trung bình chung từ 5,0 trở lên : ĐẠT YÊU CẦU - Điểm trung bình chung từ 4,0 – 4,95 : CĨ THỂ XÉT VỚT - Điểm trung bình chung 4,0 điểm : PHẢI ĐÀO TẠO LẠI 10 Các lớp vai trò (Role) lớp khác: Hãy loại bỏ tất vai trò giữ lại lớp Ví dụ nhà quản trị, nhân viên thu ngân, người chạy giấy vai trò lớp nhân viên Hãy giữ lại lớp nhân viên loại bỏ tất lớp khác vai trị Một lớp khơng cung cấp ứng xử cần thiết thuộc tính cần thiết lớp khơng cần thiết Nhiều khi, có lớp chẳng cung cấp thuộc tính ứng xử mà định nghĩa tập hợp mối quan hệ Những lớp cần phải nghiên cứu kỹ để xác định liên quan với hệ thống Ví dụ khách hàng định nghĩa khách hàng quan trọng hay khách hàng bình thường tùy theo mối quan hệ mà có với nhà băng tư cách chủ nhân tài khoản Tất công cụ xây dựng (Implementation constructs) ví dụ stack, arrays, link lists, … cần phải đưa khỏi mơ hình phân tích Chúng dùng tới giai đoạn xây dựng phần mềm Một lớp có tên mang tính động từ đơn giản hàm khơng phải lớp Ví dụ "rút tiền" khơng cần phải coi lớp, chức lớp Lớp có hàm miêu tả việc thực chức đơn giản hàm, q trình trừu tượng hóa liệu (data abstraction) chưa thực đầy đủ Lớp khơng có hàm thiếu sót mơ hình Vấn đề hàm thành phần (phương thức) lớp chưa suy nghĩ thấu đáo Câu hỏi tập: Trình bày định nghĩa đối tượng lớp Định nghìa lớp thực thể Nêu ví dụ minh hoạ Bài tập thực hành : xem phần nội dung thực hành trang 160 79 BÀI Tên : PHÂN TÍCH HỆ THỐNG Mã : ITPRG3_16.4 Giới thiệu : Bước để tìm giải pháp thích hợp cho vấn đề hệ thống hiểu vấn đề lĩnh vực hệ thống Mục tiêu phân tích nắm bắt hình ảnh đầy đủ, khơng mơ hồ, quán yêu cầu hệ thống hệ thống phải làm để đáp ứng địi hỏi nhu cầu người dùng Điều thực cách xây dựng mơ hình hệ thống với mục tiêu tập trung vào khía cạnh biểu diễn hệ thống mặt nội dung (nghĩa mơ hình tập trung vào làm rõ hệ thống có gì) cách thức mà hệ thống thực nội dung Do đó, kết giai đoạn phân tích làm rõ yếu tố hệ thống từ quan điểm cách nhìn người sử dụng mà không quan tâm đến cách thức chi tiết mà máy tính thực nội dung Phân tích tiến tŕnh chuyển đổi định nghĩa vấn đề từ tập mờ kiện, dự kiến mang tính tưởng tượng thành diễn đạt chặt chẽ yêu cầu hệ thống Thực sự, phân tích hoạt động mang tính sáng tạo bao gồm việc hiểu vấn đề, ràng buộc liên quan đến vấn đề phương pháp để khống chế giải ràng buộc Đây tiến trình lặp vấn đề phải rõ ràng Mục tiêu thực hiện: Học xong học viên có khả : - Phân tích tương tác đối tượng - Giải thích biểu đồ nối tiếp cộng tác UML - Mô tả quan hệ lớp - Bổ sung tên, vai trò định hướng liên kết biểu đồ lớp - Bổ sung số - Phân tích quan hệ thừa kế lớp - Phân biệt thừa kế kết hợp Nội dung chính: I Lớp đối tượng UML: UML thể lớp hình chữ nhật có phần Phần thứ chứa tên lớp Trong phần thứ hai thuộc tính liệu thành phần lớp phần thứ ba phương thức hay hàm thành phần lớp 1- Tên lớp (lass name): Tên lớp in đậm (bold) Tên lớp phải dẫn xuất từ phạm vi vấn đề rõ ràng Vì danh từ, ví dụ tài khoản, nhân viên, 2- Thuộc tính (attribute): 80 Lớp có thuộc tính miêu tả đặc điểm đối tượng Giá trị thuộc tính thường dạng liệu đơn giản đa phần ngơn ngữ lập trình hỗ trợ Integer, Boolean, Floats, Char, … Thuộc tính có nhiều mức độ trơng thấy (visibility) khác nhau, miêu tả liệu thuộc tính truy xuất từ lớp khác, khác với lớp định nghĩa Nếu thuộc tính có tính trơng thấy cơng cộng (public), nhìn thấy sử dụng ngồi lớp Nếu thuộc tính có tính trơng thấy riêng (private), bạn khơng thể truy cập từ bên ngồi lớp Một tính trông thấy khác bảo vệ (protected), sử dụng chung với cơng cụ khái qt hóa chun biệt hóa Nó giống thuộc tính riêng thừz kế lớp dẫn xuất Trong UML, thuộc tính cơng cộng mang kí hiệu "+" thuộc tính riêng mang dấu "-" Giá trị gán cho thuộc tính cách để miêu tả trạng thái đối tượng Mỗi lần giá trị thay đổi biểu cho thấy xảy thay đổi trạng thái đối tượng Lưu ý: Mọi đặc điểm thực thể thông tin cần lưu trữ chuyển thành thuộc tính lớp miêu tả loại thực thể 3- Phương thức (methods): Phương thức định nghĩa hoạt động mà lớp thực Tất đối tượng tạo từ lớp có chung thuộc tính phương thức Phương thức sử dụng để xử lý thay đổi thuộc tính thực cơng việc khác Phương thức thường gọi hàm (function), chúng nằm lớp áp dụng cho đối tượng lớp Một phương thức miêu tả qua tên, giá trị trả danh sách nhiều tham số Lúc thi hành, phương thức gọi kèm theo đối tượng lớp Vì nhóm phương thức miêu tả dịch vụ mà lớp cung cấp nên chúng coi giao diện lớp Giống thuộc tính, phương thức có tính trông thấy công cộng, riêng bảo vệ Hình 4.1- Một lớp với thuộc tính tiêu biểu 81 Hình 4.2- Một lớp với thuộc tính chung riêng Hình 4.3- Một lớp với thuộc tính gía trị Hình 4.4- Một lớp gồm thuộc tính với gía trị thuộc tính phạm vi lớp Hình 4.5- Một thuộc tính với liệt kê gía trị (status) 82 4- Kí hiệu đối tượng: Đối tượng thực thể lớp nên kí hiệu dùng cho đối tượng kí hiệu dùng cho lớp Hình 4.6-Ký hiệu đối tượng Hình đọc sau: CAH đối tượng lớp AccountHolder Các thuộc tính gán giá trị, giá trị lớp thực thể hóa Chú ý kí hiệu đối tượng khơng chứa phần phương thức Hình 4.7- Các dấu hiệu hành động Hình 4.8- Các giá trị tham số 83 II Quan hệ lớp: Biểu đồ lớp thể lớp mối quan hệ chúng Quan hệ lớp gồm có bốn loại: Liên hệ (Association) Khái quát hóa (Generalization) Phụ thuộc (Dependency) Nâng cấp (Refinement) Một liên hệ nối kết lớp, có nghĩa nối kết đối tượng lớp Trong UML, liên hệ định nghĩa mối quan hệ miêu tả tập hợp nối kết (links), nối kết định nghĩa liên quan ngữ nghĩa (semantic connection) nhóm đối tượng Khái quát hóa mối quan hệ yếu tố mang tính khái quát cao yếu tố mang tính chuyên biệt Yếu tố mang tính chun biệt chứa thông tin bổ sung Một thực thể (một đối tượng thực thể lớp) yếu tố mang tính chun biệt sử dụng nơi mà đối tượng mang tính khái quát hóa phép Sự phụ thuộc mối quan hệ yếu tố, gồm yếu mang tính độc lập yếu tố mang tính phụ thuộc Một thay đổi yếu tố độc lập ảnh hưởng đến yếu tố phụ thuộc Một nâng cấp mối quan hệ hai lời miêu tả vật, mức độ trừu tượng hóa khác III Liên hệ (Association) Một liên hệ nối kết lớp, liên quan ngữ nghĩa đối tượng lớp tham gia Liên hệ thường thường mang tính hai chiều, có nghĩa đối tượng có liên hệ với đối tượng khác hai đối tượng nhận thấy Một mối liên hệ biểu thị đối tượng hai lớp có nối kết với nhau, ví dụ "chúng biết nhau", "được nối với nhau", "cứ X lại có Y", Lớp liên hệ lớp công cụ mạnh mẽ cho việc mơ hình hóa hệ thống phức tạp, ví dụ cấu trúc sản phẩm, cấu trúc văn tất cấu trúc thông tin khác Mối liên kết thể biểu đồ UML đường thẳng nối hai lớp 84 Hình 4.9-Một lớp Author kết hợp với lớp Computer 1- Vai trò liên hệ Một liên hệ có vai trò (Roles) Các vai trò nối với lớp bao chứa quan hệ Vai trò lớp chức mà đảm nhận nhìn từ góc nhìn lớp Tên vai trị viết kèm với mũi tên từ hướng lớp chủ nhân ra, thể lớp đóng vai trị lớp mà mũi tên đến Hình 4.10- Vai trị liên hệ Customer Account Trong ví dụ trên: khách hàng chủ nhân tài khoản tài khoản chiếm giữ khách hàng Đường thẳng thể liên hệ hai lớp Một số điểm cần ý đặt tên vai trị: Tên vai trị bỏ trùng với tên lớp Tên vai trò phải Tên vai trò phải khác với thuộc tính lớp Tên vai trị phải miêu tả chức mà lớp đảm nhận quan hệ, tức cần phải khái niệm lấy từ phạm vi vấn đề, giống tên lớp 2- Liên hệ chiều (Uni-Directional Association) Ta sử dụng mối liên hệ chiều cách thêm mũi tên đầu đường thẳng nối kết Mũi tên nối kết sử dụng theo chiều mũi tên Hình 4.11- Liên hệ chiều Interest Account Biểu đồ phần 4.11 thể hai lớp có liên hệ, khơng có thơng tin số lượng đối tượng quan hệ Ta biết khách hàng có tài khoản tài khoản chung cho khách hàng Trong UML, loại thông tin gọi số lượng phần tử (Cardinality) quan hệ 85 3- Số lượng (Cardinality) liên hệ: Hình 4.12- Số lượng liên hệ Customer Account Biểu đồ nói rõ khách hàng mở nhiều tài khoản tài khoản thuộc ba khách hàng Số lượng ghi phía đầu đường thẳng thể liên hệ, sát vào lớp miền áp dụng Phạm vi số lượng phần tử liên hệ từ 0-tới-1 (0 1), 0-tới-nhiều (0 * hay ), một-tới-nhiều (1 ), hai (2), năm-tới-mười (5 11) Cũng miêu tả dãy số ví dụ (1,4,6, 12) Giá trị mặc định Hình 4.13- Một sơ đồ lớp tiêu biểu Hình ví dụ cho biểu đồ lớp tiêu biểu Biểu đồ giải thích phận dịch vụ tài khoản tiết kiệm nhà băng có nhiều tài khoản tiết kiệm tất tài khoản thuộc phận Một tài khoản tiết kiệm phần lại có nhiều tài liệu, tài liệu thuộc tài khoản tiết kiệm mà Một tài khoản tiết kiệm thuộc từ nhiều khách hàng Mỗi khách hàng có nhiều tài khoản 86 4- Phát liên hệ: Thường có nhiều mối liên hệ đối tượng hệ thống Quyết định liên hệ cần phải thực thi công việc thụơc giai đoạn thiết kế Có thể tìm mối liên hệ qua việc nghiên cứu lời phát biểu vấn đề, yêu cầu Giống danh từ giúp tìm lớp, động từ giúp ta tìm mối quan hệ Một vài lời mách bảo tìm liên hệ: Vị trí mặt vật lý thay thế, đại diện: Mỗi cụm động từ xác định hay biểu lộ vị trí biểu chắn cho liên hệ Ví dụ: địa điểm, ngồi trong, … Sự bao chứa: Cụm động từ biểu lộ bao chứa, ví dụ như: thành phần Giao tiếp: Có nhiều cụm động từ biểu lộ giao tiếp, ví dụ truyền thơng điệp, nói chuyện với, … Quyền sở hữu: Ví dụ: thuộc về, của, … Thoả mãn điều kiện: Những cụm từ như: làm việc cho, chồng/vợ của, quản trị, … 5- Xử lý liên hệ khơng cần thiết: Sau tìm mối liên hệ, bước phân biệc liên hệ cần thiết khỏi liên hệ khơng cần thiết Liên hệ khơng cần thiết bao gồm liên hệ bao chứa lớp ứng cử viên bị loại trừ liên hệ khơng liên quan đến hệ thống Có liên hệ tạo nhằm mục đích tăng hiệu Những liên hệ ví dụ tiêu tiểu chi tiết thực thi không liên quan tới giai đoạn Cần ý phân biệt hành động mối liên hệ Người ta thường có xu hướng miêu tả hành động liên hệ, liên hệ lẫn hành động dẫn xuất từ cụm từ mang tính động từ miêu tả yêu cầu Các hành động thể sai thành liên hệ cần phải loại bỏ Khi làm việc này, áp dụng nguyên tắc: liên hệ nối kết mang tính tĩnh đối tượng, hành động thao tác xảy lần Hành động nên coi Phương thức đối tượng khơng phải quan hệ lớp Ví dụ với "Ban quản trị nhà băng đuổi việc nhân viên", động từ “đuổi việc” thể hành động Trong với “Một nhân viên làm việc cho hãng" động từ “làm việc" miêu tả liên hệ hai lớp nhân viên hãng Trong cố gắng loại bỏ liên hệ dư thừa, bạn thấy có số liên hệ dư thừa "lẻn vào" mơ hình giai đoạn thiết kế Hình sau số loại liên hệ dư thừa cần đặc biệt trọng 87 Hình 4.14- Loại bỏ liên hệ không cần thiết 6- Nâng cấp mối liên hệ: Một mối liên hệ cần thiết nhận dạng, bước ngiên cứu kỹ mơ hình nâng cấp mối liên hệ Động tác nâng cấp xem xét lại tên liên hệ, tên vai trò, đặt lại cho với chất quan hệ mà chúng thể Mỗi liên hệ cần phải suy xét kỹ phương diện số lượng thành phần tham gia (Cardinality) Sự hạn định (Qualification) cho liên hệ đóng vai trò quan trọng đây, bổ sung yếu tố hạn định giúp làm giảm số lượng Nếu cần thiết, bổ sung liên hệ thiếu Nghiên cứu kỹ thuộc tính, xem liệu số chúng có thuộc tính thật thể liên hệ Nếu có, chuyển chúng thành liên hệ Bổ sung thông tin điều kiện cần thiết xem xét mối liên hệ mô hình tổng thể để xác định dạng quan hệ chúng với 6.1- Liên hệ yếu tố hạn định (Qualifier): Một liên hệ hạn định liên hệ hai lớp yếu tố hạn định (Qualifier) với Yếu tố hạn định thuộc tính hạn chế số lượng thành phần tham gia mối liên hệ Có thể hạn định mối liên hệ một-tới nhiều nhiều-tới-nhiều Yếu tố hạn định giúp phân biệt nhóm đối tượng đầu nhiều liên hệ Ví dụ thự mục có nhiều tập tin.Một tập tin thuộc thư mục mà Trong thư mục xác định, tên tập tin xác định tập tin mang tên Thư mục Tập tin hai lớp, tên tậptin đóng vai trị yếu tố hạn định Một thư mục tên tập tin xác định tập tin Yếu tố hạn định chuyển mối liên hệ một-tới-nhiều thành liên hệ một-tới-một 88 Hình 4.15- Liên hệ hạn định 6.2- Liên hệ VÀ (AND Association) Nhà băng đưa quy định: khách hàng muốn mở tài khoản ATM phải chủ nhân tài khoản đầu tư Trong trường hợp thế, mối liên hệ VÀ (AND) thể sau: Hình 4.16- Liên hệ VÀ (AND Association) Biểu đồ cho thấy khách hàng có nhiều tài khoản đầu tư có thời hạn tài khoản ATM Trong biểu đồ có mối liên hệ VÀ ngầm áp dụng nhóm tài khoản đầu tư tài khoản ATM mà khách hàng có 6.3- Liên hệ HOẶC (OR Association) Ví dụ hãng bảo hiểm nọ, cá nhân cơng ty ký hợp đồng bảo hiểm, cá nhân công ty không phép có loại hợp đồng bảo hiểm Trong trường hợp thế, giải pháp sử dụng liên hệ HOẶC (OR Association) Một liên hệ HOẶC hạn chế nhóm hai hay nhiều liên hệ, xác định đối tượng lớp thời điểm tham gia vào nhiều mối liên hệ 89 Hình 4.17- Một liên hệ OR mà biểu thị liên hệ hợp lệ thời điểm 6.4- Liên hệ xếp (Ordered Association) Các mối nối kết (link) đối tượng có trật tự ngầm định Giá trị mặc định trật tự ngẫu nhiên Một liên hệ có trật tự rõ ràng hiểu liên hệ với trật tự xếp (sort order) nhóm nối kết, thể sau: Hình 4.18- Tài khoản tiết kiệm xếp theo khách hàng Nhãn {ordered} ghi gần lớp có đối tượng xếp Biểu đồ đọc tài khoản tiết kiệm xếp theo khách hàng 6.5- Liên hệ tam nguyên (Ternary Association) Có thể có nhiều hai lớp nối kết với liên hệ tam nguyên 90 Hình 4.19- Liên hệ Tam nguyên Biểu đồ đọc sau: Một khách hàng quan hệ với phận đầu tư phận đầu tư có nhiều khách hàng Một giấy chứng nhận tài khoản đầu tư xuất qua quan hệ khách hàng phận đầu tư 6.6- Lớp liên hệ (Association Class) Một lớp đính kèm theo liên hệ, trường hợp gọi lớp liên hệ Một lớp liên hệ không nối tới lớp mối liên hệ, mà tới thân mối liên hệ Cũng giống lớp bình thường, lớp liên hệ có thuộc tính, Phương thức quan hệ khác Lớp liên hệ sử dụng để bổ sung thêm thông tin cho nối kết (link), ví dụ thời điểm nối kết thiết lập Mỗi nối kết liên hệ gắn liền với đối tượng lớp liên hệ Ví dụ sau miêu tả hệ thống thang máy Bộ phận điều khiển huy bốn thang máy Cho nối kết nhóm thang máy phận điều khiển có hàng xếp (queue) Mỗi hàng lưu trữ yều cầu kể từ phía phận điều khiển lẫn từ phía thang máy (những nút bấm bên thang) Khi phận điều khiển chọn thang máy để thực lời yêu cầu đến từ hành khách đứng thang máy (một hành khách hành lang), đọc hàng chọn thang máy có hàng u cầu ngắn 91 Hình 4.20- Lớp liên hệ (Association class) 6.7- Liên hệ đệ quy (Recursive Association) Có thể liên kết lớp với thân mối liên hệ Mối liên hệ thể liên quan ngữ nghĩa, đối tượng nối kết thuộc chung lớp Một liên hệ lớp với thân gọi liên hệ đệ quy, tảng cho nhiều mô hình phức tạp, sử dụng ví dụ để miêu tả cấu trúc sản phẩm Hình 4.21 ví dụ liên hệ đệ quy hình 5.26 biểu đồ đối tượng cho biểu đồ lớp hình 4.21 Hình 4.21- Một mạng gồm nhiều nút nối với Hình 4.22- Một biểu đồ đối tượng hình 4.21, với tên đối tượng Câu hỏi tập: Khi tạo dựng mơ hình, cần sử dụng khái niệm phạm vi vấn đề để mơ hình dễ hiểu dễ giao tiếp Các lớp thể cấu trúc thông tin? Các khái niệm then chốt thường trở thành lớp mơ hình phân tích? 92 Thường danh từ lời phát biểu toán ứng cử viên để chuyển thành lớp đối tượng? Quan hệ kết hợp (Association) lớp định nghĩa mối liên quan tồn đối tượng? Bài tập thực hành : xem phần nội dung thực hành trang 160 93 ... sau: - Phân tích thiết kế hướng đối tượng sử dụng UML - Lập tài liệu phân tích thiết kế - Sử dụng thành thạo phần mềm hỗ trợ thiết kế (Rational Rose) * Về thái độ: - Khả tư logic để phân tích, tổng. .. năng: - - - - - Phân biệt phân tích thiết kế, giải thích tầm quan trọng tiến trình chu trình sống phần mềm, liệt kê ưu việc sử dụng hướng đối tượng, mô tả vai trị UML phân tích thiết kế, liệt... dụng hướng đối tượng Mơ tả vai trị UML phân tích thiết kế Liệt kê giai đoạn thành phần tiến trình tiến trình Objectory Nội dung chính: I Giới thiệu OOAD UML Phân tích thiết kế hướng đối tượng Hướng

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

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w