The clients has a variety of specific needs therefore I would use rapid prototyping to ensure that the product being developed represents the actual requirements. Then perhaps agile would be effective to quickly bring usable components as agile stories reach fruition.