Cuando surge la
necesidad de desarrollar un nuevo sistema software hay una primera fase que
define el QUÉ se quiere hacer, esta fase debería (aunque extrañamente no
siempre así) proporcionar una especificación de lo que el sistema debería
hacer.
Una vez que está
definido el QUÉ debe hacer el sistema comienza una segunda fase para ver CÓMO
se va a abordar el desarrollo del sistema.
En este punto, el
desarrollo de sistema va a tener una parte que modele el QUÈ hay que hacer (las
reglas de negocio) y otra parte que tendrá más que ver con qué tecnologías se
van a utilizar para llevarlo a cabo.
Por ejemplo, si el nuevo
sistema software consiste en el juego de las tres en raya las reglas del
negocio sería las reglas del juego (alto nivel) mientras que las tecnologías
que se van a usar las cuales podrían comprender un entorno LAMP, MEAN, etc. (bajo nivel)
La arquitectura tiene
que ver más con las partes de alto nivel mientra que el diseño tiene que ver
más con las partes de bajo nivel. No obstante, no hay una línea clara entre los
dos conceptos.
La meta
Según Robert. C. Martin
la meta de un buen software es:
«The goal of software
architecture is to minimize the human resources required to build and
Maintain the required
system.»
La calidad del diseño va
a venir determinada por el tipo de esfuerzo durante el tiempo de vida del
sistema. Si el esfuerzo se mantiene el diseño tiende a ser bueno mientras que
si el esfuerzo se incrementa con cada nueva versión el diseño es malo.
No hay comentarios:
Publicar un comentario