The Prototyping model of software development is: (1) a reasonable approach when requirements are well-defined. (2) a useful approach when a customer cannot define requirements clearly. (3) the best approach to use for projects with large development teams. (4) a risky model that rarely produces a meaningful product.