Luận văn: Xây dựng ngôn ngữ mẫu cho lập trình dựa trên thành phần

Luận văn thạc sĩ: Xây dựng ngôn ngữ mẫu cho lập trình dựa trên thành phần. Nghiên cứu giải pháp phát triển phần mềm hiệu quả, linh hoạt hơn.

Chuyên ngành

Công nghệ phần mềm

Người đăng

Ẩn danh

Thể loại

Luận văn Thạc sĩ

2010

57
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỞ ĐẦU

1. CHƯƠNG 1: KHÁI QUÁT VỀ PHÁT TRIỂN HỆ THỐNG DỰA TRÊN THÀNH PHẦN

1.1. Tiến trình công nghệ phần mềm dựa trên thành phần

1.2. Phát triển hệ thống dựa trên thành phần

1.2.1. Định phẩm, thích ứng và hợp thành thành phần

1.2.2. Chế tạo thành phần

1.2.3. Phân tích và thiết kế cho dùng lại

1.2.4. Phân loại và tìm kiếm thành phần

2. Mô hình vòng đời tiến trình dựa trên thành phần

3. Mô hình thành phần

3.1. Cơ sở cho mô hình thành phần

3.2. Giao diện và hợp đồng

4. Ngôn ngữ mẫu đặc tả thành phần

4.1. Ví dụ hệ thống ParcelCall

4.2. Đặc tả giao diện

4.2.1. Giao diện sơ cấp

4.2.2. Kết hợp và thừa kế giao diện

4.3. Đặc tả hợp đồng

4.3.1. Sự đặc tả của một phương thức

4.3.2. Kết hợp, làm mịn và thừa kế hợp đồng

4.4. Đặc tả thành phần

4.4.1. Ngữ nghĩa của thành phần

4.4.2. Sự làm mịn, che dấu giao diện và kết hợp các thành phần

4.5. Ví dụ về đặc tả thành phần

4.5.1. Khái quát về hệ thống

4.5.2. Phân tích ca sử dụng và đặc tả thành phần

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Luận Văn Thạc Sĩ Xây Dựng Ngôn Ngữ Mẫu

Luận văn thạc sĩ này tập trung vào việc xây dựng ngôn ngữ mẫu cho lập trình dựa trên thành phần. Ý tưởng cốt lõi là tận dụng và sử dụng lại các thành phần để xây dựng và bảo trì các hệ thống phần mềm, một khái niệm có từ những năm 70 với "lập trình cấu trúc". Sự phát triển của các phương pháp và ngôn ngữ hướng đối tượng trong những năm 80 tiếp tục củng cố ý tưởng này, và ngày nay, với sự phát triển của các hệ thống lớn, việc quay lại ý tưởng này trở nên cấp thiết. Kỹ thuật hướng đối tượng và kỹ thuật dựa trên thành phần đã trở nên phổ biến và được sử dụng rộng rãi trong mô hình hóa và thiết kế cho hệ thống phần mềm phức tạp. Chúng cung cấp khả năng hỗ trợ cho việc phân rã một ứng dụng thành các đối tượng và các thành phần, những thứ có thể sử dụng lại và mở rộng những thiết kế dựa trên những thành phần đã tồn tại. Sự phân tích và kiểm chứng những hệ thống như vậy sẽ là dễ dàng bởi tính kết hợp trong kiến trúc thành phần. Một số minh chứng tiêu biểu cho kỹ thuật hướng đối tượng và kỹ thuật dựa trên thành phần là CORBA, EJB, J2EE, COM và .NET.

1.1. Giới Thiệu Về Phát Triển Hệ Thống Dựa Trên Thành Phần

