THÔNG TIN CHI TIẾT
Lập trình hướng cấu phần  Cập nhật :14/12/2013  
Đặc trưng
Lập trình hướng cấu phần là kiểu lập trình có xu hướng chia hệ thống phần mềm thành những thành phần giữ các chức năng khác nhau (mỗi thành phần này được gọi là một bộ phận hợp thành) mà khi kết hợp lại ta thu được một hệ thống phần mềm hoàn chỉnh.
 
            Với COP, chương trình được xây dựng bằng cách lắp ráp các thành phần phần mềm có thể sử dụng lại, các khối tự chứa mã máy (hay còn gọi là các khối .thành phần thực hiện). Các thành phần này gồm các thành phần giao diện, các kết nối. COP nẩy sinh xuất phát từ thực tế rằng mọi thứ có cấu trúc đều được tạo nên từ các thành phần khác. Điển hình như trong nền công nghiệp tự động, các hệ thống được cấu tạo từ các thành phần. Ví dụ, để phát triển một chiếc ô tô là rất phức tạp.
            Ô tô = {Các thành phần được ghép nối};
Các thành phần cấu tạo nên ô tô là thuộc nhiều loại khác nhau, kích cỡ khác nhau, chức năng khác nhau, được sản xuất bởi các nhà sản xuất khác nhau. Các thành phần này giới hạn từ các ốc vít rất nhỏ đến các hệ thống con phức tạp hơn như các động cơ, các bộ truyền phát nhanh, .....
Trong công nghiệp phần mềm. Sản phẩm vẫn làm bằng tay là chủ yếu. Điều đó dẫn đến tính năng của sản phẩm thấp, chất lượng không đảm bảo, khó tái sử dụng, .....
Trong công nghệ phần cứng. Mọi sản  phẩm cũng được tạo ra dựa trên phương pháp hướng cấu phần. Thực tế cho thấy nền công nghiệp này phát triển rất nhanh, thu được nhiều lợi nhuận. Đây chính là lý do tại sao COP lại quan trọng.
COP sử dụng nhiều khái niệm của OOP nhưng hai phương pháp này là độc lập nhau. COP phát triển phần mềm bằng cách lắp ráp các thành phần trong khi OOP nhấn mạnh đến các lớp và các đối tượng. COP nhấn mạnh giao diện và kết cấu, trong khi OOP nhấn mạnh về cài đặt viết mã. COP không cần biết bất cứ kiến thức nào về cách thức một thành phần cài đặt giao diện của chúng, nó xem thành phần như một hộp đen (không bị ảnh hưởng bởi sự thay đổi trong cài đặt của giao diện thành phần), chỉ quan tâm đến đầu vào, đầu ra, chức năng nhiệm vụ của hộp đen đó. Ví dụ: Ốc vít dùng để làm gì, làm thế nào để sử dụng nó mà không cần biết nó được làm như thế nào, sử dụng công cụ gì.  COP lắp ráp các thành phần thông qua giao diện của các thành phần này
Sự khác nhau giữa 2 phương pháp lập trình OOP và COP được chỉ ra trong bảng sau:
COP
OOP
COP phát triển phần mềm bằng cách lắp ráp các thành phần
OOP nhấn mạnh cài đặt các lớp và các đối tượng
COP nhấn mạnh giao diện và kết cấu
OOP nhấn mạnh về đối tượng/lớp
OOP hỗ trợ bao bọc, thừa kế, đa xạ nhưng chưa bao giờ đạt mục đích của nó vì kế thừa xâm phạm bao bọc, hơn nữa các đối tượng và các lớp không tự vận hành.
COP là kỹ thuật đóng gói và phân tán
OOP là kỹ thuật cài đặt
COP hỗ trợ sử dụng lại mức cao
OOP hỗ trợ sử dụng lại mức thấp
COP về nguyên tắc có thể viết bởi bất kỳ ngôn ngữ lập trình nào
OOP bị giới hạn bởi ngôn ngữ OO
COP gồm các thành phần gắn kết lỏng lẻo
OOP gồm các đối tượng phụ thuộc chặt chẽ hơn vào các đối tượng khác qua giao diện kế thừa (Cha thay đổi, con thay đổi theo)
COP có các thành phần hạt nhân từ lớn đến nhỏ
OOP gồm các đối tượng là các đơn vị của kiến trúc
COP hỗ trợ đa giao diện và thiết kế hướng giao diện
OOP không cung cấp mỗi quan hệ rõ ràng về giao diện giữa các lớp con và lớp cha
Các ngôn ngữ có thể được sử dụng trong lập trình hướng cấu phần:
-         Visual Basic
-         Delphi
-         C#
-         Java
 
Tóm lại
Kỹ nghệ phần mềm dựa trên cấu phần – CBSE (Component Based Software Engineering) gồm các hoạt động:
-         COA (Component Oriented Analysis): Phân tích hướng cấu phần
-         COD (Component Oriented Design): Thiết kế hướng cấu phần
-         COP (Component Oriented Programming): Lập trình hướng cấu phần
-         COM (Component Oriented Management): Quản lý hướng cấu phần
Từ cách nhìn của tiến trình kỹ nghệ, các thành phần có thể được phân làm 5 dạng khác nhau:
1.      Thành phần đặc tả: Biểu diễn các đặc tả của một đơn vị phần mềm, mô tả một tập hành vi của các đối tượng thành phần.
2.      Thành phần giao diện: Định nghĩa một tập hành vi có thể được yêu cầu bởi một đối tượng thành phần.
3.      Thành phần cài đặt: Có thể vận hành độc lập (điều này không có nghĩa nó độc lập với các thành phần khác. Nó có thể có nhiều phụ thuộc với thành phần khác).
4.      Thành phần đã cài đặt: Thành phần mã thực thi
5.      Thành phần đối tượng: Lớp, gói, ...
CBSE hiện tại là một mô hình cho việc phát triển các hệ thống phần mềm lớn như:
-         Các ứng dụng phân tán cho doanh nghiệp
-         Các ứng dụng Web – N Tier
-         Các dịch vụ Web (Web Services)
Có thể dùng các công nghệ của Java như:
-         EJB: Enterprise Java Bean,
-         COM: Component Object Model,
-         DCOM: Distributed Component Object Model ,
-         CORBA:
Hoặc công công nghệ .NET của Microsoft để phát triển các hệ thống phần mềm theo mô hình này.
Ưu điểm
-         Trinh phục sự phức tạp
-         Quản lý sự thay đổi
-         Tái sử dụng
-         Lập trình viên có thể chia sẻ với nhau những thành phần mình đã xây dựng cho nhiều người khác dùng chung.
-         Khi cần, lập trình viên có thể lắp ghép các thành phần có sẵn khác nhau để tạo thành các chương trình có chức năng khác nhau. Tất cả chỉ cần dựa trên công nghệ lắp ghép thành phần, tiết kiệm được rất nhiều công sức lập trình.
THÔNG TIN MỚI KHÁC
Những tai nạn "phòng the" có thể khiến bạn mất mạng -12/10/2019
Những sự thật về phương pháp tránh thai phổ biến nhất -28/09/2019
Vì sao đèn xi-nhan lại có màu da cam? -28/09/2019

Chia sẻ đến
THÔNG TIN