Una arquitectura de software limpia traduce mejor calidad

por SoTechCo

Junio 24, 2017



¿Qué es una arquitectura de software "Limpia"?

arquitectura de software limpia

Una arquitectura limpia conduce a una mejor calidad. Dado que los problemas en la arquitectura no apuntan directamente a errores de software, hay a menudo una tendencia a corregir los errores sin tener en cuenta el diseño general. Si las pruebas trabajan y el software funciona correctamente, ¿por qué preocuparse por la arquitectura? Como resultado, la arquitectura se pierde con el tiempo y el diseño inicial planteado queda totalmente fuera del objetivo inicial. generando grandes problemas. Los módulos de software al paso del tiempo se tornan difíciles de mantener conduciendolo a ser un software de muy baja calidad. Las consecuencias del software por un diseño pobre debido a la erosión se han documentado en una serie de estudios de investigación. Lo invitamos a leer nuestro whitepaper “El valor comercial de una arquitectura limpia”.

De hecho, mantener la arquitectura limpia puede ser una de las mejores maneras de reducir defectos, vulnerabilidades y mejorar la mantenibilidad de su software. Wipro ((NYSE: WIT) es una empresa mundial de tecnología de la información, consultoría y outsourcing con más de 170.000 empleados que atienden a clientes en más de 175 ciudades en los 6 continentes. La compañía registró ingresos de $ 7.7 mil millones para el ejercicio finalizado el 31 de marzo de 2016.), utilizando Lattix Architect para monitorear su arquitectura, observó una reducción del 56% en el número de errores, así como una mejora de la productividad del 45% en la corrección de bugs.*

Una menor complejidad significa mejores resultados en los análisis estáticos

El articulo “Midiendo el efecto de la complejidad en resultados de análisis estativos” muestra que las tasas de detección de soluciones de las soluciones de análisis estático disminuyeron al aumentar la complejidad del código. Es más probable que los programas complejos contengan construcciones de código inusuales. Esto provoca problemas para las herramientas de análisis estático no diseñadas para manejar estas situaciones. Una forma de reducir la complejidad es utilizar una herramienta como Lattix Architect para entender las dependencias y el acoplamiento entre módulos.

Una vez que tenga esa comprensión, puede comenzar a mejorar las áreas problemáticas y por lo tanto menor tener complejidad.

Localizar áreas de enfoque (muchas dependencias o altamente acoplado)

La comprensión de la arquitectura del software le ayuda a identificar las áreas en las que debe concentrarse para realizar pruebas, incluidas las pruebas de análisis estático. Si ve un módulo o namespace con muchas dependencias, es un buen candidato para pruebas adicionales. El módulo o sistema puede afectar a muchas áreas diferentes y por lo tanto tendría un alto impacto en el resto del código.

Las otras áreas de interés son los sistemas estrechamente acoplados o interdependientes. Los sistemas fuertemente conectados tienden a mostrar una serie de características negativas. Un cambio en un módulo en un sistema fuertemente conectado, por lo general fuerza un efecto de ondulación de los cambios a través de otros módulos. La creación de nuevos módulos en un sistema estrechamente conectado es difícil debido a las dependencias incrementadas. Un módulo en particular puede ser más difícil de reutilizar y/o probar porque se deben incluir módulos dependientes.

Resumen

Lattix Architect y Lattix Web son grandes complementos para su solución de análisis estático. Si está trabajando en una iniciativa de calidad de software. Entender las dependencias y modularidad del software, además de identificar las áreas que necesitan enfocarse para las pruebas, por lo que una arquitectura limpia y modular es esencial. disminuir la complejidad de su software le permite obtener mejores resultados.

La comprensión de la arquitectura del software maximiza la eficacia de su solución de análisis estático. Si está interesado en entender su arquitectura de software, consulte Lattix Architect. También tenemos integraciones con Klocwork y Understand que le permiten importar datos de Klocwork / Understand directamente en Lattix Architect.

* Su viaje a Lean: Mejora continua apoyada por herramientas.

Para obtener una idea de que como esta su código y/o como puede mejorarlo. visita www.sotechco/lattix.html o contactenos