Báo cáo nghiên cứu khoa học " ỨNG DỤNG PHƯƠNG PHÁP PHÁT TRIỂN DỰA TRÊN THÀNH PHẦN TRONG QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM " - Pdf 14


51
ỨNG DỤNG PHƯƠNG PHÁP PHÁT TRIỂN DỰA TRÊN THÀNH PHẦN
TRONG QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM
Lê Văn Tường Lân
Trường Đại học Khoa học, Đại học Huế

Thế giới thực luôn biến động. Do vậy, để thích nghi, các hệ thống phần
mềm mô tả nó luôn thay đổi. Phương pháp phát triển hướng đối tượng đã được
xem là một phương tiện hữu hiệu để giải quyết sự khủng hoảng này trong công
nghệ phần mềm. Tuy nhiên, trong các hệ thống lớn, phức tạp, có chất lượng cao
đòi hỏi phải được xây dựng trong một thời gian ngắn thì bản thân nó lại bộc lộ
hạn chế về việc kiểm định chất lượng và chi phí phần mềm. Bài viết này nhằm
nêu bật vai trò của một phương pháp quan trọng trong ngành công nghệ phần
mềm hiện nay, được xem là bước tiến hoá của phương pháp phát triển hướng đối
tượng, đó là phương pháp hướng thành phần hay còn được gọi là phát triển dựa
trên thành phần. Phương pháp này xem việc phát triển phần mềm là quá trình hợp
nhất của những thành phần phần mềm tiền đóng gói.
I. QUAN ĐIỂM CỦA PHÁT TRIỂN DỰA TRÊN THÀNH PHẦN
1.Bài toán;
Cho hệ thống thông báo tự động như sau: Một máy tính kết nối với modem
điện thoại. Tại thời điểm T, hệ thống cần tự động thông báo một bản tin M có độ
dài L cho trước trong khoảng thời gian N. Hay trong một thời điểm nào đó, có
thể được kích hoạt để nhận một bản tin M' nào đó gởi đến. Hãy xây dựng phần
mềm cho bài toán trên.

52
2. Xây dựng hệ thống theo phương pháp hướng đối tượng:
Để phát triển phần mềm cho hệ thống trên, ta phải xây dựng đối tượng
MODEM với những vấn đề phải xét:
+ Các thuật toán xử lý trên modem: tạo kết nối, hủy kết nối,

sự thích nghi là tốt, chúng sẽ được lấy ra và phát triển hệ thống. Ngược lại, chúng
sẽ được phát triển để sử dụng và bổ sung vào thư viện sử dụng lại.

Kế hoạch
Phân

tích lỗi
Xây dựng hay
d

ng h

th

ng

Đánh giá của
khách hàng
Giao tiếp với
khách hàng

Thành phần để
xây dựng
hệ thống
Xây dựng nếu
thành phần
không thích

để người phát triển hệ thống có thể biết hay tìm thấy các thành phần này để sử
dụng? Và làm thế nào để biết được thành phần này là có thể làm thích nghi để
đưa vào hệ thống cần xây dựng?
Công nghệ phần mềm dựa trên thành phần chứa hai hoạt động công nghệ
song song: công nghệ lĩnh vực và phát triển dựa trên thành phần.
i. Công nghệ lĩnh vực là nhận ra, xây dựng, phân loại và phát triển những
thành phần phần mềm mà chúng có thể áp dụng được đối với phần mềm hiện có
và phần mềm trong tương lai trong một lĩnh vực ứng dụng cụ thể. Công nghệ lĩnh
vực gồm ba hoạt động chính: phân tích, xây dựng và phát triển. Như vậy, nó

55
đóng vai trò là thiết lập tập các thành phần phần mềm có thể sử dụng lại bởi kỹ
sư phần mềm.
Tuy vậy, khó xác định xem một thành phần tiềm năng có thể được sử dụng
hay không. Để được điều này, phải chỉ rõ tập hợp các đặc trưng lĩnh vực mà
chúng có được. Gọi {D
p
}là tập hợp các đặc trưng lĩnh vực của một thành phần
phần mềm có thể sử dụng lại; với mỗi D
pi
trong tập là một đặc trưng về lĩnh vực
cụ thể. Khi xây dựng phần mềm W mới, ta có tập D
Wi
là tập các đặc trưng về
lĩnh vực của ứng dụng, ta so sánh với D
pi
để có được quyết định.
ii. Phát triển dựa trên thành phần là chỉ ra những đòi hỏi từ khách hàng, xác
định một kiểu kiến trúc thích hợp để đáp ứng mục tiêu hệ thống. Để từ đó có thể:
+ Chọn những thành phần tiềm năng cho việc sử dụng lại,

