Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 14: Giai đoạn cài đặt và tích hợp
Nội dung:
? Khái quát chung
? Cài đặt và tích hợp
? Cài đặt và tích hợp dạng trên xuống
? Cài đặt và tích hợp dạng d-ới lên
? Cài đặt và tích hợp dạng hỗn hợp
Huỳnh Xuân Hiệp - CNPM 164 14 GIAI đOạN CμI đặT Vμ TíCH HợP(IMPLEMENTATION AND INTEGRATION PHASE) Nội dung: Khái quát chung Cài đặt và tích hợp Cài đặt và tích hợp dạng trên xuống Cài đặt và tích hợp dạng d−ới lên Cài đặt và tích hợp dạng hỗn hợp Huỳnh Xuân Hiệp - CNPM 165 14.1 Khái quát chung (overview) Sẽ không tốt nếu nh− việc cài đặt đ−ợc thực hiện riêng rẽ và sau đó tích hợp lại toàn bộ và đ−ợc kiểm thử chung Sẽ tốt hơn nếu nh− việc cài đặt và tích hợp đ−ợc thực hiện song song Huỳnh Xuân Hiệp - CNPM 166 14.2 Cài đặt và tích hợp (iimpllementatiion and iintegratiion) Xét ví dụ sau: a b c d e f g h i j k l m Hình 14.1 Sơ đồ điển hình về sự liên kết giữa các mô-đun ⇒ Rất khó khăn khi kiểm thử mô-đun a riêng biệt tr−ớc khi kiểm thử các mô-đun b, c và d ! Huỳnh Xuân Hiệp - CNPM 167 14.3 Cài đặt và tích hợp dạng trên xuống (top-down iimpllementatiion and iintegratiion) Nếu mô-đun mA gọi mô-đun mB thì mA đ−ợc cài đặt và tích hợp tr−ớc mB VD: (Hình 14.1) , các thứ tự có thể là: a,b,c,d,e,f,g,h,i,j,k,l hay a,b,e,h,c,d,f,i,g,j,k,l Khi mô-đun mNew đ−ợc thêm vào, thì lỗi xảy ra chỉ có thể tại các vị trí: mô-đun mNew giao diện (≥1) giữa mNew và phần còn lại hiện có trong sản phẩm Có thể chia thành 2 dạng mô-đun logic (logic module): tổ hợp các dòng điều khiển quyết định trong sản phẩm. VD: (Hình 14.1) a,b,c,d và có thể là g,j mô-đun hoạt động (operational module): hoạt động thật sự của sản phẩm. VD: (Hình 14.1) e,f,h,i,k,l,m ⇒ Các mô-đun hoạt động phải đ−ợc cài đặt tr−ớc các mô-đun logic Khó khăn khi sử dụng lại các mô-đun Lập trình bảo vệ(defensive programming): kiểm tra an toàn khi gọi mô-đun Huỳnh Xuân Hiệp - CNPM 168 14.4 Cài đặt và tích hợp dạng d−ới lên (bottom-up iimpllementatiion and iintegratiion) Nếu mô-đun mA gọi mô-đun mB thì mB đ−ợc cài đặt và tích hợp tr−ớc mA VD: (Hình 14.1) o thứ tự duy nhất là: l,m,h,i,j,k,e,f,g,b,c,d,a o nên phân chia các mô-đun nh− sau: ng−ời 1: h,e,b ng−ời 2: i,f,c ng−ời 3: l,m,j,k,g,d tích hợp 3&2, sau khi tích hợp b,c,d thì cài đặt và tích hợp a Nếu gặp lỗi ở các mô-đun logic thì sẽ khó khăn khi lần vết sửa đổi trở lại trên các mô-đun đã thực hiện cài đặt và tích hợp Huỳnh Xuân Hiệp - CNPM 169 14.5 Cài đặt và tích hợp dạng hỗn hợp (sandwiich iimpllementatiion and iintegratiion) Xét ví dụ sau: a b c d e f g h i j k mô-đun logic l m mô-đun hoạt động --- giao diện giữa mô-đun logic và mô-đun hoạt động Hình 14.2 Cài đặt và tích hợp dạng hỗn hợp Cài đặt: o trên xuống: a,b,c,d,g,j o d−ới lên : e,f,h,i,k,l,m Huỳnh Xuân Hiệp - CNPM 170 14.6 Tổng kết các ph−ơng pháp tiếp cận (summary of iimpllementatiion and iintegratiion approaches) Cách tiếp cận Điểm mạnh Điểm yếu Cài đặt tr−ớc, tích hợp sau - Không cô lập đ−ợc lỗi Chậm phát hiện lỗi thiết kế chính Cài đặt và tích hợp trên xuống Cô lập đ−ợc lỗi Sớm phát hiện lỗi thiết kế chính Các mô-đun có khả năng sử dụng lại không đ−ợc kiểm thử đầy đủ Cài đặt và tích hợp d−ới lên Cô lập đ−ợc lỗi Các mô-đun có khả năng sử dụng lại đ−ợc kiểm thử đầy đủ Chậm phát hiện lỗi thiết kế chính Cài đặt và tích hợp hỗn hợp Cô lập đ−ợc lỗi Sớm phát hiện lỗi thiết kế chính Các mô-đun có khả năng sử dụng lại đ−ợc kiểm thử đầy đủ Hình 14.3 Tổng kết các ph−ơng pháp tiếp cận Huỳnh Xuân Hiệp - CNPM 171 14.7 Cài đặt và tích hợp các sản phẩm h−ớng đối t−ợng (iimpllementatiion and iintegratiion of objject-oriiented products) Cài đặt và tích hợp dạng trên xuống: t−ơng tự nh− tiếp cận cổ điển Cài đặt và tích hợp dạng d−ới lên: các đối t−ợng gửi thông báo đến những đối t−ợng đã đ−ợc cài đặt và tích hợp sau khi bản thân đã đ−ợc cài đặt và tích hợp Cài đặt và tích hợp hỗn hợp Huỳnh Xuân Hiệp - CNPM 172 14..8 Kiểm thử Kiểm thử tích hợp giao diện GUI, khó khăn khi kiểm thử ng−ời dùng sử dụng chuột, kích hoạt thực đơn,... ⇒ Dùng các ngôn ngữ scripts, công cụ kiểm thử đặc biệt Kiểm thử sản phẩm, do nhóm SQA thực hiện theo trình tự sau: hộp đen từng mô-đun (hoặc từng đối t−ợng) dạng thô trên toàn sản phẩm đặc biệt (stress): khi login,... khối l−ợng (volume): với nhiều tập tin đầu vào xem xét lại toàn bộ các tài liệu sẽ trao cho khách hàng (thỏa mãn SPMP) đối chiếu giữa tài liệu và sản phẩm ⇒ Có thể dùng kịch bản cho các phần mềm dạng h−ớng đối t−ợng Huỳnh Xuân Hiệp - CNPM 173 Chấp nhận kiểm thử (acceptance testing) thực hiện giữa khách hàng và nhóm SQA phải thực hiện trên dữ liệu thực tế chứ không đơn thuần là dữ liệu dùng để kiểm thử nếu sản phẩm mới thay thế sản phẩm đã có sẵn, trong tài liệu đặc tả phải có một điều khoản cho phép sản phẩm mới đ−ợc cài đặt song song với sản phẩm cũ cho đến khi khách hàng chấp thuận Kết thúc giai đoạn kiểm thử thì công việc của các nhà phát triển xem nh− kết thúc và sản phẩm chuyển sang giai đoạn bảo trì Huỳnh Xuân Hiệp - CNPM 174 14.9 Tích hợp môi tr−ờng (iintegrated enviironments) Nhằm mục tiêu tất cả các công cụ trong cùng một môi tr−ờng có cùng giao diện ng−ời dùng (user interface integration) ⇒ Nhìn thấy vμ cảm nhận đ−ợc (look and feel) Tích hợp các tiến trình (process integration) môi tr−ờng th−ờng hỗ trợ cho một tiến trình phát triển phần mềm đặc biệt nào đó còn gọi là môi tr−ờng kỹ thuật nền (technique-based enviroment) một số môi tr−ờng th−ơng mại: Analyst/Designer theo ph−ơng pháp Yourdon [Yourdon, 1989], Statemate [Hrel và al., 1990], Rose [Booch, 1994],... Huỳnh Xuân Hiệp - CNPM 175 Tích hợp công cụ (tool integration), tất cả các công cụ giao tiếp với nhau thông qua các định dạng dữ liệu giống nhau. VD: theo dạng mã ASCII tích hợp công cụ dòng dữ liệu (data stream tool integration) VD: các dòng dữ liệu nhập/xuất đều d−ới dạng mã ASCII ••• tool 1 tool 2 tool n Hình 14.4 (a) Tích hợp công cụ dòng dữ liệu tích hợp front-end (front-end tool inegration), các công cụ đ−ợc nhúng. Môi tr−ờng th−ơng mại: SoftBench [Riehle, 1991] dành cho sản xuất phần cứng, CT dành cho sản xuất phần mềm tool 1 tool 2 ••• tool n Front-end Hình 14.4 (b) Tích hợp công cụ front-end Huỳnh Xuân Hiệp - CNPM 176 tích hợp back-end (back-end tool inegration), sử dụng cơ sở dữ liệu chung. Môi tr−ờng th−ơng mại: AD/Cycle [Mercurio, Meyers, Nisbet và Radin, 1990] Back-end tool 1 tool 2 ••• tool n Hình 14.4 (c) Tích hợp công cụ back-end Các khuôn dạng tích hợp khác (other forms of integration) tích hợp nhóm (team integration), tạo hiệu quả và cách giao tiếp trong nhóm phát triển tích hợp quản lý (management integration), hỗ trợ cho quản lý Huỳnh Xuân Hiệp - CNPM 177 14.10 Đánh giá giai đoạn cài đặt và tích hợp (metriics for the iimpllementatiion and iintegratiion phase) Có nhiều ph−ơng pháp đo độ phức tạp tại giai đoạn này Công thức [Brettschneider, 1989] xác định thời gian kiểm thử h targettotal target target target t ff f f f ì ⎟⎟⎠ ⎞⎜⎜⎝ ⎛ + + ⎟⎟⎠ ⎞⎜⎜⎝ ⎛ + 5.0ln 5.0 ln Trong đó: (lỗi – failure) o ftarget : số l−ợng lỗi dự đoán o ftotal : số lỗi thực sự xảy ra sau đó o th : thời gian kiểm thử xảy ra lỗi o ln : lô-ga-rít theo cơ số e VD: Giả sử sản phầm có 50000 LOC, hợp đồng qui định mỗi KDSI có ít hơn 0.02 lỗi. Sản phẩm đ−ợc kiểm thử 400 giờ, trong thời gian này có 20 lỗi xảy ra và đã thực thi 50 giờ kể từ lỗi cuối cùng. Ta có: ftarget = 0.02 ì 50000 = 1, ftotal = 20, th = 400 – 50 =350 giờ kết quả là 54 giờ (thiếu 4 giờ) → phải kiểm thử thêm 4 giờ nữa, nếu trong 4 giờ này có lỗi xảy ra thì phải tiếp tục áp dụng công thức. ⇒ Lặp lại thao tác nμy cho đến khi không còn thời gian thiếu nữa
File đính kèm:
- Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 14 Giai đoạn cài đặt và tích hợp.pdf