Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 3: Các mô hình chu trình sống của phần mềm

Nội dung:

? Mô hình xây dựng và hiệu chỉnh

? Mô hình thác n-ớc

? Mô hình định khung nhanh

? Mô hình tăng tr-ởng

? Mô hình đồng bộ và ổn định

? Mô hình xoắn ốc

? Các mô hình h-ớng đối t-ợng

? So sánh các mô hình

pdf16 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2699 | Lượt tải: 5download
Tóm tắt nội dung Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 3: Các mô hình chu trình sống của phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
hứng bởi nhóm SQA và gửi cho khách hàng 
‰ lập SPMP và bảng thời gian làm việc chi tiết 
‰ giai đoạn thiết kế bắt đầu sau khi khách hàng đồng ý về giá thành và 
thời gian thực hiện; thực hiện cài đặt và tích hợp 
‰ khách hàng cho hoạt động thử; chấp nhận sản phẩm 
‰ chuyển sang giai đoạn bảo trì 
ƒ Ưu điểm: kỷ luật cao; quy định tốt về tài liệu cho mỗi giai đoạn; kiểm chứng 
cẩn thận bởi nhóm SQA; đ−ợc ứng dụng rộng rãi 
ƒ Khuyết điểm: 
‰ quá nhiều kiểm thử, thẩm tra và tài liệu 
‰ h−ớng tài liệu: khó hình dung và khó hiểu đối với khách hàng 
Huỳnh Xuân Hiệp - CNPM 
27
3.3 Mô hình định khung nhanh
(rapid prototyping model)
Định khung nhanh Thay đổi các yêu cầu 
Thẩm tra Thẩm tra 
 Giai đoạn đặc tả 
 Thẩm tra 
 Giai đoạn thiết kế 
 Thẩm tra 
 Giai đoạn cài đặt 
 Kiểm thử 
 Giai đoạn tích hợp 
 Kiểm thử 
 Đ−a vào hoạt động 
Phát triển 
Bảo trì Kết thúc hoạt động 
Hình 3.3 Mô hình định khung nhanh 
Huỳnh Xuân Hiệp - CNPM 
28
ƒ Là mô hình hoạt động có chức năng t−ơng đ−ơng với một tập hợp con 
(subset) của sản phẩm 
VD: Nếu chức năng sản phẩm đích là trả tiền tài khoản, nhận tiền từ tài 
khoản và xếp hàng vào kho thì việc định khung nhanh có thể bao gồm các 
công việc của sản phẩm nh−: màn hình nhập liệu, in các báo cáo nh−ng 
không có các công việc nh− cập nhật tập tin hay bắt các lỗi xuất hiện. 
ƒ Các b−ớc thực hiện chính: 
‰ b−ớc đầu tiên là định khung nhanh mô hình,tạo điều kiện cho khách 
hàng và ng−ời sử dụng t−ơng lai t−ơng tác với mô hình và thử 
nghiệm 
‰ chuyển sang giai đoạn đặc tả sau khi khách hàng đã chấp thuận 
rằng các yêu cầu cần thiết đã có trong quá trình định khung nhanh 
ƒ Yêu cầu của mô hình là thực hiện càng nhanh càng tốt để tăng tốc độ của 
tiến trình phát triển phần mềm 
™ Tích hợp hai mô hình thác n−ớc và định khung nhanh 
‰ xem việc định khung nhanh là đầu vào của mô hình thác n−ớc 
‰ có thể xảy ra một số hiệu ứng lề và có thể có rủi ro (risk) xuất hiện 
do sử dụng nhiều mô hình (số l−ợng ở đây là 2) 
Huỳnh Xuân Hiệp - CNPM 
29
3.4 Mô hình tăng tr−ởng
(incremental model)
Giai đoạn phân tích các yêu cầu 
Thẩm tra 
 Giai đoạn đặc tả 
 Thẩm tra 
 Giai đoạn thiết kế kiến trúc 
 Thẩm tra 
 Thực hiện các b−ớc sau: 