Công nghệ phần mềm dựa trên thành phần (CBSE) nhấn mạnh thiết kế và xây dựng hệ thống bằng cách sử dụng các "thành phần" phần mềm dùng lại được. CBSE có vẻ tương tự với công nghệ phần mềm hướng đối tượng. Tổ phần mềm thiết lập yêu cầu cho hệ thống được xây dựng bằng việc dùng các kỹ thuật thu thập yêu cầu, sau đó thiết kế kiến trúc được thiết lập. Thay vì đi ngay vào các nhiệm vụ thiết kế chi tiết, thì lại xem xét các yêu cầu để xác định những gì trực tiếp chịu trách nhiệm cho việc hợp thành, thay vì xây dựng mới. Tổ phần mềm tự hỏi: Các thành phần đã được cung cấp (COTS) có sẵn cho việc thực hiện yêu cầu hay không? Các thành phần dùng lại được phát triển trước đây có sẵn để thực hiện yêu cầu hay không? Giao diện cho các thành phần có sẵn có tương hợp với kiến trúc của hệ thống cần được xây dựng hay không? Tiến trình CBSE phải được đặc trưng theo cách không chỉ nhận diện ra các thành phần ứng cử viên mà còn định lượng từng giao diện của các thành phần, thích ứng các thành phần để loại bỏ sự không tương thích với kiến trúc, lắp ráp các thành phần vào trong một kiểu cách kiến trúc đã được lựa chọn, và cập nhật các thành phần theo yêu cầu thay đổi của hệ thống. Nội dung của công nghệ miền là xác định, xây dựng, phân loại và phát hiện một tập các thành phần phần mềm có khả năng ứng dụng vào việc phát triển phần mềm hiện tại và tương lai trong miền ứng dụng đặc biệt. Mục tiêu tổng thể là thiết lập những cơ chế làm cho người kỹ sư phần mềm chia sẻ những thành phần này, dùng lại chúng trong khi làm việc với hệ thống mới và hệ thống hiện có.

1.2. Tại Sao Cần Một Ngôn Ngữ Mẫu Cho Lập Trình

Mặc dù các ngôn ngữ mô hình hóa hình thức và bán hình thức như UML, JML và BIP đã trở nên phổ biến với việc hỗ trợ phát triển hệ thống dựa trên mô hình, nhưng chúng vẫn còn nhiều hạn chế. Những mô hình này hoặc là không hỗ trợ mức trừu tượng hóa hoặc thiếu ký hiệu ngữ nghĩa, là thứ có thể được sử dụng để tích hợp với ngôn ngữ lập trình khác. Chúng vẫn chưa cung cấp đủ sự hỗ trợ cho việc mô hình hóa và phân tích chất lượng tổng thể những dịch vụ của hệ thống được phát triển từ những thành phần. Cần tìm kiếm một kỹ thuật mô hình hóa, có thể hỗ trợ việc đặc tả hệ thống thành phần ở mức trừu tượng hóa cao, và có thể cung cấp một nền tảng cơ sở để phát triển một ngôn ngữ mẫu có khả năng tích hợp vào các ngôn ngữ lập trình khác nhau để hỗ trợ cho việc lập trình dựa trên thành phần. Với mục đích đó, luận văn tập trung đi vào tìm hiểu việc thiết lập mô hình toán học cho thành phần, đưa ra những định nghĩa hình thức cho giao diện, hợp đồng, thành phần, và cả những vấn đề liên quan đến chúng như làm mịn, thừa kế, kết hợp.

II. Thách Thức Trong Thiết Kế Ngôn Ngữ Mẫu Lập Trình

Việc thiết kế ngôn ngữ mẫu cho lập trình không phải là một nhiệm vụ đơn giản. Nó đòi hỏi sự cân bằng giữa tính biểu đạt, tính dễ sử dụng và khả năng tích hợp với các ngôn ngữ lập trình hiện có. Một trong những thách thức lớn nhất là làm thế nào để mô hình hóa các thành phần phần mềm một cách chính xác và hiệu quả. Các thành phần phải có khả năng tái sử dụng, dễ dàng tích hợp và có thể kiểm tra một cách độc lập. Ngoài ra, cần phải có một cơ chế để đặc tả các tương tác giữa các thành phần, đảm bảo rằng chúng hoạt động cùng nhau một cách chính xác. Các đặc tả này cần phải hình thức để cho phép phân tích tự động và kiểm chứng tính đúng đắn.

2.1. Vấn Đề Mô Hình Hóa Thành Phần và Tương Tác

