Hola, respecto a la pregunta de B**, pienso que usar una Herramienta Case es una gran ventaja, por el siguiente motivo:
Al desarrollar un proyecto de tamaño mediano-grande, lo adecuado es tomar una metodolgia de desarrollo de software, porque con frecuencia, en ese proyecto intervendran varias personas, y cada una con ideas diferentes de cómo darle solucion a algun problema del proyecto. Estas 'ideas' estaran plasmadas en un modelo de Análisis y/o Diseño. Entonces, para no "deperdiciar" (si vale el termino) la conjuncion de ideas, del equipo de desarrollo, plasmadas en ese modelo, es conveniente usar una Herramienta Case que generará codigo equivalente a lo modelado, donde la documentacion (y comentarios), jugará(n) un papel importante en la implementación.
Solo es una opinion personal.
Un saludo