Cả hai phương pháp tạo mẫu đều được sử dụng khi có một số khía cạnh của hệ thống mà bạn không hoàn toàn hiểu được. Tuy nhiên, điểm khác biệt chính là phương pháp vòng đời mà bạn sử dụng. Với nguyên mẫu tiến hóa, bạn thường hiểu một số khía cạnh của hệ thống và không chắc chắn về những thứ khác. Trong nguyên mẫu bỏ đi, bạn có một sự thiếu hiểu biết chung mà bạn cần phải hoàn thành trước khi bạn có thể xây dựng một hệ thống sẵn sàng sản xuất.
Lưu ý rằng có rất nhiều loại tạo mẫu bỏ đi và không giới hạn trong toàn bộ hệ thống. Ví dụ, sử dụng bản phác thảo bằng giấy hoặc bảng trắng của giao diện người dùng có thể được coi là nguyên mẫu bỏ đi. Có, bạn có thể trải qua nhiều lần lặp lại và vứt bỏ một thiết kế trước đó, nhưng bạn cũng sẽ không sử dụng nguyên mẫu cuối cùng trong hệ thống (không thể thực hiện được đối với một thiết bị).
Nếu bạn quan tâm đến các chủ đề kỹ thuật phần mềm nói chung và bề rộng của SE, tôi khuyên bạn nên chọn cuốn sách Sommerville mà tôi trích dẫn. Nó thực sự tốt cho việc bao quát bề rộng của các chủ đề. Nếu bạn quan tâm hơn đến các mô hình quy trình và phương pháp luận và cách bạn có thể áp dụng chúng cho các dự án khác nhau, tôi sẽ giới thiệu cuốn sách McConnell - nó có cả một chương dành cho tạo mẫu tiến hóa và một chương khác dành cho tạo mẫu bỏ đi.
Tôi cũng đã lướt qua bài viết Wikipedia về tạo mẫu phần mềm . Một số phần của nó hơi kỳ lạ (ít nhất là trong phần đọc nhanh của tôi), nhưng dường như không có bất cứ điều gì mà tôi hoàn toàn không đồng ý. Một số trong đó là một chút tập trung vào một khía cạnh cụ thể, nhưng thực tế nó không sai mà tôi thấy. Tôi thích các định nghĩa dưới đây, nhưng nó có thể là một cách đọc thú vị về các kiểu tạo mẫu khác nhau.
Tạo mẫu tiến hóa
Phát triển thăm dò trong đó mục tiêu của quá trình là làm việc với khách hàng để khám phá các yêu cầu của họ và cung cấp một hệ thống cuối cùng. Sự phát triển bắt đầu với các phần của hệ thống được hiểu. Hệ thống phát triển bằng cách thêm các tính năng mới được đề xuất bởi khách hàng. (Sommerville: Kỹ thuật phần mềm, Phiên bản thứ 8)
Tiến hóa nguyên mẫu là một mô hình vòng đời trong đó hệ thống được phát triển theo từng bước để có thể dễ dàng sửa đổi để đáp ứng với phản hồi của người dùng cuối và khách hàng. Hầu hết các nỗ lực tạo mẫu tiến hóa bắt đầu bằng cách tạo mẫu giao diện người dùng và sau đó phát triển hệ thống đã hoàn thành từ đó, nhưng tạo mẫu có thể bắt đầu với bất kỳ khu vực rủi ro cao nào. Nguyên mẫu tiến hóa không giống như Tạo mẫu ném, và đưa ra lựa chọn đúng đắn về việc phát triển nguyên mẫu tiến hóa hay nguyên mẫu vứt bỏ là một chìa khóa thành công. Các chìa khóa khác để thành công bao gồm sử dụng các nhà phát triển có kinh nghiệm, quản lý lịch trình và kỳ vọng ngân sách và tự quản lý hoạt động tạo mẫu. (McConnell: Phát triển nhanh chóng: Lịch trình phần mềm thuần hóa)
Nguyên mẫu vứt bỏ:
Tạo mẫu bỏ đi là nơi mục tiêu của quá trình phát triển tiến hóa là tìm hiểu các yêu cầu của khách hàng và từ đó phát triển một định nghĩa yêu cầu tốt hơn cho hệ thống. Nguyên mẫu tập trung vào thử nghiệm các yêu cầu của khách hàng chưa được hiểu rõ. (Sommerville: Kỹ thuật phần mềm, Phiên bản thứ 8)
Với Protaway Prototyping, mã được phát triển để khám phá các yếu tố quan trọng đối với thành công của hệ thống, và sau đó mã đó bị loại bỏ. Việc triển khai tạo mẫu sử dụng ngôn ngữ lập trình hoặc thực tiễn phát triển hoặc cả hai đều nhanh hơn nhiều so với ngôn ngữ đích và thực tiễn. Giao diện người dùng được tạo nguyên mẫu phổ biến hơn nhiều so với bất kỳ phần nào khác của hệ thống, nhưng các phần khác của một số hệ thống cũng có thể được hưởng lợi từ việc được tạo nguyên mẫu. Khi được sử dụng như một trợ giúp xác định yêu cầu, thực tiễn Tạo mẫu Ném có thể tăng tốc các dự án dựa trên các mô hình vòng đời truyền thống, chẳng hạn như các dự án DoD. Nó có thể được bắt đầu ở cấp độ quản lý hoặc kỹ thuật. (McConnell: Phát triển nhanh chóng: Lịch trình phần mềm thuần hóa)