Nếu các bạn học môn công nghệ phần mềm trước thì có lẽ các bạn đã được giới thiệu và làm quen trước về một số các biểu đồ như biểu đồ usecase, biểu đồ luồng, biểu đồ hoạt động, biểu đồ lớp,... Với môn phân tích và thiết kế hệ thống thì chính xác là các bạn được học lại nhưng mà đi một cách kĩ càng hơn khi phân tích và vẽ các biểu đồ trên. Ở OOP thì các bạn được làm quen với 2 biểu đồ là biểu đồ usecase và biểu đồ lớp, sang tới công nghệ phần mềm các bạn được giới thiệu và làm quen với nhiều các loại biểu đồ hơn và tới phân tích thiết kế hệ thống các bạn sẽ được làm quen với gần như tất cả các loại biểu đồ đó là: Biểu đồ lớp Biểu đồ đối tượng Biểu đồ triển khai Biểu đồ gói Biểu đồ thành phần Biểu đồ cấu trúc đa hợp Biểu đồ ca sử dụng (usecase) Biểu đồ hoạt động Biểu đồ trình tự Biểu đồ giao tiếp Biểu đồ máy trạng thái Biểu đồ thời gian Biểu đồ tổng quan tương tác Mỗi biểu đồ sẽ đặc trưng cho một giai đoạn, góc nhìn trong quy trình phát triển phần mềm của bạn. Theo mình được biết thì việc vẽ những biểu đồ này sẽ nằm trong phần công việc của một BA (Business Analyst), dĩ nhiên là một lập trình viên ít nhất cũng phải nhìn được hiểu các biểu đồ này. Môn học này là môn đi học chỉ học biểu đồ và làm bài tập lớn hay đi thi thì cũng chỉ thi vẽ biểu đồ thôi. Nhìn chung thì bước phân tích và thiết kế là một bước rất quan trọng trong quy trình phát triển phần mềm, tuy nhiên đôi khi đi làm ở công ty hay là các bài tập lớn ở trường thì chúng ta thường bỏ qua bước này mà bước ngay vào bước viết mã nguồn cho phần mềm sau đó dùng các công cụ để gen lại các biểu đồ dí vào báo cáo cho có, nhưng đấy là các môn khác thôi với môn này các bạn làm bài tập lớn sẽ không cần code và chỉ phải phân tích và thiết kế. Môn này có một số thầy dạy, tuy nhiên mình thấy thầy dạy hay nhất là thầy Nguyễn Nhật Quang, thầy dạy rất tỉ mỉ, giải thích rõ từng phần một, điểm thì thầy cho cũng khá thoải mái, các bạn có thể xem qua website cá nhân Một số tài liệu dành cho môn học: Slide bài giảng
Click to edit Master title style Click to edit Master text styles Second level Third level Fourth level Fifth level PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Trần Thị Thanh Lan Khoa Công Nghệ Thông Tin Đại học Duy Tân CHƯƠNG CÁC KHÁI NIỆM CƠ BẢN VỀ HƯỚNG ĐỐI TƯỢNG Trần Thị Thanh Lan Khoa Công Nghệ Thông Tin Email: trantthanhlan@dtu.edu.vn Thời gian: 120 phút Wednesday, October 11, 2023 Faculty Of Information Technology Page: MỤC TIÊU Cung cấp cho sinh viên kiến thức về: Các khái niệm hướng đối tượng: Đối tượng (object), liên kết đối tượng, lớp (class)… Các nội dung quan trọng hướng đối tượng: Tổng quát hóa, chuyên biệt hóa, lớp trừu tượng, lớp cụ thể, tính bao bọc, tính đa hình… Wednesday, October 11, 2023 Faculty Of Information Technology Page: 3/21 NỘI DUNG Đối tượng Liên kết đối tượng Lớp Wednesday, October 11, 2023 Faculty Of Information Technology Page: 4/21 ĐỐI TƯỢNG Khái niệm: Là biểu diễn từ giới thực sang thể tin học (ví dụ : xe ô tô giới thực biểu diễn tin học dùng khái niệm đối tượng xe ơtơ) Là trừu tượng hố, khái niệm có ý nghĩa lãnh vực ứng dụng Diễn đạt thực thể vật lý, thực thể quan niệm, thực thể phần mềm Đối tượng thực thể hữu hình trực quan (ví dụ : người, vị trí, vật,…) khái niệm, kiện (ví dụ : phịng ban, phận, kết hơn, đăng ký, …) Wednesday, October 11, 2023 Faculty Of Information Technology Page: 5/21 ĐỐI TƯỢNG Các tính chất đối tượng Đối tượng = trạng thái + hành vi + định danh • Trạng thái đặc tính đối tượng thời điểm • Hành vi thể chức đối tượng • Định danh thể tồn đối tượng Wednesday, October 11, 2023 Faculty Of Information Technology Page: 6/21 ĐỐI TƯỢNG Các tính chất đối tượng Ví dụ : Một đối tượng xe mơ tơ Trạng thái: 100cc 38.000KM 90KM/H Đỏ Trạng thái Hành vi: Chạy() Dừng() Tắtmáy() Hành vi Môtô No 43K3-5592 Định danh Wednesday, October 11, 2023 Faculty Of Information Technology Page: 7/21 LIÊN KẾT GIỮA CÁC ĐỐI TƯỢNG Mối kết hợp (association) - liên kết ngữ nghĩa Giảng dạy Giáo viên A Lớp học X Lái Tài xế B Wednesday, October 11, 2023 Xe tải Y Faculty Of Information Technology Page: 8/21 LIÊN KẾT GIỮA CÁC ĐỐI TƯỢNG Phân cấp (hierarchy) - liên kết cấu trúc Một xe mô tô Bánh xe Wednesday, October 11, 2023 Bánh xe Faculty Of Information Technology Động Page: 9/21 LỚP (CLASS) Khái niệm Lớp khái niệm dùng để mô tả tập hợp đối tượng có cấu trúc, hành vi có mối quan hệ Lớp = thuộc tính + phương thức Wednesday, October 11, 2023 Faculty Of Information Technology Page: 10/21 LỚP (CLASS) Trình bày lớp: Là hình chữ nhật bao gồm ba phần (không bắt buộc) Wednesday, October 11, 2023 Faculty Of Information Technology Page: 11/21 LỚP (CLASS) Đối tượng thể (instance) lớp Giá trị thể thuộc tính Liên kết thể kết hợp Lớp Thuộc tính Kết hợp Wednesday, October 11, 2023 Đối tượng Giá trị Liên kết Faculty Of Information Technology Page: 12/21 LỚP (CLASS) Tính thừa kế (inheritance) Một lớp xây dựng từ nhiều lớp khác việc chia thuộc tính phương thức Lớp thừa kế thuộc tính phương thức từ lớp cha Tổng qt hóa/chun biệt hóa • Tổng qt hóa (generalization): đặt tính chất chung lớp khác vào lớp cha • Chun biệt hóa (specialization): tạo lớp có tính chất riêng từ lớp cha Wednesday, October 11, 2023 Faculty Of Information Technology Page: 13/21 LỚP (CLASS) Đơn thừa kế: lớp thừa kế từ lớp cha Tổng qt hóa XeKhách Chun biệt hóa Xtơ XeTải Lớp trừu tượng hay lớp chung: Xtơ Lớp cụ thể hay lớp chuyên biệt: XeKhách Lớp chuyên biệt thay lớp chung tất ứng dụng Ví dụ: Ơtơ tải ơtơ Wednesday, October 11, 2023 Faculty Of Information Technology Page: 14/21 LỚP (CLASS) Đa thừa kế: lớp thừa kế từ nhiều lớp cha khác Person Personnel Reseacher Student Teacher Phd candidate Wednesday, October 11, 2023 Faculty Of Information Technology Page: 15/21 LỚP (CLASS) Đa thừa kế Đụng độ tên thuộc tính X a Y a Z a X a Y Đa thừa kế không chấp nhận số ngôn ngữ: Java Wednesday, October 11, 2023 Faculty Of Information Technology Page: 16/21 LỚP (CLASS) Ưu điểm thừa kế Phân loại lớp: lớp phân loại, xếp theo thứ bậc để dễ quản lí Xây dựng lớp: lớp xây dựng từ lớp cha Tiết kiệm thời gian xây dựng, tránh lặp lại thông tin Wednesday, October 11, 2023 Faculty Of Information Technology Page: 17/21 LỚP (CLASS) Tính đa hình (polymorphism): phương thức, tức khả phương thức khác thực để trả lời yêu cầu Mỗi lớp thừa kế đặc tả phương thức từ lớp cha, phương thức sữa đổi lớp để thực chức riêng lớp Một phương thức (cùng tên phương thức) có nhiều dạng (định nghĩa) khác lớp khác Wednesday, October 11, 2023 Faculty Of Information Technology Page: 18/21 LỚP (CLASS) Ví dụ tính đa hình ĐaGiác DienTich() HìnhVng HìnhTamGiác DienTich() DienTich() Wednesday, October 11, 2023 Faculty Of Information Technology Page: 19/21 TỔNG KẾT Câu 1: Đối tượng gì? Các tính chất đối tượng? Câu 2: Khái niệm lớp (class)? Câu 3: Trình bày khái niệ tính kế thừa, đa hình? Cho ví dụ Wednesday, October 11, 2023 Faculty Of Information Technology Page: 20/21