Phân tích thiết kế hướng đối tượng (phần 5) pot

3 223 0
Phân tích thiết kế hướng đối tượng (phần 5) pot

Đang tải... (xem toàn văn)

Thông tin tài liệu

Created by Trang Hồng Sơn - 1 - Domain Model 1. Tổng quan: - Domain Model: + Biểu diễn một cách trực quan các lớp (mức quan niệm, chỉ có thuộc tính, ko có phương thức) hoặc các ñối tượng (thế giới thực, hay còn gọi là các thực thể) trong phạm vi bài toán (problem domain). + Mô tả hướng nhìn tĩnh của một hệ thống bằng các khái niệm lớp và mối liên hệ giữa chúng với nhau. + Mục ñích là tạo nền tảng cho các biểu ñồ khác, thể hiện các khía cạnh khác của hệ thống (ví dụ như trạng thái của ñối tượng hay cộng tác ñộng giữa các ñối tượng, ñược chỉ ra trong các biểu ñồ ñộng). - Cung cấp 3 thông tin: + Các lớp (Conceptual classes hoặc Domain objects). + Các mối liên hệ giữa các lớp. + Các thuộc tính của các lớp. Register Item Store address name Sale date time Payment amount Sales LineItem quantity Stocked-in * Houses 1 * Contained-in 1 * Records-sale-of 0 1 Paid-by 1 1 1 1 1 1 0 1 1 Captured-on 4 concept or domain object association attributes 2. Các bước xây dựng: 2.1. Xác ñịnh các lớp: - Nghiên cứu kỹ tất cả các use case và scenario ñể tìm ra các danh từ có vai trò nào ñó trong các scenario  Các danh từ này sẽ trở thành các lớp ứng cử viên. - Loại bỏ các lớp ứng cử viên không thích hợp: + Lớp dư thừa: do có hai hay nhiều danh từ cùng chỉ một thực thể nên ta chỉ cần giữ lại một từ duy nhất và loại bỏ các từ khác. + Danh từ không thích hợp: ñó là các danh từ không liên quan ñến phạm vi của bài toán. + Danh từ mô tả những lớp không rõ ràng: ñó là các danh từ hoặc không biểu diễn một thực thể cụ thể hoặc các khái niệm không rõ nghĩa. + Các danh từ chỉ là một vai trò (role) trong mối liên hệ với một lớp khác. Created by Trang Hồng Sơn - 2 - + Các danh từ biểu diễn các công cụ xây dựng phần mềm hoặc các thuật ngữ trong lập trình hay thuật toán (ví dụ stack, list, array, …). 2.2. Xác ñịnh các mối liên hệ giữa các lớp: - Liên hệ là một sự nối kết giữa các lớp, một liên quan về ngữ nghĩa giữa các ñối tượng của các lớp tham gia. Liên hệ thường thường mang tính hai chiều, có nghĩa khi một ñối tượng này có liên hệ với một ñối tượng khác thì cả hai ñối tượng này nhận thấy nhau. - Các loại liên hệ: zero or more; "many" one or more one to 40 exactly 5 T T T T * 1 * 1 40 5 T 3, 5, 8 exactly 3, 5, or 8 2.3. Xác ñịnh các thuộc tính của các lớp: - Dựa trên tập các lớp ñã ñược xác ñịnh, tiếp tục nghiên cứu kỹ các use case và scenario và trả lời các câu hỏi sau: + Với mỗi lớp, những danh từ nào mô tả thông tin của lớp ñó  tìm ra các thuộc tính. + Những thông tin nào của lớp thực sự liên quan ñến lĩnh vực quan tâm của hệ thống  loại bỏ các thuộc tính không cần thiết. + Những thông tin nào là thông tin riêng của lớp (các thuộc tính private), những thông tin nào có thể chia sẻ trong mối liên hệ với lớp khác (các thuộc tính protected hoặc public). 3. Case study “Hệ thống thư viện ñiện tử”: 3.1. Xác ñịnh các lớp: - Các lớp ứng viên: bạn ñọc, tên bạn ñọc, ñịa chỉ bạn ñọc, thủ thư, username, password, thẻ mượn, sách, ngày mượn sách, ngày trả sách, số lượng sách, … - Sau khi loại bỏ các lớp ứng viên không thích hợp, còn lại các lớp: bạn ñọc, thủ thư, sách, thẻ mượn. 3.2. Xác ñịnh mối liên hệ giữa các lớp: - 1 bạn ñọc có 1 thẻ mượn (1 thẻ mượn thuộc về 1 bạn ñọc). - 1 thẻ mượn mượn ñược nhiều sách. - 1 thủ thư ghi thông tin lên nhiều thẻ mượn. 3.3. Xác ñịnh thuộc tính các lớp: - Bạn ñọc: maBandoc, tenBandoc, diachiBandoc, … - Thủ thư: maThuthu, tenThuthu, matkhau, … Created by Trang Hồng Sơn - 3 - - Sách: maSach, tenSach, tacGia, nhaXB, namXB, mota, soluong, … - Thẻ mượn: maThemuon, maBandoc, maThuthu, dsMasach, ngaytraDukien, ngaytraThucthe, tinhtrang, … Bandoc maBandoc tenBandoc diachiBandoc Thuthu maThuthu tenThuthu matkhau Sach maSach tenSach tacGia nhaXB namXB mota soluong Themuon maThemuon maBandoc maThuthu dsMasach ngaytraDukien ngaytraThucte tinhtrang 1 1 1 1 0 n 1 0 n 1 1 n1 1 n1 . nối kết giữa các lớp, một liên quan về ngữ nghĩa giữa các ñối tượng của các lớp tham gia. Liên hệ thường thường mang tính hai chiều, có nghĩa khi một ñối tượng này có liên hệ với một ñối tượng. khác, thể hiện các khía cạnh khác của hệ thống (ví dụ như trạng thái của ñối tượng hay cộng tác ñộng giữa các ñối tượng, ñược chỉ ra trong các biểu ñồ ñộng). - Cung cấp 3 thông tin: + Các. thuộc tính, ko có phương thức) hoặc các ñối tượng (thế giới thực, hay còn gọi là các thực thể) trong phạm vi bài toán (problem domain). + Mô tả hướng nhìn tĩnh của một hệ thống bằng các khái

Ngày đăng: 08/07/2014, 08:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan