Herramientas de Desarrollo de Software: Hacia la Construcción de una Ontología



Documentos relacionados
SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS

HERRAMIENTAS DE DESARROLLO DE SOFTWARE: HACIA LA CONSTRUCCIÓN DE UNA ONTOLOGÍA

4.2 Mecanismos de consulta. Recomendación

UNIVERSIDAD DE TARAPACÁ

1.2 Qué es un Sistemas de Información Geográfica?

Curso: Arquitectura Empresarial basado en TOGAF

Definición de un Proceso de Implantación de Sistemas

Guía breve para la. Versión abreviada del Manual para la. evaluación de desempeño y potencial

Licenciatura en Computación

Como lo expresamos cuando describimos el problema objeto de

Diplomado. en Educación Basada en Competencias. Diplomado en Educación Basada en Competencias pág. 1

Convocatoria Exhibición EducaSTEM 2015: La ciencia en tus manos 22 al 26 de junio de 2015

INGENIERÍA DEL SOFTWARE I Tema 1. Introducción a la Ingeniería del Software. Univ. Cantabria Fac. de Ciencias Francisco Ruiz

Presentación de proyecto de seminario de titulación

Guía breve para la. administración de la capacitación en las. entidades públicas. Versión abreviada del Manual para la. entidades públicas

COMPETENCIAS BÁSICAS: DIEZ CLAVES

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

I. Disposiciones generales

Política de Gestión Integral de Riesgos Compañía Sud Americana de Vapores S.A.

Identificar los factores sociales y pedagógicos de los resultados de la Prueba PISA en Colombia y en América Latina.

NORMA ISO DE RIESGOS CORPORATIVOS

Instituto Tecnológico de Costa Rica

Informe de. Investigación. y Articulo Científico. Programa de apoyo a la permanencia: Mi proyecto de vida Uniatlántico

Programa de Criminología UOC

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

El Proceso Unificado Rational para el Desarrollo de Software.

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

ORIENTACIONES SIMCE TIC

La gestión n de proyectos. Planificación n y metodología. Visión, misión n y alcance.

GUÍA PARA LA PRESENTACIÓN DE PROYECTOS DE INVESTIGACIÓN

INFORMACION GENERAL DEL CURSO

14. Ingeniería de software. Ing. Alejandro Adorjan

Desarrollo de un ciclo de mejora Construcción de un método de diagnóstico

ESTUDIO Y OBTENCIÓN DE NUEVOS CONCEPTOS PARA TRAVIESA PARACHOQUES

Transversalización de la Perspectiva de Equidad de Género

GUÍAS. Módulo de Diseño de software SABER PRO

Propuesta de Proyecto de Trabajo de Grado. Tema: Herramienta de Soporte a la Ingeniería de Requerimientos para Aplicaciones Web

LA METODOLOGÍA DEL BANCO PROVINCIA

ORIENTACIONES PARA EL DISEÑO DE POLÍTICAS DE CAPACITACIÓN Y EVALUACIÓN DEL DESEMPEÑO

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

Competencias Laborales. Metodología AMOD para la construcción de un Curriculum de Capacitación

CAPÍTULO III 3. MÉTODOS DE INVESTIGACIÓN. El ámbito de los negocios en la actualidad es un área donde que cada vez más

CAPÍTULO III MARCO METODOLÓGICO. Para la elaboración de este estudio sobre el Cáncer de mama se ha

SISTEMAS DE INFORMACIÓN I TEORÍA

Modelos y Bases de Datos

Uso de las tecnologias de la informacion en las PyMES de los municipios de Comalcalco y Cunduacán

INTRODUCCIÓN. La influencia de las Tecnologías de la Información y la Comunicación (TIC) en la

KAIZEN, CONCEPTOS, ALCANCES Y PROCESO KAIZEN

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ SECRETARÍA GENERAL FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DESCRIPCIÓN DE CURSO DE LA CARRERA DE

Elementos requeridos para crearlos (ejemplo: el compilador)

INTRODUCCIÓN. El Derecho Ambiental surge de la necesidad de responder ante la sociedad a los

LA PLANIFICACIÓN ESTRATÉGICA EN MATERIA TIC EN EL ÁMBITO DE LA AGE

Resumen de las presentaciones del primer día sobre Municipalidades y DEL José Blanes

Proyecto 10. Universidades Comprometidas con Sociedades Sustentables. Indicadores de Sustentabilidad Ambiental

