CHƯƠNG 3 CÁC MÔ HÌNH VÒNG ĐỜI PHẦN MỀM
3.2. MÔ HÌNH THÁC ĐỔ (WATERFALL MODEL)
Mô hình thác đổ là mô hình phát triển phần mềm được đưa ra lần đầu tiên bởi W.W. Royce vào năm 1970. Trong mô hình này, quá trình phát triển phần mềm được coi như một dòng chảy trải qua các pha
yêu cầu, phân tích,thiết kế, cài đặt, tích hợp và bảo trì. Thực ra, Royce có mô tả tính lặp của từng pha, nghĩa là nếu trong một pha người ta phát hiện ra điều gì đó sai sót hoặc không phù hợp thì sẽ quay lại hiệu chỉnh ở pha trước. Hình 3.2 là sơ đồ biểu diễn mô hình thác đổ.
Hình 3.2. Mô hình thác đổ (waterfall model)
Mô hình thác đổ là mô hình cũ nhất và được sử dụng rộng rãi nhất trong công nghệ phần mềm. Tuy nhiên cũng có nhiều ý kiến chỉ trích và cho rằng mô hình này có một số nhược điểm như sau:
Các dự án trong thực tế hiếm khi tuân theo dòng chảy tuần tự mà mô hình đề nghị. Mặc dầu mô hình cho phép lặp, nhưng điều đó chỉ làm gián tiếp. Kết quả là những thay đổi có thể gây ra lẫn lộn khi nhóm phát triển làm việc.
Khách hàng thường khó phát biểu mọi yêu cầu một cách tường minh ngay từ đầu. Mô hình tuần tự tuyến tính đòi hỏi điều này và thường khó thích hợp với sự không chắc chắn tự nhiên tồn tại vào lúc đầu của nhiều dự án. Khách hàng phải kiên nhẫn chờ đợi, vì bản làm việc được của chương tình chỉ có được vào cuối của thời gian dự án. Một sai lầm ngớ ngẩn, nếu đến lúc có chương trình làm việc mới phát hiện ra, có thể là một thảm họa.
Với việc phân tích một số dự án hiện tại, Bradax thấy rằng bản chất tuyến tính của vòng đời cổ điển dẫn tới "các trạng thái tắc nghẽn", nghĩa là có một số thành viên của nhóm phát triển phải chờ đợi sự chuyển giao từ nhóm khác hoàn thành công việc ở pha trước. Trong thực tế, thời gian chờ đợi có thể vượt quá thời gian sản xuất. Trạng thái nghẽn có xu hướng xẩy ra vào thời gian đầu và cuối của quy trình phần mềm.
Tuy nhiên, mô hình vòng đời cổ điển có một vị trí quan trọng vì nó đưa ra một hình mẫu về các bước mà một phần mềm cần phải trải qua là: phân tích hệ thống, thiết kế, cài đặt, tích hợp và bảo trì. Nhiều mô hình sau này là cải tiến mô hình này, nhưng vẫn giữ lại những điểm cốt lõi.