Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
1,14 MB
Nội dung
om Si nh Vi en Zo ne C Phân tích SinhVienZone.com https://fb.com/sinhvienzonevn Tham khảo om “Mastering Object-Oriented Analysis and Design with UML 2.0” Si nh Vi en Zo ne C IBM Software Group SinhVienZone.com https://fb.com/sinhvienzonevn Nhắc lại hướng đối tượng C om Một số ký hiệu Tên class (Các) thuộc tính (Các) phương thức Si nh Vi en Zo ne Tên class SinhVienZone.com https://fb.com/sinhvienzonevn om Public/Protected/Private Thuộc tính/Phương thức public # Thuộc tính/Phương thức protected - Thuộc tính/Phương thức private ne C + Phương thức Private Phương thức Protected Si +publicOp() # protectedOp() - privateOp() nh Vi en - privateAttribute # protectedAttribute Zo Class Phương thức Public SinhVienZone.com https://fb.com/sinhvienzonevn Tầm vực ne Class C om Xác định số lượng thể thuộc tính / phương thức Zo - classifierScopeAttribute nh Vi en - instanceScopeAttribute classifierScopeOperation() instanceScopeOperation() Si SinhVienZone.com https://fb.com/sinhvienzonevn .C Zo nh Vi en - name - address - studentID - nextAvailID : int ne Student om Ví dụ Si + addSchedule(theSchedule : Schedule, forSemester : Semester) + getSchedule(forSemester : Semester) : Schedule + hasPrerequisites(forCourseOffering : CourseOffering) : boolean # passed(theCourseOffering : CourseOffering) : boolean + getNextAvailID() : int SinhVienZone.com https://fb.com/sinhvienzonevn om Nhận xét C Bình thường: Class bình thường/Interface In nghiêng: Class ảo Gạch dưới: Object (khơng phải class) Bình thường: Phương thức bình thường In nghiêng: Phương thức virtual Gạch dưới: Phương thức static Si nh Vi en (Các) phương thức Bình thường: Thuộc tính bình thường In nghiêng: khơng sử dụng Gạch dưới: Thuộc tính static Zo (Các) thuộc tính ne Tên class SinhVienZone.com https://fb.com/sinhvienzonevn Ví dụ CHinhVe MaLoaiHinhVe + float + float + void + DienTich() ChuVi() Ve() CTamGiac nh Vi en Zo ne C om # int Si # CDiem P1 # CDiem P2 # CDiem P3 + CTamGiac() + float DienTich() + float ChuVi() + void Ve() + SinhVienZone.com CTuGiac # CDiem # CDiem # CDiem # CDiem P1 P2 P3 P4 + CTuGiac() + float DienTich() + float ChuVi() + void Ve() + CEllipse # CDiem # float # float Tam A B + CEllipse() + float DienTich() + float ChuVi() + void Ve() + https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ kế thừa Zo ne C ClassA ClassB Si nh Vi en ClassB kế thừa từ ClassA ClassB trường hợp đặc biệt ClassA ClassA trường hợp tổng quát ClassB SinhVienZone.com https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ Association ClassB ne C ClassA nh Vi en Zo Hoặc Trong ClassA có thuộc tính có kiểu ClassB Hoặc Trong ClassB có thuộc tính có kiểu ClassA Si Nhận xét: Về mặt lập trình, thuộc tính lưu trữ dạng biến đơn, biến mảng, hay biến trỏ Ví dụ:? 10 SinhVienZone.com https://fb.com/sinhvienzonevn Áp dụng Si nh Vi en Zo ne C om Áp dụng thực tế vào tập Xác định lớp đối tượng Xác định thông tin hành động/trách nhiệm lớp đối tượng Xác định quan hệ Xác định lớp đối tượng phụ, danh mục 29 SinhVienZone.com https://fb.com/sinhvienzonevn om Si nh Vi en Zo ne C Sơ đồ trạng thái SinhVienZone.com https://fb.com/sinhvienzonevn 30 Các khái niệm Si nh Vi en Zo ne C om Sơ đồ trạng thái Mô tả chu trình sống đối tượng từ sinh ra, hoạt động & Mỗi đối tượng có nhiều sơ đồ trạng thái theo góc nhìn khác Trạng thái & biến cố Trạng thái đối tượng diễn đạt tình trạng có đối tượng (có ý nghĩa đoạn thời gian) Biến cố kiện xảy làm cho đối tượng chuyển trạng thái 31 SinhVienZone.com https://fb.com/sinhvienzonevn om Một số ký hiệu Trạng thái ne C Tên trạng thái nh Vi en stateVar : type = value Zo Tên trạng thái Si entry/ entry action do/ activity exit/ exit action Tên biến cố (tham số) Tên hành động (tham số) Chuyển đổi trạng thái [Điều kiện] 32 SinhVienZone.com https://fb.com/sinhvienzonevn Các trạng thái đặc biệt Tr/thái bắt đầu Zo ne C om Trang thái bắt đầu Là trạng thái khởi tạo object Bắt buộc phải có Chỉ có trạng thái bắt đầu Si nh Vi en Trang thái kết thúc Chỉ vị trí kết thúc đời sống object Khơng thiết phải thể Có thể có nhiều Tr/thái kết thúc 33 SinhVienZone.com https://fb.com/sinhvienzonevn Sơ đồ trạng thái Biến cố nh Vi en Tên trạng thái Zo ne Trạng thái stateVar : type = value Biến cố(tham số) [Biểu thức điều kiện] / Hành động (tham số) Hành động Si entry/ entry action do/ activity exit/ exit action Hành động C om Là đồ thị có hướng với node trạng thái nối với bới cung mô tả việc chuyển đổi trạng thái Chuyển đổi trạng thái 34 SinhVienZone.com https://fb.com/sinhvienzonevn Sơ đồ trạng thái C om B1, B2: biến cố sinh B4, B8, B9: biến cố B3, B5, B6, B7: biến cố hoạt động B3 B4 S1 B2 S4 nh Vi en Zo S2 ne B1 B5 B7 B6 S6 S3 Si B8 S5 B9 35 SinhVienZone.com https://fb.com/sinhvienzonevn Sơ đồ trạng thái Si nh Vi en Zo ne C om Mỗi sơ đồ trạng thái ánh xạ thành thuộc tính đối tượng Các trạng thái đối tượng sơ đồ trạng thái không giao giá trị thuộc tính tương ứng mang giá trị tương ứng Sơ đồ trạng thái chi tiết phục vụ: Có xử lý thích hợp kiểm tra ràng buộc Có xử lý thích hợp xử lý biến cố Phục vụ tra cứu, tìm kiếm Khi quan tâm đến sơ đồ trạng thái đối tượng Thường ứng dụng khơng chức xóa (thật sự) đối tượng Các đối tượng tồn trạng thái thay bị xóa thật 36 SinhVienZone.com https://fb.com/sinhvienzonevn Sơ đồ trạng thái Chấm dứt Tạm dừng Si Hoạt động nh Vi en Zo Sẵn sàng ne C om Thông thường, sơ đồ trạng thái đối tượng có dạng 37 SinhVienZone.com https://fb.com/sinhvienzonevn Cách xây dựng sơ đồ trạng thái Si nh Vi en Zo ne C om Cách 1: Xác định trình hoạt động bình thường đối tượng từ sinh đến Bổ sung trạng thái biến cố liên quan đến Sinh Hoạt động Tạm Mất Cách 2: Xác định trạng thái sinh Xác định trạng thái cuối Xác định trạng thái trung gian biến cố/hành động làm chuyển trạng thái 38 SinhVienZone.com https://fb.com/sinhvienzonevn B1 ne B2 B3 S1 C Sơ đồ trạng thái om Kết quả: Sơ đồ trạng thái nh Vi en Zo S4 B8 B4 S2 B5 B7 B6 S5 S3 S6 B9 Bảng mô tả trạng thái STT Trạng thái Ý nghĩa Xử lý liên quan Ghi … … … … Si … Bảng mô tả biến cố STT Biến cố Ý nghĩa Xử lý liên quan Ghi … … … … … 39 SinhVienZone.com https://fb.com/sinhvienzonevn ne Unassigned C om Ví dụ Zo addProfessor nh Vi en removeProfessor Si Assigned 40 SinhVienZone.com https://fb.com/sinhvienzonevn Ví dụ / numStudents = om add student / numStudents = numStudents + remove student / numStudents = numStudents - C Unassigned cancel Zo addProfessor ne closeRegistration Cancelled do: Send cancellation notices nh Vi en close removeProfessor cancel [ numStudents = 10 ] cancel Full Si close[ numStudents < ] add student / numStudents = numStudents + Assigned [ numStudents = 10 ] close closeRegistration [ has Professor assigned ] closeRegistration[ numStudents >= ] Committed do: Generate class roster 41 close[ numStudents >= ] remove student / numStudents = numStudents - SinhVienZone.com https://fb.com/sinhvienzonevn Ví dụ: trạng thái lồng Open closeRegistration close ne Unassigned C / numStudents = om superstate Closed Cancelled do: Send cancellation notices cancel cancel Zo substate remove a professor nh Vi en close[ numStudents < ] add a professor close [ numStudents = 10 ] closeRegistration [ has Professor assigned ] closeRegistration[ numStudents >= ] Si Assigned Full add student / numStudents = numStudents + Committed do: Generate class roster close[ numStudents >= ] H 42 remove student / numStudents = numStudents - SinhVienZone.com https://fb.com/sinhvienzonevn Luyện tập nh Vi en Zo ne C om Vẽ sơ đồ trạng thái thang máy Vẽ sơ đồ trạng thái đèn giao thông Vẽ sơ đồ trạng thái cặp đèn giao thông ngã tư Vẽ sơ đồ trạng thái độc giả Vẽ sơ đồ trạng thái sách Vẽ sơ đồ trạng thái phòng khách sạn Vẽ sơ đồ trạng thái quân cờ … Si 43 SinhVienZone.com https://fb.com/sinhvienzonevn ... thức/thuộc tính static ClassB 15 SinhVienZone. com https://fb .com/ sinhvienzonevn om Si nh Vi en Zo ne C Xây dựng sơ đồ lớp mức phân tích SinhVienZone. com https://fb .com/ sinhvienzonevn 16 Lập danh sách... định lớp đối tượng phụ, danh mục 29 SinhVienZone. com https://fb .com/ sinhvienzonevn om Si nh Vi en Zo ne C Sơ đồ trạng thái SinhVienZone. com https://fb .com/ sinhvienzonevn 30 Các khái niệm Si nh... định Nếu sơ đồ lớp chưa lưu trữ thơng tin cần thiết: 24 SinhVienZone. com https://fb .com/ sinhvienzonevn Các bước xây dựng sơ đồ lớp mức phân tích Si nh Vi en Zo ne C om Bước 2: Nếu lớp đối