stringtranslate.com

Inteligencia de software

La inteligencia de software es la comprensión del funcionamiento interno y la condición estructural de los activos de software producida por software diseñado para analizar la estructura de la base de datos , el marco de software 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] [2] De manera similar a la inteligencia empresarial (BI), la inteligencia de software se produce mediante un conjunto de herramientas y técnicas de software para la minería de datos y la estructura interna del software. Los resultados se producen automáticamente y alimentan una base de conocimiento que contiene documentación técnica y planos del funcionamiento interno de las aplicaciones, [3] y se ponen a disposición de todos para que los interesados ​​en el negocio y el software los utilicen para tomar decisiones informadas, [4] medir la eficiencia de las organizaciones de desarrollo de software, comunicar sobre la salud del software y prevenir catástrofes de software. [5]

Historia

La inteligencia de software ha sido utilizada por Kirk Paul Lafler, ingeniero, empresario y consultor estadounidense, fundador de Software Intelligence Corporation en 1979. En ese momento, estaba relacionada principalmente con las actividades de SAS , en la que ha sido experto desde 1979. [6]

A principios de la década de 1980, Victor R. Basili participó en diferentes artículos que detallaban una metodología para recopilar datos válidos de ingeniería de software relacionados con la ingeniería de software, la evaluación del desarrollo de software y las variaciones. [7] [8] En 2004, diferentes proveedores de software en análisis de software comenzaron a utilizar los términos como parte de su estrategia de marketing y denominación de productos.

En 2010, Ahmed E. Hassan y Tao Xie definieron la inteligencia de software como una " práctica que ofrece a los profesionales del software información actualizada y pertinente para respaldar sus procesos diarios de toma de decisiones y la inteligencia de software debería respaldar los procesos de toma de decisiones durante toda la vida útil de un sistema de software ". Continúan definiendo la inteligencia de software como un " fuerte impacto en la práctica del software moderno " para las próximas décadas. [9]

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:

Componentes

Las capacidades de las plataformas de inteligencia de software incluyen un número cada vez mayor de componentes:

Aspecto del usuario

Para integrar con éxito el uso de sistemas de inteligencia de software en una empresa, es necesario tener en cuenta algunas consideraciones. En definitiva, el sistema de inteligencia de software debe ser aceptado y utilizado por los usuarios para que agregue valor a la organización. Si el sistema no agrega valor a la misión de los usuarios, simplemente no lo utilizan, como afirmó M. Storey en 2003. [20]

A nivel de código y representación del sistema, los sistemas de inteligencia de software deben proporcionar un nivel diferente de abstracciones: una vista abstracta para diseñar, explicar y documentar y una vista detallada para comprender y analizar el sistema de software. [21]

A nivel de gobernanza, la aceptación por parte del usuario de la inteligencia del software abarca diferentes áreas relacionadas con el funcionamiento interno del sistema, así como con los resultados del mismo. Abarca los siguientes requisitos:

Aplicaciones

La inteligencia de software tiene muchas aplicaciones en todas las empresas relacionadas con el entorno de software, ya sea software para profesionales, para particulares o software integrado. Dependiendo de la asociación y el uso de los componentes, las aplicaciones estarán relacionadas con:

Mercado

La inteligencia de software es una disciplina de alto nivel que ha ido creciendo gradualmente y abarca las aplicaciones mencionadas anteriormente. Hay varios mercados que impulsan su necesidad:

