Arquitectura De Software En Metodologias De Desarrollo Agiles Y Rup
RUP, SCRUM Y XP
INTRODUCCIÓN
La definición de la arquitectura de software, independientemente de la metodología de desarrollo, genera un impacto positivo para el proyecto y reduce drásticamente los riesgos a la hora del desarrollo del mismo.
Durante los últimos años las metodologías agiles han tomado un buennumero de simpatizantes dentro de la industria del software, especialmente en aquellos que tienen a cargo proyectos a corto y mediano plazo o en situaciones en donde sus requerimientos cambian constantemente. La arquitectura del software es un punto fundamental para desarrollar software con un buen grado de atributos de calidad. A pesar de ello, las metodologías agiles no incorporan las actividadesrelacionadas con la arquitectura de software ya que no se consideran importantes, sin embargo, con el pasar de los años y el crecimiento de las personas que utilizan metodologías agiles para sus procesos de desarrollo la arquitectura de software ha cobrado mayor importancia.
Como bien se sabe, las metodologías agiles comparten ciertos puntos en común dentro de su estructura, por lo cualdefinir modelos formales que integren actividades relacionadas con la arquitectura de software sin perder el sentido original de las metodologías agiles seria de gran impacto positivo para todos aquellos seguidores de este tipo de metodologías.
En las llamadas metodologías agiles, el proceso de análisis arquitectural se reduce a delimitar a grandes rasgos los elementos de la arquitectura, y enalgunas metodologías no se da el espacio requerido para definirla. El proceso de no definición de la arquitectura en las metodologías agiles, responde en gran parte a la estructura de esta, ya que la mayoría, esta creada para dar soporte a los cambios en los requerimientos (elemento que afectaría drásticamente el análisis arquitectural previo y que conllevaría a un re-análisis arquitectural).
Por elcontrario, metodologías como RUP, brinda a la arquitectura, los elementos necesarios para definir plenamente un buen análisis arquitectural.
ANÁLISIS DE LA ARQUITECTURA EN RUP
El RUP es una metodología de desarrollo de software muy robusta que comprende muchos aspectos críticos que están en pro de la calidad de los proyectos. Está dividido en varias etapas, enlas cuales vamos a enfatizarnos en donde el arquitecto de software debería estar comprometido.
Aclarando esto, vamos a fijarnos en las siguientes etapas:
Requerimientos
Análisis y diseño
Implementación
El arquitecto de software como tal, debe estar presente desde etapas tempranas del proyecto para mitigar riesgos, elaborar correctamente los requerimientos funcionales y nofuncionales que posiblemente no los encuentre un analista de sistemas. Por eso, es preciso iniciar desde el levantamiento de requisitos.
Requerimientos
Gestionar cambios en los requerimientos
Podemos observar que el arquitecto no se encuentra en esta etapa, si bien encontramos el modelo del diseño en donde el arquitecto ha especificado cierta informaciónen una iteración pero, no se logra esa comunicación entre el arquitecto y el analista. Los únicos roles que se presentan son los siguientes:
Analista de sistemas
Revisor técnico
Según el RUP, el revisor técnico puede ser cualquier otra persona con diferente rol, acá puede participar el arquitecto de software, donde sería el caso ideal pero, no necesariamente puede ser y es ahí donde sepresenta el problema.
Análisis y diseño
Diseño de componentes
En esta etapa tampoco encontramos puntualmente al arquitecto de software, vemos que en los roles trabajan el Diseñador, Diseñador de pruebas, Diseñador de capsulas y el revisor técnico, donde este último posiblemente sea el arquitecto pero no nos asegura que lo...
Regístrate para leer el documento completo.