Las causas de las deficiencias de la Ingeniería de Software
Resumen
Desde el nacimiento de la Ingeniería de Software se ha instaurado un interrogante que no parece encontrar una respuesta definitiva: ¿Es posible “la aplicación de las prácticas habituales de las ingenierías tradicionales al desarrollo de productos de software"? Con esta premisa, la Ingeniería de Software debió resolver la llamada Crisis de Software, que sin embargo aún se mantiene vigente. La cuestión puede reformularse a “¿si es factible evitar deficiencias en los proyectos de sistemas aplicando dichas prácticas?”. En este trabajo se identifican y desarrollan tres factores que lo impiden: i) no se aplican realmente las prácticas de las ingenierías tradicionales, ya sea porque la investigación no aporta las propuestas necesarias o bien porque la industria del software no las utiliza; ii) la Ingeniería de Software no alcanza a la totalidad de la industria, comprobándose que los sistemas técnicos permanecen en buena medida ajenos a ésta nueva ingeniería; y por último, iii) existe un gap semántico aún no superado entre el modelo funcional, de la fase de análisis, y el modelo de objetos requerido en la fase de diseño, afectando la calidad de los procesos de desarrollo. Por ser la sociedad cada vez más dependiente de los bienes y servicios informáticos que se le ofrecen, sin lugar a dudas el problema planteado representa una enorme responsabilidad ética y social, motivo por el cual se invita a reflexionar sobre los aportes que pueden esperarse de la Ingeniería de Software para superar la citada crisis.
Descargas
Citas
Abbott, R. (1983). Program design by Informal English Descriptions. Communications of the ACM, 26(11), 882-894. Arlow, J. y Neustadt, I. (2005). UML 2 and the Unified Process. México: Anaya.
Barbacci, M. et al. (1995). Quality Attributes, Technical Report CMU/SEI-95-TR-021, 56. Pittsburgh, USA: Software Engineering Institute of Carnegie Mellon University.
Bauer, F. (1968). Report of a conference sponsored by the NATO Science Committee. NATO Software Engineering Conference. Garmisch, Germany: P. Naur and B. Randell.
Biddle, R., Noble, J. y Tempero, E. (2002). Essential Use Cases and Responsability in Object-Oriented Development, Proc. of the Australasian Computer Science Conference. Melbourne, Australia.
Bellin D. y Suchman, S. (1997). The CRC Card Book. USA: Addison-Wesley.
Booch, G., Rumbaugh J. y Jacobson I. (2014). UML: El Lenguaje Unificado de Modelado. España: Pearson - Addison Wesley.
Bourque P. y Failey R. (2014). Swebok: Guide to the Software Engineering Body of Knowledge v3. IEEE Computer Society.
Brooks, F. (1987). No Silver Bullet, Essence and Accidents of Software Engineering. Computer Magazine, 20(4), 10-19.
DeMarco, T. (1982). Controlling Software Projects: Management, Measurement, and Estimation. USA: Prentice Hall - Yourdon Press.
Dijkstra, E. (1972). The Humble Programmer, ACM Turing Award Lecture (EWD340). Communications of the ACM, 15(10), 859-866.
Douglass, B. (1999). Ropes: Rapid Object-Oriented Process for Embedded Systems. USA: I-Logic.
Fenton N. y Bieman J. (2014). Software Metrics: A Rigorous and Practical Approach. CRC Press. USA: Chapman & Hall.
Fenton N. y Neil M. (1999). Software metrics: successes, failures and new directions. The Journal of Systems and Software, 47, 149-157.
Fernandez, J. y Lilius, J. (2004). Functional and Object-Oriented Views in Embedded Software Modeling, Proc. of the 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 378-387.
Fraser S. y Mancl D. (2008). No Silver Bullet: Software Engineering Reloaded. IEEE Software, 25(1), 91-94.
Gibbs W. (1994). Software's Chronic Crisis. Trends In Computing. Scientific American, 86.
Giró, J. (2007). Definición de modelos de objetos a partir de sus responsabilidades. JIDIS: Jornadas de Investigación y Desarrollo en Ingeniería de Software. Córdoba, Argentina.
Glass, R. (1994). A tabulation of topics where software practice leads software theory. Journal of Systems Software, 25, 219-222.
Jacobson, I. (1994). Use Cases and Objects, Beyond Object Orientation, 1(4).
Kendall, K. y Kendall, J. (2014). Análisis y Diseño de Sistemas. México: Pearson.
Larman, C. (2004). Applying UML and Patterns: an introduction to Object Oriented Analysis and Design and Interactive Development. USA: Addison Wesley Professional.
Naguib H. y Li Y. (2010). Applying Software Engineering Methods and Tools to Computational Science and Engineering Research Projects. International Conference on Computational Science, ICCS, 1505-1509.
Pressman R. (2010). Ingeniería del Software, un enfoque práctico. México: Mc. Graw Hill.
Segal, J. (2008). Scientists and software engineers: a tale of two cultures, Proceedings of the 20th Annual Meeting of the Psychology of Programming Interest Group. Lancaster University, Lancaster, UK.
Sommerville I. (2012). Ingeniería de Software. México: Pearson - Addison Wesley.
Los artículos publicados en la Revista Ciencia y Tecnología son de exclusiva propiedad de sus autores. Las opiniones y el contenido de los mismos pertenecen a sus autores, declinando la Universidad de Palermo toda responsabilidad por los derechos que pudiera derivarse de la lectura y/o interpretación del contenido de los artículos publicados.
No se autoriza la reproducción, utilización ni explotación por parte de ningún tercero de los artículos publicados. Sólo se autoriza su uso para fines exclusivamente académicos y/o de investigación.