hoàn thiện thiết kế chi tiết, cài đặt, tích hợp, 
kiểm thử, phân phối đến khách hàng 
 Đ−a vào hoạt động 
Phát triển 
Bảo trì Kết thúc hoạt động 
Hình 3.4 Mô hình tăng tr−ởng 
ƒ Chuỗi các b−ớc thiết kế,cài đặt,tích hợp và kiểm thử đ−ợc thực hiện liên tục 
(tăng). Sử dụng trong một số dự án về phòng thủ không gian [Wong, 1984] 
Huỳnh Xuân Hiệp - CNPM 
30
B−ớc xây dựng 1: 
Đặc tả Thiết kế Cài đặt và 
tích hợp 
Giao cho 
khách hàng 
B−ớc xây dựng 2: Đặc tả Thiết kế Cài đặt và tích hợp 
Giao cho 
khách hàng
B−ớc xây dựng 3: Đặc tả Thiết kế Cài đặt và tích hợp 
Giao cho 
khách hàng 
 • • 
• 
 • • 
• 
 • • 
• 
Nhóm đặc tả 
Nhóm thiết kế 
B−ớc xây dựng n: Đặc tả Thiết kế Cài đặt và 
tích hợp 
Giao cho 
khách hàng
Nhóm cài đặt/tích hợp 
Hình 3.5 Mô hình tăng tr−ởng nhiều rủi ro 
ƒ Giao sản phẩm cho khách hàng sau mỗi b−ớc xây dựng. Mỗi b−ớc xây 
dựng t−ơng đ−ơng với một tập con các yêu cầu của khách hàng. 
ƒ Một sản phẩm điển hình th−ờng bao gồm khoảng 10-50 b−ớc xây dựng 
ƒ Giảm khó chịu cho khách hàng khi phải thay đổi một sản phẩm hoàn chỉnh 
ƒ Chú ý việc phá bỏ các cấu trúc của b−ớc xây dựng tr−ớc đó ! 
Huỳnh Xuân Hiệp - CNPM 
31
3.5 Mô hình đồng bộ và ổn định
(synchronize-and-stabilize model)
ƒ Là một dạng khác của mô hình tăng tr−ởng [Cusamano và Selby, 1997] 
ƒ Đ−ợc triển khai sử dụng tại công ty Microsoft, Inc. 
ƒ Các b−ớc thực hiện: 
‰ dẫn dắt các phân tích yêu cầu bằng cách phỏng vấn đông đảo các 
khách hàng tiềm năng (potential customers) 
‰ rút ra tài liệu đặc tả 
‰ công việc đ−ợc chia thành 3 hay 4 b−ớc xây dựng: đặc điểm cấp thiết 
nhất, đặc điểm cấp thiết nhì,.... 
‰ mỗi b−ớc xây dựng đ−ợc thực hiện cùng lúc bởi nhiều nhóm nhỏ 
‰ cuối mỗi ngày các nhóm thực hiện đồng bộ với nhau bằng cách ghép 
các phần việc của nhóm lại với nhau, kiểm thử và lần vết trên sản 
phẩm kết quả 
‰ hiệu chỉnh các lỗi và b−ớc xây dựng chuyển sang trạng thái ổn định, 
sẽ không có bất kỳ thay đổi nào nữa trên tài liệu đặc tả 
‰ lặp lại b−ớc đồng bộ 
Huỳnh Xuân Hiệp - CNPM 
32
3.6 Mô hình xoắn ốc
(spiral model)
Phân tích rủi ro Phân tích rủi ro 
Định khung nhanh Thay đổi các yêu cầu 
Thẩm tra Thẩm tra 
 Phân tích rủi ro 
 Giai đoạn đặc tả 
 Thẩm tra 
 Phân tích rủi ro 
 Giai đoạn thiết kế 
 Thẩm tra 
 Phân tích rủi ro 
 Giai đoạn cài đặt 
 Kiểm thử 
 Phân tích rủi ro 
Rủi ro : risk Giai đoạn tích hợp 
 Kiểm thử 
