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

Giáo trình UML (Nghề: Lập trình máy tính - Trình độ Cao đẳng): Phần 2 - Trường Cao đẳng Nghề An Giang

55 3 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 UML gồm 4 chương, với các nội dung chính như sau: UML và Công cụ phát triển hệ thống; Phân tích hướng đối tượng; Thiết kế hướng đối tượng. Mời các bạn cùng tham khảo nội dung phần 2 giáo trình.

CHƢƠNG 3: PHÂN TÍCH HƢỚNG ĐỐI TƢỢNG Giới thiệu: Chƣơng trình bày bƣớc phân tích hƣớng đối tƣợng, khái niệm quy tắc liên quan đến trình phân tích hệ thống Nội dung cụ thể gồm: - Tổng quan bƣớc pha phân tích hƣớng đối tƣợng - Bƣớc xây dựng mơ hình usecase kịch - Bƣớc xây dựng mơ hình lớp - Bƣớc xây dựng mơ hình động dựa biểu đồ trạng thái Mục tiêu: - Giải thích đƣợc khái niệm usecase, actor - Minh họa usecase actor mơ hình usecase sử dụng ký pháp UML - Giải thích việc phát sinh luồng kiện từ usecase - 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ơ đồ usercase, sơ đồ lớp UML Nội dung chính: I TỔNG QUAN VỀ PHÂN TÍCH HƢỚNG ĐỐI TƢỢNG Vai trị pha phân tích Trong bƣớc vịng đời phát triển phần mềm nói chung, pha phân tích (hay đặc tả) có nhiệm vụ sau: - Thiết lập cách nhìn tổng quan rõ ràng hệ thống mục đích hệ thống cần xây dựng - Liệt kê nhiệm vụ mà hệ thống cần thực - Phát triển từ vựng để mơ tả tốn nhƣ vấn đề liên quan miền quan tâm toán - Đƣa hƣớng giải toán 47 Nhƣ vậy, pha phân tích dừng lại mức xác định đặc trƣng mà hệ thống cần phải xây dựng gì, khái niệm liên quan tìm hƣớng giải tốn chƣa quan tâm đến cách thức thực xây dựng hệ thống nhƣ Nhƣ cách nói ngơn ngữ tiếng Anh, pha phân tích nhằm trả lời cho câu hỏi “what”, câu hỏi “how” đƣợc trả lời pha thiết kế Các bƣớc phân tích hƣớng đối tƣợng Phân tích hƣớng đối tƣợng đƣợc chia làm ba bƣớc tƣơng ứng với ba dạng mơ hình UML là: • Mơ hình usecase: bƣớc nhằm xây dựng mơ hình chức sản phẩm phần mềm Các chức đƣợc nhìn từ quan điểm ngƣời sử dụng hệ thống Kết bƣớc biểu đồ usecase đƣợc phân cấp scenario tƣơng ứng usecase, biểu diễn đầy đủ chức hệ thống đƣợc khách hàng chấp nhận • Mơ hình lớp: biểu diễn lớp, thuộc tính mối quan hệ lớp Từ tập usecase scenario, nhóm phát triển hệ thống phải lớp, xác định thuộc tính, phƣơng thức mối quan hệ lớp • Mơ hình động: biểu diễn hoạt động liên quan đến lớp hay lớp Các hoạt động đƣợc biểu diễn dƣới dạng tƣơng tự nhƣ sơ đồ máy trạng thái hữu hạn đƣợc gọi biểu đồ trạng thái Ngoài biểu đồ trạng thái, mơ hình động cịn có biểu đồ khác là: biểu đồ tƣơng tác (gồm biểu đồ tuần tự, biểu đồ cộng tác) biểu đồ động Tuy nhiên, pha phân tích, ngƣời phát triển hệ thống quan tâm đến biểu đồ trạng thái cho lớp xác định đƣợc mơ hình lớp Ví dụ Để minh họa cho bƣớc phân tích nhƣ pha thiết kế Chƣơng 4, xét hệ quản lý thư viện đơn giản Giới hạn hệ thống đƣợc thể qua yêu cầu sau: Tài liệu thƣ viện bao gồm: sách, báo, tạp chí đƣợc mơ tả chung gồm thuộc tính: tên tài liệu, tác giả, nhà xuất bản, năm xuất bản, số lƣợng có 48 Đối với bạn đọc: thực thao tác tìm tài liệu, mƣợn, trả tài liệu xem xét thông tin tài liệu mà mƣợn Việc tìm kiếm tài liệu đƣợc thực trực tiếp qua mạng Tuy nhiên, giao dịch mƣợn trả sách phải thực trực tiếp thƣ viện Quá trình mƣợn trả tài liệu thông qua thẻ mượn ghi đầy đủ nội dung liên quan đến bạn đọc tài liệu đƣợc mƣợn; thời gian bắt đầu mƣợn thời hạn phải trả Đối với ngƣời quản lý thƣ viện (thủ thƣ): đƣợc phép cập nhật thông tin liên quan đến tài liệu bạn đọc Bài toán đƣợc sử dụng làm ví dụ q trình thực bƣớc phân tích thiết kế hệ thống (Chƣơng 3, 4) - II MƠ HÌNH USECASE VÀ KỊCH BẢN Vai trị mơ hình usecase Khi bắt đầu xây dựng sản phẩm phần mềm, nhóm phát triển phải xác định chức mà hệ thống cần phải thực Biểu đồ usecase đƣợc sử dụng để xác định chức nhƣ tác nhân (ngƣời sử dụng hay hệ thống khác) liên quan đến hệ thống Có thể coi usecase tập hợp loạt kịch (scenario) liên quan đến việc sử dụng hệ thống theo cách thức Mỗi kịch (scenario) mơ tả chuỗi kiện mà ngƣời hay hệ thống khác kích hoạt vào hệ thống phát triển theo thời gian Những thực thể tạo nên chuỗi kiện nhƣ đƣợc gọi tác nhân (Actor) Một hệ thống bao gồm nhiều usecase, liên kết với mối quan hệ Biểu đồ usecase đƣợc phân rã thành mức tƣơng ứng với chức cấp độ khác nhau, nhìn từ quan điểm ngƣời sử dụng hệ thống Sự cần thiết phải xây dựng biểu đồ usecase thể qua số điểm sau: - Usecase công cụ tốt để ngƣời dùng tiếp cận mô tả chức hệ thống theo quan điểm Biểu đồ usecase đƣợc biểu diễn trực quan, khách hàng ngƣời dùng tiềm hệ thống dễ dàng mơ tả đƣợc ý định thực 49 - Biểu đồ usecase làm cho khách hàng ngƣời dùng tiềm tham gia nhóm phát triển bƣớc khởi đầu q trình phân tích thiết kế hệ thống Điều giúp cho nhóm phát triển khách hàng có đƣợc thống chung chức thực cần thiết hệ thống - Biểu đồ usecase sở cho bƣớc q trình phân tích thiết kế hệ thống phần mềm Dựa biểu đồ usecase scenario, ngƣời phát triển hệ thống lớp cần thiết nhƣ thuộc tính lớp Các mục tiêu cần đạt đƣợc usecase là: - Cần mô tả đƣợc yêu cầu mang tính chức hệ thống, kết rút từ thỏa thuận khách hàng (và/hoặc ngƣời sử dụng cuối) nhóm phát triển phần mềm - Đƣa mô tả rõ ràng quán việc hệ thống cần phải làm gì, để mơ hình đƣợc sử dụng qn suốt tồn trình phát triển tạo thành tảng cho việc thiết kế chức sau - Tạo nên tảng cho bƣớc kiểm thử hệ thống, đảm bảo hệ thống thỏa mãn yêu cầu ngƣời sử dụng đƣa Trong thực tế thƣờng để trả lời câu hỏi: Liệu hệ thống cuối có thực chức mà khởi đầu khách hàng đề nghị hay không? - Cung cấp khả theo dõi trình chuyển yêu cầu mặt chức thành lớp cụ thể nhƣ phƣơng thức cụ thể hệ thống - Đơn giản hóa việc thay đổi mở rộng hệ thống qua việc thay đổi mở rộng mơ hình Usecase Khi hệ thống cần thay đổi (thêm bớt chức đó), ngƣời phát triển hệ thống cần bổ sung biểu đồ usecase cho phù hợp, sau theo dõi riêng usecase bị thay đổi ảnh hƣởng chúng thiết kế hệ thống xây dựng hệ thống Những công việc cụ thể cần thiết để tạo nên mơ hình Usecase bao gồm: Xác định tác nhân Usecase Xác định mối quan hệ phân rã biểu đồ usecase Biểu diễn usecase thông qua kịch Kiểm tra hiệu chỉnh mơ hình 50 Nội dung cụ thể thực bƣớc đƣợc trình bày cụ thể phần sau tài liệu Xây dựng biểu đồ usecase Phần trình bày trình xây dựng biểu đồ usecase theo UML áp dụng công cụ Rational Rose Bƣớc 1: Tìm tác nhân usecase Để tìm tác nhân, ngƣời phát triển hệ thống cần trả lời câu hỏi sau: - Ai (hay hệ thống nào) ngƣời sử dụng chức hệ thống? (trả lời câu hỏi ta tìm đƣợc tác nhân chính) - Ai cần hỗ trợ hệ thống để thực công việc hàng ngày họ? - Ai cần bảo trì, quản trị đảm bảo cho hệ thống hoạt động (tác nhân phụ)? - Hệ thống phải xử lý làm việc với trang thiết bị phần cứng nào? - Hệ thống cần phải tƣơng tác với hệ thống khác? Cần phân biệt hệ thống mà chúng cần phải xây dựng với hệ thống tƣơng tác với Nghĩa là, cần xác định rõ biên giới hệ thống yêu cầu xây dựng với hệ thống khác bao gồm hệ thống máy tính nhƣ ứng dụng khác máy tính mà hệ thống hoạt động tƣơng lai - Ai hay quan tâm đến kết mà hệ thống sản sinh ra? Xem xét toán quản lý thƣ viện, chức hệ thống quản lý thƣ viện đƣợc thực thủ thƣ bạn đọc thƣ viện Nhƣ vậy, có hai tác nhân thủ thư bạn đọc, bạn đọc không phân biệt sinh viên hay giáo viên Từ tác nhân tìm đƣợc trên, ngƣời phát triển hệ thống tìm usecase qua việc xem xét câu hỏi sau tác nhân: - Tác nhân cần chức từ hệ thống Hành động tác nhân gì? 51 - Tác nhân cần phải xem, cập nhật hay lƣu trữ thơng tin hệ thống? - Tác nhân có cần thơng báo cho hệ thống kiện hay khơng? Những kiện nhƣ đại diện cho chức nào? - Hệ thống có cần thơng báo cho tác nhân có thay đổi hệ thống hay không? - Hệ thống cần có chức để đơn giản hóa cơng việc tác nhân? Trong tốn quản lý thƣ viện mà xét, tác nhân bạn đọc, cần chức liên quan đến tìm kiếm tài liệu, xem thơng tin cá nhân, đăng ký mƣợn trả sách Còn tác nhân thủ thƣ thực cập nhật thông tin liên quan đến bạn đọc thông tin tài liệu, thực giao dịch mƣợn trả sách Dựa vào đó, ta xác định đƣợc số usecase nhƣ: tìm kiếm tài liệu, cập nhật, cập nhật bạn đọc, cập nhật tài liệu, quán lý mượn sách, quản lý trả sách, xem thơng tin cá nhân Ngồi ra, usecase cịn đƣợc xác định thơng qua câu hỏi khác nhƣ sau: - Ngoài tác nhân, chức hệ thống cị đƣợc sinh kiện khác (nhƣ kiện thời gian, tác động chức khác, …) - Hệ thống cần thông tin đầu vào đầu nào? Trong toán quản lý thƣ viện, để cập nhật đƣợc thông tin, thủ thƣ phải thông qua việc đăng nhập hệ thống Hay nói cách khác, kiện đăng nhập hệ thống điều kiện cho usecase cập nhật Vậy ta cần thêm usecase cập nhật Bƣớc 2: Xác định mối quan hệ phân rã biểu đồ usecase Trong sơ đồ usecase, dạng quan hệ đƣợc sƣ dụng trƣờng hợp tƣơng ứng nhƣ sau: - Quan hệ : sử dụng để usecase đƣợc sử dụng usecase khác - Quan hệ mở rộng : sử dụng để usecase đƣợc mở rộng từ usecase khác cách thêm vào chức cụ thể - Quan hệ generalization: biểu thị usecase tổng qt cịn usecase cụ thể hóa usecase - Quan hệ kết hợp: thƣờng dùng để biểu diễn mối liên hệ actor usecase (một actor kích hoạt usecase) 52 Dựa mối quan hệ trên, biểu đồ usecase đƣợc biểu diễn lại thành dạng phân cấp gọi phân rã biểu đồ usecase Nguyên tắc phân rã biểu đồ usecase nhƣ sau: - Xác định sơ đồ usecase mức tổng quát: từ tập tác nhân usecase đƣợc xác định bƣớc trƣớc, ngƣời phát triển cần tìm chức hệ thống Các chức phải có tính tổng qt, dễ dàng nhìn thấy đƣợc quan điểm tác nhân Các dạng quan hệ thƣờng dùng sơ đồ usecase mức tổng quát quan hệ kết hợp, quan hệ tổng quát hóa quan hệ include Ví dụ tốn quản lý thƣ viện, xét quan điểm tác nhân bạn đọc, thủ thư, tạm thời chƣa xét đến chức mƣợn trả sách chức tổng quát hệ thống là: đăng nhập, cập nhật tìm kiếm Trong usecase này, usecase cập nhật “include” chức usecase tìm kiếm (Hình 3.1) Hình 3.1: Biểu đồ usecase mức tổng quát toán quản lý thƣ viện - Phân rã usecase mức cao: ngƣời phát triển tiến hành phân rã usecase tổng quát thành usecase cụ thể sử dụng quan hệ “extend” Các usecase (mức thấp) đƣợc lựa chọn cách thêm vào usecase cha chức cụ thể thƣờng đƣợc mở rộng dựa sở chuyển tiếp phân rã chức hệ thống Ví dụ, tốn quản lý thƣ viện, usecase cập nhật đƣợc phân rã thành cập nhật bạn đọc cập nhật tài liệu (Hình 3.2) 53 Hình 3.2: Phân rã usecase cập nhật - Tiếp tục phân rã sơ đồ usecase gặp usecase nút Các usecase nút thƣờng gắn với chức cụ thể hệ thống thực tƣơng tác với tác nhân (gửi kết đến tác nhân yêu cầu tác nhân nhập thông tin …) Trong sơ đồ usecase mức 2, cịn có usecase chƣa phải nút cần tiếp tục đƣợc phân rã Trong ví dụ tốn quản lý thƣ viện, usecase cập nhật bạn đọc cập nhật tài liệu tiếp tục phân rã thành usecase thêm bạn đọc, thay đổi thơng tin bạn đọc xóa bạn đọc hay thêm tài liệu, thay đổi thông tin tài liệu xóa tài liệu Các usecase nút biểu diễn chức cụ thể hệ thống có tƣơng tác tác nhân thủ thư hệ thống (Hình 3.3 Hình 3.4) Hình 3.3: Phân rã usecase Cập nhật bạn đọc 54 Hình 3.4: Phân rã usecase cập nhật tài liệu - Hoàn thiện biểu đồ usecase: ngƣời phát triển tiến hành xem xét lại xem tất usecase đƣợc biểu diễn biểu đồ usecase (ở tất mức) hay chƣa Nếu cịn có usecase chƣa có biểu đồ nào, ngƣời phát triển phải xem xét xem chức mà usecase đại diện đƣợc thực usecase khác chƣa để bổ sung thêm loại bỏ usecase khỏi biểu đồ Bƣớc 3: Biểu diễn usecase kịch (scenario) Sau hồn thành phân rã biểu đồ usecase, cơng việc ngƣời phát triển hệ thống biểu diễn scenario tƣơng ứng v ới usecase Các scenario đƣợc biểu diễn theo mẫu chung nhƣ Bảng 3.1 55 Ý nghĩa Tên Usecase: Tên usecase Tác nhân chính: Tác nhân usecase Mức: Mức usecase biểu đồ phân rã Ngƣời chịu trách nhiệm: Ngƣời chịu trách nhiệm hoạt động usecase Tiền điều kiện: Tiền điều kiện: usecase đƣợc kích hoạt Đảm bảo tối thiểu: Đảm bảo tối thiểu: đảm bảo trƣờng hợp usecase thất bại Đảm bảo thành công: Đảm bảo thành công: kết trƣờng hợp usecase hồn thành Kích hoạt: Sự kiện tác động kích hoạt usecase Chuỗi kiện chính: Scenario chuẩn (trong trƣờng hợp thành công) Các scenario ngoại lệ tƣơng ứng với bƣớc Ngoại lệ: 1.a Ngoại lệ xảy bƣớc scenario chuẩn 1.a.1 1.a.2 3.a Ngoại lệ xảy bƣớc 3.a.1 3.a.2 … Bảng 3.1: Mẫu chung cho scenario 56 Hình 4.8: Lựa chọn xây dựng biểu đồ cộng tác cho usecase • Bước 2: Biểu diễn đối tƣợng khơng gian biểu đồ • Bước 3: Biểu diễn message biểu đồ cộng tác Mỗi message kèm theo số thứ tự message III BIỂU ĐỒ LỚP CHI TIẾT Xác định phƣơng thức cho lớp Bƣớc xây dựng biểu đồ lớp chi tiết xác định phƣơng thức cho lớp Dựa biểu đồ tƣơng tác vừa xây dựng, trình xác định phƣơng thức đƣợc thực theo nguyên tắc sau: - Xem xét message biểu đồ tƣơng tác để xác định hành động tƣơng ứng với message thuộc trách nhiệm lớp - Các phƣơng thức cần thiết để chuyển đổi trạng thái biểu đồ trạng thái lớp - Xác định xem với lớp, lớp cần hàm tạo hàm hủy hay không Sau xác định đầy đủ phƣơng thức, công việc phải xác định chi tiết giá trị trả tham số liên quan với phƣơng thức 87 Xác định mối quan hệ lớp Trong bƣớc này, ngƣời phát triển hệ thống phải xác định đầy đủ mối quan hệ lớp vấn đề liên quan đến mối quan hệ Những cơng việc cụ thể phải thực bƣớc là: - Xác định cụ thể dạng quan hệ lớp - Xác định số lƣợng mối quan hệ Bƣớc 1: Xác định cụ thể dạng quan hệ lớp Nhƣ trình bày chƣơng 2, có bốn dạng quan hệ sơ đồ lớp là: quan hệ kế thừa, quan hệ kiểu kết hợp, quan hệ gộp quan hệ phụ thuộc Trong bƣớc này, ngƣời phát triển phải tìm quan hệ lớp xác định cụ thể quan hệ thuộc dạng Nếu nhƣ danh từ giúp tìm lớp động từ scenario giúp tìm quan hệ Các quan hệ đƣợc phân loại dựa nguyên tắc sau: - Hai lớp có mối quan hệ kiểu kết hợp với động từ tƣơng tác lớp biểu thay thế, đại diện, bao hàm, giao tiếp, sở hữu hay yêu cầu thỏa mãn điều kiện - Quan hệ gộp thƣờng đƣợc biểu diễn qua động từ nhƣ: đƣợc tạo thành từ, bao gồm… - Hai lớp có quan hệ kế thừa lớp khái quát hoá (trừu tƣợng hố) lớp - Hai lớp có quan hệ phụ thuộc hoạt động lớp định lớp Trong hệ thống quản lý thƣ viện, mối quan hệ lớp Reader Librarian với lớp Person mối quan hệ kế thừa Quan hệ lớp Reader Book với lớp Borrow_Card quan hệ kết hợp ta biểu diễn mối quan hệ thông qua câu nhƣ: để mượn sách, bạn đọc cần dùng thẻ mượn, thẻ mượn mượn hay nhiều sách Bƣớc 2: Xác định số lƣợng (multiplicities) mối quan hệ Mỗi mối quan hệ sơ đồ lớp có số lƣợng tƣơng ứng đầu lớp Số lƣợng xác định số thể có lớp mối quan hệ với lớp Các kiểu biểu diễn số lƣợng (multiplicities) đƣợc biểu diễn nhƣ Bảng 4.2 88 Ý nghĩa Multiplicities Khơng có Tƣơng tự n m thể có từ n đến m thể * * Không giới hạn số thể lớp (gồm giá trị 0) Có xác thể n Có thể Bảng 4.2: Các kiểu biểu diễn số lƣợng biểu đồ lớp Xem xét sơ đồ lớp phân tích trình bày chƣơng 3, quan hệ lớp Reader lớp Borrow_card, bạn đọc có nhiều thẻ mƣợn khơng có thẻ mƣợn Tuy nhiên, thẻ mƣợn phải tƣơng ứng với bạn đọc Nhƣ vậy, số lƣợng quan hệ là: phía Reader n phía Borrow_card Hồn chỉnh biểu đồ lớp chi tiết Đây bƣớc cuối sơ đồ lớp Trong bƣớc này, ngƣời thiết kế phải thực cơng việc sau: • Bổ sung lớp cịn thiếu Trong pha phân tích, xác định đƣợc lớp thực thể Ở pha thiết kế, cần tiếp tục xác định lớp cịn thiếu để hồn chỉnh sơ đồ lớp Các lớp thiếu thƣờng thuộc dạng sau: - Các lớp biên: lớp liên quan đến giao diện hệ thống, thực nhận thông tin từ ngƣời dùng gửi đến đối tƣợng bên hệ thống Gọi lớp biên lớp phân tách phần bên bên hệ thống Thông thƣờng, form nhận thông tin trở thành lớp nhƣng có trƣờng hợp nhiều form tƣơng tự đƣợc mô tả lớp Các lớp trung gian: hai lớp có quan hệ m…n (nhiều thể lớp tƣơng ứng với nhiều thể lớp kia), ngƣời ta thƣờng sinh thêm lớp trung gian để chuyển quan hệ thành quan hệ dạng n Các lớp đại diện cho thực thể xác định hệ thống nhƣng khơng đại diện cho thực thể xác 89 định Trong trƣờng hợp không đại diện cho thực thể xác định nào, lớp trung gian sinh có tác dụng hỗ trợ cho trình lập trình đƣợc đặt tên theo quy định chung mà nhóm phát triển đƣa - Các lớp trừu tượng: số trƣờng hợp, số lớp có thuộc tính chung phƣơng thức chung Khi đó, để tiện cho cài đặt, ngƣời thiết kế bổ sung thêm lớp trừu tƣợng, tức lớp khơng có đối tƣợng Các lớp trừu tƣợng không đại diện cho thực thể tham gia hoạt động hệ thống, vậy, lớp có dạng đặc biệt: có thuộc tính mà khơng có phƣơng thức, ngƣợc lại, có phƣơng thức mà khơng có thuộc tính - Các lớp điều khiển: Là lớp làm nhiệm vụ điều khiển hoạt động hệ thống ứng với chức định Thông thƣờng, usecase phức tạp phải có lớp điều khiển tƣơng ứng Lớp điều khiển nhận thông tin từ lớp biên (lớp giao diện), gửi yêu cầu đến lớp thực thể để thực thi chức mà đảm nhiệm lại trả kết cho lớp biên • Hiệu chỉnh mơ tả thuộc tính phương thức theo chuẩn ngôn ngữ sử dụng pha cài đặt hệ thống • Kiểm thử tính đắn biểu đồ lớp Ngƣời thiết kế sử dụng số cơng cụ để kiểm tra tính đắn biểu đồ lớp, tiến hành thử sinh khung mã theo ngôn ngữ chọn để kiểm tra xác định lỗi biểu đồ lớp Tuy nhiên, cách giúp tìm lỗi cú pháp Muốn tìm đƣợc lỗi ngữ nghĩa, ngƣời thiết kế phải xem xét lại tất tài liệu biểu đồ usecase, scenario, biểu đồ trạng thái, biểu đồ tƣơng tác biểu đồ động Hình 4.10 mô tả biểu đồ lớp chi tiết cho hệ thống quản lý thƣ viện Trong biểu đồ chƣa xét đến lớp giao diện (lớp biên) chƣa thể đặc tả đầy đủ phƣơng thức thuộc tính So với sơ đồ lớp phân tích, sơ đồ lớp thiết kế bổ sung thêm nhiều thuộc tính để chi tiết hố đối tƣợng 90 Sau có sơ đồ lớp nhƣ trên, ngƣời thiết kế cần tiếp tục mở rộng sơ đồ lớp, bổ sung lớp biên lớp trung gian cho phù hợp với ngôn ngữ môi trƣờng lập trình III THIẾT KẾ CHI TIẾT Sau hoàn thành biểu đồ lớp, bƣớc thiết kế chi tiết bƣớc gần gũi với lập trình cài dặt hệ thống Nhiệm vụ thiết kế chi tiết là: • Xây dựng biểu đồ hoạt động để mô tả chi tiết phƣơng thức phức tạp biểu đồ lớp Biểu đồ động sở để ngƣời lập trình cài đặt xác phƣơng thức • Xây dựng bảng thiết kế chi tiết Công việc thƣờng gắn liền với trình lập kế hoạch phân cơng cơng việc q trình cài đặt hệ thống 91 Bảng thiết kế chi tiết lớp ngồi việc biểu diễn thơng tin tên lớp, thuộc tính phƣơng thức, tham số, kiểu giá trị trả về,còn cần rõ ngƣời chịu trách nhiệm cài đặt lớp (hay modul) thông tin thời gian yêu cầu Hai nhiệm vụ đƣợc trình bày chi tiết hai phần tài liệu Xây dựng biểu đồ hoạt động cho phƣơng thức Biểu đồ hoạt động đƣợc sử dụng cho nhiều mục đích khác nhau, ví dụ nhƣ: • Để xác định hành động phải thực phạm vi phƣơng thức Đây vai trò thƣờng gặp quan trọng biểu đồ hoạt động • Để xác định công việc cụ thể đối tƣợng • Để nhóm hành động liên quan đƣợc thực nhƣ chúng ảnh hƣởng đến đối tƣợng nằm xung quanh Có thể xem biểu đồ hoạt động loại sơ đồ khối (Flow chart) miêu tả thuật toán Điểm khác biệt sơ đồ khối bình thƣờng đƣợc áp dụng q trình tuần tự, cịn biểu đồ hoạt động xử lý các q trình song song Các phần tử mơ hình UML cho biểu đồ hoạt động bao gồm: • Hoạt động (Activity): quy trình đƣợc định nghĩa rõ ràng, đƣợc thực hàm nhóm đối tƣợng Hoạt động đƣợc thể hình chữ nhật bo trịn cạnh • Thanh đồng hóa (Synchronisation bar): chúng cho phép ta mở đóng lại nhánh chạy song song nội tiến trình Hình 4.10: Thanh đồng hố biểu đồ động • Điều kiện (Guard Condition): biểu thức logic có giá trị hoặc sai Điều kiện đƣợc thể ngoặc vng, ví dụ: [Customer existing] • Các luồng (swimlane): Mỗi biểu đồ động biểu diễn phối hợp hoạt động nhiều lớp khác Khi lớp đƣợc phân tách luồng (swimlane) riêng biệt Các luồng đƣợc biểu diễn đơn giản ô khác biểu đồ 92 Hình 4.11 mơ tả biểu đồ hoạt động cho phƣơng thức mƣợn sách lớp Borrow_card Trong biểu đồ này, ta thấy có hai đồng hóa tƣơng ứng với trạng thái chờ biểu đồ trạng thái Ở đây, đồng thứ chờ kết kiểm tra thông tin ngƣời dùng nhập vào, thứ hai chờ kết kiểm tra liên quan đến điều kiện để mƣợn sách Hình 4.11: Biểu đồ hoạt động cho phƣơng thức Mƣợn sách lớp Thẻ mƣợn Vấn đề quan trọng lại việc xây dựng biểu đồ hoạt động xác định phƣơng thức cần xây dựng biểu đồ hoạt động? Ngƣời thiết kế cần xây dựng biểu đồ hoạt động cho phƣơng thức phức tạp có vai trị định tới 93 hoạt động hệ thống Việc đánh giá phƣơng thức có phức tạp hay khơng dựa theo tiêu chí sau: - Phƣơng thức có cần xây dựng theo thuật tốn phức tạp hay khơng? - Phƣơng thức có tham chiếu tới nhiều phƣơng thức lớp khác q trình hoạt động hay khơng ngƣợc lại kết phƣơng thức có ảnh hƣởng đến nhiều lớp khác hay không - Kết phƣơng thức có định chức (usecase) cụ thể hệ thống hay không Xây dựng bảng thiết kế chi tiết Bảng thiết kế chi tiết đƣợc thiết kế riêng cho lớp Mỗi nhóm phát triển có bảng thiết kế với cấu trúc riêng Dƣới mẫu bảng thiết kế tham khảo Tên lớp Ngƣời thiết kế Ngƣời cài đặt Thời gian Tên thuộc tính Mơ tả Kiểu Phạm vi Mô tả Giá trị trả Phạm vi Thuoc_tinh_1 Thuoc_tinh_2 Tên phƣơng thức Phuong_thuc_1 Phuong_thuc_2 Đoạn khung mã cho lớp Bảng 4.3: Mẫu bảng thiết kế chi tiết lớp 94 IV BIỂU ĐỒ THÀNH PHẦN VÀ BIỂU ĐỒ TRIỂN KHAI Sau hoàn thành biểu đồ lớp chi tiết thiết kế chi tiết sử dụng biểu đồ hoạt động, bƣớc ngƣơi thiết kế cần xác định rõ mơ hình triển khai hệ thống tiến hành phát sinh khung mã để chuyển sang pha cài đặt Nội dung bƣớc gồm hoạt động sau: • Xây dựng biểu đồ thành phần • Xây dựng biểu đồ triển khai • Phát sinh mã cho hệ thống Xây dựng biểu đồ thành phần Mơ hình thành phần đƣợc sử dụng để biểu diễn thành phần phần mềm cấu thành nên hệ thống Một hệ phần mềm đƣợc xây dựng từ đầu sử dụng mơ hình lớp nhƣ trình bày phần trƣớc tài liệu, đƣợc tạo nên từ thành phần sẵn có Mỗi thành phần coi nhƣ phần mềm nhỏ hơn, cung cấp khối dạng hộp đen q trình xây dựng phần mềm lớn Nói cách khác, thành phần gói đƣợc xây dựng cho q trình triển khai hệ thống Các thành phần gói mức cao nhƣ JavaBean, gói thƣ viện liên kết động dll, phần mềm nhỏ đƣợc tạo từ thành phần nhỏ nhƣ lớp thƣ viện chức Hình 4.12 thành phần có mặt hệ quản lý thƣ viện Hệ thống cần quản lý thông tin liên quan đến sách bạn đọc có hai thành phần thực công việc (Quản lý sách Quản lý bạn đọc) Các thành phần quản lý thao tác CSDL hệ thống nên có thành phần cài đặt CSDL Ngoài hệ thống cần thành phần giao tiếp với ngƣời dùng gồm Giao diện bạn đọc Giao diện thử thư đƣợc cài đặt riêng máy client Thông thƣờng, biểu đồ thành phần thƣờng kết hợp với biểu đồ triển khai để trở thành biểu đồ vật lý chung hệ thống 95 Hình 4.12: Các thành phần c hệ thống quản lý thƣ viện Xây dựng biểu đồ triển khai Biểu đồ triển khai biểu diễn nodes mối quan hệ chúng Thông thƣờng, nodes đƣợc kết nối với thông qua liên kết truyền thông (communication association) nhƣ kết nối mạng, liên kết TCP-IP, microwave… Mối quan hệ node biểu đồ triển khai đƣợc biểu diễn thông qua liên kết truyền thông đƣợc đánh số theo thứ tự thời gian tƣơng tự nhƣ biểu đồ cộng tác (collaboration diagram) Chú ý message truyền thơng truyền node luồng thông tin xác định đối tƣợng rời rạc, ví dụ nhƣ file, thơng tin u cầu… Hình 4.14 biểu diễn biểu đồ triển khai cho hệ quản lý thƣ viện Biểu đồ cho biết hệ thống đƣợc cài đặt ba dạng máy tính khác nhau: máy client dành cho thủ thƣ cài đặt thành phần giao diện thủ thư, quản lý sách, quản lý bạn đọc; máy client dành cho bạn đọc cài giao diện bạn đọc; CSDL thành phần điều khiển CSDL đƣợc cài server chung gọi Server 96 Hình 4.13: Biểu đồ triển khai cho hệ quản lý thƣ viện Các dạng liên kết truyền thơng có biểu đồ triển khai là: - TCP/IP: sử dụng giao thức TCP/IP để liên kết Thông thƣờng ứng dụng dựa Web - SNA: ứng dụng dựa Web nhƣng sử dụng giao thức SNA - Microwave: sử dụng liên kết sóng vơ tuyến tần số cao - Hồng ngoại: sử dụng liên kết hồng ngoại - Giao thức không dây: liên kết sử dụng dạng giao thức khơng dây khác Trong ví dụ Hình 4.13, liên kết đƣợc thực giao thức TCP/IP thông qua kết nối mạng Internet kết nối mạng LAN nội Ngoài liên kết truyền thơng thơng thƣờng, node cịn có mối quan hệ dạng phụ thuộc Mối quan hệ phụ thuộc đƣợc biểu diễn mũi tên đứt nét với kiểu dạng phụ thuộc hai node (hoặc hai thành phần) Kết biểu đồ triển khai kết hợp với biểu đồ thành phần mơ hình triển khai hệ thống đầy đủ với node, liên kết node thành phần bên node Mơ hình đƣợc gọi chung mơ hình vật lý (physical model) hệ thống sở để cài đặt, tích hợp hệ thống nhƣ triển khai hệ thống tới ngƣời sử dụng Biểu diễn biểu đồ thành phần biểu đồ triển khai Rational Rose Biểu đồ thành phần đƣợc xây dựng Component View để biểu diễn thành phần hệ thống 97 Các bước xây dựng biểu đồ thành phần Rational Rose: • B1 Thêm thành phần: lựa chọn công cụ thành phần hộp công cụ kéo vào biểu đồ • B2 Đặc tả thành phần (thơng thƣờng mơ tả tên) • B3 Biểu diễn quan hệ thành phần (nếu có) • B4 Bổ sung thành phần (nếu có) Một biểu đồ thành phần ví dụ cửa sổ đặc tả thành phần đƣợc biểu diễn nhƣ Hình 4.14 Hình 4.14: Xây dựng biểu đồ thành phần Biểu đồ triển khai đƣợc xây dựng Deployment View Các cơng cụ để xây dựng biểu đồ triển khai Rational Rose Processcor, Device Connection 98 Các bước xây dựng biểu đồ triển khai Rational Rose: • B1 Thêm Processor: lựa chọn công cụ processor hộp cơng cụ kéo vào biểu đồ • B2 Thêm Device: lựa chọn công cụ Device hộp cơng cụ kéo vào biểu đồ • B3 Biểu diễn quan hệ: lựa chọn công cụ protocol kéo processor hay device tƣơng ứng Hình 4.15: Xây dựng biểu đồ triển khai Hình 4.15 biểu diễn sơ đồ triển khai đơn diện cho máy tính có cài đặt hệ dịch vụ thƣ đƣợc cài đặt Library Server, phần giao Student PC giao diện với thủ thƣ cài giản có ba Processor đại diện Các thành phần server diện với bạn đọc cài đặt đặt Librarian PC TỔNG KẾT CHƢƠNG Chƣơng trình bày bƣớc pha thiết kế hƣớng đối tƣợng Các nội dung cần nắm vững gồm: 99 • Pha thiết kế hƣớng đối tƣợng gồm bƣớc: xây dựng biểu đồ tƣơng tác, xây dựng biểu đồ lớp chi tiết, thiết kế chi tiết xây dựng biểu đồ thành phần biểu đồ triển khai • Trong bƣớc xây dựng biểu đồ tƣơng tác, ngƣời thiết kế biểu diễn lại usecase ứng với đối tƣợng lớp xác định pha phân tích Có hai dạng biểu đồ tƣơng tác là: biểu đồ (nhấn mạnh đến thứ tự thời gian message) biểu đồ cộng tác (nhấn mạnh đến vai trị đối tƣợng tƣơng tác) • Bƣớc xây dựng biểu đồ lớp chi tiết thực bổ sung lớp thiết kế (lớ biên, lớp trung gian, lớp điều khiển …); xác định mô tả chi tiết phƣơng thức; biểu diễn quan hệ lớp Kết bƣớc biểu đồ lớp thiết kế hồn chỉnh • Bƣớc thiết kế chi tiết tiến hành xây dựng biểu đồ hoạt động để biểu diễn phƣơng thức phức tạp hoạt động phối hợp nhiều đối tƣợng thuộc nhiều lớp khác Tiếp theo, bƣớc thiết kế chi tiết xây dựng bảng thiết kế chi tiết để phân cơng trách nhiệm cho thành viên nhóm phát triển • Bƣớc xây dựng biểu đồ triển khai hệ thống tiến hành xác định thành phần, giao thức mạng; quan tâm đến ngơn ngữ lập trình mơi trƣờng ứng dụng để xác định mơ hình kiến trúc triển khai hệ thống Tài liệu đƣa gợi ý, hƣớng dẫn ý cho bƣớc thiết kế hƣớng đối tƣợng CÂU HỎI – BÀI TẬP Phân biệt khác biểu đồ trạng thái cho usecase biểu đồ trạng thái hệ thống Biểu đồ tƣơng tác dùng đề làm Phân biệt hai kiểu biểu đồ tƣơng tác: biểu đồ biểu đồ cộng tác Một liên kết biểu đồ cộng tác biểu diễn ? Biểu đồ hoạt động dùng để làm ? Một hoạt động biểu đồ hoạt động mơ tả Một chuyển tiếp biểu đồ hoạt động biểu diễn gì? Phân biệt kiểu lớp: lớp thực thể, lớp biên, lớp điều khiển, lớp trừu tƣợng? 100 TÀI LIỆU THAM KHẢO “Phân tích & thiết kế Hệ thống thơng tin”, Trần Đình Quế - Nguyễn Mạnh Sơn, Học viện cơng nghệ bƣu viễn thơng, 2007 “Phát triển hệ thống hƣớng đối tƣợng với UML 2.0 C++”, Nguyễn Văn Ba, Nhà xuất Đại học Quốc gia Hà Nội, 2005 “Bài giảng Phân tích thiết kế hƣớng đối tƣợng sử dụng UML”, Dƣơng Anh Đức, Đại học KHTN - Đại học Quốc gia TP HCM, 9-2000 “Phân tích thiết kế hƣớng đối tƣợng UML”, Đặng Văn Đức, Nhà xuất Giáo dục – 2001 “UML Notion Guide”, online at http://etna.intevry.fr/COURS/UML/notation/index.html 101 ... 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 tích thao tác thuộc tính lớp - Mơ tả mục đích... hộp đen trình xây dựng phần mềm lớn Nói cách khác, thành phần gói đƣợc xây dựng cho trình triển khai hệ thống Các thành phần gói mức cao nhƣ JavaBean, gói thƣ viện liên kết động dll, phần mềm... gồm: - Tổng quan thiết kế hƣớng đối tƣợng - Xây dựng biểu đồ tƣơng tác - Xây dựng biểu đồ lớp chi tiết - Xây dựng biểu đồ thành phần biểu đồ triển khai Mục tiêu: - Phân tích tƣơng tác đối tƣợng -

Ngày đăng: 31/08/2022, 11:29

Xem thêm: