SciELO - Scientific Electronic Library Online

 
vol.12 número2Análisis de tendencias en la personalización de los resultados en buscadores web. índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

  • No hay articulos citadosCitado por SciELO

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Cubana de Ciencias Informáticas

versión On-line ISSN 2227-1899

Rev cuba cienc informat vol.12 no.2 La Habana abr.-jun. 2018

 

ARTÍCULO CORTO

 

Método basado en ontología para representar decisiones de diseño.

 

Ontology-Based Method to Represent Design Decisions.

 

 

Yordani Cruz Segura1*, Nemury Silega Martínez1, Ailía Parra Fernández1

1Centro de Informatización de Entidades. Universidad de las Ciencias Informáticas. Carretera a San Antonio de los Baños, Km 2 ½, Torrens, Boyeros, La Habana, Cuba, CP.: 19370. {ysegura, nsilega, ailiapf}@uci.cu

*Autor para la correspondencia: ysegura@uci.cu

 

 


RESUMEN

Para lograr el desarrollo de un sistema es necesario transitar por diversas etapas según la metodología de desarrollo que se adopte. Dentro de ellas se encuentra la etapa de diseño, en la cual se toman un conjunto de decisiones encaminadas a incrementar la productividad, reducir los costos de replanificación y retrabajo y obtener sistemas con la calidad suficiente para evitar catástrofes sobre todo en aquellas aplicaciones cuyo entorno de explotación se considere crítico. El objetivo de la presente investigación es realizar un método basado en ontologías para representar las decisiones de diseño tomadas durante la etapa de diseño. Como parte de la investigación se realizó una revisión sistémica a la bibliografía con el objetivo de identificar cómo se aborda el tema en cuestión por diferentes autores y se identificaron diversas decisiones de diseño. Como resultado de la investigación se elaboró un método, basado en ontología que permite representar las decisiones durante la etapa de diseño de un sistema.

Palabras clave: diseño, método, ontología, software.


ABSTRACT

To achieve the development of a system it is necessary to go through different stages according to the development methodology adopted. Among them there is the design stage, in which a set of decisions is made to increase productivity, reduce re-planning and rework costs and obtain systems with enough quality to avoid catastrophes, especially in those environments considered as critical. As the objective of this research, the authors propose an ontology-based method so that software designers and architects can use it to represent the design decisions made during this stage of software development. As part of the research, a systematic review of the literature was made to identify how the subject is approached by different authors and different design decisions were identified. As a result of this research, an ontology-based method was developed that allows to represent the decisions made during the design stage of a system.

Key words: design, method, ontology, software


 

 

INTRODUCCIÓN

Durante el desarrollo de un software es necesario transitar por una serie de etapas, constituyendo una buena práctica dedicarle una de ellas al diseño del sistema que se desea desarrollar. Durante el diseño se toman un conjunto de decisiones encaminadas a incrementar la productividad, reducir los costos de replanificación y retrabajo y obtener sistemas con la calidad suficiente como para evitar catástrofes.

Según Somerville (Somerville, 2011) el diseño de software es una actividad creativa donde se identifican los componentes del software y sus relaciones, con base en los requerimientos del cliente.

El número de decisiones de diseño y la calidad de éstas en el proceso de desarrollo de un sistema, está condicionado por diversos factores, entre los que se encuentra con un alto impacto la experticia del equipo encargado de desarrollar esta tarea, sobre todo es muy importante las buenas prácticas de proyectos exitosos o no desarrollados con anterioridad. Por otro lado, existe abundante literatura relacionada con el tema donde se reflejan estudios de casos sobre las decisiones de diseño tomadas y el impacto de estas en cada caso, aunque es válido destacar que existe una dispersión en la bibliografía relacionada con las mismas por lo que sería útil de contar con una base de conocimiento donde se representen las decisiones tomadas en experiencias anteriores. Esta base de conocimiento podría ser utilizada para apoyar la toma de decisiones por parte de los diseñadores y arquitectos de software.

Desde la década de los 80 los investigadores de la Inteligencia Artificial comprendieron la necesidad de emplear ontologías para describir el mundo de manera que pudiera ser comprendido por sistemas inteligentes (Welty; Guarino, 2001), en (Noy, 2001) se define ontología como: una descripción formal explícita de los conceptos (clases) en un dominio de discurso, las propiedades de cada concepto que describen sus rasgos y atributos y las restricciones.

En la solución de la problemática abordada los autores tienen como objetivo fundamental realizar un método basado en ontologías mediante el cual los diseñadores y arquitectos de software puedan representar las decisiones de diseño tomadas durante la etapa de diseño del software.

 

MATERIALES Y MÉTODOS

Como parte de la investigación se realizó una revisión sistémica a la bibliografía con el objetivo de identificar cómo se maneja el tema en cuestión por diferentes investigadores que trabajan la temática.

