BỘ GIAO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-------------------
VŨ THỊ DƯƠNG
KIỂM THỬ VÀ ĐÁNH GIÁ THÀNH PHẦN
PHẦN MỀM TRONG PHÁT TRIỂN
PHẦN MỀM HƯỚNG THÀNH PHẦN
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN: TS. HUỲNH QUYẾT THẮNG
Hà Nội – 2004
2
MỤC LỤC
DANH MỤC CÁC Kí HIỆU VIẾT TẮT ........................................................................ 5
DANH MỤC CÁC BẢNG .............................................................................................. 6
DANH MỤC CÁC HèNH VẼ, ĐỒ THỊ ......................................................................... 7
MỞ ĐẦU.......................................................................................................................... 7
Chương 1: TỔNG QUAN VỀ THÀNH PHẦN PHẦN MỀM VÀ PHÁT TRIỂN PHẦN
MỀM HƯỚNG THÀNH PHẦN.................................................................................... 10
1.1.1. 1.1. Tổng quan về thành phần phần mềm ...............................................10
1.1.1.
1.1.1. Quỏ trỡnh tiến húa của thành phần phần mềm. ............................ 10
1.1.2.
1.1.2. Tại sao cỏc thành phần phần mềm sử dụng lại là quan trọng. ...... 13
1.1.3.
1.1.3. Cỏc thuộc tớnh của thành phần trong phần mềm hướng thành
phần.
16
1.1.4.
1.1.4. Cỏc yếu tố cơ bản của thành phần phần mềm............................... 20
1.1.5.
1.1.5. So sỏnh thành phần phần mềm và các môđun phần mềm truyền
thống. 22
1.1.6.
1.1.6. Kỹ nghệ xử lý đối với thành phần phần mềm. .............................. 26
1.1.7.
1.1.7. Cỏc cõu hỏi, cỏc mối quan tõm, những điểm cần thiết trong quỏ
trỡnh xỏc nhận tớnh hợp lệ và quỏ trỡnh quản lý chất lượng thành phần.............. 29
1.1.2. 1.2. Phỏt triển phần mềm hướng thành phần. .........................................31
1.1.8.
1.2.1. Giới thiệu. ..................................................................................... 32
1.1.9.
1.2.2. So sỏnh phần mềm hướng thành phần và chương trỡnh phõ̀ n mềm
truyền thống. ........................................................................................................... 33
1.1.10. 1.2.3. Môi trường của phần mềm dựa trên nền thành phần: Mô h́ nh xây
dựng thành phần phần mềm. .................................................................................. 39
1.1.11. ..................................................................................................................... 42
1.1.12. 1.2.4. Kỹ nghệ xử lư phần mềm hướng thành phần. ............................... 42
1.1.3. 1.3. Kết luận chương...............................................................................48
Chương 2. KIỂM THỬ THÀNH PHẦN PHẦN MỀM ................................................. 50
1.1.4. 2.1. Kiến trỳc nền kiểm thử thành phần. ................................................51
1.1.5. 2.2. Kiểm thử thành phần trong CBSE. ..................................................53
1.1.13. 2.2.1. Kiểm thử thành phần hướng người cung cấp. ............................... 54
1.1.14. 2.2.2. Kiểm thử thành phần hướng người sử dụng. ................................ 56
1.1.6. 2.3. Cỏc vấn đề đặt ra và cỏc thỏch thức trong quỏ trỡnh kiểm thử
thành phần .............................................................................................................61
1.1.15. 2.3.1. Các vấn đề đặt ra và các thách thức trong quá tŕnh xác nhận tính
hợp lệ thành phần hướng người sử dụng. ............................................................... 61
1.1.16. 2.3.2. Cỏc vấn đề lý tưởng cơ bản trong kiểm thử thành phần. .............. 66
3
1.1.7. 2.4. Kết luận chương...............................................................................68
Chương 3. MÔ HèNH THỰC NGHIỆM KIỂM THỬ .................................................. 70
THÀNH PHẦN PHẦN MỀM ....................................................................................... 70
1.1.8. 3.1. Giới thiệu. ........................................................................................70
1.1.9. 3.2. Kiểm thử điều kiện. .........................................................................71
1.1.17. 3.2.1. Cỏc kỹ thuật kiểm thử thông thường. ........................................... 71
1.1.18. 3.2.2. Cỏc vấn đề tồn tại trong cỏc kỹ thuật kiểm thử thông thường...... 72
1.1.10. 3.3. Bộ kiểm thử đối với cỏc thành phần nhỏ mịn (fine grained). .........73
1.1.19. 3.3.1. Cỏc thành phần nhỏ mịn (fine grained). ....................................... 74
1.1.20. 3.3.2. Cỏc khỏi niệm dựng trong kỹ thuật mới. ...................................... 76
1.1.21. 3.3.3. Xõy dựng các bước kiểm thử ........................................................ 77
1.1.22. 3.3.4. Các bước thực hiện kiểm thử ........................................................ 79
1.1.11. 3.4. Ước lượng thực nghiệm ...................................................................88
1.1.23. 3.4.1. Giỏ thành kiểm thử ....................................................................... 88
1.1.24. 3.4.2. Mức độ bao phủ của các điều kiện................................................ 90
1.1.12. 3.5. Kết luận chương...............................................................................91
Chương 4. Lí THUYẾT ĐỘ ĐO VÀ ĐÁNH GIÁ ........................................................ 92
THÀNH PHẦN PHẦN MỀM ....................................................................................... 92
1.1.13. 4.1. Giới thiệu. ........................................................................................92
1.1.14. 4.2. Giới thiệu độ đo ...............................................................................93
1.1.15. ....................................................................................................................97
1.1.16. 4.3. Cỏc khỏi niệm về phép đo phần mềm. ............................................97
1.1.17. 4.4. Cỏc khỏi niệm của tiờu chuẩn ISO 9126. ........................................99
1.1.25. 4.4.1. Cỏc khỏi niệm. .............................................................................. 99
1.1.26. 4.4.2. Cỏc khỏi niệm liờn quan tới độ đo tính sử dụng lại khỏc. .......... 104
1.1.18. 4.5. Kết luận chương.............................................................................109
Chương 5. MÔ HèNH THỰC NGHIỆM ĐÁNH GIÁ ................................................ 110
THÀNH PHẦN PHẦN MỀM ..................................................................................... 110
1.1.19. 5.1. Giới thiệu chung ............................................................................110
1.1.20. 5.2. Đặc trưng của thành phần ..............................................................110
1.1.21. 5.3. Độ đo tính sử dụng lại của cỏc thành phần phần mềm ..................111
1.1.27. 5.3.1. Mụ hỡnh tỏi sử dụng thành phần ................................................ 112
1.1.28. 5.3.2. Các định nghĩa độ đo tính sử dụng lại. ....................................... 114
1.1.22. 5.4. Các độ đo kết hợp. .........................................................................119
1.1.23. 5.5. Cỏc cụng việc liờn quan. ...............................................................119
1.1.24. 5.6. Ứng dụng vào việc đánh giá Project viết bằng C#. .......................123
4
1.1.29. 5.6.1. Giới thiệu .................................................................................... 123
1.1.30. 5.6.2. Xõy dựng dự ỏn thực hiện cỏc cụng việc trờn ............................ 123
1.1.25. 5.7. Kết luận chương.............................................................................133
KẾT LUẬN CHUNG................................................................................................... 134
TÀI LIỆU THAM KHẢO............................................................................................ 135
5
DANH MỤC CÁC Kí HIỆU VIẾT TẮT
Số TT
Từ viết đủ
Từ viết tắt
1
ADO
Microsoft Active Data Object
2
CBS
Component base software
3
CBSE
Component base software Engineering
4
CLR
Common Language Runtime
5
COM
Component Object Model
6
CORBA
Common Object Request Broker Architecture
7
EJB
Emterprise JavaBeans
8
GQM
Goal-Question-Metric
9
ISO
International Standards Organization
10
MTS
Microsoft Transaction Services
11
MSMQ
Microsoft Message Queue
12
OMG
Object Management Group
13
ORB
Object Request Broker
14
UML
Unifiy model laguage
6
DANH MỤC CÁC BẢNG
Bảng 1.1: Bảng so sánh môđun phần mềm truyền thống và phần mềm hướng thành phần 22
Bảng 1.2. Bảng so sỏnh phần mềm truyền thống và phần mềm hướng thành phần ............ 35
Bảng 1.3. Bảng so sỏnh giữa cỏc mụ hỡnh .NET, EJB/J2EE, CORBA .............................. 40
Bảng 3.1. Bảng so sỏnh thời gian kiểm thử giữa cỏc kỹ thuật tớnh bằng giõy (s) .............. 89
Bảng 3.2. Bảng so sỏnh thời gian sửa đổi và thực hiện kiểm thử giữa cỏc kỹ thuật ........... 89
Bảng 3.3. Mức độ bao phủ của tiền điều kiện ..................................................................... 90
Bảng 3.4: Mức độ bao phủ của hậu điều kiện ..................................................................... 90
Bảng 4.1. Bảng cỏc thuộc tớnh trong và ngoài của cỏc sản phẩm, quỏ trỡnh xử lý và tài
nguyờn. ........................................................................................................................ 94
Bảng 4.2. Vớ dụ về một số cõu hỏi đặt ra để tính độ đo ở mỗi bước .................................. 96
Bảng 4.3. Các đặc điểm của thành phần COTS ................................................................. 100
Bảng 4.4. Cỏc khỏi niệm đo được và cỏc thuộc tớnh cho tớnh sử dụng lại. ..................... 105
Bảng 4.5. Độ đo kết hợp với chất lượng của tài liệu. ........................................................ 106
Bảng 4.6. Độ đo kết hợp với độ phức tạp của thiết kế. ...................................................... 107
7
DANH MỤC CÁC HèNH VẼ, ĐỒ THỊ
Hỡnh 1.1. Cỏc phần cú thể phân chia được, (a) phần cú thể phân chia được của môđun có
thể sử dụng lại được, (b) phần cú thể phõn chia của cỏc thành phần cú thể sử dụng lại
được, (c) bản tổng hợp cỏc khối xõy dựng .................................................................. 21
Hỡnh 1.2. Kỹ nghệ xử lý đối với thành phần phần mềm. .................................................... 29
H́nh 1.3. Mô h́ nh thác nước ................................................................................................. 43
44
Hỡnh 1.4. Mụ hỡnh phỏt triển phần mềm hướng thành phần.............................................. 44
Hỡnh 2.1. Quỏ trỡnh thực hiện trong kiểm thử thành phần hướng người cung cấp. ........... 56
Hỡnh 2.2. Quỏ trỡnh xử lý xỏc nhận tớnh hợp lệ đối với cỏc thành phần sử dụng lại toàn
diện............................................................................................................................... 59
Hỡnh 2.3. Qỳa trỡnh xỏc nhận tớnh hợp lệ và liờn kết với cỏc thành phần tuỳ biến .......... 60
Hỡnh 3.1: Vớ dụ đoạn mó kiểm thử điều kiện được nhỳng vào trong lớp[12]. .................. 71
Hỡnh 3.2. Sơ đồ lớp Bank được thiết kế trong UML. ......................................................... 75
Hỡnh 3.3. Mẫu XML Document.......................................................................................... 78
Hỡnh 3.4. Sơ đồ minh hoạ bộ kiểm thử. .............................................................................. 80
Hỡnh 3.5. Nội dung file test case . ....................................................................................... 83
Hỡnh 3.6. Giao diện ban đầu khi kiểm thử. ......................................................................... 84
Hỡnh 3.7. Hỡnh vẽ liệt kê các phương thức trong một thành phần ..................................... 84
Hỡnh 3.8. Hỡnh vẽ liệt kê các phương thức cần kiểm thử do người dùng đưa vào ............ 85
Hỡnh 3.9. Mụ tả thông báo khi phương thức kiểm tra khụng tồn tại .................................. 85
Hỡnh 3.10. Mụ tả thụng bỏo khi kiểu dữ liệu sai ................................................................ 85
Hỡnh 3.11. Mụ tả thụng bỏo kiểm tra phương thức khụng hợp lệ ...................................... 86
Hỡnh 3.13. Mụ tả file data.xml ............................................................................................ 87
Hỡnh 3.14. Hỡnh vẽ minh hoạ khi phương thức kiểm thử thành cụng ............................... 88
Hỡnh 3.15. Hỡnh vẽ minh hoạ khi phương thức kiểm thử trả về kiểu khỏc với mụ tả ....... 88
Hỡnh 4.1. Cấu trỳc cõy của độ đo ....................................................................................... 95
Hỡnh 5.1. Sơ đồ phõn lớp cỏc thuộc tớnh sử dụng lại ...................................................... 112
Hỡnh 5.2. Vớ dụ so sỏnh giỏ trị các độ đo. ....................................................................... 118
Hỡnh 5.3. Giao diện chớnh của chương trỡnh kiểm thử ................................................... 127
Hỡnh 5.4. Giao diện đánh giỏ Assembly ........................................................................... 128
Hỡnh 5.5. Giao diện của MethodProperties....................................................................... 129
Hỡnh 5.6. Giao diện của typeProperties ............................................................................ 130
Hỡnh 5.7. Giao diện của ParameterProperties ................................................................... 131
Hỡnh 5.8. Giao diện của FieldProperties ........................................................................... 132
Hỡnh 5.9. Giao diện của PropertyProperties ..................................................................... 133
8
MỞ ĐẦU
“Sử dụng lại một thành phần phần mềm cú là một khỏi niệm mới khụng”? Cõu trả lời
là khụng. Khỏi niệm sử dụng lại thành phần phần mềm đó cú là một trong những khỏi
niệm cú từ rất lõu nhưng sử dụng lại thành phần nào là một trong những vấn đề cú
cõu trả lời không đơn giản. Trong một dự ỏn phần mềm nếu sử dụng một thành phần
cú chất lượng khụng tốt hoặc lựa chọn sai cú thể dẫn tới một kết quả khó lường. Vỡ
vậy kiểm thử thành phần và đo các thông số sử dụng lại là một trong những lĩnh vực
rất quan trọng trong quỏ trỡnh phỏt triển phần mềm hướng thành phần. Mặt khỏc
cựng với sự phổ biến của internet, số lượng cỏc thành phần đó được xõy dựng bởi
nhiều tổ chức trờn nhiều môi trường cũng như nền tảng khỏc nhau là một nguồn tài
nguyờn vụ tận. Vậy thành phần nào là tin cậy và cú thể dựng lại được là mối quan
tõm của rất nhiều người. Trong luận văn này tôi đó tổng kết được một số nghiờn cứu
về kiểm thử và đánh giá thành phần phần mềm đồng thời giới thiệu và thử nghiệm
hai mụ hỡnh: một là kiểm thử thành (hộp đen) bất kỳ thụng qua quỏ trỡnh đọc cỏc
thụng số; hai là đo các thông số tỏi sử dụng. Thụng qua hai cụng cụ này người sử
dụng cú thể dễ dàng kiểm thử được thành phần định dựng cú thực hiện yờu cầu đặt
ra khụng và mức độ sử dụng lại thế nào. Luận văn bao gồm năm phần cú nội dung
chớnh được trỡnh bày như sau:
Chương 1. Tổng quan về thành phần phần mềm và phỏt triển phần mềm hướng thành
phần
Trong chương này trỡnh bày tổng quan thế nào là thành phần mềm, thành phần
phần mềm cú gỡ khỏc và giống với các chương trỡnh phần mềm truyền thống. Kỹ
nghệ phỏt triển một thành phần cú khỏc với quỏ trỡnh xõy dựng một phần mềm truyền
thống hay khụng. Tiếp theo việc phỏt triển một dự ỏn phần mềm hướng thành phần
sử dụng cỏc thành phần đó cú được kết hợp lại với nhau như thế nào đồng thời trong
phần này ưu nhược điểm của phần mềm hướng thành phần cũng được trỡnh bày một
cỏch rừ ràng
Chương 2. Kiểm thử thành phần phần mềm.
Trong chương này tổng kết cỏc vấn đề đặt ra và cỏc thỏch thức trong quỏ trỡnh
kiểm thử thành phần. Kiểm thử thành phần bao gồm hai đối tượng: Kiểm thử thành
phần hướng người sử dụng và kiểm thử thành phần hướng người cung cấp. Vậy kiểm
9
thử thành phần phần mềm cú cỏc tiờu chuẩn lý tưởng nào cần vươn tới, nội dung này
cũng được trỡnh bày trong phần cuối của chương.
Chương 3. Mụ hỡnh thực nghiệm kiểm thử thành phần phần mềm
Trong chương này giới thiệu và thực nghiệm xõy dựng một mụ hỡnh kiểm thử
thành phần dựa trờn cỏc thuộc tính, phương thức thể hiện bờn ngoài cú thể truy xuất
thụng qua giao diện. Thụng qua mụ hỡnh này người dựng cú kể kiểm thử được phần
mềm bất kỳ cú thỏa món cỏc yờu cầu đặt ra khụng
Chương 4. Lý thuyết độ đo và đánh giá thành phần phần mềm
Trong chương này sẽ tổng kết một số độ đo phần mềm và đặc biệt ỏp dụng đo
đối với thành phần dựa trờn tiờu chuẩn ISO 9126 từ đó giới thiệu một mụ hỡnh đánh
giá tính sử dụng lại của một thành phần.
Chương 5. Mụ hỡnh thực nghiệm đánh giá thành phần phần mềm
Trong chương này giới thiệu và thực nghiệm xõy dựng một mụ hỡnh đo tớnh
sử dụng lại của thành phần thụng qua cỏc thụng số đo tính sử dụng lại. Thụng qua mụ
hỡnh này người sử dụng dễ dàng trả lời được cõu hỏi thành phần đang xem xét có sử
dụng lại được không và được sử dụng ở mức nào.
Trong thời gian vừa qua, được sự hướng dẫn nhiệt tỡnh của TS. Huỳnh Quyết Thắng
khoa Cụng nghệ thông tin – Trường Đại học Bỏch Khoa Hà Nội tôi đó hoàn thành đề
tài : KIỂM THỬ VÀ ĐÁNH GIÁ THÀNH PHẦN PHẦN MỀM TRONG PHÁT
TRIỂN PHẦN MỀM HƯỚNG THÀNH PHẦN. Do thời gian cú hạn nờn chắc
chắn sẽ khụng trỏnh khỏi những thiếu sút. Tụi rất mong nhận được sự gúp ý của cỏc
thầy cụ và cỏc bạn.
Nhân đây tôi cũng xin gửi lời cỏm ơn chân thành đến cỏc thầy cụ giỏo cựng toàn thể
cỏc bạn lớp cao học CNTT-2002, đặc biệt là thầy giỏo TS. Huỳnh Quyết Thắng người
đó giảng dạy và hướng dẫn tụi trong thời gian qua. Tụi cũng gửi lời cám ơn tới cỏc
em sinh viờn Nguyễn Thu Thủy, Đào Ngọc Kiờn, Nguyễn Thành Kiên, Đỗ Tuấn
Anh, Nguyễn Sơn, Teng Samak sinh viờn K45 Khoa Cụng nghệ thông tin – Trường
đại học Bỏch Khoa Hà Nội đó giỳp đỡ tụi hoàn thành luận văn này.
Hà nội, ngày 20 tháng 11 năm 2004
Người thực hiện
Vũ Thị Dương
10
Chương 1: TỔNG QUAN VỀ THÀNH PHẦN PHẦN MỀM VÀ
PHÁT TRIỂN PHẦN MỀM HƯỚNG THÀNH PHẦN
1.1.1. 1.1. Tổng quan về thành phần phần mềm
Trong cỏc thập kỷ trước, khi núi tới thành phần phần mềm, nó được hiểu là một phần
thuộc một chương trỡnh phần mềm nào đó. Vậy thành phần phần mềm là gỡ? Khi đặt
ra cõu hỏi này với nhiều người khỏc nhau, ta cũng sẽ nhận được cỏc cõu trả lời khỏc
nhau tựy thuộc vào cỏch hiểu của họ về khỏi niệm này. Từ đây khi nói tới thành phần
ta hiểu rằng ta đang đề cập đến khỏi niệm thành phần phần mềm.
Trong chương này, tôi sẽ giới thiệu những tỡm hiểu của mỡnh về khỏi niệm thành
phần phần mềm trong kỹ nghệ phần mềm hướng thành phần bằng cỏch so sỏnh nú
với các môđun phần mềm truyền thống. Trước tiờn chỳng ta sẽ tỡm hiểu quỏ trỡnh
tiến húa của thành phần phần mềm xuất phỏt từ các chương trỡnh con đến cỏc thành
phần cú thể sử dụng lại được. Tiếp theo ta sẽ giới thiệu cỏc thảo luận về các định
nghĩa thành phần, cỏc thuộc tớnh, cỏc yếu tố cơ bản của thành phần phần mềm đó
được một số nhà nghiờn cứu trờn thế giới đưa ra. Phần tiếp theo trong chương này sẽ
xác định sự khỏc nhau giữa cỏc thành phần trong CBSE và các môđun phần mềm
thông thường. Tiếp đến là phần trỡnh bày tổng quan về kỹ nghệ xử lý đối với cỏc
thành phần. Cuối cựng ta sẽ đưa ra một số cõu hỏi liờn quan tới quỏ trỡnh xỏc nhận
tớnh hợp lệ của thành phần và quy tắc đảm bảo chất lượng trong kỹ nghệ xử lý hướng
thành phần.
1.1.1.
1.1.1. Quỏ trỡnh tiến húa của thành phần phần mềm.
Trong thời kỳ những năm 60, 70, với kỹ thuật lập trỡnh cấu trỳc truyền thống, các
chương trỡnh được xõy dựng bằng cỏch tạo ra một chương trỡnh chớnh điều khiển
các chương trỡnh con. Mỗi chuơng trỡnh con được lập trỡnh thực hiện một chức
năng nhất định dựa trên các đặc tả và bảng phõn chia chức năng. Để giảm cụng
sức lập trỡnh, cỏc lập trỡnh viờn trong nhúm phỏt triển thuộc dự ỏn tỏi sử dụng
lại các chương trỡnh con đó cú. Vào những năm 1968 M.D Mcilory giới thiệu khỏi
niệm thành phần phần mềm tại hội nghị kỹ nghệ phần mềm NATO [8]. Sau sự kiện
11
này lịch sử tiến húa cỏc cụng nghệ thành phần phần mềm đó tiến được những bước
đáng kể.
Từ những năm đầu 1978 - 1980, cỏc kỹ sư sử dụng hệ phương pháp phát triển phần
mềm hướng cấu trúc để phõn chia hệ thống ứng dụng thành một số các môđun dựa
trờn cỏc yờu cầu chức năng của chúng. Sau khi các môđun được phỏt triển, chúng
được tớch hợp lại với nhau tạo nờn hệ thống ứng dụng. Trong suốt thời gian phỏt
triển đó, rất nhiều các thư viện hàm được phỏt triển, điển hỡnh trong ngụn ngữ lập
trỡnh Fortran cỏc thư viện, hàm tương tự như các gói phần mềm sử dụng lại được.
Cỏc gúi phần mềm này cú thể được xem là thế hệ đầu tiờn của thành phần phần mềm.
Mặc dự rất nhiều lập trỡnh viờn sử dụng lại cỏc gúi thành phần cú sẵn để phỏt triển
cỏc ứng dụng của mỡnh, nhưng họ khụng biết làm thế nào để sử dụng lại cỏc gúi phần
mềm đó sao cho có hiệu quả kinh tế cao nhất. Nguyờn nhõn của tỡnh trạng này chớnh
là sự thiếu hụt hệ phương pháp kỹ nghệ phần mềm hướng thành phần được triển khai
một cỏch chặt chẽ [8].
Vào những năm 1980, công nghệ hướng đối tượng được giới thiệu. Cụng nghệ hướng
đối tượng cho phộp sử dụng lại phần mềm trong phạm vi rộng hơn bao gồm: sử dụng
lại trong phõn tớch, thiết kế, triển khai cỏc lớp. Rất nhiều các thư viện lớp C++ hướng
đối tượng được phỏt triển thành cỏc gúi sử dụng lại. Do đó, cụng nghệ hướng đối
tượng đó lỏi quỏ trỡnh tiến húa của cụng nghệ thành phần từ các thư viện hàm sử
dụng lại sang các thư viện lớp hướng đối tượng. Vào những năm đầu 1990, rất nhiều
cỏc tổ chức lớn như GTE, IBM, Lucent Technologies và Hewlett Packward khởi động
cỏc dự ỏn sử dụng lại phần mềm huớng thương mại nhằm mục đích phát triển cỏc
thành phần thương mại thuộc lĩnh vực cụ thể dựng cho cỏc dũng sản phẩm sử dụng
cụng nghệ hướng đối tượng.
Vào năm 1989, rất nhiều cỏc cụng nghệ hướng thành phần thúc đẩy và phỏt triển lĩnh
vực mới đó là các phần mềm trung gian cú thể sử dụng lại được khi OMG (Object
Management Group) bắt đầu chuẩn hóa đặc tả phần mềm trung gian mó nguồn mở
dựng cho cỏc hệ thống ứng dụng phõn tỏn và phỏt triển kiến trỳc CORBA (Common
Object Request Broker Architecture). Mục đích chính cho phép người cung cấp thành
12
phần đưa ra các phần mềm trung gian cú thể sử dụng lại được, hỗ trợ phõn tỏn thành
phần trên các đối tượng khỏc của phần mềm ứng dụng để chúng tương tác với nhau
qua môi trường mạng mà khụng cần quan tâm đến vị trí địa lý của các đối tượng đó,
về ngụn ngữ lập trỡnh, về hệ điều hành, về phương thức truyền thụng hay về nền tảng
phần cứng. Để cung cấp thành phần cú thể sử dụng lại ở mức cao, OMG cũng chỉ rừ
tập hợp cỏc dịch vụ hướng đối tượng CORBA được định nghĩa giao diện chuẩn để
truy xuất cỏc dịch vụ phõn tỏn phổ biến vớ dụ như: cỏch gọi tờn, giao dịch, thậm chớ
là cỏc thụng bỏo.
Khoảng mười năm sau đó, công nghiệp phần mềm tăng khả năng triển khai cỏc thành
phần trung gian mang tính thương mại. Quỏ trỡnh tiến húa của cụng nghệ thành phần
tiến thờm một bước mới do cỏc thành phần và nền tảng của ứng dụng cú thể được sử
dụng lại. Vào năm 1999, Sun Microsystem công bố EJB (Enterprise JavaBeans) như
một mụ hỡnh thành phần để phỏt triển và triển khai cỏc ứng dụng kinh doanh hướng
thương mại. Mụ hỡnh này mang đến cho nhà sản xuất thành phần, người sử dụng,
người sử dụng đầu cuối, và người cung cấp một mụ hỡnh thành phần có đặc tả mó
nguồn mở. Mặt khỏc, mụ hỡnh này cũng cú thể được sử dụng để phỏt triển cỏc hệ
thống phần mềm ứng dụng sử dụng thành phần phần mềm. Cụng nghệ EJB được thiết
kể để cung cấp cho người phỏt triển ứng dụng môi trường phân tán đồng thời đáp ứng
nhiều tính năng phức tạp trong quỏ trỡnh tớnh toán phân tán như: quản lý giao dịch,
quản lý đa tuyến.
Trong lúc đó sự xuất hiện của COM (Component Object Model ) trờn nền tảng PC
thỡ COM+ lại là nền tảng cụng nghệ thiết kế hỗ trợ phỏt triển cỏc ứng dụng phõn tỏn
trờn phạm vi rộng trong môi trường Windows. Rất nhiều các chuyên gia tin tưởng
rằng COM+ sẽ tạo nờn sự phỏt triển nhanh chóng đối với cỏc ứng dụng chạy trờn hệ
điều hành Windows 2000 sớm hơn bởi vỡ mụi trường triển khai chương trỡnh lỳc
thực hiện (runtime) COM+ cung cấp nền tảng để xõy dựng cỏc ứng dụng thương mại
phõn tỏn.
Gần đây, một số phương thức phỏt triển hướng thành phần được cụng bố hỗ trợ phỏt
triển hệ thống hướng thành phần. Chessman và Daniel’s UML component [8],
13
D’Souza và Will’s Catalysis [9], Herxum và Sim’s Bussines Component Factory [10]
là cỏc vớ dụ điển hỡnh. Hệ phương pháp hướng thành phần cung cấp cho cỏc kỹ sư
quá trỡnh xử lý rừ ràng cỏc phộp phõn tớch và mụ hỡnh đặc tả cũng như các hướng
dẫn về kỹ thuật.
1.1.2.
1.1.2. Tại sao cỏc thành phần phần mềm sử dụng lại là quan
trọng.
Mặc dự khỏi niệm sử dụng lại thành phần phần mềm được giới thiệu từ năm 1968
nhưng lai không thu hút được nhiều sự quan tõm trong cụng nghiệp phần mềm, cho
tới những năm cuối của thập kỷ 80. Sau đó độ phức tạp của phần nềm tăng lên với
tốc độ rất nhanh đũi hỏi người cung cấp phần mềm phải tỡm kiếm các phương thức
cú hiệu quả kinh tế cao để xõy dựng hệ thống phần mềm phức tạp nhưng lại cú vũng
đời phỏt triển ngắn để phự hợp với cỏc yờu cầu thị trường. Thành phần sử dụng lại
dựa trờn cỏc thành phần cú chất lượng cao, vỡ thế vấn đề này trở nờn rất phổ biến
trong cụng nghiệp phần mềm cựng với cỏc lợi ớch của nó đem lại: giảm thời gian và
chi phớ xõy dựng. Các công ty như IBM. Lucent Techologies và GTE [9] khởi động
dựa ỏn sử dụng lại thành phần hướng thương mại để phỏt triển các thư viện thành
phần cú thể sử dụng lại được nội bộ.
Từ năm 1995 công nghệ thụng tin và cỏc dịch vụ quảng cỏo phỏt triển với tốc độ
nhanh do sự phổ biến của internet và cụng nghệ cao [11]. Vớ dụ theo tổ chức cụng
nghiệp dịch vụ thụng tin Nhật bản (JISA), thị trường dịch vụ thông tin tăng
100.000.000$ năm 1999. Thị trường thay đổi tạo ra một lực đẩy mạnh mẽ thúc đẩy
hệ thống dịch vụ thụng tin phỏt triển trong phạm vi rộng cũng như các ứng dụng
thương mại điện tử trờn internet phỏt triển. Để thỏa món cỏc yờu cầu đó, thị trường
và cụng nghiệp phần mềm cú sự thay đổi để phõn chia cỏc hệ thống thụng tin web
base trờn phạm vi lớn.
Thế nào là một thành phần phần mềm.
Thế nào là một thành phần phần mềm? Một cõu hỏi được đặt ra với rất nhiều người
và cõu trả lời nhận được cũng rất khỏc nhau bất kể người đó là người phỏt triển hệ
thống, cỏc nhà quản lý, nhà nghiờm cứu hay những người làm cụng tỏc kiểm thử.
14
Một trong những lý do dẫn đến sự khỏc nhau nay là: thành phần phần mềm khỏc với
môđun phần mềm truyền thống mặc dự cả hai lĩnh vực trên đều định nghĩa về khỏi
niệm “bulding part” (phần xõy dựng) trong hệ thống phần mềm. Những năm về trước,
người ta xem các môđun phần mềm là khỏi niệm mặc định khi núi tới thành phần
phần mềm. Trong những năm gần đây, do cú những bước tiến của kỹ nghệ phần mềm
hướng thành phần, một số chuyên gia đó định nghĩa “thành phần phần mềm” theo
một số cách khác nhau. Đó cũng chính là các cách hiểu khỏc nhau về khỏi niệm thành
phần phần mềm.
Sau đây chúng ta sẽ xem xột một vài định nghĩa điển hỡnh đuợc các chuyên gia đưa
ra về thành phần phần mềm. Một trong những định nghĩa gần đây nhất được Gready
Booch đưa ra [12] như sau.
-
Một thành phần phần mềm cú thể sử dụng lại được là sự kết dính logic các
môđun gắn kết khụng chặt biểu thị cho một khỏi niệm trừu tượng đơn lẻ.
Định nghĩa này đề cập đến ý tưởng: một thành phần sử dụng lại là một môđun phần
mềm đóng gói bao hàm tất cả cỏc nhõn tố thành phần liờn quan.
Sau Gready Booch, Clement Szypersky lại định nghĩa cụ thể về thành phần phần mềm
tại hội nghị chõu Âu về lập trỡnh hướng đối tượng như sau[13].
-
Một thành phần phần mềm là một đơn vị cấu thành kết hợp với cỏc giao diện
cụ thể được thỏa thuận trước và chỉ phụ thuộc vào ngữ cảnh. Một thành phần
phần phần mềm cú thể được triển khai độc lập và cũng cú thể là cơ hội cho
bờn thứ ba sử dụng lại.
Định nghĩa này được đánh giá là một định nghĩa tốt trong cộng đồng kỹ nghệ phần
mềm hướng thành phần vỡ: định nghĩa này nờu bật được cỏc thuộc tớnh chớnh của
cỏc thành phần phần mềm như: độc lập về ngữ cảnh, cấu tạo, triển khai và cỏc giao
diện thỏa thuận trước. Giao diện được thoả thuận trước ở đây có nghĩa là thành phần
này được hóng đặt hàng ký hợp đồng xõy dựng với một hóng thứ ba. Thành phần
phần mềm này sẽ được lắp ghộp với hệ thống cần xõy dựng chỉ quan tõm tới chức
năng nó thực hiện (theo nội dung ghi rừ trong hợp đồng) mà khụng quan tõm tới việc
15
nó được viết bằng ngụn ngữ gỡ, tổ chức dữ liệu và giải thuật ra sao. Năm 2000, có
một định nghĩa mang tớnh chất tổng quát hơn được Alan W.Brown [8] giới thiệu.
-
Một thành phần mềm là một mẫu chức năng có thể phân chia được một cách
độc lập và cú thể truy xuất tới cỏc dịch vụ của nú thụng qua giao diện.
í kiến tương tự cũng được thể hiện trong ngụn ngữ UML [3] như sau:
-
Một thành phần thể hiện một phần của hệ thống được lắp rỏp, cú thể triển khai
và thay thế được. Cỏc thành phần này đóng gói các thao tác thực hiện tương
ứng với cỏc giao diện của nú.
Gần đây, Bill Councill và George T.Heuneman đưa ra một định nghĩa mới nhấn mạnh
tớnh quan trọng của mụ hỡnh thành phần nhất quỏn cựng với cỏc tiờu chuẩn cấu tạo
khi xõy dựng thành phần và phần mềm hướng thành phần [3].
-
Một thành phần phần mềm là một yếu tố phần mềm khẳng định cho một mụ
hỡnh thành phần và nú cú thể được triển khai độc lập hoặc được tạo ra mà
khụng cần sửa đổi theo chuẩn cấu tạo nờn nú.
Theo định nghĩa này, một mụ hỡnh thành phần định nghĩa nờn cỏch xõy dựng thành
phần và đưa ra các quy tắc nhằm tớch hợp và tập hợp cỏc thành phần lại. Định nghĩa
này hỗ trợ nhiều tương tác, cấu tạo và cỏch lắp ghộp cỏc thành phần. Bờn cạnh đó,
một mụ hỡnh thành phần cũng định nghĩa cỏc kỹ thuật để tựy biến, đóng gói và triển
khai thành phần.
Để cú thể hiểu đơn giản khỏi niệm thành phần ta chia khỏi niệm thành phần ra làm
ba loại: (1) Các môđun có thể sử dụng lại được; (2) Cỏc thành phần cú thể sử dụng
lại được; (3) Bản tổng hợp cỏc khối xõy dựng.
-
Môđun có thể sử dụng lại được là một đơn vị phần mềm không độc lập nhưng
lại cú thể phân chia được. Thành phần này đóng gói các đặc tả chức năng,
các thao tác hoạt động để bờn thứ ba cú thể sử dụng lại được.
-
Một thành phần cú thể sử dụng lại được là một đơn vị phần mềm độc lập, cú
thể triển khai và thay thế được. Đối với thành phần này ta hoàn toàn cú thể sử
dụng lại được thụng qua bờn thứ ba phụ thuộc vào đặc tả, quỏ trỡnh thực thi
và cỏc giao diện được yờu cầu rừ ràng.
16
-
Một bản tập hợp khối xõy dựng là một thành phần cú thể sử dụng lại được,
được phỏt triển như một phần trong quỏ trỡnh xõy dựng tuõn theo mụt mụ
hỡnh thành phần cụ thể và thỏa món cỏc tiờu chuẩn cấu tạo đề ra.
Cụ thể hơn, khái niệm môđun có thể sử dụng lại đề cập đến ở đây xuất phỏt từ ý tưởng
sử dụng lại truyền thống mà tại đó một số lượng lớn các môđun chức năng là trọng
tâm được đề cập. Khỏi niệm này rất hữu dụng giỳp ớch cỏc kỹ sư xây dựng cũng như
kỹ thuật viờn kiểm thử nếu quan tâm đến các môđun phần mềm cú thể sử dụng lại
được sinh ra từ quỏ trỡnh thực hiện kỹ nghệ phần mềm truyền thống. Khỏi niệm cỏc
thành phần cú thể sử dụng lại được đưa ra ở trờn nhấn mạnh chất lượng sản phần
phần mềm cú thể sử dụng lại được với điều kiện cỏc giao diện đó được thỏa thuận.
Khỏi niệm thành phần phản chiếu trạng thỏi chấp nhận hiện tại của cụng nghệ hướng
thành phần vỡ thế khỏi niệm này rất bổ ớch cho cỏc kỹ sư, nhõn viờn kiểm thử trong
cỏc dự án hướng thành phần. Khỏi niệm xõy dựng bản tập hợp khối xõy dựng khụng
chỉ đặt chỳ ý tới sử dụng lại thành phần mà cũn nhấn mạnh tới cấu tạo thành phần. í
tưởng cỏc khối xõy dựng vỡ thế là một khỏi niệm rất quan trọng, nú thể hiện khuynh
huớng tương lại và hiện tại của cụng nghệ thành phần.
Tớnh từ COTS (commercial off the shelf) muốn đề cập đến một loại thành phần đặc
biệt, thiết kế đặc biệt cho mục đích được phỏt triển và trao đổi trong môi trường
CBSE. Theo [6]: ”COTS là một thực thể mang tính thương mại (cú thể được cấp giấy
phộp, hoặc được bán) cho phép đóng gói, phân phối, lưu trữ, sửa chữa và tuỳ biến
theo ý người sử dụng. Những thành phần này thường lớn và “nằm” trong cỏc kho
phần mềm”.
1.1.3.
1.1.3. Cỏc thuộc tớnh của thành phần trong phần mềm hướng
thành phần.
Núi tới cỏc thuộc tớnh của thành phần, người ta núi tới các đặc điểm cần thiết của nú.
Ngày nay, người ta hy vọng rằng kỹ nghệ phần mềm hướng thành phần cú thể làm
đơn giản quỏ trỡnh xõy dựng phần mềm hướng thành phần. Theo cỏc sỏch xuất bản
gần đây nhất về kỹ nghệ phần mềm hướng thành phần [3, 4, 5], người ta tổng kết cỏc
thuộc tớnh của thành phần theo hai nhúm: nhúm cỏc thuộc tính cơ bản và nhúm cỏc
17
thuộc tớnh nõng cao. Nhúm cỏc thuộc tính cơ bản núi tới các tính năng cần thiết của
thành phần, nhúm cỏc thuộc tớnh nõng cao núi tới các tính năng yêu cầu xuất hiện
duy nhất cú trong cỏc thành phần hiện đại.
Một phần mềm trong CBSE phải bao hàm cỏc thuộc tính cơ bản sau.
-
Định danh. Mỗi một thành phần phải cú một định danh duy nhất trong môi
trường phỏt triển cũng như môi trường triển khai. Nếu đặc tính này không
được đề cập, thỡ việc sử dụng lại cỏc thành phần trong một phạm vi rất rộng
là khụng thực hiện được. Cỏc cụng nghệ thành phần hiện đại đảm bảo điều
này bằng cỏch sử dụng sơ đồ đặt tờn chuẩn (rành mạch). CORBA, EJB, và
DCOM là cỏc vớ dụ điển hỡnh.
-
Môđun hóa và đóng gói. Cỏc thành phần phần mềm nhận được từ quỏ trỡnh
phõn chia hệ thống phần mềm bằng cách tâp trung môđun hóa hệ thống. Mỗi
một thành phần đóng gói tập cỏc yếu tố dữ liệu liờn kết lõn cận và cỏc cố kết
logic thuộc cỏc chức năng để thực hiện một cụng việc cụ thể.
-
Phân chia độc lập: Cỏc thành phần phần mềm phải được phõn chia thành cỏc
phần độc lập. Mỗi một phần cú thể được thay thế bằng các điều kiện cụ thể.
Mỗi một phần thực hiện một vài trũ chức năng riêng biệt trong một hệ thống
và hỗ trợ một cụng việc cụ thể trong môi trường điều hành đích. Các thành
phần COTS của bờn thứ ba phải được độc lập phõn chia tới người sử dụng
thành phần dưới dạng cỏc phần riờng biệt để cấu tạo nờn một hệ thống hướng
thành phần.
-
Cỏc giao diện dựa trờn thỏa thuận trước. Giao diện giữa hai thành phần định
nghĩa một thỏa thuận giữa khỏch và nhà cung cấp triển khai[3].Mỗi một thỏa
thuận chỉ ra khỏch nào phải sử dụng giao diện nào để truy cập đến cỏc chức
năng dịch vụ của thành phần. Giao diện này cũng định nghĩa loại dịch vụ nào
và sự thực hiện nào phải được cung cấp để thỏa đáng với cỏc hợp đồng dịch
vụ đó cú. Gợi ý này núi tới một thành phần phõn chia dịch vụ cung cấp của
mỡnh chỉ khi khỏch của nú truy xuất đến giao diện thành phần được cung cấp
theo cỏch cho phộp.
18
-
Sử dụng lại: Tớnh sử dụng lại của cỏc thành phần phần mềm là chỡa khúa cho
sự thành cụng của kỹ nghệ phần mềm hướng thành phần. Môđun phần mềm
thụng thuờng luụn luụn cú phạm vi sử dụng lại rất hạn chế bởi: các môđun
phần mềm này được phỏt triển cho một dự ỏn cụ thể. Tuy nhiờn, thành phần
hiện đại cung cấp cỏc cấp độ khác nhau để cú thể sử dụng lại được trong phạm
vi rộng. Cỏc yếu tố cú thể sử dụng lại của cỏc thành phần bao bao gồm đặc tả
phõn tớch, thiết kế, cỏc mẫu thiết kế, mó nguồn cũng như các yếu tố cú thể
thực hiện được. Bờn cạnh đó, kỹ thuật triển khai thành phần và cỏc thụng tin
hỗ trợ kiểm thử (như kiểm thử theo từng chức năng, kiểm thử điều kiện) cũng
là cỏc mục cú thể sử dụng lại được. Cỏc phần tự xõy dựng đó có thể được sử
dụng khụng những giữa cỏc tổ chức khỏc nhau mà cũn được sử dụng trong
cỏc dự ỏn khỏc nhau, cỏc dũng sản phẩm khỏc nhau.
Cỏc thành phần hiện đại cú thể sử dụng lại được và cỏc khối xõy dựng thụng những
minh họa cỏc thuộc tính cơ bản mà cũn xử lý cả những thuộc tính nâng cao được giới
thiệu như:
-
Đóng gói và khả năng tùy biến: Cỏc thuộc tính này đề cập đến khả năng tùy
biến và đóng gói chức năng được xõy dựng bờn trong thành phần dựa trờn cỏc
cỏch tiếp cận rừ ràng. Tớnh năng này đảm bảo rằng cỏc thành phần cú thể
được tựy biến và đóng gói phù hợp với các đặc tả thành phần đó đưa ra. Tính
năng này nâng cao tính sử dụng lại thành phần. Cỏc thành phần với cỏc thuộc
tính được biết đến như là các thành phần cú thể tựy biến được bởi vỡ chỳng
cú thể đuợc cấu hỡnh lại và đóng gói thông qua quá trỡnh thu thập cỏc thành
phần siờu dữ liệu, các tính năng chức năng và các giao diện.
-
Quỏ trỡnh triển khai. Thành phần phần mềm được xem như quá trỡnh triển
khai nếu trong thành phần cú thuộc tớnh hỗ trợ triển khai bao gồm cỏc cỏch
xõy dựng tiếp cận triển khai cụ thể sau khi nó được tựy biến, đóng gói và cài
đặt trong một môi trường điều hành cụ thể. Cỏch tiếp cận triển khai thường hỗ
trợ quỏ trỡnh tạo mới. Điều này núi lờn rằng thành phần cú thể thực thi được
trong môi trường triển khai đích.
19
-
Tính đa hỡnh và thể hiện bội. Một thành phần phần mềm cú thể cú nhiều hơn
một thể hiện triển khai trong môi trường thao tỏc. Với tất cả cỏc thể hiện triển
khai thi hành cựng một tập chức năng, các thể hiện này phải chia sẻ giao diện
và cỏc tính năng phổ biến khỏc với nhau. Tuy nhiờn, cỏc thành phần nên được
xem như các thể hiện khỏc nhau bởi vỡ chỳng cú cỏc tựy biến khỏc nhau, cỏc
lựa chọn đóng gói khác nhau, các dữ liệu thao tỏc khỏc nhau, cỏc cụng việc
thực hiện, cỏc trạng thái động trong mụi trường thao tỏc cũng khỏc nhau.
-
Thao tỏc giữa cỏc thành phần: Thao tỏc giữa cỏc thành phần núi tới khả năng
hỗ trợ cỏc thao tỏc truyền thống và các thay đổi dữ liệu giữa cỏc thành phần.
Cỏc thành phần cú thể thao tác được nếu chúng được phỏt triển dựa trờn cỏc
kờnh truyền thụng chuẩn và kỹ thuật chuyển đổi dữ liệu được định nghĩa trong
mụ hỡnh thành phần. Hiện tại cú hai kiểu thao tỏc giữa cỏc thành phần: thao
tỏc cục bộ và điều khiển từ xa. Thao tỏc giữa cỏc thành phần cục bộ núi tới
khả năng tương tác các thành phần trong môi trường mỏy chủ trung tõm. Thao
tỏc với cỏc thành phần từ xa núi tới tương tác giữa cỏc thành phần thông qua
môi trường mạng. Thao tỏc giữa cỏc thành phần ở xa dựa trờn khỏi niệm
phương thức điều khiển từ xa gọi là (RMCs) là một mở rộng của thủ tục gọi
từ xa (RPCs) giữa hai quỏ trỡnh xử lý khỏc nhau trong mụi trường mạng.
-
Thành phần cấu tạo: Cỏc thành phần là một bản tổng hợp nếu cỏc thành phần
này được phỏt triển dựa trên phương pháp cấu tạo chuẩn hỗ trợ tạo thành phần.
Núi theo một cỏch khỏc, mối quan hệ kết tập tổng hợp giữa cỏc thành phần
được hỗ trợ trong môi trường hoạt động vỡ thế cỏc thể hiện thành phần cú thể
tạo ra và hủy bỏ phần kết tập của nú. Hỗ trợ liờn kết tổng hợp này đũi hỏi phải
cú kỹ thuật định danh duy nhất đối với phần tổng hợp vỡ thế bổ sung tự nhiờn
liờn kết tổng hợp giữa cỏc thành phần cú thể được quản lý một cỏch dễ dàng:
nghĩa là nếu C là một phần của A, E là một phần của C thỡ E cũng là một phần
của A. Cỏc thành phần nếu là cỏc phần xõy dựng trong quỏ trỡnh phỏt triển
phần mềm hướng thành phần thỡ cỏc thuộc tớnh cấu tạo nờn nú rất quan trọng
để phỏt triển cỏc thành phần phức tạp.
20
-
Mụ hỡnh phự hợp: Nghĩa là, sự thực thi thành phần phải tuõn theo mụ hỡnh
thành phần được định nghĩa trước bao gồm cỏc chuẩn mực liờn quan. Núi cỏch
khỏc, cỏc thành phần phải được phỏt triển dựa trờn mụ hỡnh kiến trỳc thành
phần cụ thể, cỏc kiểu giao diện, cỏc kỹ thật hỗ trợ các tương tác, cấu tạo, đóng
gói và triển khai. Để thực thi thành phần dựa trờn mụ hỡnh thành phần cụ thể
cú cỏc chuẩn liệt kê các tính năng yêu cầu và cỏc ý tưởng cỏc thành phần cú
thể sử dụng lại được hỗ trợ quỏ trỡnh xõy dựng phần mềm hướng thành phần.
1.1.4.
1.1.4. Cỏc yếu tố cơ bản của thành phần phần mềm.
Thế nào là cỏc yếu tố cơ bản của thành phần phần mềm. Thế nào là quỏ trỡnh phỏt
triển thành phần cú thể phân chia được. Trong mục này, chỳng ta sẽ trả lời cỏc cõu
hỏi dựa trờn cỏc so sỏnh giữa các môđun, giữa thành phần và giữa bản tổng hợp cỏc
khối xõy dựng.
Môđun phần mềm cú thể sử dụng lại được thường bao gồm năm yếu tố cơ bản: (1)
đặc tả yờu cầu (yếu tố này chỉ ra chức năng, các yêu cầu thể hiện của nú); (2) giao
diện (yếu tố này xác định làm thế nào các môđun tương tác được với nhau); (3) đặc
tả thiết kế (yếu tố này ghi lại và mụ tả thiết kế dựa trờn cỏc logic chức năng, các cấu
trỳc dữ liệu và cỏc hành vi ứng xử của nú); (4) thực thi (yếu tố này bao gồm mó nguồn
cú thể thực hiện được trong môi trường điều hành cụ thể vớ dụ như nền tảng phần
cứng mỏy tớnh, hệ điều hành); (5) đặc tả kiểm thử và bỏo cỏo (yếu tố này bao gồm
kiểm thử và môi trường kiểm thử điều kiện, cỏc bỏo cỏo). Hỡnh 1.1.a chỉ ra tất cả
mọi khả năng có thể phân chia được của môđun phần mềm. Chỉ cú ba khoản mục đầu
tiên được thể hiện đối với cỏc client trừ khi mó nguồn của thành phần được thiết kế
cú khả năng sử dụng lại được.
- Xem thêm -