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.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 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.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
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.Nierstrasz, Oscar, and Theo Dirk Meijler. "Research directions in software composition." ACM Computing Surveys 27.2 (1995): 262-264 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.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 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. 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.Boehm, Barry W., and Kevin J. Sullivan. "Software economics: a roadmap." Proceedings of the conference on The future of Software engineering. 2000.
Referencias
Categoría:Gestión de datos Categoría:Ingeniería de software Categoría:Software