Академический Документы
Профессиональный Документы
Культура Документы
Evolución de software
21/Noviembre/2017
A la hora de implementar un sistema de software el programador se encuentra con una serie de problemas
típicos para entender los conceptos fundamentales que le ayudaran a desarrollar software de calidad, uno
de esos problemas es el de documentación ya que al no implementarse o realizarse de manera correcta se
pierde visión de la arquitectura de software, esto hace que la arquitectura del sistema se defina y se
implemente de manera errónea. El diseño y la evaluación del diseño es también uno de los aspectos
fundamentales para la arquitectura de software.
Se propone la herramienta Architectural Workshop para el diseño y evaluación del diseño. Las pruebas se
realizaron con el grupo de ICI de 5 semestre de 2017 con el proyecto Electronics e-commerce. Las
conclusiones es que la herramienta es demasiado intuitiva y dinámica, el resultado que se espera es que su
herramienta de evaluación de diseños nos de la información suficiente para determinar si hubo una mejora
de al menos un 40% que impactará en la arquitectura del software en un 30%.
Introducción
Sin embargo, el uso de estos diagramas, hacen que en general la arquitectura de software sea considerado
por muchos una “vista de alto nivel” del sistema, muchas veces abstracta e inherentemente imprecisa. Esto
hace que las definiciones de arquitectura sean sólo un punto de partida, y estén muy lejos de cumplir el rol
de su análogo en la industria de la construcción. ( David Garlan 2005).
Diseño. La etapa de diseño es la etapa central en relación con la arquitectura y probablemente la más
compleja. Durante esta etapa se definen las estructuras que componen la arquitectura. La creación de estas
estructuras se hace en base a patrones de diseño, tácticas de diseño y elecciones tecnológicas. (L. Bass
2003).
Evaluación. En muchas de las ocasiones en las que se lleva a cabo el diseño de software no se hace una
evaluación del mismo, este es un error ya que al no hacer dicha evaluación no se detectan problemas y
riesgos a la hora de implementarlo. (R. Kazman 2003)
Solución al diseño:
El diseño que se realiza debe buscar ante todo satisfacer los requerimientos que influencian a la
arquitectura, y no simplemente incorporar diversas tecnologías porque están “de moda”.
Solución a la evaluación:
La ventaja de evaluar el diseño es que es una actividad que se puede realizar de manera temprana (aún
antes de codificar), y que el costo de corrección de los defectos identificados a través de la evaluación es
mucho menor al costo que tendría el corregir estos defectos una vez que el sistema ha sido construido.
Solución a la documentación:
Bibliografía: L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, 2nd Edition, Addison
Wesley, 2003, software architecture course 2005, David Garlan. Anthony Lattanze.
Experimentación
Cuestionario
Participantes
Preguntas 1 2 3 4 5 promedio
Se identifican riesgos en la arquitectura 2 4 2 5 1 2.8
La propuesta establece mejoras de calidad 5 4 2 3 1 5
Se establecen nuevos componentes 4 3 4 2 1 2.8
Promueve el buen diseño y la buena evaluación 2 1 5 1 5 2.8
Reduce los costos por problemas al no detectar 4 3 1 5 2 5
problemas de diseño
Ayuda a tomar mejores decisiones de diseño 1 2 3 4 3 2.6
Los involucrados negocian en los conflictos de 3 5 1 2 1 2.4
arquitectura
Se pueden particionar las responsabilidades de 2 3 1 3 2 2.2
diseño arquitectural
Mejora la calidad de la documentación 2 1 1 3 4 2.2
Facilita la explicación de requerimientos 3 4 2 3 1 2.6
Permite una buena comunicación entre involucrados 4 1 3 1 3 2.4
Conclusión
La conclusión es que se encontró una correlación entre los resultados arrojados por la
herramienta Architectural Workshop en un 70% en la evaluación del diseño, la cual ayudó
a resolver problemas relacionados con la arquitectura del software, esto implica que si es
más conveniente realizar una evaluación del diseño, una vez que se ha realizado un diseño
previo ya que al evaluar el diseño se podrán encontrar problemas que al resolverlos
mejoren la arquitectura del software.