Một trong những khó khăn lớn nhất là làm thế nào để mô hình hóa các thành phần phần mềm một cách chính xác và hiệu quả. Các thành phần phải có khả năng tái sử dụng, dễ dàng tích hợp và có thể kiểm tra một cách độc lập. Ngoài ra, cần phải có một cơ chế để đặc tả các tương tác giữa các thành phần, đảm bảo rằng chúng hoạt động cùng nhau một cách chính xác. Sự phức tạp của các hệ thống phần mềm hiện đại làm cho việc mô hình hóa các thành phần và tương tác của chúng trở thành một thách thức đáng kể. Cần có các phương pháp và công cụ mới để giúp các nhà phát triển đối phó với sự phức tạp này.

2.2. Yêu Cầu Về Tính Hình Thức và Kiểm Chứng

Các đặc tả về hành vi của các thành phần và tương tác của chúng cần phải hình thức để cho phép phân tích tự động và kiểm chứng tính đúng đắn. Điều này có nghĩa là các đặc tả phải được viết bằng một ngôn ngữ hình thức có cú pháp và ngữ nghĩa rõ ràng. Các công cụ phân tích và kiểm chứng có thể được sử dụng để xác minh rằng các thành phần và tương tác của chúng đáp ứng các yêu cầu đã chỉ định. Tuy nhiên, việc phát triển các ngôn ngữ hình thức và các công cụ phân tích và kiểm chứng là một nhiệm vụ khó khăn, đòi hỏi kiến thức chuyên môn về cả lý thuyết và thực hành.

III. Phương Pháp Xây Dựng Ngôn Ngữ Mẫu Mô Hình Toán Học

Luận văn đề xuất một phương pháp xây dựng ngôn ngữ mẫu dựa trên mô hình toán học. Mô hình này cung cấp một nền tảng hình thức để đặc tả các thành phần, giao diện, hợp đồng và các tương tác giữa chúng. Mô hình sử dụng các khái niệm từ lý thuyết tập hợp, logic và đại số quan hệ để mô hình hóa các thành phần và hành vi của chúng. Nó cũng cung cấp một cơ chế để đặc tả các ràng buộc và điều kiện tiên quyết cho các tương tác giữa các thành phần. Mục tiêu là cung cấp một ngôn ngữ đặc tả có thể được sử dụng để phân tích, kiểm chứng và tạo mã tự động cho các hệ thống dựa trên thành phần.

3.1. Định Nghĩa Hình Thức Cho Giao Diện và Hợp Đồng

Luận văn đưa ra các định nghĩa hình thức cho giao diện và hợp đồng, hai khái niệm quan trọng trong lập trình dựa trên thành phần. Một giao diện được định nghĩa là một tập các thuộc tính và phương thức mà một thành phần cung cấp hoặc yêu cầu. Một hợp đồng được định nghĩa là một tập các đặc tả cho các phương thức trong một giao diện, bao gồm các điều kiện tiên quyết, điều kiện hậu và các ràng buộc khác. Các định nghĩa hình thức này cung cấp một cơ sở chính xác và không mơ hồ cho việc mô hình hóa và phân tích các thành phần phần mềm.

3.2. Các Kỹ Thuật Làm Mịn Thừa Kế và Kết Hợp Thành Phần

Luận văn cũng trình bày các kỹ thuật làm mịn, thừa kế và kết hợp thành phần, cho phép các nhà phát triển xây dựng các hệ thống phức tạp từ các thành phần đơn giản. Làm mịn cho phép một thành phần được tinh chỉnh và mở rộng mà không thay đổi hành vi cơ bản của nó. Thừa kế cho phép một thành phần mới được tạo ra bằng cách kế thừa các thuộc tính và phương thức từ một thành phần hiện có. Kết hợp cho phép nhiều thành phần được kết hợp để tạo thành một thành phần lớn hơn và phức tạp hơn. Các kỹ thuật này cung cấp các công cụ mạnh mẽ cho việc phát triển và quản lý các hệ thống dựa trên thành phần.