MANUAL DE GESTIÓN: SISTEMA DE GESTIÓN DE LA CALIDAD EN LA UNIDAD de FORMACIÓN DE LA DIPUTACION DE MALAGA

Guía para la elaboración de la Planeación didáctica argumentada

Las TIC apoyo importante para el docente en educación básica

ISO/IEC ISO UNIVERSIDAD NACIONAL FEDERICO VILLARREAL ALUMNO: RAMIREZ FERNANDEZ RICHARD DAVID PROFESOR: INGENIERO FRANO CAPETA CICLO: X CICLO

Itinerario Formativo en Innovación Docente

GRUPO DE ACCIÓN SOBRE LA CAPACIDAD LEGAL SEGÚN LA CONVENCION

Gerència de Recursos Direcció del Sistema Municipal d Arxius POLÍTICA DE GESTIÓN DOCUMENTAL DEL AYUNTAMIENTO DE BARCELONA

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Programa de Apoyo a la Gestión del Clima y la Convivencia Escolar. Documento para la Asesoría Técnico Pedagógica

Las propuestas que deseen licitar a este servicio, deberán presentar:

INGENIERÍA EN COMPUTACIÓN Reglamento para la realización de la Práctica Profesional Supervisada

Evaluación del Desempeño Ciclo Escolar

Auditoría administrativa

Curso de formación y actualización profesional para el personal docente

LA WEB ESCOLAR COMO MEDIO DE INTEGRACIÓN ENTRE EL CENTRO Y LA COMUNIDAD EDUCATIVA: LA BIBLIOTECA ESCOLAR

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

1 FUNDAMENTACION DE LA MATERIA

EL JUEGO DE ROL Y EL DESARROLLO DE COMPETENCIAS TRANSVERSALES EN LA DIRECCIÓN DE EMPRESAS

Carrera: CDA-1208 SATCA 1

Gestión de la Configuración

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública

Concurso Nacional de Innovación - InnovaTIC

UML, ejemplo sencillo sobre Modelado de un Proyecto

Diseño y desarrollo de una aplicación informática para la gestión de laboratorios

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP

Voluntariado Universitario: Uso de TICs en Física 1 Articulación Universidad Escuela Media. Resumen

Guía para los Primeros Delegados

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

Santiago, 18 de enero de 2016

POLÍTICAS RELATIVAS A PROYECTOS INFORMÁTICOS

Guía para la elaboración de la Planeación didáctica argumentada

MARCO PARA LA INICIATIVA DE LOS PRINCIPIOS VOLUNTARIOS PARA ADMISIÓN Y PARTICIPACIÓN DE NUEVOS GOBIERNOS

El Rol Estratégico de los Sistemas de Información. Aplicaciones de sistemas clave en la organización (1)

Interpretación CINIIF 12 Acuerdos de Concesión de Servicios

CAPÍTULO I EL PROBLEMA. del comercio internacional, condicionan la preparación de información

Grupo de Trabajo del Tratado de Cooperación en materia de Patentes (PCT)

Figura 4.1 Clasificación de los lenguajes de bases de datos

Fundación Centauri. Normas de presentación trabajos al Premio Centauri FUNDACIÓN CENTAURI

DIAGRAMA DE CLASES EN UML

Competencia Matemática tica y PISA (OCDE,2003) 6. Matemátizar se identifica con la resolución de problemas

MEMORIA. Proyecto: zenphp. Resumen de la planificación

6 METAS INTERNACIONALES PARA UNA CLÍNICA SEGURA

Sistemas de Información Terriorial

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

BASES DE LA CONVOCATORIA DEL PROGRAMA EMPRENDEFE

Transcripción:

