Chương 6 Kết luận
2.2 Minh họa phép ghép song song (a) và phép ghép nối tiếp (b)
Hình 2.2minh họa phép ghép hai thành phần phần mềmC1vàC2theo cách ghép song song và ghép nối tiếp, trong đó (X1, Y1) là tập các biến đầu vào/đầu ra tương ứng của C1 và (X2, Y2) là tập các biến đầu vào/đầu ra tương ứng của
C2. Thành phần “Delay” là độ trễ khi ghép hai thành phần phần mềm theo cách nối tiếp. Yếu tố này chỉ sự đồng bộ thời gian tại đầu ra của các thành phần phần mềm khi ghép nối tiếp với nhau.
2.1.2 Tính đúng đắn bởi cách xây dựng
Hệ thống phần mềm ngày càng có quy mơ lớn và phức tạp, địi hỏi thời gian triển khai nhanh, độ chính xác cao, giảm chi phí, v.v. Hiện nay, các phương pháp phát triển phần mềm truyền thống vẫn phổ biến, điều này làm gia tăng đáng kể các chi phí trong q trình phát triển và đảm bảo tính đúng đắn của hệ thống mới như kiểm thử, bảo trì, v.v.
Hiện nay, một hướng tiếp cận mới trong việc đảm bảo tính đúng đắn của hệ thống phần mềm là tính đúng đắn bởi cách xây dựng. Hướng tiếp cận này được trình bày trong một số cơng trình điển hình của các tác giả Anthony Hall và Roderick Chapman [12], Gregor Găossler và Joseph Sifakis [13,14], D. V. Hung và đồng nghiệp [15] và Derrick G. Kourie và Bruce W. Watson [16] đều thống nhất một hệ thống cần có một số tính chất sau:
(i) Tính đúng đắn: Có phương pháp xây dựng các thành phần phần mềm nguyên tử một cách đúng đắn.
(ii) Luật phối ghép: Cho Π,Π0 và ~ là các phép ghép nào đó của hệ thống và C1,C2, . . . ,Ck là các thành phần phần mềm, k ∈ N. Giả sử Π(C1,C2, . . . ,Ck) thỏa một tính chất P và Π0(C1,C2, . . . ,Ck) thỏa một tính chất P0. Thì Π~Π0(C1,C2, . . . ,Ck) sẽ thỏa thuộc tính P ∧P0.
(iii) Cần có phương pháp thiết lập trong các thành phần phần mềm hoặc các đặc tả của chúng các tiền điều kiện, hậu điều kiện và bất biến.
(iv) Cần có phương pháp thiết lập trong các thành phần phần mềm hoặc đặc tả của chúng một bộ lọc các điều kiện được gọi là các bộ bảo vệ.
(v) Cần phát triển mơ hình cho thành phần phần mềm và trong mơ hình có phương pháp kiểm tra liệu hoạt động của các thành phần phần mềm tuân thủ các thể thức của chúng hay không? Sự tn thủ này khơng chỉ có ràng buộc về mặt chức năng mà còn cần tuân thủ về các ràng buộc phi chức năng.
(vi) Hệ thống cần có kho các thành phần phần mềm đủ lớn để cho phép lựa chọn các thành phần thỏa mọi yêu cầu của hệ thống.
2.1.3 Kiến trúc hệ thống phát triển phần mềm dựa trên thành phần
Phương pháp phát triển phần mềm dựa trên thành phần được phát triển ổn định và trở thành một hướng tiếp cận chính trong phát triển phần mềm hiện nay. Phương pháp này tùy thuộc vào từng hãng cơng nghệ khác nhau thì sản phẩm phần mềm cũng có các kiến trúc khác nhau. Trên thực tế, nhiều kiến trúc được đề xuất như EJB, CORBA, RMI, COM, DCOM, .NET [17–19], v.v. Các sản phẩm này là những cơng nghệ dựa trên lập trình hướng đối tượng. Tuy nhiên, các kiến trúc luôn được cải tiến và phát triển cho phù hợp với các u cầu thực tế. Do vậy, có nhiều mơ hình và các kiến trúc mới được đề xuất như mơ hình PECOS [20], là một mơ hình thành phần phần mềm được phát triển cho thành phần phần mềm dựa trên thành phần; bộ phát triển ứng dụng BIP hỗ trợ phát triển các thành phần phần mềm từ mức nguyên tử cho đến hỗ trợ thiết kế và phân tích cả hệ thống thời gian thực [14]; và mới đây nhất mơ hình X-MAN được nhóm tác giả Nannan He phát triển trong dự án CESAR của Châu Âu [21]. Điểm chung của các đề xuất này là một hệ thống đều có bốn tầng, tầng dưới cùng là phần cứng, đến hệ điều hành, bộ khung phát triển ứng dụng (framework) và cuối cùng là môi trường và được minh họa trong Hình2.3.
Phần cứng Hệ điều hành Mơi trường Bộ khung phát triển phần mềm X1 ℂ 1 Y1 X2 ℂ 2 Y2 X1 ℂ 1 Y1 ℂ 2 Y2 X2 D el ay