Durante el análisis bibliográfico se constata que existen varios trabajos relacionados con el tema, destacándose la pertinencia de investigaciones y libros publicados hace más de 10 años. Fueron identificadas 73 publicaciones, de ellas se consideraron relevantes para la presente investigación 12. De los trabajos seleccionados 7 son publicaciones en revistas referenciadas, 3 son libros pertenecientes a la literatura clásica relacionada con la materia y 2 son tesis de maestría discutidas en la Universidad de las Ciencias Informáticas.

Como resultado de la revisión bibliográfica realizada se identificaron 14 decisiones de diseño. Teniendo en cuenta los principales autores revisados (Van; Tang, 2016) (Galster; Mirakhorli; Medvidovic, 2016) (Leinonen; Durall Helsinki, 2014) (Tibermacine et al., 2016) (Chauhan; Babar; Sheng, 2016) las decisiones de diseño con mayor porciento de representatividad se encuentran las relacionadas con la definición de los patrones de diseño, los patrones arquitectónicos, los componentes, subsistemas, clases del diseño y sus relaciones.

Una vez identificadas las decisiones de diseño se procedió a la elaboración de un método basado en ontologías para representar las mismas.

 

RESULTADOS Y DISCUSIÓN

La presente solución se compone de dos elementos fundamentales, un primer elemento lo conforma el método diseñado y el segundo la construcción de la ontología como base de conocimiento para representar las decisiones de diseño.

Método propuesto

La Figura 1 muestra las seis actividades que incluye el método elaborado: revisar requisitos del software, revisar base de conocimiento, identificar conceptos aplicables, identificar elementos no descritos en la ontología, actualizar la ontología y describir decisiones de diseño

f01

Ontología para representar decisiones de diseño

Una vez definidas las decisiones de diseño se realizó un análisis para identificar cada uno de los componentes de la ontología a desarrollar de manera que fueran representadas semánticamente cada una de las decisiones. Con el empleo de OWL como lenguaje para especificar la ontología y Protegé 5.0 para elaborar la misma, se identificaron 94 entidades, una representación de ellas se muestra en la Figura 2. Es válido aclarar que la flexibilidad del método permite que la misma sea actualizada en caso de que aparezcan nuevas tendencias en el diseño de software.

f02

Luego de ser identificadas cada una de las entidades de la ontología y modeladas en la herramienta se establecieron las relaciones semánticas entre cada una de ellas mediante el uso de propiedades de objetos (object property) y de datos (data property). Como parte de la investigación se definió un método basado en ontología que permite representar las decisiones tomadas durante la etapa del diseño de software.

 

CONCLUSIONES

La revisión bibliográfica permitió identificar las decisiones de diseño que posteriormente fueron representadas mediante una ontología. Se elaboró un método basado en ontología constituido por seis actividades que permiten representar las decisiones tomadas por los diseñadores y arquitectos de software durante la etapa de diseño de un sistema. La aplicación del método puede contribuir a disminuir los errores que se cometen en esta etapa y así evitar acciones de rediseño que suelen ser costosas.

 

REFERENCIAS BIBLIOGRÁFICAS

CHAUHAN, Muhammad Aufeef; BABAR, Muhammad Ali; SHENG, Quan Z. A Reference Architecture for provisioning of Tools as a Service: Meta-model, Ontologies and Design Elements. Future Generation Computer Systems, 2017, vol. 69, p. 41-65.

GALSTER, Matthias; MIRAKHORLI, Mehdi; MEDVIDOVIC, Nenad. Bringing Architecture Thinking into Developers' Daily Activities. ACM SIGSOFT Software Engineering Notes, 2017, vol. 41 (6), p. 24-26.

LEINONEN, Teemu; DURALL, Eva. Pensamiento de diseño y aprendizaje colaborativo. Comunicar, 2014, vol. 21 (42), p. 107.

NOY, Natalya F., et al. Ontology development 101: A guide to creating your first ontology. 2001.

SOMERVILLE, I. Ingeniería de Software. PEARSON EDUCACIÓN, México, 2011. p. 792. ISBN: 978-607-32-0603-7.

TIBERMACINE, Chouki, et al. Software architecture constraint reuse-by-composition. Future Generation Computer Systems, 2016, vol. 61, p. 37-53.

VAN VLIET, Hans; TANG, Antony. Decision making in software architecture. Journal of Systems and Software, 2016, vol. 117, p. 638-644.

WELTY, Christopher; GUARINO, Nicola. Supporting ontological analysis of taxonomic relationships. Data & Knowledge Engineering, 2001, vol. 39 (1), p. 51-74

 

 

Recibido: 27/03/2018
Aceptado: 23/04/2018

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons