Arquitectura de Software

May 03, 2008 Comments Off by
La arquitectura es un concepto ampliamente utilizado dentro del desarrollo de software. Aunque todaví­a es muy difí­cil de definir con exactitud, de hecho, cambia de dominio en dominio, de una compañí­a a otra, de un proyecto a otro e incluso de empleado a empleado.

Hacia una definición de la arquitectura

El término “arquitectura” debe distinguirse de otros dominios diferentes al desarrollo de software. Por ejemplo, la industria de la construcción es el hogar natural del tí­tulo de “arquitecto”, hasta tal punto que las leyes locales pueden limitar su uso a certificados o acreditados profesionales de esa industria. La intención de esas restricciones suele ser evitar que una persona que se cree capaz de construir un edificio lo haga, pero hay quienes critican a los profesionales de la industria del software por robar el término1.

La arquitectura ayuda a completar los requisitos

Una visión simple de la arquitectura es considerar la razón por la que existe: la arquitectura es uno de los medios para que un proyecto cumpla los requisitos.

Por supuesto, hay numerosos aspectos de desarrollo de software que contribuyen a que los requisitos se cumplan. La arquitectura ofrece la estructura para el desarrollo, mejorar el control, por lo que el proyecto puede ser entregado con una mayor seguridad. La arquitectura se basa también en mejores prácticas de la industria y crea un plan de aplicación para reducir el riesgo y el costo inherente del proyecto.

La arquitectura logra muchos de sus objetivos mediante lo que se suele denominar “diseño”. Por lo tanto, es importante entender lo que es el “diseño” y cómo se relaciona con la arquitectura.
Como un sustantivo, el diseño es la llamada (aunque no siempre se puede) estructura o comportamiento de un sistema cuya presencia se resuelve o contribuye a la resolución de una fuerza o fuerzas en el sistema. Un diseño por lo tanto, representa un punto en un potencial espacio de decisión. Un diseño puede ser singular (lo que representa una hoja de decisión) o puede ser colectiva (lo que representa un conjunto de otras decisiones). [Grady Booch]
Aunque todavia no es definitivo, Booch hace hincapié en algunas de las principales caracterí­sticas de diseño.

En primer lugar, existe el diseño para resolver una fuerza en el sistema. Fuerzas pueden ser el costo, el alcance, recursos, plazos, requisitos – cualquier cosa que usted desee tomar en consideración como parte del diseño. Es decir, que el diseño debe tener un propósito. Como veremos, esto es un aspecto importante de la arquitectura de software.

En segundo lugar, un diseño es una de muchas posibles opciones para resolver una determinada fuerza en el sistema. Hacer la elección correcta es naturalmente importante, sobre todo si la arquitectura es para resolver las fuerzas sobre el sistema de manera efectiva y. El diseño no es peculiar de la arquitectura, sin embargo. Hay fuerzas en todos los aspectos de desarrollo de software y muchos medios para resolverlos. Por lo tanto, debemos considerar como se relaciona el diseño con la arquitectura.
Toda arquitectura es diseño, pero no todo diseño es arquitectura. í‰sta representa las decisiones de diseño significativas que dan forma a un sistema, donde lo significativo es medido por el costo del cambio. [Grady Booch].
Entonces, se puede concluir que las decisiones de diseño arquitecturales solo están separadas de otras decisiones de diseño por el hecho de que tan caro puede costar un error. Sin embargo, la arquitectura requiere de más experiencia, así­ como una selección mas rigurosa para evitar esos costos potenciales derivados de los errores.
Fragmento traducido del libro sobre arquitectura de software de “Coding the Architecture“.

Share and Enjoy:
  • Print
  • email
  • PDF
  • del.icio.us
  • Facebook
  • Digg
  • Slashdot
  • Twitter
  • Technorati
  • LinkedIn
  • Netvibes
  • StumbleUpon
  • Meneame
  • Google Bookmarks
  • BarraPunto
Start Slide Show with PicLens Lite PicLens
Arquitectura de Software, Programación

About the author

The author didnt add any Information to his profile yet
Comments are closed.