Вы находитесь на странице: 1из 4

Centro de Ciencias Básicas

Departamento de Ciencias de la Computación

Evolución de software

Pedro Cardona Salas

Juan Pablo Hernández Romo

21/Noviembre/2017

Artículo sobre Problemas de arquitectura de software


Resumen

Entendimiento y utilización de herramientas e implementación de arquitecturas para


pequeñas empresas

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

Documentación. La documentación de los sistemas de software generalmente incluyen una sección


denominada “arquitectura del sistema”, la cual presenta una serie de diagramas similares a los expuestos.
Si bien a primera vista estos diagramas parecieran ser una buena guía para entender el sistema,

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).

Definición de arquitectura: Otro gran desafío de la disciplina es la de permitir la construcción de sistemas


con una base arquitectónica sólida e intelectualmente manejable. (Anthony Lattanze 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:

· -utilizar texto descriptivo y utilizar diagramas de cajas y líneas


· - tener la mayor precisión posible, y ser lo más formal posible.

Solución a la definición de arquitectura:

Como objetivos relacionados, se busca que los sistemas:


 Puedan ser construidos en función de una composición de partes
 Utilicen crecientes grados de arquitecturas de integración estándares
 Sean documentados de manera que la organización que los crea pueda reutilizar el conocimiento
arquitectónico

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

Haciendo uso de la herramienta Architectural Workshop se comprobará que tan eficiente


será la evaluación del diseño para la arquitectura del software, las pruebas se realizaran
sobre el proyecto antes mencionado en los laboratorios de computo del Edificio 61 de la
UAA en un periodo de una semana del 13 al 17 de Diciembre del presente año contando
con un equipo de trabajo de 4 personas. Dicha herramienta se utilizara para primero
realizar el diseño del sistema y posteriormente evaluar ese diseño, para de esa manera
poder determinar cuál es la eficiencia de la arquitectura en base a esa avaluación, los
primero 2 días de la semana se realizará el diseño y los 2 días restantes se usaran para
realizar la evaluación del diseño.
Cabe mencionar que la suite Architectural Workshop ya cuenta con una herramienta
predeterminada para decir que tan eficiente resultará la arquitectura del software en base
a la evaluación del diseño.

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.

Вам также может понравиться