Mô hình thác nước Vmodel vs
Một trong những cuộc tranh luận lâu đời nhất trong công nghệ phần mềm là cuộc tranh luận giữa thác nước so với mô hình V. Cuộc tranh luận này xoay quanh mô hình phần mềm tốt nhất mà các nhà phát triển có thể sử dụng. Có nhiều giai đoạn khác nhau có liên quan đến quá trình phát triển phần mềm. Các giai đoạn tương tự nhau ở cả thác nước và mô hình V, và điều duy nhất cho đến nay vẫn gây tranh cãi là cách tiếp cận mà hai mô hình này có thể đạt được.
Trong mô hình V, có rất nhiều hoạt động, khi được vẽ với nhau trên sơ đồ, tạo thành hình chữ V. Mỗi giai đoạn được cho là có một giai đoạn tương ứng có liên quan đến thử nghiệm. Mô hình này do số lượng thử nghiệm và phát triển bằng nhau được gọi là mô hình xác minh và xác nhận. Phía xác minh xử lý kết thúc phát triển trong khi xác thực xử lý các giai đoạn thử nghiệm. Trong số các hoạt động xác minh thuộc phân tích yêu cầu bao gồm thông tin được thu thập từ người dùng cuối. Thông tin này rất quan trọng trong việc phát triển tài liệu phần mềm.
Tiếp theo là thiết kế hệ thống, nhằm mục đích chuẩn bị thiết kế chức năng của phần mềm. Điều tiếp theo sau đó là thiết kế kiến trúc. Đây cũng được gọi là thiết kế mức cao mà mối quan hệ giao diện và các bảng cơ sở dữ liệu và các phụ thuộc của các bảng. Giai đoạn cuối cùng trong quy trình phát triển là mã hóa trong đó toàn bộ dự án được chia thành các phần nhỏ để mã hóa sau đó được hợp nhất để tạo ra toàn bộ hệ thống.
Mặt xác nhận, mặt khác, có bốn giai đoạn như trong giai đoạn xác minh. Các giai đoạn này bắt đầu bằng thử nghiệm đơn vị, sau đó thử nghiệm tích hợp, thử nghiệm hệ thống và cuối cùng là thử nghiệm chấp nhận của người dùng trong đó toàn bộ hệ thống được đánh giá toàn bộ.
Mô hình thác nước là quy trình phát triển phần mềm sớm nhất, với nguồn gốc đến từ các ngành sản xuất và xây dựng. Khái niệm cơ bản của quá trình này là có một dòng quy trình tuần tự giảm dần lần lượt, như được thấy trong một thác nước. Các giai đoạn này của mô hình thác nước bao gồm Thu thập và Phân tích Yêu cầu trong đó các yêu cầu của khách hàng được thu thập. Bước này dẫn đến giai đoạn thiết kế, trong đó phần lớn phần mềm được tạo và sau đó là giai đoạn thực hiện nơi viết mã phần mềm. Giai đoạn tiếp theo là thử nghiệm và gỡ lỗi, dẫn đến phân phối và cuối cùng là giai đoạn bảo trì.
Sự khác biệt chính được lưu ý giữa hai mô hình là các hoạt động thử nghiệm được thực hiện sau khi quá trình phát triển kết thúc. Mô hình V dường như trông giống như một mô hình có điểm bắt đầu và kết thúc nhất định trong khi mô hình thác nước liên tục lặp lại. Mô hình V khác nhau bởi một quá trình đồng thời. Từ các phần mềm khác nhau đã được sản xuất trên thị trường, phần mềm được sản xuất bằng quy trình V dường như thấp hơn, vì có nhiều hoạt động thử nghiệm trái ngược với mô hình thác nước có một giai đoạn thử nghiệm khi dự án hoàn thành.
Do đó, có thể nói rằng việc sử dụng mô hình V được ưu tiên bất cứ khi nào có những thay đổi liên tục cần được đưa vào. Điều này là dành cho một người hoặc một sự phát triển khiến khách hàng không hài lòng về nhu cầu của dự án của họ, vì họ liên tục thay đổi những gì họ cho là có vẻ lý tưởng. Những người có yêu cầu cố định sẽ không thay đổi trong giai đoạn phát triển của dự án nên giải quyết cho mô hình thác nước. Cũng cần lưu ý rằng các thay đổi trong mô hình V là rẻ để thực hiện khi thử nghiệm và phát triển được thực hiện đồng thời. Đây không phải là trường hợp của mô hình thác nước, có xu hướng là một vấn đề tốn kém, vì bất kỳ lỗi phần mềm nào cũng không thể được chú ý cho đến khi nó đến giai đoạn thử nghiệm.