¿Cómo verificamos la lógica de un diagrama de clase? Sobre todo no lo hacemos. El diseño orientado a objetos es un proceso iterativo. El diseño en sí mismo depende de cómo se usan los objetos tanto como de lo que hacen. Los diagramas de clase tratan sobre las interacciones entre los objetos y no sobre cómo funcionan internamente.
Sigue mi propia opinión y sé que algunas personas no estarán de acuerdo conmigo: si bien es bueno pasar un tiempo pensando en los objetos y sacarlos, hay un retorno negativo al tratar de ser demasiado completo al respecto. En otras palabras, tratar de dibujar todos los objetos y los detalles de sus clases es una pérdida de tiempo y dinero. Es por la misma razón por la que SpaceX no podía estar seguro de cómo aterrizar un cohete en una barcaza flotante sin intentar primero y perforar algunos agujeros en la barcaza. Nadie puede estar tan seguro de cómo deberían funcionar las cosas.
Además, mantener estos dibujos sin una herramienta automatizada es una gran inversión en tiempo y dinero. A menudo, haré un boceto, especialmente si intento comunicar un diseño a otros ingenieros y confiar en que harán un buen trabajo en los detalles. Si estoy preocupado por eso, puedo consultar su código mientras lo envían a SVN. Sí, a veces me muerdo al confiar, pero eso va con el territorio.
- Quiero ser ingeniero de software y hacer toda la codificación. ¿Debo obtener un BE Hons en ingeniería de software o un BSc en informática?
- Me estoy enseñando a codificar. ¿Cómo eliges la pila tecnológica adecuada para aprender sobre tu idea de aplicación específica?
- ¿Cómo es trabajar en ingeniería de software para un contratista de defensa?
- ¿Cuál es tu libro tecnológico favorito y por qué?
- ¿Cómo es la Universidad Carnegie Mellon de Silicon Valley, California para el curso y las perspectivas laborales? ¿Puede alguien sin antecedentes de CS en pregrado solicitar MS en Ingeniería de Software sin carta de recomendación (pero con puntajes decentes GRE / TOEFL / CGPA) y ser aceptado?