Un análisis de herramientas para el desarrollo y generación automática de software y de código
DOI:
https://doi.org/10.17533/udea.redin.n77a10Palabras clave:
generación de código, generación automática de código, CASE, IDE, desarrollo de softwareResumen
El desarrollo de software es una importante área en la ingeniería de software, por tal motivo han surgido técnicas, enfoques y métodos que permiten la automatización de desarrollo del mismo. En este trabajo se presenta un análisis de las herramientas para el desarrollo automático de software y la generación automática de código fuente, con el fi n de evaluarlas y determinar si cumplen o no con un conjunto de características y funcionalidades en términos de calidad. Dichas características incluyen efi cacia, productividad, seguridad y satisfacción, todo a través de una evaluación cualitativa y cuantitativa. Estas herramientas son 1) herramientas CASE, 2) marcos de trabajo (frameworks) y 3) ambientes de desarrollo integrado (IDEs). La evaluación se llevó a cabo con el fi n de medir no sólo la capacidad de uso, sino también el apoyo que brindan para el desarrollo de software automático y la generación automática de código fuente. El objetivo de este trabajo es proporcionar una metodología y una breve revisión de los trabajos más importantes para, de esta forma, identifi car las principales características de éstos y presentar una evaluación comparativa en términos cualitativos y cuantitativos, con la fi nalidad de proporcionar la información necesaria para el desarrollador de software que facilite la toma de decisiones al considerar herramientas que le pueden ser útiles.
Descargas
Citas
I. Sommerville and P. Sawyer, Requirements engineering: a good practice guide, 1st ed. New York, USA: John Wiley & Sons, Inc., 1997.
I. Sommerville, Software Engineering. International computer science series, 8th ed. Boston, USA: AddisonWesley Longman Publishing Co., Inc., 2004.
C. Zapata and J. Chaverra, “Una mirada conceptual a la generación automática de código”, Rev. EIA. Esc. Ing. Antioq, no. 13, pp. 155-169, 2010.
B. Kernighan and P. Plauger, Software tools in Pascal, 1st ed. Boston, USA: Addison-Wesley, 1981.
D. Kuhn, “Selecting and effectively using a computer aided software engineering tool,” in Annual Westinghouse computer symposium, Pittsburgh, USA, 1989.
L. Agner, I. Soares, P. Stadzisz and J. Simão, “A Brazilian survey on UML and model-driven practices for embedded software development”, Journal of Systems and Software, vol. 86, no. 4, pp. 997-1005, 2013.
S. Pierucci and E. Ranzi, “A review of features in current automatic generation software for hydrocarbon oxidation mechanisms”, Comput. Chem. Eng., vol. 32, no. 4-5, pp. 805-826, 2008.
S. Anand et al., “An Orchestrated Survey of Methodologies for Automated Software Test Case Generation”, J. Syst. Softw., vol. 86, no. 8, pp. 1978- 2001, 2013.
R. Novais, A. Torres, T. Mendes, M. Mendonça, and N. Zazworka, “Software evolution visualization: A systematic mapping study”, Inf. Softw. Technol., vol. 55, no. 11, pp. 1860-1883, 2013.
S. Thomas, B. Adams, A. Hassan and D. Blostein, “Studying software evolution using topic models”, Sci. Comput. Program., vol. 80, Part B, pp. 457-479, 2014.
U. Kanewala and J. Bieman, “Testing Scientific Software: A Systematic Literature Review”, Inf. Softw. Technol., vol. 56, no. 10, pp. 1219-1232, 2014.
A. Magdaleno, C. Werner and R. Araujo, “Reconciling software development models: A quasi-systematic review”, J. Syst. Softw., vol. 85, no. 2, pp. 351-369, 2012.
A. Mehmood and D. Jawawi, “Aspect-oriented modeldriven code generation: A systematic mapping study”, Inf. Softw. Technol., vol. 55, no. 2, pp. 395-411, 2013.
D. Alonso, J. Pastor, P. Sánchez, B. Álvarez and C. Vicente, “Generación Automática de Software para Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks”, Rev. Iberoam. Automática e Informática Ind. RIAI, vol. 9, no. 2, pp. 170- 181, 2012.
C. Yang, V. Vyatkin and C. Pang, “Model-Driven Development of Control Software for Distributed Automation: A Survey and an Approach”, IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 44, no. 3. pp. 292-305, 2014.
H. Liao, J. Jiang and Y. Zhang, “A Study of Automatic Code Generation”, in 2010 International Conference on Computational and Information Sciences (ICCIS), Chengdu, China, 2010, pp. 689-691.
M. Jiménez and M. Piattini, “Problems and Solutions in Distributed Software Development: A Systematic Review”, in 2nd International Conference on Software Engineering Approaches for Offshore and Outsourced Development (SEAFOOD), Zurich, Switzerland, 2008, pp. 107-125.
Y. Seo and Y. Song, “A Study on Automatic Code Generation Tool from Design Patterns Based on the XMI”, in 2006 International Conference on Computational Science and Its Applications (ICCSA), Glasgow, UK, 2006, pp. 864-872.
P. Andersson and M. Höst, “UML and SystemC - A Comparison and Mapping Rules for Automatic Code Generation”, in Embedded Systems Specification and Design Languages, E. Villar (ed). Amsterdam, Netherlands: Springer, 2008, pp. 199-209.
R. Urwiler, N. Ramarapu, R. Wilkes and M. Frolick, “Computer-aided software engineering: The determinants of an effective implementation strategy”, Inf. Manag., vol. 29, no. 4, pp. 215-225, 1995.
Y. Jing, “Research on computer-aided prototyping system and software evolution”, J. Zhejiang Univ. Sci. A, vol. 1, no. 4, pp. 384-387, 2000.
V. Sairaman, N. Ranganathan and N. Singh, “An automatic code generation tool for partitioned software in distributed systems”, in 19th International Conference on VLSI Design. Held jointly with 5th International Conference on Embedded Systems and Design, Hyderabad, India, 2006, pp. 477-480.
A. Gavilanes, P. Martín and R. Torres, “A Tool for Automatic Code Generation from Schemas”, in 9th International Conference on Computational Science (ICCS), Baton Rouge, USA, 2009, pp. 63-73.
S. Erdogan, S. McFarr and D. Maglidt, “EDEN: an integrated computer-aided software engineering environment”, in 8th Annual International Phoenix Conference on Computers and Communications, Scottsdale, USA, 1989, pp. 349-353.
Visual Paradigm International, Company. [Online]. Available: http://www.visual-paradigm.com/aboutus/. Accessed on: Jan. 20, 2015.
PowerDesigner, SAP Sybase PowerDesigner 16.5, 2013. [Online]. Available: http://www.powerdesigner.de/en/. Accessed on: Jan. 20, 2015.
L. Maguire, T. McGinnity and L. McDaid, “Issues in the development of an integrated environment for embedded system design: Part B: design and implementation”, Microprocess. Microsyst., vol. 23, no. 4, pp. 199-206, 1999.
A. Childs et al., “Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-Based Systems”, in 7th International Conference on Fundamental Approaches to Software Engineering (FASE), Barcelona, Spain, 2004, pp. 160- 164.
J. Jarvensivu, M. Kosola, M. Kuusipalo, P. Reijula and T. Mikkonen, “Developing an Open Source Integrated Development Environment for a Mobile Device”, in International Conference on Software Engineering Advances (ICSEA), Tahiti, France, 2006, p. 55.
W. Viana and R. Andrade, “XMobile: A MB-UID environment for semi-automatic generation of adaptive applications for mobile devices”, J. Syst. Softw., vol. 81, no. 3, pp. 382-394, 2008.
S. Kuntsche, T. Barz, R. Kraus, H. Arellano and G. Wozny, “MOSAIC a web-based modeling environment for code generation”, Comput. Chem. Eng., vol. 35, no. 11, pp. 2257-2273, 2011.
JetBrains, IntelliJ IDEA, The Most Intelligent Java IDE, 2015. [Online]. Available: https://www.jetbrains.com/idea/. Accessed on: Jan. 20, 2015.
A. Elwahidi and E. Merlo, “Generating user interfaces from specifications produced by a reverse engineering process”, in 2nd Working Conference on Reverse Engineering, Toronto, Canada, 1995, pp. 292-298.
J. Guyon, P. Moreau and A. Reilles, “An Integrated Development Environment for Pattern Matching Programming”, Electron. Notes Theor. Comput. Sci., vol. 107, pp. 33-49, 2004.
D. Alonso, C. Vicente, P. Sánchez, B. Álvarez and F. Losilla, “Automatic Ada Code Generation Using a Model-Driven Engineering Approach”, in 12th AdaEurope International Conference on Reliable Software Technologies, Geneva, Switzerland, 2007, pp. 168-179.
G. Frederick, P. Bond and S. Tilley, “VULCAN: A Tool for Automatically Generating Code from Design Patterns”, in 2nd Annual IEEE Systems Conference, Montreal, Canada, 2008, pp. 1-4.
Y. Danilchenko, “Automatic Code Generation Using Artificial Intelligence”, Ph.D. dissertation, Northern Kentucky University, Kentucky, USA, 2012.
Adobe, Adobe Dreamweaver CC, 2015. [Online]. Available: http://www.adobe.com/mx/products/dreamweaver.html. Accessed on: Jan. 20, 2015.
J. Mccall, P. Richards and G. Walters, “Factors in Software Quality: Concept and Definitions of Software Quality”, Air Force Systems Command, Rome Air Development Center, New York, USA, Final Tech. Rep. RADC-TR-77-369, Nov. 1977.
B. Boehm, J. Brown and M. Lipow, “Quantitative Evaluation of Software Quality”, in 2nd International Conference on Software Engineering (ICSE), Los Alamitos, USA, 1976, pp. 592-605.
R. Dromey, “Cornering the chimera”, IEEE Softw., vol. 13, no. 1, pp. 33-43, 1996.
P. Crosby, Quality is Free: The Art of Making Quality Certain, 1st ed. Michigan, USA: McGraw-Hill, 1979.
W. Deming, Out of the Crisis, 1st ed. Massachusetts, USA: The Mit Press, 2000.
A. Feigenbaum, Total quality control: Achieving productivity, market penetration and advantage in the global economy, 4th ed. New York, USA: McGraw-Hill Education, 2005.
International Organization for Standardization (ISO), Software engineering - Product quality - Part 1: Quality Model, ISO/IEC 9126-1:2001, 2001.
B. Kitchenham, S. Linkman and D. Law, “DESMET: a methodology for evaluating software engineering methods and tools”, Computing & Control Engineering Journal, vol. 8, no. 3. pp. 120-126, 1997.
E. Forman and S. Gass, “The Analytic Hierarchy Process - An Exposition”, Oper. Res., vol. 49, no. 4, pp. 469-486, 2001.
T. Saaty and K. Peniwati, Group Decision Making: Drawing Out and Reconciling Differences, 1st ed. Pittsburgh, USA: RWS Publications, 2008.
R. Likert, “A technique for the measurement of attitudes”, Archives of psychology, vol. 22, no. 140, pp. 5-55, 1932.
A. Sutcliffe, N. Maiden, S. Minocha and D. Manuel, “Supporting scenario-based requirements engineering”, IEEE Transactions on Software Engineering, vol. 24, no. 12, pp. 1072-1088, 1998.
M. Paredes, G. Alor, A. Rodríguez, R. Valencia and E. Jiménez, “A systematic review of tools, languages, and methodologies for mashup development”, Softw. Pract. Exp., vol. 45, no. 3, pp. 365-397, 2015.
L. Colombo, G. Alor, A. Rodríguez and R. Colomo, “Alexandria: A Visual Tool for Generating Multi-device Rich Internet Applications”, J. Web Eng., vol. 12, no. 3-4, pp. 317-359, 2013.
W. Galitz, The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques, 2nd ed. Ed. New York, USA: John Wiley & Sons, Inc., 1997.
International Organization for Standardization (ISO), Ergonomic requirements for office work with visual display terminals (VDTs) - Part 11: Guidance on usability, ISO 9241-11:1998, 1998.
A. Schilling, “Toward A General Modular Systems Theory and Its Application to Interfirm Product Modularity”, Academy of Management Review, vol. 25, no. 2, pp. 312-334, 2000.
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2015 Revista Facultad de Ingeniería Universidad de Antioquia
Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.
Los artículos disponibles en la Revista Facultad de Ingeniería, Universidad de Antioquia están bajo la licencia Creative Commons Attribution BY-NC-SA 4.0.
Eres libre de:
Compartir — copiar y redistribuir el material en cualquier medio o formato
Adaptar : remezclar, transformar y construir sobre el material.
Bajo los siguientes términos:
Reconocimiento : debe otorgar el crédito correspondiente , proporcionar un enlace a la licencia e indicar si se realizaron cambios . Puede hacerlo de cualquier manera razonable, pero no de ninguna manera que sugiera que el licenciante lo respalda a usted o su uso.
No comercial : no puede utilizar el material con fines comerciales .
Compartir igual : si remezcla, transforma o construye a partir del material, debe distribuir sus contribuciones bajo la misma licencia que el original.
El material publicado por la revista puede ser distribuido, copiado y exhibido por terceros si se dan los respectivos créditos a la revista, sin ningún costo. No se puede obtener ningún beneficio comercial y las obras derivadas tienen que estar bajo los mismos términos de licencia que el trabajo original.