phần MSCOMM hay thành phần EXCEL TELE để đưa vào xây dựng hệ thống?
Ngoại trừ các thành phần này trong thư viện có còn các thành phần khác hay
không? Khả năng thích nghi đối với hệ thống như thế nào?
Trong kho thành phần lớn, có hàng chục ngàn thành phần có thể sử dụng
lại. Do vậy, bằng cách nào để các kỹ sư phần mềm có thể tìm thấy thành phần mà
họ cần? Để trả lời câu hỏi này, cần phải giải quyết: "Cần phải miêu tả các thành
phần phần mềm theo nhóm như thế nào?"

57
Một thành phần phần mềm có thể sử dụng lại có thể được mô tả theo mô
hình 3C như sau: Concept (khái niệm), Content (nội dung), và Context (ngữ
cảnh).
Concept: miêu tả về cái gì mà thành phần phần mềm làm, gắn với mục đích
của thành phần. Giao diện đối với thành phần được miêu tả một cách đầy đủ và
ngữ nghĩa được chỉ ra ở tiền và hậu điều kiện.
Content: miêu tả khái niệm được thực hành như thế nào. Về bản chất thì nội
dung của thành phần được dấu đối với người sử dụng và chỉ được biết đối với
những ai có ý định kiểm tra hay sửa đổi thành phần.
Context: đặt cho thành phần phần mềm có thể sử dụng lại trong lĩnh vực
ứng dụng nào. Bằng cách chỉ ra những đặc trưng thuộc về khái niệm, thao tác và
cài đặt, nó cho phép ta có thể tìm ra những thành phần thích hợp để đáp ứng cho
nhu cầu của ứng dụng.
III. HIỆU QUẢ CỦA CÔNG NGHỆ DỰA TRÊN THÀNH PHẦN
Để đánh giá, trước hết, ta phải hiểu cái gì thực sự được sử dụng lại trong
phạm vi của công nghệ phần mềm, và hao phí thật sự liên quan đến sử dụng lại.
1. Độ đo sự sử dụng lại:
Để đo lợi ích liên quan đến sử dụng lại trong hệ thống S, ta có đẳng thức
sau:
R
b

được cải thiện.
4. Tác động về giá thành:
Tiết kiệm giá thành đối với việc sử dụng lại được ước lượng bằng cách ước
lượng giá thành của dự án. Dựa trên nghiên cứu khả năng sử dụng lại, hiệp hội
QSM, Inc., báo cáo dây chuyền thành phần dẫn đến việc giảm 70% về quá trình
phát triển, giảm 84% về giá dự án.
IV. KẾT LUẬN
Phần mềm tốt là kết quả phải đạt được của ngành công nghiệp phần mềm.
Sự phát triển phần mềm dựa trên thành phần chỉ ra nó là một phương pháp hiệu
quả. Bằng việc chỉ ra những điểm chính của phương pháp cùng với bài toán dẫn

59
chứng, bài viết khẳng định tính ưu việt của phương pháp dần đang có vị trí hàng
đầu trong ngành công nghiệp phần mềm trên thế giới.
TÀI LIỆU THAM KHẢO
1. Đoàn Văn Ban. Phân tích thiết kế và lập trình hướng đối tượng,
Trung tâm Khoa học Tự nhiên và Công nghệ Quốc gia (1996).
2. Ngô Trung Việt. Kỹ nghệ Phần mềm - bản dịch, Nhà xuất bản Giáo
dục (1999).
3. Roger S. Pressman Ph.D, Software Engineering a practitioner's,
McGraw - Hill book Co Singapore (2001).
4. Yourdon, E. Software reuse, Application development strategies,
Vol. 6, No. 12, (1994) 1 - 16.
5. Brown, A.W., and K., C. Wallnau, Engineering of component are
system, IEEE computer society press (1996).
6. Stephen R. Schach, Classical and object-oriented software
engineering, McGraw- Hill (1997).
7. Sommerville I., Software Engineering, Addison Wesley (1995).
8. Pitero - Diaz R. Domain analysis for reuseability, Proc.
COMPSAC'87, Tokyo, (1987) 23 - 29.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status