Herramientas de Desarrollo de Software: Hacia la Construcción de una Ontología Lornel A. Rivas 1,2, María Pérez 2, Luis E. Mendoza 2, y Anna Grimán 2 1 Gerencia de Investigación, Instituto Nacional de Investigaciones Agrícolas, Avenida Universidad, vía El Limón, Apartado 2103, Maracay, Edo. Aragua, Venezuela lornelr@inia.gob.ve 2 Departamento de Procesos y Sistemas, Edificio de Matemáticas y Sistemas, Laboratorio de Investigación en Sistemas de Información (LISI), Universidad Simón Bolívar, Apartado 89000, Baruta, Caracas, 1080-A, Venezuela {movalles, lmendoza, agriman}@usb.ve Resumen. Las herramientas para el desarrollo de software (HDS) desempeñan un importante papel en el desarrollo de aplicaciones. Como parte de la ingeniería de software (IS), las HDS han experimentado cambios en los últimos años. Aún ante la existencia de numerosas herramientas, es necesario abordar temas genéricos sobre las HDS, identificar tópicos relevantes y sus relaciones para facilitar su comprensión y análisis. Esta investigación en progreso, establece la construcción de una ontología que describe conceptos y relaciones para la investigación en HDS. Parte de las HDS en el contexto de la IS: las disciplinas, las áreas de conocimiento y las herramientas como una capa de la IS, para dar lugar a una exploración mayor sobre las definiciones de HDS, las características que definen sus beneficios y las taxonomías disponibles. Ello procura establecer conexiones y motivar una visión de conjunto para su análisis. Palabras clave: herramientas, ingeniería de software, ontología, desarrollo de software. 1. Introducción Las herramientas de desarrollo de software (HDS) han desempeñado un importante papel en el desarrollo de aplicaciones. Como consecuencia del avance tecnológico éstas han experimentado también continuos cambios. Así como se cuenta en la actualidad con documentación sobre las numerosas HDS disponibles, y con trabajos de investigación que revelan avances en herramientas particulares, existe también en la literatura evidencia de que los escritos técnicos genéricos sobre HDS son relativamente escasos [4], identificándose la pertinencia de canalizar iniciativas para la formulación de modelos conceptuales, que apoyen la compresión (y el uso posterior) de las HDS.

En este trabajo en progreso, se formula una ontología que identifica los tópicos relevantes de las HDS y sus relaciones y genera elementos de referencia para futuros trabajos. Además de esta introducción, el trabajo presenta en la sección 2 una breve descripción de la metodología utilizada. En la sección 3 y 4 se explica la construcción de la ontología a través del análisis del contexto de la ingeniería de software y de las herramientas el desarrollo, respectivamente. Finalmente, en la sección 5 se exponen las conclusiones obtenidas. 2. Metodología Según [7] una ontología es una descripción explícita y formal de conceptos en un dominio de discurso. A continuación se mencionan las actividades realizadas, en el marco de la metodología propuesta por estos autores [7] para crear ontologías: a) se identificaron conceptos comunes de cada tema, y otros no comunes pero sí relevantes; b) se tomó en cuenta información recientes sobre aspectos asociados a las HDS; c) no se encontraron ontologías sobre este tema; d) los términos importantes son descritos a lo largo de este artículo, destacando jerarquías y relaciones; e) no se especifican las propiedades ni se crean instancias dado que aún no se aplica a ningún caso de estudio. 3. Las Herramientas en el Contexto de la Ingeniería de Software Desde sus inicios, la IS ha estado relacionada con otras disciplinas de la ingeniería: Ingeniería en computación, Ciencias de la computación, Gestión, Mantenimiento, Matemáticas, Gestión de proyectos, Gestión de la calidad, Ergonomía del software e Ingeniería de sistemas [4]. Así, en el marco de sus propios principios y sin concebirse de manera aislada de otras disciplinas la IS abarca todos los aspectos de la producción del software [12]. 3.1 Las Herramientas como Área de Conocimiento de la IS Las disciplinas conforman una visión de contexto de la IS. Hacia lo interno, existen un conjunto de áreas de conocimiento que facilitan la comprensión del alcance y las limitaciones de diferentes temas en la IS. Estas áreas son: Requerimientos, Diseño, Construcción, Pruebas y Mantenimiento de software, Gestión de la configuración, Gestión de la ingeniería y del proceso de la ingeniería de software, Herramientas y métodos de software, y Calidad de software. De este modo, las herramientas de software y los