3.3. Sử Dụng UTP Unifying Theories of Programming để mô tả chức năng phương thức

Sử dụng các ký hiệu của UTP (Unifying Theories of Programming) để mô tả chức năng cho các phương thức của các thành phần. UTP được hoàn thành trong nhiều năm với nỗ lực trong việc hình thức hóa cơ sở ngôn ngữ lập trình và kỹ thuật suy luận cho chương trình. UTP được Tony Hoare và He Jifeng phát triển, nó chứa đựng năng lực lập luận của logic vị từ và đại số quan hệ. Mọi chương trình được xem như quan hệ hai ngôi trên một không gian trạng thái là một tập X các biến chương trình hoặc các biến đáng chú ý khác (như biến ok’ nhận giá trị đúng khi kết thúc chương trình).

IV. Ứng Dụng Thực Tế Hệ Thống ParcelCall và Hỗ Trợ Bán Hàng

Để minh họa tính khả thi và hiệu quả của phương pháp, luận văn trình bày hai ví dụ ứng dụng thực tế: hệ thống ParcelCall và hệ thống hỗ trợ bán hàng. Hệ thống ParcelCall là một hệ thống theo dõi bưu kiện cho phép khách hàng theo dõi vị trí của bưu kiện của họ trong thời gian thực. Hệ thống hỗ trợ bán hàng là một hệ thống được sử dụng trong các siêu thị để quản lý các giao dịch bán hàng, kiểm kê và báo cáo. Các ví dụ này cho thấy phương pháp có thể được sử dụng để mô hình hóa và phát triển các hệ thống phần mềm phức tạp trong các lĩnh vực khác nhau.

4.1. Phân Tích Hệ Thống ParcelCall và Các Thành Phần

Dự án ParcelCall khảo sát sự phát triển của một hệ thống thiết bị thông tin có thể thông tin liên tục về vị trí địa lý chính xác của các bưu kiện tại bất kỳ thời điểm nào, một khách hàng có thể truy vấn địa điểm và trạng thái vận chuyển hàng hóa của họ. Một hệ thống ParcelCall có ba thành phần chính: Mobile Logistic Server (MLS), Goods Tracing Server (GTS), và Good Information Server (GIS). Mỗi thành phần cung cấp các dịch vụ và giao diện khác nhau, cho phép tương tác và trao đổi thông tin giữa các thành phần khác nhau và với khách hàng.

4.2. Xây Dựng Ngôn Ngữ Mẫu Đặc Tả Các Giao Diện

Để đặc tả một thành phần, chúng ta bắt đầu từ phần này với định nghĩa giao diện. Sau đó chúng ta chỉ ra một số giới hạn của các giao diện có thể hợp thành như thế nào, từ đó định nghĩa giao diện kế thừa. Một giao diện sơ cấp I là một tập các đặc tính, ở đây một đặc tính có thể hoặc là một thuộc tính x: T hoặc một phương thức op(in:U,out:V), ở đây in là các tham số giá trị và out là các tham số kết quả. Vì thế một giao diện được gọi là một cặp I:<A, M>, ở đây A biểu thị tập các thuộc tính, và M là tập các phương thức của giao diện I. Giao diện từ thành phần GIS sẽ thiết lập kết nối với khách hàng, trường hợp một khách hàng có thể nhập một yêu cầu để tìm địa điểm hiện tại của một bưu kiện qua IlocalizeParecel.

4.3. Phân tích ca sử dụng và đặc tả thành phần cho Hệ thống hỗ trợ bán hàng

Khái quát hệ thống và mô tả vấn đề giúp cung cấp ngữ cảnh ban đầu, phân tích các yêu cầu và thiết kế hệ thống là điều khiển các ca sử dụng. Một ca sử dụng miêu tả hệ thống tương tác như thế nào với các tác nhân và môi trường của nó trong sự thực hiện một tiến trình thương mại. Một tác nhân, như Cashier, kiểm tra khách hàng, tương tác với hệ thống bằng lời gọi một thao tác hệ thống để yêu cầu một dịch vụ của hệ thống.

