design - icon - ¿Dónde trazas la línea entre el diseño y la arquitectura?
diariodesign (4)
Es puramente subjetivo. Todo lo que el líder o arquitecto dev dice es la verdad.
La pregunta de arquitectura ágil me hace preguntarme esto.
¿Depende de lo que se está construyendo? ¿Las aplicaciones (me refiero al programa de computación individual aquí) tienen una arquitectura?
ACTUALIZACIÓN: para tratar de aclarar la pregunta, daré mi opinión sobre la pregunta: definí la arquitectura como el corte del sistema en componentes, y las relaciones entre los componentes, mientras que el diseño se trata de los internos del componente. ¿Esta opinión es compartida?
Es realmente bastante simple: la arquitectura se trata de la decisión de diseño que usted toma para cumplir con los requisitos "no funcionales": requisitos como costo, facilidad de mantenimiento, rendimiento, confiabilidad, disponibilidad y seguridad. Esto sobre una aplicación web: puedes construirlo en un trillón de maneras, desde un gran programa de C que se ejecuta como un CGI (realmente, solíamos hacerlo), una aplicación de Python, a una aplicación J2EE, a una aplicación LAMP. Cualquiera de ellos tendría el mismo comportamiento funcional, todos publicarían las mismas páginas; las diferencias aparecen cuando intentas cambiar la base de datos del programa C o equilibrar la carga de tu gran aplicación LAMP.
Interesantes respuestas en este foro de hilos de Joel
Uno de los más divertidos:
In my experience, about $30k.
Uno de los más cortos:
I would say that "design" is what is done to achieve an architecture
La arquitectura puede cubrir cuestiones que van más allá del alcance del diseño, como una línea completa de productos o una gama de versiones de un solo producto. La arquitectura también se ocupa de las famosas " ilidades ", como la capacidad de prueba , la capacidad de actualización, la fiabilidad, la disponibilidad, etc.
Encontrará en SEI otras definiciones de arquitectura de software donde se menciona el diseño.
La arquitectura se puede definir como el conjunto de decisiones de diseño principales sobre el sistema. La decisión de diseño, como las decisiones relacionadas con el comportamiento del sistema, la estructura del sistema, la interacción del sistema y el diseño, es un plan o esquema que se ejecuta.