métodos, integran un área específica de la IS, y contribuyen a la producción de software de alta calidad, con bajo costo y en el menor tiempo posible. 3.2 Herramientas en el Ámbito de la IS como Tecnología Multicapas Pressman plantea una arquitectura general de la IS como una tecnología multicapas [8], una perspectiva que la representa en un conjunto cuatro grandes capas o niveles -que integran a su vez diferentes conceptos - con ciertas relaciones entre ellas (Fig. 1). Estas capas se describen a continuación: Enfoque de Calidad. Establece el un apoyo sobre el cual debe sustentarse necesariamente cualquier enfoque de IS [8] y determina una vinculación directa del desarrollo de software con la satisfacción de los requerimientos de los usuarios. El Proceso. Permite un desarrollo racional de la IS [8] y comprende actividades técnicas y de gestión propias asociadas al ciclo de vida del software [4]. Está determinado por un modelo, una representación formal de un sistema [10]. En la IS, un modelo se comporta también como una estrategia de desarrollo [8]. Fig. 1. Herramientas como una capa de la IS. El Método. Un método es una guía general para ayudar al desempeño de una actividad [10]. En la IS, los métodos indican cómo construir el software. Los métodos tienen dimensiones de eficiencia y de efectividad, sentido del proceso y del producto, cualidades que se atribuyen directamente a la calidad del software [2]. Las Herramientas. Todo método tiene uno o varios instrumentos y técnicas asociados a él, con un grado de adecuación que depende generalmente del contexto de aplicación. Instrumento o herramienta, sería aquello que nos permite transportarnos por el método [2]. Así, las HDS proporcionan un enfoque automático o semi automático para el proceso y para los métodos. 4. Herramientas de Desarrollo de Software Actualmente se considera a las HDS como herramientas basadas en computadoras que asisten el proceso de ciclo de vida de software [4], consolidadas en la literatura en la

forma de Ingeniería de software asistida por computadora (CASE, por sus siglas en inglés). Esto es, software que se utiliza para ayudar a las actividades del proceso de software o software que es utilizado para diseñar y para implementar otro software [12]. Permiten automatizar acciones bien definidas, reduciendo también la carga cognitiva del ingeniero de software, quien requiere libertad para concentrarse en los aspectos creativos del proceso. Este soporte se traduce en mejoras a la calidad y la productividad en el diseño y desarrollo [1, 11]. Las HDS automatizan metodologías de software y desarrollo de sistemas y se vinculan con los diferentes conceptos involucrados en el desarrollo (Fig. 2). Fig. 2. Visión ampliada de las herramientas como una capa de la IS. 4.1 Mejoras que Provee el Uso de HDS El soporte que brindan las HDS al proceso de desarrollo proporciona importantes ventajas para el equipo de trabajo de IS (Fig. 3). Estas mejoras se sintetizan en: a) Apoyan a las metodologías y métodos [1, 5], integrando actividades y propiciando visión de continuidad entre fases metodológicas; b) Mejoran la comunicación entre los actores involucrados, facilitándoles compartir su trabajo [5] y desempeñarlo de forma dinámica e iterativa; c) Establecen métodos efectivos para almacenar y utilizar los datos [1], lo que permite organizar y correlacionar componentes, para accesarlos a través de un repositorio [5]; d) Agregan eficiencia al mantenimiento, ya que los programas son construidos sobre las mismas estructuras y estándares, facilitando la adherencia a la disciplina de diseño [1, 9] y facilitan también la conversión automática de programas a versiones más recientes de lenguajes de programación [12]; y, e) Automatizan porciones del análisis y diseño tediosas y propensas a error [5], con influencia sobre la generación de código, las pruebas y el control. Resalta la consideración de que los beneficios potenciales sólo pueden ser alcanzados si las HDS son utilizadas de forma correcta [5].

Fig. 3. Mejoras que provee el uso de HDS. 4.2 Clasificaciones de las Herramientas Establecer una clasificación resulta importante para comprender los tipos de herramientas disponibles y su soporte al proceso del software [5]. En adelante se exponen las principales perspectivas, o formas de clasificación de las HDS, disponibles en la literatura. En la práctica, los límites entre estas clasificaciones son difusos [8], lo cual contribuye al argumento de que no es fácil ubicar una herramienta utilizando una clasificación particular. En la Fig. 4 se representan estas tres perspectivas, en una manera bastante general (razón por la cual las HDS funcionales no se describen en detalle). Fig. 4. Clasificación de HDS desde diferentes perspectivas. De acuerdo con las funciones que la herramienta soporta. En esta perspectiva, las HDS se clasifican según su función específica dentro del proceso de desarrollo [8, 12]. En la literatura se identifican hasta 22 tipos de herramientas clasificadas funcionalmente [8]. Estas clasificaciones tienen una intención orientadora, apuntan a mostrar la amplitud de las herramientas y sus aportes a distintas etapas del desarrollo [12], más que a establecer taxonomías rigurosas. De acuerdo con el actor que es soportado por la herramienta. Esta perspectiva se basa en el sujeto a quien soporta la herramienta, y las define como: a) De Alto nivel, que ayudan principalmente a los analistas y diseñadores, permitiéndoles crear y modificar el sistema [1]; y, b) De Bajo nivel, utilizadas por programadores y trabajadores quienes deben implementar los sistemas diseñados.

