Thiết bị mô hình thác
Mô hình thác nước, còn được gọi là Thác nước, là một trong những cách tiếp cận nổi tiếng nhất để phát triển phần mềm. Tác giả của mô hình là Winston Royce. Năm 1970, ông đã mô tả bản chất của sự đổi mới của mình trong một bài báo nêu chi tiết những ưu điểm và nhược điểm của nó. Ở cùng một nơi, ông giải thích làm thế nào mô hình này có thể được cải tiến thành một mô hình lặp lại. Ban đầu, trong mô hình thác nước, các giai đoạn phát triển diễn ra theo thứ tự sau:
- Định nghĩa và phối hợp các yêu cầu;
- Phê duyệt dự án;
- Mã hóa;
- Tạo phiên bản làm việc của sản phẩm phần mềm;
- Kiểm tra và gỡ lỗi;
- Cài đặt phần mềm;
- Ủng hộ.
Theo mô hình thác nước, việc thực hiện các hành động của nhà phát triển diễn ra tuần tự - từng điểm một. Để bắt đầu, công việc đang được hoàn thành để xác định và thống nhất về các yêu cầu phần mềm dưới dạng một danh sách cần hoàn thành.
Sau đó, có một quá trình chuyển đổi để tạo và phê duyệt dự án, kết quả là tài liệu được viết mô tả cách thực hiện các yêu cầu phần mềm đã thỏa thuận trước đó.
Nếu thiết kế được hoàn thành, các nhà phát triển sẽ tiến hành triển khai. Tiếp theo là hợp nhất mã - tích hợp các phần riêng lẻ của dự án do các thành viên khác nhau trong nhóm thực hiện.
Bước tiếp theo là kiểm tra và gỡ lỗi sản phẩm. Lỗi được tìm thấy trước đây được sửa ở đây.
Cuối cùng, chương trình được cài đặt và hỗ trợ. Nó liên quan đến việc thực hiện, nếu cần, thay đổi chức năng và loại bỏ các lỗi được tìm thấy.
Mô hình xếp tầng giả định rằng bạn có thể chuyển sang giai đoạn phát triển tiếp theo một cách tuần tự - chỉ sau khi hoàn thành nhiệm vụ trước đó. Khả năng khôi phục hoặc không nhất quán trong các giai đoạn không được cung cấp.
Ưu điểm và nhược điểm
Đôi khi, mô hình thác nước bị chỉ trích vì thiếu linh hoạt. Nhiều người không thích nó vì mục tiêu quản lý dự án chiếm ưu thế trong đó, trong khi đáp ứng thời hạn, chi phí và chất lượng phát triển quan trọng hơn nhiều.
Tuy nhiên, khi nói đến các dự án lớn, thì quản lý thường quan trọng hơn đối với họ, vì điều này làm giảm rủi ro của dự án và cải thiện tính minh bạch trong công việc.
Bất chấp những thiếu sót, phiên bản thứ 3 của PMBOK chỉ chính thức chỉ định phương pháp luận “mô hình xếp tầng”. Các tùy chọn khác, bao gồm quản lý dự án lặp đi lặp lại, không được cung cấp.
Ưu điểm của mô hình thác nước:
- Phát triển nhóm dễ kiểm soát hơn. Khách hàng đã quen thuộc với những gì các lập trình viên hiện đang làm, anh ta có thể thay đổi thời hạn và ngân sách của dự án.
- Chi phí phát triển được phê duyệt ở giai đoạn đầu tiên. Sau khi thống nhất tất cả các giai đoạn thực hiện, sản phẩm phần mềm được viết liên tục.
- Người thử nghiệm có kinh nghiệm là không cần thiết. Đối với giai đoạn thử nghiệm, bạn có thể sử dụng tài liệu chương trình.
Nhược điểm của mô hình thác nước:
- Vì thử nghiệm bắt đầu ở giai đoạn hoàn thành phát triển, nếu một lỗi được phát hiện, sẽ tốn nhiều chi phí hơn để sửa nó so với giai đoạn ban đầu. Rốt cuộc, những người kiểm tra sẽ chỉ tìm thấy lỗi khi nhà phát triển đã viết xong mã và người viết quảng cáo - tài liệu.
- Khách hàng làm quen với thành phẩm sau khi quá trình phát triển hoàn tất. Theo đó, anh ta chỉ có thể đánh giá sản phẩm khi nó gần như hoàn toàn sẵn sàng. Nếu anh ta không thích kết quả, chi phí ngân sách dự án sẽ tăng lên rõ rệt do cần phải điều chỉnh.
- Càng nhiều tài liệu kỹ thuật, càng mất nhiều thời gian để hoàn thành công việc. Tài liệu như vậy đòi hỏi nhiều thay đổi và phê duyệt hơn.
"Thác nước" thường được sử dụng trong các dự án trong ngành y tế và hàng không vũ trụ, nơi đã có sẵn nhiều tài liệu, trên cơ sở đó có thể đưa ra các yêu cầu cho phần mềm mới.
Khi sử dụng mô hình thác nước, điều chính là viết các yêu cầu chi tiết. Trong quá trình thử nghiệm, không nên phát hiện ra lỗi ở đâu đó có ảnh hưởng bất lợi đến toàn bộ dự án.