Đăng ký Đăng nhập
Trang chủ Kiểm thử và đánh giá thành phần mềm trong phát triển phần mềm hướng thành phần...

Tài liệu Kiểm thử và đánh giá thành phần mềm trong phát triển phần mềm hướng thành phần

.PDF
136
2
88

Mô tả:

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 -

Tài liệu liên quan