V. Đánh Giá Ưu Điểm và Hạn Chế của Ngôn Ngữ Mẫu

Luận văn đánh giá ưu điểm và hạn chế của ngôn ngữ mẫu. Ưu điểm chính là nó cung cấp một nền tảng hình thức cho việc đặc tả, phân tích và kiểm chứng các hệ thống dựa trên thành phần. Điều này có thể giúp cải thiện chất lượng, độ tin cậy và khả năng bảo trì của các hệ thống này. Tuy nhiên, hạn chế chính là ngôn ngữ đặc tả có thể khó học và sử dụng, đặc biệt là đối với các nhà phát triển không quen thuộc với các khái niệm toán học. Ngoài ra, việc phát triển các công cụ hỗ trợ cho ngôn ngữ đặc tả có thể tốn thời gian và chi phí.

5.1. Ưu Điểm Tính Hình Thức Độ Tin Cậy Khả Năng Bảo Trì

Ưu điểm chính của phương pháp là nó cung cấp một nền tảng hình thức cho việc đặc tả, phân tích và kiểm chứng các hệ thống dựa trên thành phần. Điều này có thể giúp cải thiện chất lượng, độ tin cậy và khả năng bảo trì của các hệ thống này. Tính hình thức cho phép các công cụ tự động được sử dụng để phân tích và kiểm chứng các đặc tả, giúp phát hiện các lỗi và đảm bảo rằng các hệ thống đáp ứng các yêu cầu đã chỉ định. Độ tin cậy được cải thiện bằng cách đảm bảo rằng các thành phần và tương tác của chúng hoạt động chính xác. Khả năng bảo trì được cải thiện bằng cách cho phép các thành phần được thay đổi và cập nhật một cách độc lập mà không ảnh hưởng đến các thành phần khác.

5.2. Hạn Chế Độ Phức Tạp Yêu Cầu Kiến Thức Toán Học

Tuy nhiên, hạn chế chính của phương pháp là ngôn ngữ đặc tả có thể khó học và sử dụng, đặc biệt là đối với các nhà phát triển không quen thuộc với các khái niệm toán học. Điều này có thể làm cho việc áp dụng phương pháp trở nên khó khăn trong thực tế. Ngoài ra, việc phát triển các công cụ hỗ trợ cho ngôn ngữ đặc tả có thể tốn thời gian và chi phí. Cần có các công cụ để tạo, chỉnh sửa, phân tích và kiểm chứng các đặc tả. Việc phát triển các công cụ này đòi hỏi kiến thức chuyên môn về cả ngôn ngữ đặc tả và các kỹ thuật phát triển phần mềm.

VI. Kết Luận và Hướng Phát Triển Ngôn Ngữ Mẫu Lập Trình

Luận văn đã trình bày một phương pháp xây dựng ngôn ngữ mẫu cho lập trình dựa trên thành phần, dựa trên mô hình toán học. Phương pháp này cung cấp một nền tảng hình thức cho việc đặc tả, phân tích và kiểm chứng các hệ thống dựa trên thành phần. Các ví dụ ứng dụng thực tế cho thấy phương pháp có thể được sử dụng để mô hình hóa và phát triển các hệ thống phần mềm phức tạp trong các lĩnh vực khác nhau. Tuy nhiên, cần có thêm nghiên cứu và phát triển để giải quyết các hạn chế của phương pháp và làm cho nó dễ sử dụng hơn cho các nhà phát triển.

6.1. Tóm Tắt Kết Quả Nghiên Cứu và Đóng Góp

Luận văn đã đóng góp vào lĩnh vực lập trình dựa trên thành phần bằng cách cung cấp một phương pháp mới cho việc xây dựng ngôn ngữ mẫu. Phương pháp này dựa trên một mô hình toán học hình thức, cho phép các nhà phát triển đặc tả, phân tích và kiểm chứng các hệ thống dựa trên thành phần một cách chính xác và hiệu quả.

6.2. Đề Xuất Các Hướng Nghiên Cứu Tiềm Năng trong tương lai