Phát triển 
Bảo trì Đ−a vào hoạt động 
Hình 3.6 Phiên bản đơn giản nhất của mô hình xoắn ốc Kết thúc hoạt động 
Huỳnh Xuân Hiệp - CNPM 
33
ƒ Yếu tố rủi ro hầu nh− luôn tồn tại trong 
sự phát triển của phần mềm 
ƒ Do Boehm đề xuất [Boehm,1988] 
nhằm giảm thiểu sự rủi ro trong 
quá trình phát triển 
ƒ Đ−ợc sử dụng rộng rãi cho 
một lớp rộng các sản phẩm 
và gặt hái nhiều thành công 
[Boehm, 1988] 
 Tích hợp
Cài đặt 
Thiết kế 
Đặc tả 
Định khung 
nhanh 
Thẩm tra 
Thẩm tra 
Thẩm tra 
Thẩm tra 
Phân tích rủi ro 
Phân tích rủi ro 
Phân tích rủi ro 
Phân tích rủi ro 
Phân tích rủi ro 
Hình 3.7 Một phần của Hình 3.6 
đ−ợc vẽ lại theo dạng xoắn ốc 
Huỳnh Xuân Hiệp - CNPM 
34
Review 
partition 
Commitment 
Requirements plan
Life-cycle plan 
Simulations, models, benchmarmks
Implementation
Accep- 
tance 
test 
Inte-
gration 
test 
Unit
test 
Code
Detailed 
design 
Plan next phase 
Concetp of
operation 
Development 
plan 
Integration and 
test plan 
Design validation
and verification 
Requirements
validation 
Software 
requirements 
Risk
analysis 
Prototype 1 Prototype 2
Prototype 3
Risk
analysis 
Risk 
analysis 
Risk
analysis 
Operational
prototype 
Evaluate alternatives, 
identify, resolve risks 
Determine objectives, 
alternatives, constraints 
Cumulative cost
Progress through steps 
Hình 3.8 Mô hình xoắn ốc đầy đủ [Boehm, 1988]. (â1988 IEEE.) 
Develop, verify next-level product
Huỳnh Xuân Hiệp - CNPM 
35
ƒ Điểm mạnh 
‰ h−ớng rủi ro (risk-driven) 
‰ các công việc luân phiên và chịu các ràng buộc đã hỗ trợ cho việc tái 
sử dụng phần mềm hiện có 
‰ đánh giá mức độ rủi ro 
‰ mục tiêu quan trọng luôn là chất l−ợng phần mềm 
‰ giảm nhẹ kiểm thử và nhanh chóng sửa chữa những lỗi xảy ra 
‰ bảo trì đơn giản chỉ là một vòng tròn trong xoắn ốc, nh− vậy không có 
sự phân biệt giữa phát triển và bảo trì 
ƒ Điểm yếu 
‰ h−ớng rủi ro 
VD: tiến hành thế nào nếu có một thành phần có độ rủi ro cao ? 
‰ dành riêng cho các phần mềm nội bộ có kích th−ớc lớn [Boehm, 1988] 
‰ vì dự án có thể chấm dứt do các đánh giá về rủi ro, do đó sẽ rất không 
hay khi đã ký kết các hợp đồng, ảnh h−ởng đên uy tín của công ty, rắc 
rối về mặt luật pháp 
‰ kích th−ớc sản phẩm ảnh h−ởng đến giá thành việc phân tích rủi ro 
Huỳnh Xuân Hiệp - CNPM 
36
3.7 Các mô hình h−ớng đối t−ợng
(object-oriented life-cycle models)
ƒ Đặc tính quan trọng nhất là lặp: 
‰ giữa các giai đoạn 
‰ một phần trong giai đoạn 
ƒ Mô hình vòi phun n−ớc của 
[Hendreson-Sellers và Edwards, 1990] 
‰ vòng tròn thể hiện các giai đoạn gối 
lên nhau, phần thấy đ−ợc phản ánh 
sự gối lên trên giữa các hoạt động 
‰ mũi tên bên trong một giai đoạn thể 
hiện sự lặp lại bên trong giai đoạn đó 
‰ vòng tròn bảo trì nhỏ hơn t−ợng tr−ng 
cho việc giảm bớt nhân lực cho công 
tác bảo trì 
Hình 3.9 Mô hình vòi phun n−ớc 
Bảo trì 
Giai đoạn thiết kế 
h−ớng đối t−ợng 
Giai đoạn phân tích 
 h−ớng đối t−ợng 