De acuerdo con el proceso. En esta clasificación se definen tres categorías: a) las Herramientas, que ayudan a tareas puntuales y se utilizan a discreción del ingeniero de software; b) los Bancos de trabajo, que agrupan herramientas que mantienen algún grado de integración y soportan a un método que incluye un modelo del proceso [8]; y, c) los Ambientes, que apoyan a los procesos de software, incluyen bancos de trabajo integrados y soportan a los datos, al control y a la integración [3]. Tópicos de las herramientas, como sub área de conocimiento de la IS. A modo de cierre, resulta pertinente considerar la definición de los tópicos relativos a las HDS [4]. En esta clasificación existe un conjunto de herramientas dentro de cada tópico, cuyo campo de acción se asocia no sólo con las actividades propias de cada uno de estos, sino también se considera el caso de herramientas que prestan soporte con un carácter transversal, como el caso de las herramientas misceláneas (Fig. 5). Fig. 5. Tópicos de las HDS, como sub área de conocimiento de la IS. Con la intención de procurar una visión global de estas perspectivas, se presenta en la Fig. 6 una expresión integradora de las mismas. Si bien en la Fig. 6 no expresa con detalle todos los tipos de HDS a los cuales se ha hecho referencia en este trabajo -dado su número- se resalta la oportunidad de establecer relaciones y motivar el análisis, como aporte al proceso de conformación del mapa conceptual. 5. Conclusiones En este artículo se propone una visión global de las HDS, que facilita la comprensión de los temas que se abordan en esta primera etapa de investigación, y los que sean agregados y debidamente relacionados durante la construcción de la ontología. Esta expone, asimismo, los elementos de referencia para el análisis contextual de características de las HDS, como apoyo al desarrollo de proyectos de IS. La revisión bibliográfica muestra que las HDS, junto con los métodos, constituyen un área de conocimiento específica y relevante de la IS, que es a su vez parte de un conjunto de disciplinas relacionadas de la ingeniería. En este contexto, las HDS contribuyen a la producción de software de alta calidad, a bajo costo y en el menor tiempo posible. Sin embargo, sus beneficios potenciales serán logrados sólo si las HDS se utilizan en forma correcta.

Fig. 6. Visión global de las perspectivas de clasificación de las HDS. Agradecimientos. Esta investigación fue financiada por el FONACIT, Venezuela, a través del proyecto S1-2005000165. Referencias 1. Alter, S. Information systems. The foundation of e-business. (4th. ed.). USA: Prentice Hall (2002). 2. Callaos, N. Metodología sistémica de sistemas. Conceptos y aplicaciones. Trabajo de ascenso a la categoría de titular. Venezuela: Universidad Simón Bolívar, (1995). 3. Fuggetta, A. A classification of CASE technology. Computer. Publication, 26 (12), (1993), 25-38. 4. IEEE. Guide to the software engineering body of knowledge SWEBOK. A project of the IEEE Computer Society Professional Practices Committee. USA: IEEE computer Society (2004) 5. Kendall; Kendall. Systems analysis and design (5th ed.) USA: Prentice Hall (2002). 6. Martin, E., Brown, C., De Hayes, D.; Hoffer, J.; Perkins, W.; Managing information technology (5th. ed.) USA: Prentice Hall (2004). 7. Noy, N. y McGuinness, D. Ontology Development 101: A Guide to Creating Your First Ontology. in Protege Documentation. Stanford University: Stanford, CA. (2001). 8. Pressman. Ingeniería del software (6ta ed.). España: McGraw-Hill (2005). 9. Premkumar, G., Potter, M. Adoption of computer aided software engineering (CASE) technology: an innovation adoption perspective. Data base advances. 26 (2y3), (1995), 105-124. 10. Rumbaugh, J. OMT Insigh. Perspectives on modeling from the Journal of Object-Oriented Programming. England: Cambridge University Press (1998). 11. Sharma, S.; Rai, A. CASE deployment in IS organizations. Comm. of the ACM, 43(1), (2000), 80-88. 12. Sommerville, I. Ingeniería del Software (7ma. ed.) España: Pearson Educación (2005). 13. Whitten, J., y Bentley, L. Systems Analysis and Design Methods. (6 th. ed.) USA: McGraw Hill (2004).