Trong tương lai, cần có thêm nghiên cứu để phát triển các công cụ hỗ trợ cho ngôn ngữ đặc tả, làm cho nó dễ sử dụng hơn cho các nhà phát triển. Cần có các công cụ để tạo, chỉnh sửa, phân tích và kiểm chứng các đặc tả. Ngoài ra, cần có thêm nghiên cứu để mở rộng phương pháp cho các loại hệ thống phần mềm khác nhau, chẳng hạn như các hệ thống phân tán và các hệ thống thời gian thực.

24/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. KHÁI QUÁT VỀ PHÁT TRIỂN HỆ THỐNG DỰA TRÊN THÀNH PHẦN 1.1 Tiến trình công nghệ phần mềm dựa trên thành phần Công nghệ phần mềm dựa trên thành phần (CBSE – Component Based Software Engineering) là một tiến trình nhấn mạnh tới thiết kế và xây dựng hệ thống dựa trên máy tính bằng việc dùng các “thành phần” phần mềm dùng lại được. Về bề ngoài, CBSE dường như hoàn toàn tương tự với công nghệ phần mềm hướng đối tượng. Tiến trình này bắt đầu khi tổ phần mềm thiết lập yêu cầu cho hệ thống được xây dựng bằng việc dùng các kĩ thuật thu thập yêu cầu, sau đó thiết kế kiến trúc được thiết lập nhưng thay vì đi ngay vào các nhiệm vụ thiết kế chi tiết, thì lại xem xét các yêu cầu để xác định những gì trực tiếp chịu trách nhiệm cho việc hợp thành, thay vì xây dựng mới.

Tức là, tổ phần mềm đưa ra những câu hỏi sau cho từng yêu cầu hệ thống:  Các thành phần đã được cung cấp (COTS - commercial off the shelf) có sẵn cho việc thực hiện yêu cầu hay không?  Các thành phần dùng lại được phát triển trước đây có sẵn để thực hiện yêu cầu hay không?  Giao diện cho các thành phần có sẵn có tương hợp với kiến trúc của hệ thống cần được xây dựng hay không? Tiến trình CBSE phải được đặc trưng theo cách không chỉ nhận diện ra các thành phần ứng cử viên mà còn định lượng từng giao diện của các thành phần, thích ứng các thành phần để loại bỏ sự không tương thích với kiến trúc, lắp ráp các thành phần vào trong một kiểu cách kiến trúc đã được lựa chọn, và cập nhật các thành phần theo yêu cầu thay đổi của hệ thống. Mô hình tiến trình cho công nghệ phần mềm dựa trên thành phần nhấn mạnh vào các việc song song mà theo đó công nghệ miền được sử dụng đồng thời với việc phát triển dựa trên thành phần [1, 3]. Nội dung của công nghệ miền là xác định, xây dựng, phân loại và phát hiện một tập các thành phần phần mềm có khả năng ứng dụng vào việc phát triển phần mềm hiện tại và tương lai trong miền ứng dụng đặc biệt. Mục tiêu tổng thể là thiết lập những cơ chế làm cho người kĩ sư phần mềm chia sẻ những thành phần này, dùng lại chúng trong khi làm việc với hệ thống mới và hệ thống hiện có.

TIEU LUAN MOI download : skknchat@gmail.1 minh họa cho mô hình tiến trình CBSE điển hình. Công nghệ miền tạo ra mô hình của miền ứng dụng được dùng làm cơ sở cho việc phân tích yêu cầu người dùng trong luồng công nghệ phần mềm, và sau khi các thành phần dùng lại đã được mua, được chọn từ thư viện hiện có, hay được xây dựng (như một phần việc của công nghệ miền), chúng được trở thành công cụ đã sẵn sàng cho người kĩ sư phần mềm trong việc phát triển hệ thống dựa trên thành phần.1 Mô hình tiến trình hỗ trợ CBSE Các bước trong tiến trình tiếp cận tổng thể tới việc phân tích miền được xác định là:  Định nghĩa miền được khảo sát.  Phân loại các yếu tố được trích ra từ miền.  Thu thập mẫu đại diện của các ứng dụng trong miền.

 Phân tích từng ứng dụng trong mẫu.  Phát triển mô hình phân tích cho các mẫu. TIEU LUAN MOI download : skknchat@gmail.com 4 Điều quan trọng cần lưu ý là việc phân tích miền được áp dụng cho bất kỳ mô thức công nghệ phần mềm nào và có thể được áp dụng tốt cho cả việc phát triển hướng đối tượng. Prieto-Diaz mở rộng bước phân tích miền thứ hai trong công nghệ miền nêu trên [1], và gợi ý cách tiếp cận tám bước tới việc xác định và phân loại các thành phần dùng lại như sau: (1) Lựa các chức năng hay sự vật đặc thù.

