0 оценок0% нашли этот документ полезным (0 голосов)
65 просмотров3 страницы
Existen desencuentros entre las miradas tradicionales y ágiles sobre la arquitectura de software. En el presente trabajo pretendemos acercarnos a aquellas ideas que pretenden congeniar ambos enfoques. Con ese fin analizamos una serie de artículos y bibliografía sobre las visiones de investigadores agilistas reconocidos.
Existen desencuentros entre las miradas tradicionales y ágiles sobre la arquitectura de software. En el presente trabajo pretendemos acercarnos a aquellas ideas que pretenden congeniar ambos enfoques. Con ese fin analizamos una serie de artículos y bibliografía sobre las visiones de investigadores agilistas reconocidos.
Existen desencuentros entre las miradas tradicionales y ágiles sobre la arquitectura de software. En el presente trabajo pretendemos acercarnos a aquellas ideas que pretenden congeniar ambos enfoques. Con ese fin analizamos una serie de artículos y bibliografía sobre las visiones de investigadores agilistas reconocidos.
Grupo de Investigacin Modelado de Requerimientos y Diseo de Sistemas Complejos Instituto de Tecnologa Aplicada Departamento de Ciencias Exactas y Naturales 1 Unidad Acadmica Ro Turbio, 2Unidad Acadmica Caleta Olivia Universidad Nacional de la Patagonia Austral
CONTEXTO pretende construir una mnima cantidad de cdigo
El proyecto de investigacin 29/B176 Modelado en necesaria para conectar las piezas e iniciar el Anlisis y Diseo de Software: un enfoque desarrollo de la funcionalidad real en la parte arquitectural es el segundo del grupo, y el primero superior, con eso se facilita una primera versin de que relaciona la arquitectura de software con las interfaz de usuario. La entrega puede tener las metodologas giles, lnea que venimos trabajando primeras pantallas, con capas inferiores simuladas, desde el proyecto 29/B134 Modelado de primero a nivel API y luego a nivel persistencia, Requerimientos y Diseo de Sistemas Complejos. completando las funcionalidades de manera incremental en las siguientes iteraciones. Aqu es necesaria una API altamente desacoplada. En el caso RESUMEN del segundo, un enfoque concntrico, donde Existen desencuentros entre las miradas podremos obtener cinco niveles de diseo con sus tradicionales y giles sobre la arquitectura de correspondientes estrategias de validacin (Figura software. En el presente trabajo pretendemos 1), tales como: visin tcnica, descomposicin en acercarnos a aquellas ideas que pretenden congeniar mdulos, capas y niveles de solucin, componentes ambos enfoques. Con ese fin analizamos una serie y servicios, clases y funciones. Como se ve en la de artculos y bibliografa sobre las visiones de figura hay varios niveles de diseo y para cada uno investigadores agilistas reconocidos. sus estrategias de validacin, y cada uno de los niveles se encuentra alineado con la visin tcnica y Palabras clave: arquitectura de software, con el resto de los niveles. Un ejemplo citado en [7] metodologas giles, proceso de desarrollo de menciona un trabajo del grupo de arquitectura del software SEI que selecciona tcticas de diseo adecuadas para los atributos de calidad antes de elegir los patrones de arquitectura, proponiendo un proceso emergente 1. INTRODUCCION de abajo hacia arriba contrario al enfoque Cuando empezamos a trabajar en nuestros artculos tradicional. anteriores [1] y [2] encontramos opiniones contrapuestas, algunas a favor del SEI y sus procesos ingenieriles de desarrollo, metodologas orientadas al plan y mucho tiempo de diseo sin escribir lneas de cdigo; otras, no tanto; pero, tambin encontramos opiniones mediadoras que expresaban la posibilidad de tener un desarrollo guiado por arquitectura trabajndolo en un contexto gil, donde buenas prcticas como TDD, integracin continua, diseo evolutivo y arquitectura emergente pudieran ser el ncleo en la construccin de sistemas. Reconocemos, como expresamos en [1] que en este Figura 1. Enfoque concntrico campo no hay nada definido, por lo que insistimos El modelo C4 propuesto por Brown corrige vicios en seguir analizando otras ideas como las que a que, segn el autor, posee la notacin UML, este continuacin describimos. modelo est compuesto por cuatro diagramas, El trabajo de Fontdevila y Salas [3] basado en el relacionados entre s y bastante navegables, estos undcimo principio del Manifiesto gil las mejores son: contexto que visualiza el sistema en la arquitecturas, requisitos y diseos emergen de organizacin y sus vnculos con otros actores; equipos auto organizados concilian Scrum con contenedores que visualiza la divisin en entornos arquitectura de software y encuentran algunas de ejecucin o almacenamiento; componentes aproximaciones arquitectnicas tales como los visualiza internamente las piezas que componen un enfoques Sashimi y Cebolla. El primero de ellos, contenedor en particular y clases que es un diagrama de clases UML para aquellos casos donde sea refactorizar todos los componentes, tal vez no al necesario llegar a ese nivel. A estos diagramas mismo tiempo, pero si, los elementos constitutivos tambin se pueden agregar otros artefactos para del diseo debern dividirse en iteraciones, para cubrir aspectos tales como comportamiento, vincular ambas arquitecturas. Y, por ltimo, en XP experiencia de usuario y estructura de datos [5]. sugieren utilizar algunos mtodos del SEI, tales como: QAW, ADD, ATAM, CBAM y ARID (ver Figura 4).
Figura 2. Ciclo de vida AMDD para proyectos
software
Ambler en [6] promueve el diseo de arquitecturas Figura 4. Mtodos centrados en
prcticas que evitan entrar en detalles poco arquitectura y actividades de XP pertinentes. La figura 2 muestra el ciclo de vida del Desarrollo Manejado por el Modelo gil (AMDD) que inicia con la iteracin 0 donde se identifican los 2. LINEAS DE INVESTIGACION y alcances, costos, programacin y estrategia tcnica DESARROLLO del proyecto, pero tambin los riesgos tcnicos Este trabajo se relaciona con dos de los ejes de potenciales. investigacin definidos por el grupo denominados: a. Modelado aplicando metodologas giles. Entendiendo que disear no es simplemente crear modelos, sino seleccionar una entre varias alternativas de solucin y luego plasmar esa decisin, esto puede implicar un cierto modelado, pero tambin es vlido representar en cdigo esa decisin; y es con ese fin que reconocemos la existencia de una serie de tcnicas giles que pueden aplicarse al diseo, tales como, desarrollo guiado por pruebas, refactorizacin, esqueleto caminante o desarrollo orgnico y diseo colaborativo [7]. b. Arquitectura de software. Intentando hacer congeniar la mirada tradicional ms Figura 3. ATAM modificado para analtica y planeada con la mirada gil Crystal. como proceso ms emprico y Los autores [8] expresan que son escasas las reconociendo que la arquitectura de un investigaciones para atacar el problema de las sistema es una visin tcnica compartida metodologas giles en la arquitectura y analizan por los involucrados sobre el diseo del propuestas documentadas de soluciones para mismo. metodologas especficas, tales como: Crystal [9], SCRUM [10] y XP [11], [12], [13]. En Crystal se 3. RESULTADOS OBTENIDOS/ ESPERADOS propone modificar el mtodo ATAM con el fin de Los resultados de nuestras investigaciones se aplican adaptarlo mediante un proceso de mapeo como tanto en la enseanza en carreras de grado y muestra la Figura 3 (las fases en rojo son las que pregrado, como en el trabajo en otros proyectos en eliminan). En el caso de SCRUM hay una serie de los que se necesita desarrollo de software, en estrategias a tener en cuenta, (a) extender la nueva especial, desarrollos de sistemas embebidos en arquitectura en paralelo con la arquitectura tiempo real, ya que implica el uso de prcticas giles convencional, haciendo pruebas en conjunto; (b) para llegar a buen puerto. Como objetivo futuro se espera que los alumnos en [8] Urquiza, J., Martnez, A. y Ibargengoitia, G. trabajo final de carrera apliquen exitosamente 2010. Las metodologas de software y las prcticas giles en las etapas de desarrollo, y para arquitecturas de software. CoNIIS. ello, se incorporan al dictado de ctedra trabajos de [9] Farhan, S., Tauseef, H., and Fahiem, M., campo reales, en organizaciones y situaciones reales, Adding agility to architecture tradeoff a las que los futuros profesionales deben enfrentarse. analysis method for mapping on crystal, Software Engineering, World Congress on, 4. FORMACION DE RECURSOS HUMANOS vol. 4, pp. 121125, 2009. El grupo de investigacin se encuentra compuesto de [10] Isham, M., Agile architecture is possible you docentes en su mayora de la Unidad Acadmica Ro rst have to believe!, pp. 484 489, 4-8 Turbio, aunque la investigadora responsable Lic. 2008. Gabriela Vilanova, pertenece a la Unidad [11] Ambler, S. Agile adoption rate survey Acadmica Caleta Olivia, la mayora con categoras results: March 2006, Marzo 2006. Internet: de incentivos IV y V, pero tambin algunos que no http://www.ambysoft.com/surveys/agileMarc poseen categora y que inician tareas en h2006.html Consultado: Mayo 10, 2010. investigacin. Una integrante docente es alumna de [12] Sommerville, I., Parte IV. Desarrollo. posgrado de la Maestra en Informtica y Sistemas Ingeniera del software, pp 364. Sptima ed., de UNPA y dos integrantes se encuentran en trabajo 2006. de tesis para la Maestra en Educacin en Entornos [13] Nord, R., & Tomayko, J., Integrating Virtuales. Contamos con el asesoramiento de un software-architecture-centric methods into acadmico, el Dr. Carlos Arias, perteneciente a la extreme programming (xp), tech. rep., Universidad de Magallanes que cumple funciones de Software Engineering Institute, 2004. docente visitante en la Universidad Nacional de la Technical Note CMU/SEI-2004-TN-036 Patagonia Austral formando tanto docentes como September 2004. investigadores en temticas de Ingeniera de [14] Bass L., Clements P. Kazman R., (2013) Software. Software Architecture in Practice. Addison Wesley. Third Edition. 5. BIBLIOGRAFIA [1] Rivadeneira, S. y Vilanova, G. 2014. Arquitecturas giles. 3 Encuentro de Investigadores, Becarios y Tesistas de la Patagonia Austral. UNPA. [2] Vilanova, G., Rivadeneira, S., Fontana, J. 2014. Modelado de un sistema de informacin de control de trfico areo basado en arquitecturas de software. 3 Encuentro de Investigadores, Becarios y Tesistas de la Patagonia Austral. UNPA. [3] Fontdevila, D. y Salas, M. 2013. Software Architecture in the Agile Life Cycle. Advances in Computer Science: an International Journal, Vol. 2, Issue 1, No.2 [4] Principios del Manifiesto gil. En: http://www.agilemanifesto.org/iso/es/principl es.html. Consultado 15/08/2016. [5] Brown, S. The Art of Visualising Software Architecture. En: http://www.codingthearchitecture.com/2015/0 8/31/the_art_of_visualising_software_archite cture.html. Consultado 16/08/2016. [6] Ambler, S. 2012. Agile Structure: Strategies for Scaling Agile Development. En: http://www.agilemodeling.com/essays/agileA rchitecture.htm. Consultado 16/08/2016 [7] Pez, N., Fontdevila, D., Surez, P., Fontela, C., Degiovannini, M. y Molinari, A. 2014. Construccin de software. Una Mirada gil. Editorial EDUNTREF.