MÔ HÌNH TĂNG DẦN ĐỒNG THỜI (CONCURRENT INCREMENTAL MODEL)

Một phần của tài liệu Kĩ thuật phần mềm ứng dụng (Trang 29 - 30)

CHƯƠNG 3 CÁC MÔ HÌNH VÒNG ĐỜI PHẦN MỀM

3.5. MÔ HÌNH TĂNG DẦN ĐỒNG THỜI (CONCURRENT INCREMENTAL MODEL)

INCREMENTAL MODEL)

Mô hình tăng dần đồng thời được công ty Fujitsu (Nhật) sử dụng để xây dựng phần mềm truyền thông cỡ lớn vào khoảng năm 1993. Sau này K. Beck chính xác hóa khái niệm này vào năm 1999 và đặt tên là "lập trình cực điểm" (extreme programming). Tuy nhiên chúng ta sẽ gọi là mô hình tăng dần đồng thời cho dễ hình dung. Có thể tóm tắt mô hình này như sau:

Trước hết người ta tìm hiểu nhu cầu khách hàng rồi phân chia thành nhóm các đặc trưng tương ứng với từng phần của phần mềm cần xây dựng. Sau đó nhóm đặc tả tiến hành xây dựng đặc tả của phần thứ

nhất, sau khi hoàn thành thì trao kết quả cho nhóm thiết kế thực hiện thiết kế, nhóm lại chuyển qua đặc tả thành phần thứ hai,... cứ như vậy các thành phần được xây dựng song song, và mỗi nhóm sử dụng các thông tin nhận được từ các thành phần trước đó.

Cách tiếp cận này thực sự đã gây ra rủi ro là các thành phần có thể không tương thích với nhau. Với mô hình tăng dần, khả năng rủi ro phần nào được giảm thiểu vì thiết kế kiến trúc được thực hiện trước khi phần mềm được chia nhỏ thành từng phần và được xây dựng.

Sơ đồ mô hình này như sau:

...

Hình 3.6. Mô hình tăng dần đồng thời (concurrent incremental model)

Đây là mô hình còn có nhiều tranh cãi. Thực chất là mô hình tăng dần, nhưng các phần được thực hiện đồng thời. Mô hình này có tính rủi ro cao hơn mô hình tăng dần thông thường. Bước đầu tiên nhóm phát triển phần mềm dựa vào ý kiến khách hàng để xác định các đặc trưng khác nhau của phần mềm. Với mỗi đặc trưng như vậy họ thông báo cho khách hàng là phải xây dựng trong bao lâu và giá cả bao nhiêu. Tiếp theo khách hàng lựa chọn những đặc trưng cho các phần cần xây dựng dựa trên phân tích giá cả và lợi nhuận (cost-benifit analysis), tức là phân tích dựa trên thời gian và giá cả nêu ra bởi nhóm phát triển và lợi nhuận dự tính của công ty họ. Mỗi phần được lựa chọn lại được chia thành từng phần nhỏ hơn, được gọi là các nhiệm vụ. Mỗi lập trình viên trước hết nêu ra các trường hợp để thử cho từng nhiệm vụ sau đó cùng làm việc với cộng sự của họ trước một màn hình (kiểu lập trình này được gọi là pair programming). Lập trình viên hoàn thành nhiệm vụ được giao và chạy các trường hợp thử để bảo đảm phần chương trình họ viết đã chạy tốt. Phần chương trình này sau đó được tích hợp vào phiên bản hiện thời của phần mềm cần xây dựng. Trường hợp lý tưởng là cả phần lập trình và tích hợp cho một nhiệm vụ chỉ kéo dài trong vài giờ. Thường thì các cặp lập trình viên thực hiện các nhiệm vụ song song, như thế sự tích hợp sẽ được tiến hành một cách liên tiếp. Các trường hợp dùng để thử các nhiệm vụ được giữ lại cho các phép kiểm thử tích hợp sau này. Một số đặc trưng của lập trình cực điểm (XP) có phần nào hơi khác thường:

Một phần của tài liệu Kĩ thuật phần mềm ứng dụng (Trang 29 - 30)