Referencias

  1. ^ Dąbrowski R. (2012) Sobre almacenes de arquitectura e inteligencia de software. En: Kim T., Lee Y., Fang W. (eds) Tecnología de la información de la generación futura. FGIT 2012. Apuntes de clase en informática, vol. 7709. Springer, Berlín, Heidelberg
  2. ^ Hinchey, Mike; Jain, Amit; Kaushik, Manju; Misra, Sanjay (enero de 2023). "Editorial invitada: Inteligencia para sistemas e ingeniería de software". Innovaciones en sistemas e ingeniería de software . 19 (1). Springer: 1–4. doi :10.1007/s11334-023-00526-1. PMC  9886201 . PMID  36744022.
  3. ^ Bartoszuk, C., Dąbrowski, R., Stencel, K., y Timoszuk, G. "Sobre la comprensión y evaluación rápidas del software", en Actas de la 14.ª Conferencia internacional sobre sistemas y tecnologías informáticas, junio de 2013, págs. 161-168 doi :10.1145/2516775.2516806
  4. ^ Raymond PL Buse y Thomas Zimmermann. "Necesidades de información para el análisis del desarrollo de software". 2012 34th International Conference on Software Engineering (ICSE). IEEE, junio de 2012, págs. 987-996 doi :10.1109/ICSE.2012.6227122
  5. ^ Ahmed E. Hassan y Tao Xie. 2010. Inteligencia de software: el futuro de la minería de datos de ingeniería de software. En Actas del taller FSE/SDP sobre el futuro de la investigación en ingeniería de software (FoSER '10). ACM, Nueva York, NY, EE. UU., 161–166
  6. ^ "El señor Kirk Paul Lafler". 21 de diciembre de 2015.
  7. ^ Basili, Victor R. (1981). Recopilación, validación y análisis de datos. Métricas de software: análisis y evaluación (PDF) . MIT Press. pág. 143. ISBN 0-262-16083-8.
  8. ^ Basili, Victor R.; Weiss, David M. (noviembre de 1984). "Una metodología para recopilar datos válidos de ingeniería de software". IEEE Transactions on Software Engineering (6). IEEE Trans. Softw. Eng. 10, 6 (noviembre de 1984): 728–738. doi :10.1109/TSE.1984.5010301. hdl : 1903/7513 .
  9. ^ Ahmed E. Hassan y Tao Xie. 2010. Inteligencia de software: el futuro de la minería de datos de ingeniería de software. En Actas del taller FSE/SDP sobre el futuro de la investigación en ingeniería de software (FoSER '10). ACM, Nueva York, NY, EE. UU., 161–166. doi :10.1145/1882362.1882397
  10. ^ Nierstrasz, Oscar y Theo Dirk Meijler. "Orientaciones de investigación en la composición de software". ACM Computing Surveys 27.2 (1995): 262-264 doi :10.1145/210376.210389
  11. ^ Kanashiro, L., et al. "Predicción de fallas de software con modelos de baja complejidad basados ​​en datos de análisis estático". Journal of Information Systems Engineering & Management 3.2 (2018): 17 doi :10.20897/jisem.201817
  12. ^ "ISO 25000:2005" (PDF) . Archivado (PDF) desde el original el 14 de abril de 2013 . Consultado el 18 de octubre de 2013 .
  13. ^ Boehm, Barry W. y Kevin J. Sullivan. "Economía del software: una hoja de ruta". Actas de la conferencia sobre el futuro de la ingeniería del software. 2000. doi :10.1145/336512.336584
  14. ^ Renato Novais, José Amancio Santos, Manoel Mendonça, Evaluación experimental de la combinación de múltiples estrategias de visualización para el análisis de la evolución del software, Journal of Systems and Software, Volumen 128, 2017, págs. 56–71, ISSN  0164-1212, doi :10.1016/j.jss.2017.03.006.
  15. ^ Rolia, Jerome A. y Kenneth C. Sevcik. "El método de capas". Transacciones IEEE sobre ingeniería de software 21.8, 1995, 689-700, doi :10.1109/32.403785
  16. ^ "Reglas de ingeniería de software sobre calidad del código". Object Management Group, Inc. 2023. Consultado el 15 de diciembre de 2023 .
  17. ^ Balalaie, Armin, Abbas Heydarnoori y Pooyan Jamshidi. "La arquitectura de microservicios permite DevOps: migración a una arquitectura nativa de la nube". Ieee Software 33.3, mayo-junio de 2016, 42-52, doi :10.1109/MS.2016.64
  18. ^ Q. Feng, R. Kazman, Y. Cai, R. Mo y L. Xiao, "Hacia un enfoque centrado en la arquitectura para el análisis de seguridad", 13.ª Conferencia de trabajo IEEE/IFIP sobre arquitectura de software (WICSA) de 2016, Venecia, 2016, págs. 221-230, doi :10.1109/WICSA.2016.41
  19. ^ R. Haas, R. Niedermayr y E. Juergens, "Teamscale: Abordar la deuda técnica y controlar la calidad de su software", Conferencia internacional IEEE/ACM sobre deuda técnica (TechDebt) de 2019, Montreal, QC, Canadá, 2019, págs. 55-56, doi :10.1109/TechDebt.2019.00016
  20. ^ Storey MA. (2003) Diseño de una herramienta de exploración de software utilizando un marco cognitivo. En: Zhang K. (eds) Visualización de software. La serie internacional Springer en ingeniería y ciencias de la computación, vol. 734. Springer, Boston, MA.
  21. ^ Seonah Lee, Sungwon Kang, ¿Qué información situacional ayudaría a los desarrolladores al usar un recomendador de código gráfico?, Journal of Systems and Software, Volumen 117, 2016, págs. 199-217, ISSN  0164-1212, doi :10.1016/j.jss.2016.02.050.
  22. ^ Linda G. Wallace, Steven D. Sheetz, La adopción de medidas de software: una perspectiva del modelo de aceptación de tecnología (TAM), Information & Management, Volumen 51, Número 2, 2014, págs. 249-259, ISSN  0378-7206, doi :10.1016/j.im.2013.12.003
  23. ^ Lippert, SK; Forman, H. (agosto de 2005). "Utilización de la tecnología de la información: examen de los factores cognitivos y experienciales del comportamiento posterior a la adopción". IEEE Transactions on Engineering Management. págs. 363–381 . Consultado el 8 de diciembre de 2023 .
  24. ^ Banker, RD; Kemerer, CF (diciembre de 1992). "Métricas de evaluación del desempeño para el desarrollo de sistemas de información: un modelo principal-agente". Investigación en sistemas de información . 3 (4): 379–400 . Consultado el 8 de diciembre de 2023 .
  25. ^ Crowne, M. (9 de julio de 2003). "Por qué fracasan las empresas emergentes de productos de software y qué hacer al respecto. Evolución del desarrollo de productos de software en empresas emergentes". IEEE International Engineering Management Conference. págs. 338–343. doi :10.1109/IEMC.2002.1038454 . Consultado el 8 de diciembre de 2023 .
  26. ^ Parnas, David Lorge, Documentación precisa: la clave para un mejor software, El futuro de la ingeniería de software, 2011, 125–148, doi :10.1007/978-3-642-15187-3_8
  27. ^ LaValle, S.; Lesser, E.; Shockley, R.; Hopkins, MS (21 de diciembre de 2010). "Big data, analytics and the path from insights to value" (Grandes datos, análisis y el camino desde los conocimientos hasta el valor). MIT Sloan Management Review . págs. 21–32 . Consultado el 8 de diciembre de 2023 .
  28. ^ Janez Prašnikar; Žiga Debeljak; Aleš Ahčan (3 de diciembre de 2010). "Benchmarking como herramienta de gestión estratégica". Gestión de Calidad Total y Excelencia Empresarial . 16 (2): 257–275. doi :10.1080/14783360500054400 . Consultado el 8 de diciembre de 2023 .
  29. ^ "Glosario de Gartner: Análisis de cartera de aplicaciones (APA)". Gartner, Inc. 2023. Consultado el 7 de diciembre de 2023 .
  30. ^ "Gartner Research - Effective Strategies to Deliver Sustainable Cost Optimization in Application Services" (Investigación de Gartner: estrategias eficaces para lograr una optimización de costes sostenible en los servicios de aplicaciones). Gartner, Inc. 4 de octubre de 2017. Consultado el 7 de diciembre de 2017 .
  31. ^ "Acerca de la especificación de puntos de función automatizados versión 1.0". Object Management Group. Diciembre de 2013. Consultado el 7 de diciembre de 2023 .