Bài giảng Phân tích và thiết kế hệ thống - Chương 10: Thiết kế sơ đồ lớp
Sơ đồ lớp
■ Biểu đồ lớp mô tả kiểu của các đối tượng trong hệ thống và các loại quan hệ khác nhau tồn tại giữa chúng
■ Là một kỹ thuật mô hình hóa tồn tại ở tất cả các phương pháp phát triển hướng đối tượng
■ Biểu đồ hay dùng nhất trong UML.
A A
Các phân tử của sơ đô lớp
■ Lớp
■ Thuộc tính
■ Phương thức
■ Quan hệ
□ Liên kết (Associations)
□ Tổng quát hóa (Generalization)
□ Phụ thuộc (Dependency)
□ Thực hiện (Realization)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích và thiết kế hệ thống - Chương 10: Thiết kế sơ đồ lớp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Phân tích và thiết kế hệ thống - Chương 10: Thiết kế sơ đồ lớp
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CôNg nghệ THÔnG tin Chương X TKẾ SO®Ò Mục đích Cách 1: Xây dựng lớp lĩnh vực mà không xem tới ứng dụng Trên một lĩnh vực có thể có nhiều ứng dụng Ví dụ ■ Hàng không (quản lý bay, quản lý tiếp đất, quản lý ngoại hối..) Phát hiện ra tính đặc thù của mỗi ứng dụng cụ thể Kết quả: Biểu đồ lớp cho mỗi ca sử dụng ilftxnan#1 Sơ đồ lớp Biểu đồ lớp mô tả kiểu của các đối tượng trong hệ thống và các loại quan hệ khác nhau tồn tại giữa chúng Là một kỹ thuật mô hình hóa tồn tại ở tất cả các phương pháp phát triển hướng đối tượng Biểu đồ hay dùng nhất trong UML. A A Các phân tử của sơ đô lớp ■ Lớp Thuộc tính Phương thức Quan hệ Liên kết (Associations) Tổng quát hóa (Generalization) Phụ thuộc (Dependency) Thực hiện (Realization) Các luật ràng buộc và ghi chú F Phát hiện các đôi tượng/Lớp Dầu vào: Biểu đồ ca sử dụng và biếu đồ lớp lĩnh vực Đầu ra: Biểu đồ lớp của từng ca sử dụng Có 3 loại lớp tham gia ca sử dụng: Lớp biên (boundary) hay lớp đối thoại: Lớp điều khiển (control) Lớp thực thể (entity) là lớp nghiệp vụ Boundaryclass Controlclass Entityclass class ■ Boundary (Lớp biên) Dành cho lớp nằm trên biên hệ thống với thế giới còn lại Chúng có thể là form, report, giao diện với phần cứng như máy in, scanner... Khảo sát biểu đồ uc để tìm kiếm lớp biên Entity (lớp thực thể) Control (Lớp điều khiển) oundary Entity Lớp thực thể là lớp lưti trữ thông tin sẽ ghi vào bộ nhớ ngoài Tìm chúng trong luồng sự kiện và biểu đồ tương tác Thông thường phải tạo ra bâng CSDL cho lớp loại này ■ Mỗi thuộc tính của lớp thực thể sẽ là trường trong bảng CSDL Control có trách nhiệm điều phối hoạt động của các lớp khác Thông thường mỗi uc có một lớp điều khiển Nó không thực hiện chức năng nghiệp vụ nào Các lớp điều khiển khác: điều khiển sự kiện liên quan đến an ninh và liên quan đến giao dịch CSDL Boundaryclass Entityclass flexpai Người sử dụng tự tạo ra stereotype mới Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy Dựa vào kịch bản đặc tả ta phát hiện các lớp: Lờp Thực thể: Lấy từ biểu đồ lớp lĩnh vực: Lớp giảng, môn học, thầy giáo Lờp Biên: w_thầy: Màn hình chính giao tiếp với đối tác thầy giáo ■ W_Lớp giảng và WJJch giảng là các màn hình phụ dùng tương ứng với thêm/bớt lớp giảng và in/xem lịch giảng Lờp điều khiển: QLLỚpthầy > GIÀNG VIÊN Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy CHIA SẺ DQQ CHUYÊN MỤC GIÀNG VIÊN CHUYÊN THANG UU DÀO TẠO 0 THÔNG TIN NHÃN SIT CÔNG ĐOÀN 0 NGHIÊN CỨU KHOA HỌC \ỹỊ XEM LỊCH DẠY \ỹỊ XEM LỊCH COI THI g THỐNG KÉ GIỜ GIẢNG Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy LỊCH GIẢNG DẠY Tìm kiếm theo © Mã giảng viên Tùy chọn Mã nhân sụ* Mật khâu xem lương* (Nềỉt ỉà giảng viên thỉnh giáng thì không cần nhập ĩììật khầu) Học kỳ* - Chọn học kỳ - Xem lịch giảng dạy Thí dụ: Giáo viên chọn môn giảng cho mỗi lớp mà mình dạy STT Lớp học Môn học Thứ Tiết dạy Phòng học Thời gian dạy 1 Đại học Hệ thống thông tin 10B (Ly thuyết: 45 tiết) Phân tích thiết kế hệ thống Ba 4-5 6 A2.08 Từ: 28-12-2015 Đến: 15-05-2016 2 Đại học Khoa Học Máy tính 9A (Ly thuyết: 45 tiết) Nhập môn an toàn thông tin Ba 7-5 9 X13.03 Từ: 28-12-2015 Đến: 15-05-2016 3 Đại học Khoa học máy tính 10A (Ly thuyết: 45 tiết) Hệ cơ sở dữ liệu Ba 1O-S 12 V14.05 Từ: 28-12-2015 Đến: 15-05-2016 4 Đại học Tin học 11A (Ly thuyết: 3Ó tiết) Nhập môn Tin học 2 Tư 11-5 12 X13.05 Từ: 28-12-2015 Đến: 15-05-2016 5 Đại học Hệ thống thông tin 9A (Ly thuyết: 45 tiết) Bào mật cơ sở dữ liệu Năm 7-5 9 X13.02 Từ: 28-12-2015 Đến: 15-05-2016 6 Đại học Khoa học máy tính 10A (Thực hành: 30 tiết) - Nhóm 1 Hệ cơ sở dữ liệu Năm 10-5 12 H5.2.1 Từ: 11-01-2016 Đến: 15-05-2016 Phát hiện và bổ sung các thuộc tính, thao tác cho từng lớp tham gia các ca sử dụng Lớp thực thể: Tạm thời chỉ có thuộc tính Lớp điều khiển: Chì có các thao tác. Các thao tác này diễn tả logic của ứng dụng, các quy tắc nghiệp vụ, hành vi hệ thống. Lớp biên: có cả thuộc tính và thao tác. Thuộc tính diễn tả các trường thu thập thông tin hay xuất kết quả Các thao tác biểu diễn những hành động mà người dùng thực hiện trên màn hình giao diện Thêm liên kết cho các lớp Lờp biên chỉ được nối với các lóp điều kiển hay với các lờp biên khác Lóp thức thể chỉ được nối với các lởp điều khiển hay lớp thức thể khác. Liên kết với các lớp điều khiển luôn là 1 chiều (từ điều khiển đến thực thể) Lờp điều khiển đươc phép truy cập tới mọi loại lớp bo gồm các lớp điều khiển khác Thêm các đối tác vào biểu đồ theo nguyên tắc: Mỗi đối tác chỉ được nối với một hay một số lớp biên MonHoc W_LapQiang ‘^►hocKy LopGiang ^•ngayTrongTuan tnoiGlan ^layLopGiangO ^►g a n ThayO ■^layUlcnGiang o ♦inLlchGiangQ i^-mon fl^>lopGiang TbayGiao <1 rom u so C-3fi«a Vm»w) I^hoc ham/vi ^Ten Ể^>maSo ^docMonQ ^laytopGlangO ^chonLopGtangO ♦boLopGiangO Một quan hệ ngữ nghĩa giữa hai hoặc nhiều lớp có mối liên hệ với nhau giữa các đối tượng Một quan hệ cấu trúc, đặc tả rằng các đối tượng của một lớp kết nổi với đối tượng của lớp khác hoặc chính lớp đó. Ví dụ: “Một nhân viên làm việc cho một công ty” Một Liên kết giữa các lớp chỉ ra rằng đối tượng ở một đầu của liên kết nhận ra đôi tượng của đầu kia và có thể gửi thông điệp cho nhau Role name Association Student name instructor s ta ffMcmbcr ——— ; 1..* instructs * Multiplicity Navigable (unidirectional) association Role Reflexive association * Courses 0.3 Role name Association Student name instructor s ta ffMcmbcr ——— ; 1..* instructs * Multiplicity Navigable (unidirectional) association Role Reflexive association * Courses 0.3 □ Multiplicity Chỉ có 1 đối tượng 1 0 hoặc nhiều (unlimited) * (0..* 1 hoặc nhiều 1 .* 0 hoặc 1 (optional association) 0..' Khoảng xác định 2..4 Nhiều khoảng 2, 4..6, 8 Phân tích và kiểm định quan hệ ■ Tránh sử dụng quan hệ 1-1 không cần thiết trong biểu đồ lớp Một kiểu đặc biệt của liên kết, dùng để mô hình hóa quan hệ toàn thể - bộ phận giữa một kết tập và bộ phận của nó Car 7 * 1 * “ Door “ House Part Whole ■ Kiểm tra kết tập: Cụm từ “bộ phận của’’ (part of) được sử dụng để mồ tả quari hệ? Cánh cửa là một bộ phận của xe hơi CÓ phải một số hành vi của toàn thể đuợc áp dụng tự động cho bộ phận của nó? Xe hơi di chuyển, cửa di chuyển. CÓ phải một vài giá trị thuộc tính của toàn thẻ kéo theo một số thuộc tính của bộ phận? Xe hơi màu xanh nên cửa màu xanh. Có tồn tại sự không đảo chiều giữa các lớp cho quan hệ kết tập? Cửa là bộ phận của xe hơi. Xe hơi không là bộ phận của cửa. ■ Một dạng đặc trưng của kết tập □Toàn thể là sở hữu duy nhất của bộ phận Số cá thể ở phía lớp toàn thể phải là 0 hoặc 1. Thời gian sống của (lớp) bộ phận phụ thuộc vào (lớp) toàn the. □Toàn thể phải quản lý việc tạo và hủy các bộ phận của nó. Circle ♦ \ / Point Circle Polygon 3..* Point Đối tượng của lớp chuyên biệt (lớp con có thể thay thế bởi các đối tượng của lớp tổng quát (lớp cha). □ Quan hệ “is a Person Super Class Generalization relationship Student Sub Class Lớp con thừa kế lớp cha: □Thuộc tính Phương thức Quan hệ Lớp con có thể □Thêm thuộc tính và phương thức □Thêm quan hệ Ghi đè các phương thức thừa kế ■ Sự phụ thuộc chỉ ra một quan hệ ngữ nghĩa giữa hai hoặc nhiều lớp trong đó sự thay đổi của lớp này bắt buộc sự thay đổi của lớp khác mặc dù giữa chúng không có một sự liên kết rõ ràng Client «fricnd» > Supplier Một quan hệ thực hiện chỉ ra một lớp thực thi hành vi đặc tả bởi một lớp khác (thường là một giao diện) Một giao diện có thể được thực thi bởi nhiều lớp Một lớp có thể thực thi nhiều giao diện LinkcdLìst «iiHcrf'acc» List LinkcdList —o List Các rang buộc và ghi chú Ràng buộc và chú thích các liên kết, thuộc tính, phương thức và các lớp Các ràng buộc là các hạn chế ngữ nghĩa được viết dưới dạng biểu thức Boolean Customer id: long ị value > 0 } * ị total < $50 } Order may be canceled Note Constraint Các giai đoạn của mô hình hóa đôi tượng Tìm kiếm các lớp Xác định liên kết giữa các lớp Xác định các thuộc tính Tổ chức và đơn giản hóa các lớp bằng cách sử dụng quan hệ thưa kế Xóa các liên kết thừa Kiểm tra xem biểu đò đã bao gồm tất cả các yêu cầu của tài liệu hay chưa? Lặp lại và làm mịn mô hình Nhóm các lớp thành các modules (gói) Người quản lý thư viện mong muốn tự động hóa việc mượn sách Họ yêu cầu một phần mềm cho phép người sử dụng biết sách hiện có, có thê đặt mượn 2 quyện sách, những người tham gia mượn sách có thể biết sách nào đã mượn hoặc đã đặt Những người tham gia mượn sách sở hữu một password để truy nhạp Việc mượn sách được thực hiện bởi các thủ thư, sau khi xác định người mượn sách, hộ biết được người này có được phép mượn hay không? (tối đa 5 quyên), người nàỹ được ưu tiền? (đã đặt trước) Xác định các liên kêt Library I * employee Librarian contain Participant .♦ 0..2 <] reserved I Book 0..5 <] borrowed 0..* Borrowing Xác định các thuộc tính employee Librarian L.* 0..2 <] reserved 1 1.. Book Participant 0..5 <1 borrowed 1 ID contain Person name addr employee Librarian L.* 0..2 <] reserved 1 1.. Book Participant 0..5 <1 borrowed 1 ID contain Person name addr Câu 1. Xác định quan hệ giữa các lớp: Keyboard, Mouse, Laptop và Desktop. Câu 2. Xác định quan hệ giữa các lớp: Person, StaffMember và Company. Nếu hệ thống có thêm lớp University thì quan hệ này sẽ thay đổi thế nào (StaffMember là bộ phận của Company và cũng là bộ phận của University). Câu 3. Xác định quan hệ giữa các lớp: Car, Door và Truck.
File đính kèm:
- bai_giang_phan_tich_va_thiet_ke_he_thong_chuong_10_thiet_ke.docx
- tran_thi_kim_chi_c010a_bieudolop1_1299_543015.pdf