Bài giảng Nhập môn công nghệ phần mềm - Chủ đề 3: Phân tích phần mềm cung cấp cho người học các kiến thức: Phân tích hướng đối tượng, sơ đồ lớp ở mức phân tích, sơ đồ lớp và Khả năng tiến hóa của hệ thống, sơ đồ trạng thái.
Chủ đề (tt): Phân tích Phần mềm COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH Phân tích Hướng đối tượng COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH Nội dung • Sơ đồ lớp mức phân tích – 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 • Sơ đồ lớp Khả tiến hóa hệ thống • Sơ đồ trạng thái – Khái niệm ký hiệu • • • • Trạng thái Biến cố, điều kiện Trạng thái đầu, trạng thái cuối Superstate – Áp dụng COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH Một số khái niệm mở đầu • Vấn đề: Mơ tả lại ngơn ngữ (thường sơ đồ) nhằm diễn tả trực quan vấn đề • Phân tích: xây dựng mơ hình Thế giới thực • Phân tích theo hướng đối tượng: xây dựng mơ hình đối tượng Thế giới thực • Một số loại Sơ đồ: – Sơ đồ lớp đối tượng: Mô tả hệ thống lớp đối tượng (thuộc tính, hành động) với quan hệ chúng – Sơ đồ trạng thái: Mơ tả chu trình sống đối tượng –… COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH Lớp (class) gì? • Đối tượng tồn giới thực • Lớp mơ tả thuộc tính, hành vi, ngữ nghĩa nhóm đối tượng – Lớp xác định thông tin lưu trữ đối tượng hành vi đối tượng có • Thí dụ lớp: Lớp NhanVien – Đối tượng lớp có attribute: HoTen, DiaChi, Luong – Các hành vi: Thuê mướn, Đuổi việc Đề bạt nhân viên? COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH Sơ đồ Lớp Class Diagram • Là biểu đồ quan trọng • Mơ tả đối tượng mối quan hệ chúng hệ thống • Mơ tả thuộc tính hành vi (Behavior) đối tượng • Có biểu đồ lớp mức phân tích mức cài đặt • Ký pháp đồ họa lớp biểu đồ – Tên lớp – Thuộc tính – Thao tác COMP1026 – Introduction to Software Engneering + : public - : private # : protected CH3 – Part - HIENLTH Nhắc lại hướng đối tượng Một số ký hiệu Tên class Tên class (Các) thuộc tính (Các) phương thức COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH 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 + # Class - privateAttribute # protectedAttribute Phương thức Private +publicOp() # protectedOp() - privateOp() Phương thức Protected Phương thức Public COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH Tầm vực • Xác định số lượng thể thuộc tính / phương thức Class - classifierScopeAttribute - instanceScopeAttribute classifierScopeOperation() instanceScopeOperation() COMP1026 – Introduction to Software Engneering CH3 – Part - HIENLTH Ví dụ CStudent - name - address - studentID - nextAvailID : int + addSchedule(theSchedule : Schedule, forSemester : Semester) + getSchedule(forSemester : Semester) : Schedule + hasPrerequisites(forCourseOffering : CourseOffering) : boolean # passed(theCourseOffering : CourseOffering) : boolean + getNextAvailID() : int COMP1026 – Introduction to Software Engneering CH3 – Part - 10 HIENLTH Các thành phần State diagram • Mối liên hệ trạng thái –Transition State1 Event_1 [Condition]/ Action 11 State2 entry / Action_1 / Action_2 exit / Action_3 – Event – Action – Condition: điều kiện cho phép chuyển từ trạng thái sang trạng thái khác COMP1026 – Introduction to Software Engneering CH3 – Part - 70 HIENLTH Các thành phần State diagram • State – Event – Action – Transition Them Sinh Vien [SoLuong