(2) Trừu tượng hoá chức năng hay sự vật. (3) Xác định phân loại. (4) Định danh các tính năng chung. (5) Định danh các quan hệ đặc biệt.

(6) Trừu tượng hoá các quan hệ. (7) Suy dẫn ra mô hình chức năng. (8) Định nghĩa ngôn ngữ miền. Đôi khi khó xác định được rằng liệu với một thành phần dùng lại tiềm năng nào đó trong thực tế có áp dụng được cho một tình huống đặc biệt hay không.

Để tiến hành việc xác định này, cần phải định nghĩa ra một tập các đặc trưng miền được dùng chung cho mọi phần mềm bên trong một miền. Đặc trưng miền định nghĩa ra thuộc tính chung nào đó cho mọi sản phẩm tồn tại trong miền đó, chẳng hạn, các đặc trưng chung có thể là tầm quan trọng của tính an toàn, tính tin cậy, ngôn ngữ lập trình, tương tranh trong xử lí, và nhiều điều khác nữa.2 Phát triển hệ thống dựa trên thành phần Phát triển dựa trên thành phần là hoạt động CBSE xuất hiện song song với công nghệ miền. Bằng việc dùng các phương pháp phân tích và thiết kế kiến trúc, tổ phần mềm làm mịn kiến trúc thích hợp cho mô hình phân tích đã được tạo ra cho ứng dụng được xây dựng. Một khi kiến trúc đã được thiết lập, nó phải đưa các thành phần vào.

Các thành phần này là có sẵn từ thư viện dùng lại hoặc được chế tạo mới để đáp ứng nhu cầu riêng biệt này. Do đó, luồng nhiệm vụ cho việc phát triển hệ thống dựa trên thành phần có hai việc song song như ở hình 1. Khi các thành phần dùng lại được là có sẵn cho việc tích hợp tiềm năng vào trong kiến trúc, thì chúng phải được định tính và thích nghi. Khi thành phần mới cần tới, thì chúng phải TIEU LUAN MOI download : skknchat@gmail.com 5 được chế tạo.

Sau đó chúng được tích hợp vào trong kiến trúc và được kiểm thử kĩ càng.1 Định phẩm, thích ứng và hợp thành thành phần Như ta đã thấy, công nghệ miền cung cấp thư viện các thành phần dùng lại được cần cho công nghệ phần mềm dựa trên thành phần. Một số trong những thành phần dùng lại được này được phát triển bởi đội ngũ sở tại, số khác có thể được trích từ những ứng dụng đã có, và số khác nữa thì có thể kiếm được từ bên thứ ba. Tuy nhiên sự tồn tại của các thành phần dùng lại được không đảm bảo rằng các thành phần này có thể được tích hợp một cách dễ dàng hay hiệu quả vào kiến trúc được chọn cho ứng dụng mới. Chính bởi lí do này mà trình tự các hoạt động phát triển dựa trên thành phần được áp dụng khi một thành phần được đề nghị sử dụng.

