Inteligencia de Software


La Inteligencia de Software es información sobre la condición estructural de los activos de software producida, a su vez, por software diseñado para analizar la estructura de la base de datos, frameworks y el código fuente para comprender y controlar mejor los sistemas de software complejos en entornos de tecnología de la información.[1]​ De manera similar a Business Intelligence (o Inteligencia de Negocios, BI, por sus siglas en inglés), la Inteligencia de Software se produce mediante un conjunto de herramientas y técnicas de software para la extracción de datos y la estructura interna del software. Los resultados finales son información que utilizan las empresas y los interesados en el software para tomar decisiones informadas, la comunicación del estado del software, la medición de la eficiencia de las organizaciones de desarrollo de software y la prevención de catástrofes de software.[2]

Capacidades

Debido a la complejidad y la amplia gama de componentes y temas implicados en el software, la inteligencia del software se deriva de diferentes aspectos del software:

  • La composición de software es la construcción de componentes de aplicaciones de software.[3]​ Los componentes resultan de la codificación del software, así como de la integración del código fuente de componentes externos: código abierto, componentes de terceros o frameworks. Se pueden integrar otros componentes mediante llamadas a librerías o servicios mediante interfaces de programación de aplicaciones .
  • La arquitectura de software se refiere a la estructura y organización de los elementos de un sistema, las relaciones y las propiedades entre ellos.
  • Las fallas de software designan problemas que pueden causar seguridad, estabilidad, resistencia y resultados inesperados. No existe una definición estándar de fallas de software, pero la más aceptada es la de The MITRE Corporation, donde las fallas comunes se catalogan en Common Weakness Enumeration.[4]
  • Las calificaciones de software evalúan los atributos del software. Históricamente, la clasificación y la terminología de los atributos se han derivado del modelo de calidad ISO 9126-3 y el posterior modelo de calidad ISO 25000: 2005.[5]
  • La economía del software se refiere a la evaluación de recursos del software en el pasado, presente o futuro para tomar decisiones y gobernar.[6]

Referencias

  1. Dąbrowski R. (2012) On Architecture Warehouses and Software Intelligence. In: Kim T., Lee Y., Fang W. (eds) Future Generation Information Technology. FGIT 2012. Lecture Notes in Computer Science, vol 7709. Springer, Berlin, Heidelberg
  2. Ahmed E. Hassan and Tao Xie. 2010. Software intelligence: the future of mining software engineering data. In Proceedings of the FSE/SDP workshop on Future of software engineering research (FoSER '10). ACM, New York, NY, USA, 161–166
  3. Nierstrasz, Oscar, and Theo Dirk Meijler. "Research directions in software composition." ACM Computing Surveys 27.2 (1995): 262-264 doi 10.1145/210376.210389
  4. Kanashiro, L., et al. "Predicting software flaws with low complexity models based on static analysis data." Journal of Information Systems Engineering & Management 3.2 (2018): 17 doi 10.20897/jisem.201817
  5. «ISO 25000:2005». Archivado desde el original el 14 de abril de 2013. Consultado el 18 de octubre de 2013. 
  6. Boehm, Barry W., and Kevin J. Sullivan. "Software economics: a roadmap." Proceedings of the conference on The future of Software engineering. 2000. doi 10.1145/336512.336584