Giai đoạn phân tích yêu cầu 
Giai đoạn cài đặt
Giai đoạn cài đặt và tích hợp 
Đ−a vào hoạt động 
Phát triển thêm 
Huỳnh Xuân Hiệp - CNPM 
37
ƒ Một số mô hình khác 
‰ Objectory [Jacobson, Christerson và Overgaard, 1992] 
‰ chu trình sống đệ quy/song song (recursice/parallel)[Berard, 1993] 
‰ thiết kế cấu trúc hình thức khứ hồi (round-trip gestalt) [Booch, 1994] 
Điểm mạnh: 
‰ cho phép lặp 
‰ kết hợp nhiều dạng song song (các hoạt động gối đầu) 
‰ hỗ trợ phát triển tăng tr−ởng 
Điểm yếu: 
‰ nguy cơ có thể xảy ra do thông dịch không đúng những cái cần thiết 
‰ thiếu kỷ luật trong công việc,trình tự công việc của các thành viên 
chuyển dịch hầu nh− ngẫu nhiên giữa các giai đoạn 
VD: đầu tiên là thiết kế phần một, tiếp theo là phân tích phần hai, sau 
đó là cài đặt phần ba,... ! 
‰ trình tự cái mới trong sự liên hệ giữa các thành phần, do trình tự làm 
việc ngẫu nhiên dẫn đến mới ở chỗ này nh−ng lại cũ tại nơi khác ! 
Huỳnh Xuân Hiệp - CNPM 
38
3.8 So sánh các mô hìnhchu trình sống
(comparaison of life-cycle models)
Mô hình chu trình sống Điểm mạnh Điểm yếu 
Mô hình xây dựng và hiệu chỉnh Tốt đối với các ch−ơng trình ngắn không yêu cầu về 
bảo trì 
Không đáp ứng đ−ợc các ch−ơng trình 
t−ơng đối lớn trở đi 
Mô hình thác n−ớc Tiếp cận có kỷ luật 
H−ớng tài liệu 
Sản phẩm chuyển giao có thể không theo 
những gì khách hàng cần 
Mô hình định khung nhanh Đảm bảo sản phẩm đ−ợc chuyển giao có đ−ợc 
những gì khách hàng cần 
Xem phần 9 
Mô hình tăng tr−ởng Trở lại sớm tối đa băng cách đầu t− tiếp tục 
Đẩy mạnh công tác bảo trì 
Đòi hỏi kiến trúc mở 
Có thể thoái hóa thành mô hình xây dựng 
và điều chỉnh 
Mô hình đồng bộ và ổn định Có đ−ợc những gì khách hàng cần trong t−ơng lai 
Đảm bảo các thành phần có thể tích hợp thành công 
Không đ−ợc sử dụng rộng rãi nh− tại 
Microsoft 
Mô hình xoắn ốc Kết hợp nhiều đặc điểm của tất cả các mô hình phía 
trên 
Chỉ có thể sử dụng cho các sản phẩm có 
kích th−ớc lớn hay cho các tổ chức 
Các nhà phát triển phải có khả năng phân 
tích rủi ro và giải quyết rủi ro 
Các mô hình h−ớng đối t−ợng Hỗ trợ việc lặp lại bên trong các giai đoạn, song 
song hóa giữa các giai đoạn 
Có thể suy thoái thành CABTAB (thuật 
ngữ về sự thiếu kỷ luật trong công việc: 
trình tự thực hiện các công việc lung 
tung, bừa bãi) 
Hình 3.10 So sánh giữa các mô hình chu trình sống 

File đính kèm:

  • pdfBài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 3 Các mô hình chu trình sống của phần mềm.pdf
Tài liệu liên quan