Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
190,97 KB
Nội dung
Học viện Cơng nghệ Bưu Viễn thơng Khoa Cơng nghệ thơng tin LẬPTRÌNHHƯỚNGĐỐITƯỢNG Nguyễn Thị Bích Ngun ntbichnguyen@gmail.com TỔNG QUAN VỀ LẬPTRÌNHHƯỚNGĐỐITƯỢNG NỘI DUNG 1.1 Phương pháp tiếp cận lậptrình truyền thống 1.1.1 Lậptrình tuyến tính 1.1.2 Lậptrìnhhướng cấu trúc 1.2 Phương pháp tiếp cận lậptrìnhhướngđốitượng 1.3 Các đặc trưng lậptrìnhhướngđốitượng 1.3.1 Tính đóng gói liệu 1.3.2 Tính kế thừa 1.3.3 Tính đa hình 1.4 Trừu tượng hóa 1.4.1 Tổ chức trừu tượng theo phân cấp lớp 1.4.2 Trừu tượng hóa – sở phát triển phần mềm 1.5 Xu hướng phát triển lậptrìnhhướngđốitượng 1.5.1 Lậptrìnhhướng thành phần 1.5.2 Lậptrìnhhướng tác nhân 1.5.3 Lậptrìnhhướng khía cạnh PHƯƠNG PHÁP TIẾP CẬN CỦA LẬPTRÌNH TRUYỀN THỐNG Lậptrình truyền thống trải qua hai giai đoạn: Giai đoạn sơ khai, khái niệm lậptrình đời, lậptrình tuyến tính Giai đoạn lậptrìnhhướng cấu trúc LẬPTRÌNH TUYẾN TÍNH Đặc trưng lậptrình tuyến tính tư theo lối Chương trình thực từ đầu đến cuối, lệnh lệnh kết thúc chương trìnhLẬPTRÌNH TUYẾN TÍNH Đặc trưng: có hai đặc trưng Đơn giản: Chương trình tiến hành đơn giản theo lối tuần tự, không phức tạp Đơn luồng: Chỉ có luồng (thread) cơng việc nhất, công việc thực luồng LẬPTRÌNH TUYẾN TÍNH Tính chất: Ưu điểm: Do tính đơn giản, lậptrình tuyến tính có ưu điểm chương trình đơn giản, dễ hiểu Lậptrình tuyến tính ứng dụng cho chương trình đơn giản Nhược điểm: Với ứng dụng phức tạp, người ta dùng lậptrình tuyến tính để giải LẬPTRÌNH TUYẾN TÍNH Lưu ý: Ngày nay, lậptrình tuyến tính tồn phạm vi mơ đun nhỏ phương pháp lậptrình khác Ví dụ chương trìnhlậptrình cấu trúc, lệnh thực theo từ đầu đến cuối chương trìnhLẬPTRÌNHHƯỚNG CẤU TRÚC Trong lậptrìnhhướng cấu trúc: Chương trình chia nhỏ thành chương trình Mỗi chương trình thực cơng việc xác định Chương trình gọi đến chương trình theo giải thuật, cấu trúc xác định chương trìnhLẬPTRÌNHHƯỚNG CẤU TRÚC Các ngơn ngữ lậptrình cấu trúc phổ biến Pascal, C C++ Riêng C++ ngồi việc có đặc trưng lậptrình cấu trúc kế thừa từ C, có đặc trưng lậptrìnhhướngđốitượng Cho nên C++ gọi ngơn ngữ lậptrình nửa cấu trúc, nửa hướngđốitượngLẬPTRÌNHHƯỚNG CẤU TRÚC Đặc trưng: Đặc trưng lậptrình cấu trúc thể mối quan hệ: Chương trình = Cấu trúc liệu + Giải thuật Trong đó: Cấu trúc liệu cách tổ chức liệu, cách mơ tả tốn dạng ngơn ngữ lậptrình Giải thuật quy trình để thực cơng việc xác định TRỪU TƯỢNG HÓA Tổ chức trừu tượng theo phân cấp lớp: Sơ đồ phân cấp trừu tượngđốitượng tự nhiên TRỪU TƯỢNG HÓA Trừu tượng hóa – sở phát triển phần mềm: Khi ghi nhận yêu cầu cho dự án phần mềm, thường bắt đầu cách thu thập thơng tin chi tiết tình hình thực tế mà hệ thống hoạt động Những chi tiết thường tổng hợp của: Thông tin từ người sử dụng hệ thống vấn Những hoạt động mà quan sát từ nghiệp vụ hàng ngày người sử dụng hệ thống TRỪU TƯỢNG HÓA Trừu tượng hóa – sở phát triển phần mềm: Kế đến phải chọn lọc chi tiết liên quan tới mục đích sử dụng hệ thống Việc cần thiết khơng thể tự động hố tất hệ thống nghiệp vụ phần mềm! Việc bao gồm nhiều chi tiết làm hệ thống phức tạp khó khăn việc thiết kế, kiểm tra chương trình, dò lỗi, tạo sưu liệu, bảo trì mở rộng chương trình sau TRỪU TƯỢNG HĨA Trừu tượng hóa – sở phát triển phần mềm: Sự trừu tưởng hố giúp người phân tích hệ thống có nét đặc trưng hệ thống miền (domain) toán, tập trung vào vấn đề hệ thống dự định phát triển TRỪU TƯỢNG HĨA Trừu tượng hóa – sở phát triển phần mềm: VD: Khi thể người chương trình, màu mắt họ có quan trọng khơng? Về gien ? Lương ? Sở thích ? Câu trả lời đặc tính người liên quan hay khơng liên quan tuỳ thuộc vào hệ thống mà ta định phát triển là: Chương trình tính lương Chương trình tiếp thị theo tuổi tác CSDL bệnh nhân nhãn khoa Hệ thống theo dõi kẻ bị truy nã TRỪU TƯỢNG HĨA Trừu tượng hóa – sở phát triển phần mềm: Khi xác định đặc trưng quan trọng tình huống, ta cần chuẩn bị mơ hình hố cho Mơ hình hố xử lý nhằm phát triển khuôn mẫu để tạo thứ đó; ví dụ thiết kế nhà, sơ đồ mạch điện, khuôn bánh Một mơ hình đốitượng hệ thống phần mềm mẫu Mơ hình hố trừu tượng hố ln với mơ hình mơ tả đồ họa hay vật lý trừu tượng XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng thành phần (Component-Oriented programmingCOP) Lậptrìnhhướng tác nhân (AgentOriented Programming) Lậptrìnhhướng khía cạnh (AspectOriented Programming-AOP) XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng thành phần: Ý tưởng: Giải toán cách xây dựng tập thành phần (component) có tính độc lậptương Mỗi thành phần đảm nhiệm phần công việc định Sau đó, người ta ghép thành phần với để thu phần mềm thoả mãn tập yêu cầu xác định XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng thành phần: Phương pháp: Xây dựng thư viện thành phần, thành phần thực công việc xác định Khi cần phát triển phần mềm cụ thể, người ta cần chọn thành phần có sẵn thư viện để ghép lại với Người lậptrình phải phát triển thêm thành phần cần mà chưa có thư viện XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng thành phần: Ưu điểm: Lậptrình viên chia sẻ với thành phần xây dựng cho nhiều người khác dùng chung Khi cần, lậptrình viên lắp ghép thành phần có sẵn khác để tạo thành chương trình có chức khác Tất cần dựa công nghệ lắp ghép thành phần, tiết kiệm nhiều công sức lậptrình XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng tác nhân: Lậptrìnhhướng agent xem mức trừu tượng cao lậptrìnhhướng thành phần Trong đó, agent thành phần có khả hoạt động độc lập, tự chủ để hồn thành cơng việc Hơn nữa, agent có khả chủ động liên lạc với agent khác để phối hợp, cộng tác hay cạnh tranh để hoàn thành nhiệm vụ XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng tác nhân: Đặc trưng bản: Thứ khả tự chủ agent để hoàn thành nhiệm vụ riêng Thứ hai tính tổ chức xã hội agent, cho phép agent phối hợp, cộng tác, cạnh tranh để hoàn thành nhiệm vụ chung toàn hệ thống XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng khía cạnh: Phương pháp lậptrìnhhướng khía cạnh phương pháp lậptrình phát triển tư tách biệt mối quan tâm khác thành mô đun khác Ở đây, mối quan tâm thường chức nghiệp vụ cụ thể đóng gói mà khía cạnh (thuộc tính) chung mà nhiều mơ đun phần mềm hệ thống nên có, ví dụ lưu vết thao tác lỗi (error logging) XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng khía cạnh: Với AOP, cài đặt mối quan tâm chung cắt ngang hệ thống mơ đun đặc biệt gọi aspect thay dàn trải chúng mô đun nghiệp vụ liên quan Các aspect sau tự kết hợp với mơ đun nghiệp vụ khác q trình gọi đan (weaving) biên dịch đặc biệt XU HƯỚNG PHÁT TRIỂN CỦA LẬPTRÌNHHƯỚNGĐỐITƯỢNGLậptrìnhhướng khía cạnh: AspectJ cơng cụ AOP cho ngơn ngữ lậptrình Java Trình biên dịch AspectJ đan xen chương trình Java với aspect thành tập tin bytecode chạy máy ảo Java