Định phẩm thành phần: Định phẩm thành phần đảm bảo rằng một thành phần ứng cử viên sẽ thực hiện chức năng được yêu cầu, sẽ “khớp” đúng vào phong cách kiến trúc đã xác định cho hệ thống, và sẽ phải có các đặc trưng phẩm chất (như hiệu năng, độ tin cậy, tính sẵn sàng) cần cho ứng dụng. Mô tả giao diện cung cấp thông tin có ích về thao tác và sử dụng thành phần phần mềm, nhưng nó không cung cấp tất cả các thông tin cần để xác định xem một thành phần được đề nghị trong thực tế có dùng lại được một cách có hiệu quả trong ứng dụng mới hay không. Dưới đây là một số nhân tố được xem xét khi định phẩm thành phần:  Giao diện lập trình ứng dụng (API).  Các công cụ phát triển và tích hợp được thành phần cần tới.

 Các yêu cầu khi chạy, kể cả việc dùng tài nguyên (như bộ nhớ hay lưu trữ), thời gian hay tốc độ, và giao thức mạng.  Tính năng an toàn, kể cả kiểm soát truy nhập và giao thức xác minh.  Các giả thiết thiết kế nhúng.  Giải quyết các trường hợp ngoại lệ.

Thích ứng thành phần: Trong trường hợp lí tưởng, công nghệ miền tạo ra một thư viện các thành phần mà có thể dễ dàng được tích hợp vào kiến trúc ứng dụng. Điều ngụ ý “dễ tích hợp” là ở chỗ: TIEU LUAN MOI download : skknchat@gmail.com 6  Các phưong pháp nhất quán về quản lý tài nguyên đã được thực hiện cho mọi thành phần trong thư viện.  Các hoạt động chung như quản lí dữ liệu đã có cho mọi thành phần.  Giao diện bên trong kiến trúc và với môi trường bên ngoài đã được thực hiện theo cách nhất quán.

Trong thực tế, ngay sau khi thành phần đã được định phẩm để dùng bên trong một kiến trúc ứng dụng, thì nó có thể bộc lộ ra những xung đột không tương thích với một hay nhiều vùng phải được chú ý. Để làm giảm bớt những xung khắc này, một kĩ thuật thích ứng được gọi là bọc gói thành phần [1, 3] thường được sử dụng. Khi tổ phần mềm đã có quyền truy nhập hoàn toàn vào thiết kế bên trong và mã cho thành phần (thường không phải là trường hợp khi thành phần COTS được dùng) thì việc bọc gói hộp trắng sẽ được áp dụng. Giống như phần tương ứng của nó trong kiểm thử phần mềm, bọc gói hộp trắng xem xét các chi tiết xử lí bên trong của thành phần này và làm những thay đổi mức mã để loại bỏ các xung khắc.

Bọc gói hộp xám được áp dụng khi thư viện thành phần được cung cấp một một ngôn ngữ mở rộng thành phần hay API có khả năng loại bỏ hay che mặt nạ cho các xung khắc. Bọc gói hộp đen đòi hỏi đưa vào tiền và hậu xử lí tại giao diện thành phần để loại bỏ hay làm mặt nạ cho các xung khắc. Tổ phần mềm phải xác định xem liệu nỗ lực được yêu cầu bao gói thích hợp thành phần có thể được thực hiện không hay là thành phần chuyên biệt hoá (được thiết kế để khử bỏ xung khắc gặp phải) nên được chế tạo ra. Hợp thành thành phần: Nhiệm vụ hợp thành thành phần là lắp ráp các thành phần đủ phẩm chất, đã thích ứng hay đã chế tạo vào kiến trúc đã thiết lập cho ứng dụng.

Để thực hiện điều này, phải thiết lập một kết cấu nền để gắn các thành phần thành một hệ thống vận hành. Kết cấu nền này (thường là thư viện các thành phần đã khu biệt hoá) đưa ra một mô hình cho việc điều phối các thành phần lẫn nhau và thực hiện các nhiệm vụ chung. Trong số nhiều cơ chế để tạo ra một kết cấu nền hiệu quả thì tập bốn “chất liệu kiến trúc” cần có để đạt tới việc hợp thành thành phần là:  Mô hình trao đổi dữ liệu. Cơ chế để người dùng và ứng dụng có khả năng tương tác và truyền dữ liệu (như kéo và thả, cắt và dán) nên được định nghĩa cho mọi thành phần dùng lại.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