Lợi ích và hạn chế của phát triển bản mẫu (prototype)

Đối với các hệ thống phức tạp, nhiều khi chúng ta không nắm chắc được yêu cầu của khách hàng, chúng ta cũng khó đánh giá được tính khả thi cũng như hiệu quả của hệ thống. Một cách tiếp cận đối với trường hợp này là xây dựng bản mẫu. Bản mẫu vừa được dùng để phân tích yêu cầu vừa có thể tiến hóa thành sản phẩm cuối cùng. Bản mẫu phần mềm hoàn toàn khác với bản mẫu phần cứng. Khi phát triển các hệ thống phần cứng, thì thực tế người ta phát triển một bản mẫu hệ thống để thẩm định thiết kế hệ thống. Một bản mẫu hệ thống điện tử có thể được thực hiện và được thử nghiệm bằng cách dùng các thành phần chưa được lắp ráp vào vỏ trước khi đầu tư vào các mạch tích hợp chuyên dụng đắt tiền để thực hiện một đời sản phẩm mới của hệ thống. Bản mẫu phần mềm không phải nhằm vào việc thẩm định thiết kế (thiết kế của nó thường là hoàn toàn khác với hệ thống được phát triển cuối cùng), mà là để thẩm định yêu cầu của người sử dụng.

Phát triển bản mẫu đem lại các lợi ích sau:

  • Sự hiểu lầm giữa những người phát triển phần mềm và những người sử dụng phần mềm có thể được nhận thấy rõ khi các chức năng của hệ thống được trình diễn.
  • Sự thiếu hụt các dịch vụ người dùng có thể được phát hiện.
  • Sự khó sử dụng hoặc sự nhầm lẫn các dịch vụ người dùng có thể được thấy rõ và được sửa lại.
  • Đội ngũ phát triển phần mềm có thể tìm ra đựơc các yêu cầu không đầy đủ hoặc không nhất quán (inconsistent) khi họ phát triển bản mẫu.
  • Một hệ thống hoạt động được (mặc dầu là hạn chế) là bằng chứng thuyết minh cho tính khả thi và tính hữu ích của ứng dụng cho các nhà quản lý.
  • Bản mẫu đó được dùng làm cơ sở cho việc viết đặc tả một sản phẩm.

Mặc dù mục tiêu chủ yếu của việc tạo bản mẫu là để phát triển, thẩm định các yêu cầu phần mềm, nó cũng có các lợi ích khác như:

  1. Dùng để huấn luyện người sử dụng ngay từ trước khi hệ thống được phân phối.
  2. Dùng trong quá trình thử nghiệm hệ thống. Điều đó nghĩa là cùng các trường hợp thử như nhau vừa dùng cho thử bản mẫu vừa cho thử hệ thống. Kết quả khác nhau có nghĩa là có sai sót.


Tạo bản mẫu là một kỹ thuật giảm bớt rủi ro. Một rủi ro lớn trong việc phát triển phần mềm là các sai sót mà đến giai đoạn cuối mới phát hiện và việc chỉnh sửa vào thời điểm đó là rất tốn kém. Kinh nghiệm cho thấy việc tạo bản mẫu sẽ giảm bớt số các vấn đề của đặc tả yêu cầu và giá cả tổng cộng của việc phát triển có thể là thấp hơn nếu ta phát triển bản mẫu.

Hạn chế của cách tiếp cận tạo bản mẫu là:

  1. Sự xuất hiện của bản mẫu có thể khiến nhóm người dùng nghiệm thu cảm thấy lúng túng khi nhận thấy sự khác biệt với giao diện thành phẩm. 
  2. Lập trình viên có thể đang sử dụng bản mẫu để phát triển cho dù bản mẫu đó được chứng minh không khả thi về mặt kỹ thuật.
  3. Khối lượng công việc thiết kế bản mẫu có thể rất lớn nếu không được kiểm soát tốt. Bản mẫu là công cụ tốt, nhưng có thể không phải là điều kiện bắt buộc để đi đến bước thiết kế chi tiết tiếp theo.
  4. Để đơn giản hóa việc tạo bản mẫu người ta có thể bỏ qua các yêu cầu phức tạp. Sự thật hẳn là không thể tạo bản mẫu một vài phần quan trọng nhất của hệ thống như các đặc điểm về sự an toàn - nguy kịch.
  5. Bản mẫu thường thiên về sự đơn giản, do vậy nếu cấu trúc thông tin phức tạp sẽ không thể hiện được đầy đủ trên bản mẫu. Bản mẫu đôi khi giết chết sự sáng tạo do lập trình viên chỉ biết dựa vào bản mẫu để thiết kế giao diện.
  6. Bản mẫu thường bắt đầu với một cách trình bày thông tin trên một tờ giấy, do vậy bản chất là "phẳng". Nếu chuyển bản mẫu sang phần mềm sẽ không khác một "tờ sớ" với danh sách dài các trường thông tin nối đuôi nhau. Giống như bộ não, phần mềm là một tập các lát cắt (layers) thông tin được kết nối chằng chịt. Đây chính là lý do vì sao trước khi hình thành bản mẫu, người ta bắt đầu với bản vẽ phẳng có tên gọi là "wireframe".
  7. Các yêu cầu phi chức năng như độ tin cậy, độ an toàn hay hiệu năng thường không được biểu thị đầy đủ trong bản mẫu.
  8. Do tính chưa hoàn thiện về chức năng/hiệu năng, người dùng có thể không dùng bản mẫu y như cách dùng một hệ thống thực đang hoạt động. Do đó, chất lượng đánh giá của khách hàng nhiều khi không cao.