miércoles, 23 de mayo de 2012

Diferencias entre Arquitectura y Diseño


Una vez que se reconoce la diferencia, que nunca debió ser menos que obvia, entre diseño e implementación, o entre vistas conceptuales y vistas tecnológicas ¿Es la arquitectura de software solamente otra palabra para designar el diseño? Como suele suceder, no hay una sola respuesta, y las que hay no son taxativas. La comunidad de arquitectura de software, en particular la de extracción académica, sostiene que ésta difiere sustancialmente del mero diseño. Pero Taylor y Medvidovic, por ejemplo, señalan que la literatura actual mantiene en un estado ambiguo la relación entre ambos campos, albergando diferentes interpretaciones y posturas:

1) Una postura afirma que arquitectura y diseño son lo mismo.

2) Otra, en cambio, alega que la arquitectura se encuentra en un nivel de abstracción por encima del diseño, o es simplemente otro paso (un artefacto) en el proceso de desarrollo de software.

3) Una tercera establece que la arquitectura es algo nuevo y en alguna medida diferente del diseño (pero de qué manera y en qué medida se dejan sin especificar).


Para Shaw y Garlan  la arquitectura de software es el primer paso en la producción de un diseño de software, en una secuencia que distingue tres pasos:

1) Arquitectura. Asocia las capacidades del sistema especificadas en el requerimiento con los componentes del sistema que habrán de implementarla. La descripción arquitectónica incluye componentes y conectores (en términos de estilos) y la definición de operadores que crean sistemas a partir de subsistemas o, en otros términos, componen estilos complejos a partir de estilos simples.

2) Diseño del código. Comprende algoritmos y estructuras de datos; los componentes son aquí primitivas del lenguaje de programación, tales como números, caracteres, punteros e hilos de control. También hay operadores primitivos.

3) Diseño ejecutable. Remite al diseño de código a un nivel de detalle todavía más bajo y trata cuestiones tales como la asignación de memoria, los formatos de datos, etcétera.

2 comentarios:

  1. Excelente aporte ya que muchos tienden a confundir estos dos terminos debido a que su nombre tienen similitud pero no es asi.

    ResponderEliminar
  2. gracias por su aporte compañero me aclaro unas dudas

    ResponderEliminar