Palabras Claves UML, XMI, OWL, XSLT, diagrama de caso de uso.

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Palabras Claves UML, XMI, OWL, XSLT, diagrama de caso de uso."

Transcripción

1 Modelo de Búsqueda de Diagramas de Casos de Uso en UML a través de la Derivación de Ontologías OWL Use Cases UML Diagrams Search Model using OWL Ontologies Belén Bonilla Morales Universidad Tecnológica de Panamá Facultad de Ingeniería de Sistemas Computacionales Ciudad de Panamá Panamá RESUMEN Los diagramas de casos de usos permiten modelar los requisitos de un sistema de software de manera tal que queden bien definidas las interacciones entre los usuarios y el sistema, y las interacciones entre el sistema en desarrollo y otros sistemas. Estos casos de uso son modelados empleando diagramas UML, los cuales poseen cierto conocimiento semántico u ontológico dentro de su estructura. Este artículo propone un modelo para poder clasificar casos de uso según características y dominio de negocio, y realizar búsquedas de los mismos a través de la extracción del conocimiento ontológico de los diagramas UML, promoviendo de esta forma la reutilización de los casos de uso. Nos enfocamos en derivar ontologías OWL a partir de la información en XMI obtenida de los diagramas de caso de uso en UML y utilizando un documento y un procesador XSLT que permita la transformación de un formato a otro. ABSTRACT The use case diagrams allow to model the requirements of a software system so that we can obtain well-defined interactions between users and the software system, and the software system with others. These use case diagrams are modeling using UML diagrams, which have some semantic and ontological knowledge into their internal structure. This paper proposes a model to classify use cases diagrams through their characteristics and business domain, and realize searching of them through the extraction of the ontological knowledge of the UML diagrams, promoting the use cases reutilization. We focus on derivation of OWL ontologies from the information XMI of the UML use case diagrams and using a XSLT processor to transform from a format to other. Categories and Subject Descriptors I.2.5 [Artificial Intelligence] Programming Languages and Software Expert system tools and techniques General Terms Design, Experimentation, Verification. Keywords UML, XMI, OWL, XSLT, use case diagram. Palabras Claves UML, XMI, OWL, XSLT, diagrama de caso de uso. 1. INTRODUCCIÓN Los casos de uso permiten definir las funcionalidades de un sistema a través de la captura de los requisitos potenciales del mismo. Cada caso de uso tiene como finalidad definir la forma como el sistema interactúa con cada usuario o con otros sistemas para alcanzar un objetivo en específico. El Lenguaje de Modelado Unificado (Unified Modeling Language UML) permite la diagramación de los casos de uso, ya que el mismo es un lenguaje a nivel gráfico para la visualización, especificación, construcción y documentación de un sistema de software. Actualmente, existen una gran variedad de software que permiten trabajar con UML, entre ellos, Rational Rose, StarUML, Poseidon for UML, entre otros; cada uno con sus características, ventajas y desventajas sobre los demás. Para el desarrollo de un sistema de software, los equipos de trabajo levantan los requerimientos y los diagraman a través de los casos de usos. En muchas ocasiones, dos o más sistemas de software utilizan las mismas funcionalidades lo cual conlleva a la diagramación repetida de los mismos casos de usos. Esta acción conlleva una pérdida de tiempo y de malgasto del recurso humano. Los conceptos de clasificación, búsqueda y reutilización de casos de usos podría emplearse en este contexto para definir el mecanismo de verificar si existe un caso de uso, dentro de un repositorio, que defina la funcionalidad del sistema de software que se está requiriendo y utilizarlo, evitando con esto tener que diagramar el caso de uso nuevamente. Para poder lograr este objetivo, resulta necesario conocer y poder determinar las características, patrones y funcionalidades de los casos de uso. Bajo esta necesidad, podemos hacer uso del concepto de ontologías. Las ontologías son esquemas conceptuales cuya finalidad es facilitar la comunicación y el intercambio de información entre diferentes sistemas y entidades; permiten representar el conocimiento de forma que sea legible por los ordenadores, esté consensuado y sea reutilizable, y de esta manera obtener la semántica o significado de los recursos de información.

2 En este artículo, nos enfocamos en derivar ontologías OWL a partir de los diagramas de casos de uso en UML, así como realizar una clasificación de los mismos según sus características o dominio de negocio. Una vez obtenido el significado de los casos de uso a través de los esquemas OWL, se puede hacer una búsqueda de los mismos según la funcionalidad o características, dentro de un repositorio central de casos de usos. Dentro del área de la Ingeniería de Software esto resulta de gran ayuda pues se puede especificar y diagramar un caso de uso una sola vez, y luego utilizarlo la cantidad de veces que sea necesario evitando así desarrollar varias veces la misma tarea de análisis y diagramación, y también asegurándose que el caso de uso se construyó adecuadamente, pues los que se encuentren en el repositorio serán casos de usos que funcionan correctamente. En la próxima sección se presentarán un enfoque bien detallado respecto a la problemática o justificación que da pie a nuestra investigación. En la sección tres se establecen los trabajos y estudios que se han desarrollado dentro de la misma temática expuesta en este artículo, resaltando las características más importantes de cada uno y sus contribuciones. En la sección cuarta se presenta formalmente la propuesta de nuestra investigación. Se definen específicamente las tecnologías empleadas en la realización de nuestro estudio, la arquitectura del ambiente que vamos a desarrollar y las comparaciones con los trabajos previos que se han realizado dentro de la temática. Finalmente en la sección quinta se presentan las conclusiones de nuestra propuesta de investigación. 2. PROBLEMÁTICA El proceso de levantamiento de requisitos y diagramación de casos de uso dentro del desarrollo de un software es una de las etapas más críticas, difíciles y extensas. En [1] se explica que la comprensión de los requisitos de un problema está dentro de las tareas más complejas a las que se enfrenta un ingeniero de software. Según el Proceso Unificado de Rational (RUP), el levantamiento de requisitos tiene presencia en las cuatro fases del modelo (Iniciación, Elaboración, Construcción y Transición), tal y como se muestra en la Figura 1. Figura 1. Fases del RUP La Figura 1 también nos señala que el levantamiento de requisitos es un proceso que consume bastante tiempo. Durante el proceso de levantamiento de requisitos, específicamente en la fase de elaboración, se seleccionan los casos de uso que permiten definir la arquitectura base del sistema y se desarrollaran en esta fase, se realiza la especificación de los casos de uso seleccionados y el primer análisis del dominio del problema.[1] La correcta definición y levantamiento de los requisitos es un factor importante y determinante para obtener un software satisfactorio. De este trabajo dependen las demás fases del desarrollo de un software, ya que los mismos representan las necesidades de los clientes y las funcionalidades de tal software. Los diagramas de casos de uso permiten obtener una representación gráfica de los actores y funcionalidades que están involucrados en el sistema de software. Ofrecen una visión clara y objetiva de cómo cada actor o usuario del sistema interactúa con cada una de las funciones del software. En ingeniería del software, un caso de uso es definido como una técnica para la captura de requisitos potenciales de un nuevo sistema o una actualización de software. Cada caso de uso proporciona uno o más escenarios que indican cómo debería interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo específico. Los diagramas de casos de uso sirven para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los actores y los casos de uso en un sistema. Como técnica de extracción de requerimientos, los diagramas de casos de uso permiten que el analista se centre en las necesidades del usuario, en lo qué espera éste lograr al utilizar el sistema, evitando que la gente especializada en informática dirija la funcionalidad del nuevo sistema basándose solamente en criterios tecnológicos.[1] Sin embargo, un diagrama de caso de uso que satisface un requerimiento en particular, comúnmente es confeccionado cada vez que se requiere, siendo poco relevante si anteriormente ya fue confeccionado y utilizado en otro software. Esto implica invertir, por parte del equipo de desarrollo, la misma cantidad de tiempo cada vez que se realice el análisis y la diagramación del mismo, sin contar que tendría que pasarse nuevamente por la tarea de verificar si dicho diagrama de caso de uso cumple con la funcionalidad descrita por el sistema y facilita la información necesaria y correcta. Esta situación se convierte en un problema ya que el tiempo es un factor crucial en el desarrollo de un software. También, en ocasiones es necesaria la utilización de más recurso humano en esta fase de levantamiento y diagramación de requisitos, lo cual eleva los costos del proyecto en desarrollo. Es importante destacar que la reducción del tiempo y del costo de un proyecto de software, sin afectar la calidad del mismo, es uno de los objetivos perseguidos por todo equipo de desarrollo de software. Se hace necesario entonces definir una manera de poder reutilizar diagramas de casos de uso a través de una búsqueda y obtención de los mismos, lo cual permitiría reducir el tiempo que se gasta en el análisis y la diagramación, y asegurándonos de que están

3 definidos correctamente y probados, con lo cual no se afectaría la calidad de los productos. 3. TRABAJOS RELACIONADOS Dentro del contexto de transformación de UML a ontologías OWL se han realizados diferentes trabajos de investigación que han abordado la temática de manera objetiva y haciendo uso de diversas tecnologías y estándares. En [2] se presenta un enfoque basado en un Extensible Stylesheet Language Transformation (XSLT) para la generación automática de OWL desde un modelo UML. Proponen una arquitectura que consiste del Meta Object Facility (MOF) basado en OWL, así como relacionado con el Ontology UML Profile (OUP). La transformación que se presenta, extiende esta arquitectura de meta-modelado y transforma una ontología desde su definición OUP (XMI) en una descripción OWL. Por lo tanto, se ilustra como una ontología desarrollada en OUP puede ser compartida con herramientas de manejo de ontologías como Protégé. El modelo propuesto en [2] especifica que se tiene una herramienta UML (Poseidon, para este estudio) que exporta un documento XMI, el cual puede ser usado como entrada por un procesador XSLT que se encargará de realizar el mapeo de XMI a OWL según las reglas establecidas en el documento XSLT. Posteriormente, un documento OWL es producido como salida, y este formato puede ser importado a un herramienta especializada para el desarrollo de ontologías (Protégé) o simplemente utilizar este documento OWL como el producto final. En este trabajo se trata directamente con los diagramas de clase creados en el software Poseidón for UML. En este punto se difiere en algo de nuestro trabajo en el que se parte de los diagramas de casos de uso. Además, el objetivo del trabajo en [2] no es propiciar la búsqueda y reutilización de recursos sino únicamente extraer el conocimiento semántico de los mismos. En [2] se llega a la conclusión de que la solución que ellos han desarrollado puede actuar como extensión a las herramientas UML y por consiguiente habilitar la creación de ontologías OWL completas sin la necesidad de emplear herramientas especializadas en el desarrollo de ontologías. Por otro lado, en [3] se presenta un mapeo entre los elementos de XML y los elementos de OWL. Se propone una estrategia de cómo ontologías OWL pueden ser generadas automáticamente a partir de datos XML existentes. El estudio presenta un framework que realiza el proceso completo de traducción: desde un documento simple de XML se genera un XML Schema, hasta obtener finalmente un modelo OWL con instancias OWL. El framework implementa el mapeo en la tecnología estándar XML, XSLT. Este estudio no hace énfasis directo en el mapeo de UML a OWL, pero debido a que los diagramas UML pueden generar una documentación de tipo XML (XMI), este estudio puede servir como aporte para nuestra investigación. En [4] se propone también un mapeo desde XML Schema a OWL, así como de XML a RDF. El enfoque es extraer la información semántica de los documentos esquema y proponer un mecanismo para transformar los documentos esquema a OWL. La particularidad de este estudio en [4] es que se establece que para obtener la información semántica de los documentos XML es necesario primero hacer un mapeo de los mismos a RDF; en consecuencia se tienen dos mapeos: de XML a RDF y de XML Schema a OWL lo cual permite el levantamiento o transformación de datos de su sintaxis a su representación. Igual que ocurre en [3], en este estudio no se trabaja sobre UML pero sus propósitos se pueden aprovechar para nuestra investigación. La Fundación Eclipse también propuso un estudio sobre un sistema que permitía la transformación de UML a OWL como característica del ATLAS Transformation Language (ATL) el cual es un lenguaje de transformación de modelos y además un toolkit. En el campo de MDE, ATL proporciona formas para producir modelos destino desde un conjunto de modelos origen [5]. La solución propuesta en [5] soporta el metamodelo UML 2.0 y el metamodelo OWL. Se realiza un mapeo de UML a OWL, es decir, las clases UML son mapeadas a clases OWL, los atributos a propiedades de tipo data, las asociaciones en propiedades objeto, etc. De igual forma, otros tipos de estudios concerniente a obtención de ontologías OWL a partir de un modelo origen. Por ejemplo, la generación de ontologías OWL desde base de datos relacionales, como es el caso propuesto en [6]. Se propone la generación de definiciones de tipo OWL las cuales consisten de clases, propiedades, restricciones e instancias desde un modelo de base de datos relacional. El método mapea construcciones de una base de datos relacional a ontologías usando los nombres de las construcciones de la base de datos como los nombres de las construcciones ontológicas. Se mapean las tablas, columnas, tipo de datos, restricciones y filas. Para el mapeo de los tipos de datos, se debe hacer primero una conversión de los tipos de datos de la base de datos a los tipos de datos del XML Schema asociado según ciertas convenciones de conversión establecidas. En este punto vemos que se hace necesaria una transformación de un tipo de datos en SQL a un tipo de datos definido en el XML Schema asociado a un XML, para luego poder establecer un puente entre XML y OWL. En [7], se propone un método para la construcción de ontologías basada en la transformación de modelos UML. El objetivo es extraer el conocimiento ontológico de los modelos UML procedentes de sistemas existentes; derivar ontologías OWL a partir de los diagramas de clases en UML, así como capturar la mayor cantidad de conocimiento conceptual como sea posible. Uno de los puntos más relevantes en [7] es la comparación de los elementos de un modelo de clases en UML con los elementos en OWL. Se establece un mapeo entre OWL y UML en aspectos como clases e instancias, asociaciones, generalizaciones y restricciones, y se derivan reglas de transformación entre los elementos correspondientes a cada modelo. El método propuesto en [7] consiste en obtener el conocimiento semántico a partir de los diagramas de clases modelados en cualquier herramienta de modelado tal como Poseidón o Rational Rose, los documentos XMI que definen tales diagramas. Luego estos formatos XMI sirven como entrada al proceso de transformación que se basa en utilizar un procesador XSLT y un documento de reglas de transformación XSLT. Este procesador brindará como salida de la transformación una especificación

4 parcial en OWL y finalmente para verificar la sintaxis y validar la semántica se puede emplear una herramienta como Protégé. El detalle con estos estudios, es que si bien es cierto, algunos ya atacan y definen la problemática de la transformación de un formato del tipo UML a OWL, la mayoría lo hacen partir de los diagramas de clase de UML, los cuales pueden asociarse con las clases que maneja OWL. Sin embargo, para nuestra investigación la idea es un poco más compleja, en el sentido de que el tipo de diagrama UML que vamos a trabajar son los diagramas de caso de usos, de los cuales será necesario extraer las clases asociadas para poder luego trabajar la transformación a OWL. 4. MODELO DE BÚSQUEDA DE DIAGRAMAS DE CASO DE USO EN UML A TRAVÉS DE LA DERIVACIÓN DE ONTOLOGÍAS OWL Como solución a la problemática planteada sobre el análisis y diseño repetido de casos de usos dentro de una entidad de desarrollo de software, se propone en esta investigación el uso de ontologías OWL para obtener la definición semántica de un diagrama de casos de usos modelado en UML y poder hacer una búsqueda de los mismos dentro de un gran repositorio a través de sus características y clasificaciones, y de esta manera poder reutilizarlos. 4.1 Tecnologías Utilizadas Para poder obtener ontologías de un caso de uso diagramado con UML resulta necesario emplear una serie de tecnologías, estándares y productos de software. En esta sección vamos a describir cada una de ellos, de tal manera que queden bien claras y establecidas las herramientas a emplear para lograr los objetivos de esta investigación XML(Extensible Markup Language) XML es un estándar de la World Wide Web Consortium (W3C). De acuerdo con la página web activa de la W3C, XML es definido como: Un formato simple basado en texto para representar información estructurada como documentos, data, configuraciones, transacciones y demás. Es uno de los formatos completos más utilizados para compartir información estructurada entre computadoras y personas, entre programas y entre personas, ya sea localmente o a través de una red [8]. En lo que respecta a una definición más concreta para nuestra investigación podemos decir que XML aporta la sintaxis superficial para los documentos estructurados, pero sin dotarles de ninguna restricción sobre el significado. Dentro de las ventajas que proporciona XML podemos mencionar que es extensible, lo que indica que es posible extender XML con la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicación alguna. Por otro lado, no es necesario crear un analizador específico para cada versión de lenguaje XML, esto posibilita el empleo de cualquiera de los analizadores disponibles. Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla. Mejora la compatibilidad entre aplicaciones. La tecnología XML busca dar solución al problema de expresar información estructurada de la manera más abstracta y reutilizable posible XMI(XML Metadata Interchange) Es un estándar del Object Management Group (OMG) para el intercambio de información a nivel de metadata a través de XML. Este estándar puede ser empleado por cualquier metadata cuyo meta-modelo puede ser expresado en Meta-Object Facility (MOF) un estándar para el Model-Driven Engineering (MDE) o metodología de desarrollo de software enfocada en la creación de modelos o abstracciones de los conceptos de un dominio en particular más que en los conceptos computacionales (algoritmos). Es un estándar que define un marco de trabajo para definir modelos de metainformación y proporciona herramientas con interfaces programadas para almacenar y acceder a metainformación en un repositorio. De acuerdo con la página web activa del OMG, XMI es definido como: Un modelo manejado por un framework de integración XML para definir, intercambiar, manipular e integrar data y objetos XML. Los estándares basados en XMI son empleados por herramientas de integración, repositorios, aplicaciones y almacenes de datos. XMI provee un mapeo de MOF a XML. [9]. XMI es una especificación para el intercambio de diagramas. La especificación para el intercambio de diagramas fue escrita para proveer una manera de compartir modelos UML entre diferentes herramientas de modelado. En versiones anteriores de UML se utilizaba un Schema XML para capturar los elementos utilizados en el diagrama; pero este Schema no decía nada acerca de cómo el modelo debía graficarse. Para solucionar este problema la nueva Especificación para el Intercambio de Diagramas fue desarrollada mediante un nuevo Schema XML que permite construir una representación SVG (Scalable Vector Graphics). Típicamente esta especificación es solamente utilizada por quienes desarrollan herramientas de modelado UML. Al utilizar XML, XMI permite una gran flexibilidad en la estructura de la información, ya que esta no se especifica como sucede en HTML, lo que permite tener más de una vista de un documento al estar separado el contenido de la estructura. XMI es el único estándar para el intercambio de información en entornos de trabajo distribuido donde se colabora para conseguir un objetivo común. La Figura 2 muestra el panorama de intercambio con XMI. Figura 2. Intercambio con XMI La arquitectura XMI permite la simplificación de la comunicación entre aplicaciones de diferentes tecnologías ahorrando mucho

5 trabajo y tiempo; además, potencia la reutilización de objetos y componentes. Una de las ventajas que proporciona XMI es el hecho de trabajar con Internet y que está construido en base a estándares industriales como HTML, XML, UML, MOF, etc. XMI evita la creación de distintos formatos, cada cual especificando la herramienta de un fabricante, siendo independiente de las herramientas, repositorios, aplicaciones en las que se haya generado la información, haciendo posible que distintos productos sean compatibles, ya que permite que compartan su información. Según Cris Kobryn, para los sistemas integrados y sus usuarios, XMI promete una importante mejora en la calidad y accesibilidad de los modelos, permitiendo que objetos y componentes puedan ser reutilizados. XMI evita la necesidad de utilizar una única infraestructura, permitiendo al usuario elegir la plataforma, el lenguaje y la herramienta con la que desee trabajar, ya que su información podrá representarse y transferirse igualmente. XMI ofrece una forma fácil de empaquetar la información y la metainformación, siendo más fácil de usar y comprender que las tradicionales tecnologías de metainformación. Su implementación es bastante rápida proporcionando una tecnología y un middleware neutral UML (Unified Modeling Language) Es el lenguaje de modelado y representación de sistemas de software más empleado y se encuentra respaldado por la OMG. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. El modelado es esencial en la construcción de software para comunicar la estructura de un sistema complejo, especificar el comportamiento deseado del sistema, comprender mejor lo que se está construyendo y descubrir oportunidades de simplificación y reutilización. Según [10], UML es definido como: La especificación más usada de la OMG, y es la forma con la cual el mundo modela no solo la estructura de las aplicaciones, el comportamiento y la arquitectura, sino también los procesos de negocios y la estructura de la data. Es definido también como un conjunto de herramientas, que permite modelar (analizar y diseñar) sistemas orientados a objetos. En UML hay trece tipos diferentes de diagramas, entre los cuales se encuentran los diagramas de casos de uso, los diagramas de clases, diagramas de actividades, diagramas de secuencia, diagramas de estados, diagramas de colaboraciones, diagramas de componentes y diagramas de distribución. Para nuestro estudio, nos interesa en particular, los diagramas de casos de uso Diagramas de Casos de Uso Los diagramas de caso de usos son son una técnica para especificar el comportamiento de un sistema. Un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios. Cuando decimos alguien o algo hacemos referencia a que los sistemas son usados no sólo por personas, sino también por otros sistemas de hardware y software. Un caso de uso especifica una manera de usar un sistema sin revelar la estructura interna del mismo. Los casos de uso han sido adoptados casi universalmente para capturar los requerimientos de los sistemas de software; sin embargo, los casos de uso son más que una herramienta de especificación ya que tienen una gran influencia sobre todas las fases del proceso de desarrollo tales como el diseño, la implementación y las pruebas del sistema. Algunos autores y el manual de referencia UML están de acuerdo en que un caso de uso es una descripción a alto nivel de lo que el sistema hace, cuyo objetivo es capturar los requerimientos del sistema. Sin embargo, los casos de uso tienen que ser especificados, debido a que, de un caso de uso se pueden derivar muchos casos particulares. En particular, los diagramas de Casos de Uso se utilizan para capturar los requerimientos de los sistemas y guiar su proceso de desarrollo. El conjunto completo de casos de uso especifica todas las posibles maneras en las que el sistema puede ser usado, sin revelar cómo esto es implementado por el sistema. Esto hace a los casos de uso apropiados para definir requerimientos funcionales en etapas tempranas del desarrollo del sistema, donde la estructura interna de éste aún no ha sido definida. Es importante destacar algunos conceptos básicos que definen a los diagramas de casos de uso. Entre ellos podemos mencionar: Actores: Un actor es una agrupación uniforme de personas, sistemas o máquinas que interactúan con el sistema que estamos construyendo de la misma forma. Los actores representan un conjunto coherente de papeles que los usuarios de una entidad (sistema, subsistema, clase) pueden desempeñar al interaccionar con la misma. Un actor podría representar diferentes papeles dependiendo del caso de uso en el que participe. No necesariamente un actor es un usuario ya que un usuario puede interpretar distintos roles y cada uno de ellos sería un actor. Se pueden diferenciar tres tipos de actores dentro de un caso de uso: los primarios, los secundarios y los iniciadores. Los actores primarios interaccionan con el sistema para explotar su funcionalidad; trabajan directa y frecuentemente con el software. Los actores secundarios proporcionan soporte del sistema para que los primarios puedan trabajar. Y finalmente, los actores iniciadores no utilizan directamente el sistema pero desencadenan el trabajo de otro actor. (No aparecen en UML pero sí los consideran otros autores). Caso de Uso: Un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios. Un caso de uso es iniciado por un actor. A partir de ese momento, ese actor, junto con otros actores, intercambia datos o control con el sistema, participando de ese caso de uso.

6 Relaciones: Los distintos casos de uso que se definen a lo largo de un proceso de desarrollo no son independientes sino que es posible establecer relaciones entre ellos. Las principales relaciones consideradas por UML, dentro de los diagramas de caso de uso son: generalización, inclusión y extensión. La generalización es relación que amplía la funcionalidad de un caso de uso o refina su funcionalidad original mediante el agregado de nuevas operaciones y/o atributos y/o secuencias de acciones. La inclusión es una relación mediante la cual se re-usa un caso de uso encapsulado en distintos contextos a través de su invocación desde otros casos de uso. La extensión es una relación que amplía la funcionalidad de un caso de uso mediante la extensión de sus secuencias de acciones. Un diagrama de caso de uso representativo puede apreciarse a través de la Figura 3. Figura 3. Ejemplo de Diagrama de Caso de Uso OWL (Ontology Web Language) OWL es un lenguaje de marcado para publicar y compartir datos utilizando ontologías. Tiene como objetivo proporcionar un lenguaje de marcado construido sobre RDF (Resource Description Framework) y XML. En [11] se define ontología como una especificación explícita de una conceptualización, con el propósito de habilitar el comportamiento y reutilización de conocimiento. OWL es un lenguaje para la definición e instanciación de ontologías y puede ser usado para representar el significado de los términos en vocabularios y la relación entre esos términos [11]. Se podría describir como un conjunto de reglas que ofrecen una forma de definir conceptos y hechos del mundo real. OWL está diseñado para ser usado en aplicaciones que necesitan procesar el contenido de la información de tal manera que no solo pueda ser expresado para el entendimiento humano, sino también que permita la comunicación entre equipos y aplicaciones. OWL facilita una mejor forma de interpretar el contenido Web que los mecanismos admitidos por XML, RDF, y esquema RDF (RDF-S) ya que proporciona un vocabulario adicional junto con una semántica formal.[12] Actualmente OWL tiene tres variantes: OWL Lite, OWL DL y OWL Full. Estas variantes incorporan diferentes funcionalidades, y en general, OWL Lite es más sencillo que OWL DL, y OWL DL es más sencillo que OWL Full. OWL Lite está construido de tal forma que toda sentencia pueda ser resuelta en tiempo finito, la versión más completa de OWL DL puede contener 'bucles' infinitos [12]. OWL ha sido diseñado para cubrir esta necesidad de un lenguaje de ontologías Web. OWL forma parte de un conjunto creciente de recomendaciones del W3C relacionadas con la Web semántica. Añade más vocabulario para describir propiedades y clases, relaciones entre clases (por ejemplo, desunión), cardinalidad (por ejemplo, "uno exacto"), igualdad, más tipos de propiedades, características de propiedades (por ejemplo, simetría), y clases enumeradas. [12] El verdadero propósito de OWL es permitir representar conocimiento en la web de una manera formal y semánticamente correcta, de modo que sobre ella se puedan hacer todas esas cosas que se hacen en lógica, especialmente inferir nuevo conocimiento XSLT (Extensible Stylesheet Language Transformations) XSLT es un estándar de la organización W3C que presenta una forma de transformar documentos XML en otros formatos de tipo XML e incluso a formatos que no son XML.[13] Una transformación expresada en XSLT es llamada hoja de estilo (stylesheet). Las hojas de estilo XSLT son construidos usando plantillas. Cada plantilla especifica el contenido para transformar y las reglas para completar dicha transformación, tomando un enfoque de mapeo. Lo que consiguen las hojas de estilo es separar la información (almacenada en un documento XML) de su presentación, usando en cada caso las transformaciones que sean necesarias para que el contenido aparezca de la forma más adecuada según las necesidades del usuario que lo requiera. Los programas XSLT están escritos en XML, y generalmente, se necesita un procesador de hojas de estilo, o stylesheet processor para procesarlas, aplicándolas a un fichero XML StarUML StarUML es una proyecto open source para el desarrollo rápido, flexible y extensible de UML/MDA. Es un software de modelado UML, que se ha convertido en el remplazo de otras herramientas comerciales de modelado tal como Rational Rose.[14] StarUML soporta la mayoría de los diagramas que se especifican en UML 2.0. Permite definir elementos propios para los diagramas, que no necesariamente pertenezcan al estándar de UML, y posee la capacidad de generar código a partir de los diagramas y viceversa, actualmente funcionando para los lenguajes C++, C# y Java Xalan-Java Xalan-Java es un procesador XSLT, el cual permite ejecutar las reglas de transformación definidas por la hoja de estilo XSLT y de esta manera transformar documentos XML en HTML, texto u otros tipos de documentos XML.[15] Java y Netbeans Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems. Java es un lenguaje de programación independiente de la plataforma sobre la cual se utilice las aplicaciones realizadas con este lenguaje.

7 Netbeans es una plataforma de desarrollo que permite trabajar con Java. La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software. El IDE NetBeans es un IDE, es decir, una herramienta para programadores pensada para escribir, compilar, depurar y ejecutar programas. NetBeans está escrito en Java, pero puede servir para cualquier otro lenguaje de programación. 4.2 Arquitectura del Ambiente a Desarrollar Como solución a la problemática planteada, se propone en esta investigación el uso de ontologías OWL para poder obtener el significado o carga semántica de un diagrama de casos de usos. Figura 4. Modelo propuesto para la reutilización de diagramas de caso de uso Figura 4. Esquema para la transformación de UML a OWL La Figura 4 representa un esquema que permite visualizar cómo se da la transformación de UML a OWL. Los diagramas de casos de uso pueden ser modelados en cualquier herramienta que permita el modelado UML. Para propósitos de nuestro estudio, utilizaremos StarUML ya que es una herramienta OpenSource y que permite exportar los diagramas en formato XMI. Cuando los casos de usos se encuentran diagramados en UML, se requiere entonces extraer el XMI de los mismos. StarUML y la mayoría de las herramientas UML permiten exportar los diagramas de casos de uso en formato XMI. Una vez se tienen los XMI de los diagramas de casos de uso es necesario obtener las clases asociadas a la información que proporcionan estos casos de usos. Para este procedimiento resulta necesario realizar un parser que permitirá extraer las clases ya que para obtener la transformación a OWL, es necesario trabajar con las clases del diagrama UML. Luego de que se obtienen las clases asociados a los casos de uso, manteniendo el formato XMI, se procede a obtener las ontologías OWL de los mismos. Para llevar a cabo esta tarea es necesario contar con un mecanismo de transformación de XMI a OWL. Ambos formatos, XMI y OWL, están basados en XML razón por la cual esta arquitectura plantea el uso de XSLT para la transformación de un formato a otro. En la hoja de estilos XSLT se establecen todas las reglas de transformación lo cual se obtiene haciendo un mapeo de la sintaxis en XMI para su comprensión en formato OWL. Luego es necesario contar con un procesador XSLT. Para nuestro estudio hemos elegido Xalan-Java. El procesador XSLT tendrá como entrada los documentos XMI y las reglas de transformación XSLT. Con estas dos entradas el procesador será capaz de producir el documento con las ontologías OWL correspondientes. Estas ontologías OWL serán almacenadas en un repositorio o base de datos lo que permitirá su posterior extracción. Igualmente se podrá realizar identificación de patrones y por consiguiente, una clasificación de casos de usos según el dominio de negocio y características o funcionalidades parecidas entre ellos. Esto facilitará las búsquedas a realizar. Figura 5. Arquitectura del Modelo

8 Tal como se expone en la Figura 4, para poder realizar la búsqueda de diagramas de casos de uso que satisfagan las necesidades de un usuario resulta necesario contar con una aplicación que permita ejecutar dicha búsqueda. La aplicación que se propone en este estudio será implementada usando el lenguaje de programación Java. La decisión de utilizar Java como lenguaje de programación responde al hecho de que la herramienta Xalan-Java para procesar los XSLT está construida sobre Java lo cual nos permitirá tener una mejor y fácil integración. La Figura 5 muestra la arquitectura propuesta para el modelo de búsqueda de diagramas de casos de uso en UML a través de la derivación de ontologías OWL. La búsqueda de los diagramas de casos de uso será bastante sencilla para el usuario, haciendo énfasis en las clasificaciones hechas, características y carga semántica de las ontologías OWL obtenidas. 5. CONCLUSIONES A través de este estudio, hemos propuesto un modelo para poder derivar ontologías OWL a partir de los diagramas de casos de uso modelados con UML. A través de este modelo se puede conseguir realizar búsquedas semánticas de los diagramas de casos de uso dentro de un repositorio central y propiciar la reutilización de los mismos. Han quedado planteadas las tecnologías y herramientas (software, estándares, etc.) ha utilizar, para la consecución y construcción del modelo propuesto, resaltando las ventajas de las mismas y los conceptos claves a reconocer y manipular. Creemos que el modelo propuesto resulta de gran importancia dentro de la Ingeniería de Software ya que al propiciar la reutilización de estos diagramas, estamos colaborando con el ahorro de tiempo durante el levantamiento y análisis de requisitos. En trabajos posteriores, estaremos documentando la implementación del modelo, las experiencias y resultados obtenidos. 6. REFERENCIAS [1] R. Pressman, Ingeniería de Software: Un enfoque Práctico, McGrawHill, México, 2005 [2] D. Gasevic, D. Djuric, V. Devedzic and V. Damjanovic, From UML to ready-to-use OWL Ontologies, in Proceedings of the 2 nd IEEE International Conference on Intelligent Systems, vol. 2, [3] H. Bohring and S. Aurer, Mapping XML to OWL Ontologies, Germany, [4] M. Ferdinand, C. Zirpins and D. Trastour, Lifting XML Schema to OWL, Germany. [5] on/#download (ATL Use Case - ODM Implementation; Bridging UML and OWL) [6] S. Sane and A. Shirke, Generating OWL Ontologies from Relational Databases for the Semantic Web, in Proceedings of International Conference on Advances in Computing, Communication and Control (ICAC3 09), India, January [7] H. Sa, O. Choi, and J. Lim, A method for Building Domain Ontologies based on the Transformation of UML Models, in Proceedings of the Fourth International Conference on Software Engineering Research Management and Applications (SERA 06), 2006 [8] W3C, XML Essentials, (XML Essentials). [9] OMG, Catalog of OMG Modeling and Metadata Specifications, modeling_spec_catalog.htm#xmi [10] OMG, UML Resource Page, [11] W3C, OWL Working Group, [12] W3C, Lenguaje de Ontologías Web (OWL) Vista General, [13] W3C, XSL Transformations (XSLT) Version 1.0, [14] StarUML, About StarUML, [15] Apache, Xalan-Java Versión 2.7.1,

Transformación de modelos en el proceso de obtención de Modelos Conceptuales partiendo de BPMN

Transformación de modelos en el proceso de obtención de Modelos Conceptuales partiendo de BPMN Transformación de modelos en el proceso de obtención de Modelos Conceptuales partiendo de BPMN Fernández Taurant, Juan Pablo Marciszack, Marcelo Martín Universidad Tecnológica Nacional, Facultad Regional

Más detalles

GLOSARIO. Análisis Bottom-Up: Técnica utilizada en tareas de ingeniería inversa la cual parte de

GLOSARIO. Análisis Bottom-Up: Técnica utilizada en tareas de ingeniería inversa la cual parte de GLOSARIO Análisis Bottom-Up: Técnica utilizada en tareas de ingeniería inversa la cual parte de una descripción de bajo nivel (código fuente) para generar descripciones con un mayor grado de abstracción.

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Búsqueda sobre catálogos basada en ontologías

Búsqueda sobre catálogos basada en ontologías Búsqueda sobre catálogos basada en ontologías Alianis Pérez Sosa, Yuniel Eliades Proenza Arias Universidad de las Ciencias Informáticas. Carretera a San Antonio Km 2 ½, Reparto Torrens, La Lisa, Ciudad

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

"Módulo OOWS para StarUML" INTRODUCCIÓN

Módulo OOWS para StarUML INTRODUCCIÓN UNA HERRAMIENTA PARA DIAGRAMAS OOWS: "Módulo OOWS para StarUML" Richard Medina Z. Universidad de Concepción, Chile INTRODUCCIÓN Una herramienta CASE (Computer Aided Software Engineering,

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Servidores Donantonio

Servidores Donantonio Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola BPMN vs UML Autor: Norberto Figuerola Los Requerimientos y el Modelo del Negocio Normalmente, siempre que iniciamos un esfuerzo de desarrollo de software éste tiene como objetivo automatizar procesos del

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

Casos de uso UML. Miguel Vega mvega@ugr.es. Granada, octubre de 2010 LSI - UGR

Casos de uso UML. Miguel Vega mvega@ugr.es. Granada, octubre de 2010 LSI - UGR Especificación de UML Miguel Vega mvega@ugr.es LSI - UGR Granada, octubre de 2010 Especificación de Contenido 1 Introducción 2 3 Especificación de Contenido Plantilla de especificación Un ejemplo 4 5 Especificación

Más detalles

La Web Semántica como herramienta para e-learning

La Web Semántica como herramienta para e-learning La Web Semántica como herramienta para e-learning Lidia Marina López llopez@uncoma.edu.ar Departamento de Ciencias de la Computación Universidad Nacional del Comahue Buenos Aires 1400 8300 Neuquén Tel.

Más detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

Convergencia, Interoperabilidad y. Fernando González-Llana Gerente de Cuenta AGE T-Systems

Convergencia, Interoperabilidad y. Fernando González-Llana Gerente de Cuenta AGE T-Systems Convergencia, Interoperabilidad y Arquitecturas de Servicios Gerente de Cuenta AGE T-Systems Palabras clave Convergencia digital, Interoperabilidad, Semántica, IDABC, SOA, Módulos Comunes, Protección de

Más detalles

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto.

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICES En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICE 1. Herramientas Las herramientas que se usaron en el análisis, desarrollo

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Cenditel, Mayo 2011 Licencia de Uso Copyright (c) 2010, Alvarez J., Solé S., Briceño R., Fundación CENDITEL. La Fundación CENDITEL

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web J.Corral-García, D.Cortés-Polo, C.Gómez-Martín, J.L.González-Sánchez

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

O jeto de apre r ndizaje

O jeto de apre r ndizaje Herramientas de Gestión para Objetos de Aprendizaje. Plataforma AGORA Victor Hugo Menéndez Domínguez Universidad Autónoma de Yucatán, México :: mdoming@uady.mx Manuel Emilio Prieto Méndez Universidad de

Más detalles

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1 IWG-101: Introducción a la Ingeniería Departamento de Informática, UTFSM 1 Introducción a UML Historia Potencialidades Diagramas soportados UML en el proceso de desarrollo de SW. Introducción a UML Necesidad

Más detalles

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

Visión General GXflow. Última actualización: 2009

Visión General GXflow. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0 SPEM 2.0 SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0 Metamodelo para modelos de procesos de ingeniería de software y de ingeniería de sistemas. La idea central de SPEM

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo

Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes

Más detalles

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008 Última actualización: 01 de Setiembre de 2008 Copyright Artech Consultores S. R. L. 1988-2008. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL DNI Apellidos y nombre 1. Cuál de las siguientes afirmaciones no es una causa de los problemas del software?

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Análisis de Requisitos

Análisis de Requisitos Análisis de Requisitos Los requisitos determinan lo que hará el sistema y definen restricciones sobre su operación e implementación. El análisis de requisitos es el proceso del estudio de las necesidades

Más detalles

Buscadores basados en agentes inteligentes

Buscadores basados en agentes inteligentes Buscadores basados en agentes inteligentes Los buscadores de contenido Estos han sido esenciales a lo largo de todo el desarrollo de la web. Basados en coincidencias de palabras o frases. Desventajas Escasa

Más detalles

Sistema de Información Integrada del Área Social

Sistema de Información Integrada del Área Social Sistema de Información Integrada del Área Social Resumen de Requerimientos Técnicos 22 de Diciembre de 2008 Página 1 de 5 Contenido 1 Generalidades... 3 2 Alcance y objetivos... 4 3 Arquitectura de referencia

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

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

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Administración de Variabilidad en una línea de producto basada en modelos

Administración de Variabilidad en una línea de producto basada en modelos Administración de Variabilidad en una línea de producto basada en modelos Kelly Garcés Carlos Parra Hugo Arboleda Andres Yie Rubby Casallas Universidad de los Andes, Bogotá k-garces @uniandes.edu.co Universidad

Más detalles

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS))

SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS)) SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS)) Los sistemas de gestión de bases de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de

Más detalles

Arquitectura Básica CÍCLOPE CMS

Arquitectura Básica CÍCLOPE CMS Arquitectura Básica CÍCLOPE CMS Introducción. Arquitectura Colaborativa. El diseño de la arquitectura documental de CÍCLOPE CMS permite crear y administrar documentos electrónicos y mantenerlos disponibles

Más detalles

Una puerta abierta al futuro

Una puerta abierta al futuro Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico

Más detalles

Planificación de Sistemas de Información

Planificación de Sistemas de Información Planificación de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...1 ACTIVIDAD 1: INICIO DEL PLAN DE SISTEMAS DE INFORMACIÓN...4 Tarea 1.1: Análisis de la Necesidad del...4 Tarea 1.2: Identificación

Más detalles

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Base de Datos ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Una base de datos es un conjunto de elementos de datos que se describe a sí mismo, con relaciones entre esos elementos, que presenta

Más detalles

Planificación de Sistemas de Información

Planificación de Sistemas de Información Planificación de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ACTIVIDAD 1: INICIO DEL PLAN DE SISTEMAS DE INFORMACIÓN... 4 Tarea 1.1: Análisis de la Necesidad del... 4 Tarea 1.2: Identificación

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Primer avance de proyecto de software para la gestión de inscripciones en cursos Primer avance de proyecto de software para la gestión de inscripciones en cursos 1. Introducción Andrés Felipe Bustamante García, Carolina Sarmiento González En este documento se presentan los resultados

Más detalles

Administración del conocimiento y aprendizaje organizacional.

Administración del conocimiento y aprendizaje organizacional. Capítulo 2 Administración del conocimiento y aprendizaje organizacional. 2.1 La Importancia Del Aprendizaje En Las Organizaciones El aprendizaje ha sido una de las grandes necesidades básicas del ser humano,

Más detalles

Ingeniería de Software en SOA

Ingeniería de Software en SOA Ingeniería de Software en SOA ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de Software en SOA Curso 2014/2015 1 / 51 Índice 1 Directrices para la IS en SOA 2 Modelo de referencia

Más detalles

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3 1 Índice 1. Resumen.. 3 2. Objetivos.. 3 3. Introducción. 3 4. Aplicación web para la gestión de una memoria corporativa: reportes de actividades (proyectos) 4.1 Metodología... 4 4.2 Lenguajes y herramientas

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

Introducción En este apartado se va a proporcionar una apreciación global del SRS.

Introducción En este apartado se va a proporcionar una apreciación global del SRS. INTRODUCCIÓN Se pretende desarrollar una aplicación web para la gestión de un restaurante que ofrece espectáculos en fechas determinadas con el fin de poner en práctica los principios de planificación

Más detalles

XML: una herramienta de apoyo para la creación de cuestionarios en cursos virtuales

XML: una herramienta de apoyo para la creación de cuestionarios en cursos virtuales Experiencias de bachillerato a distancia XML: una herramienta de apoyo para la creación de cuestionarios en cursos virtuales Autor Héctor Hugo Luna Miranda XML: a support tool for creating quizzes online

Más detalles

Diagrama de Clases. Diagrama de Clases

Diagrama de Clases. Diagrama de Clases Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Figure 7-1: Phase A: Architecture Vision

Figure 7-1: Phase A: Architecture Vision Fase A Figure 7-1: Phase A: Architecture Vision Objetivos: Los objetivos de la fase A son: Enfoque: Desarrollar una visión de alto nivel de las capacidades y el valor del negocio para ser entregado como

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Proyecto Tutelkán Tutelkán - Descripción General del Proyecto

Proyecto Tutelkán Tutelkán - Descripción General del Proyecto Tutelkán - Descripción General del Proyecto Introducción al Enfoque de Mejoramiento de Procesos de Tutelkán MAYO 2009 Tabla de Contenidos 1. INTRODUCCIÓN...5 1.1. CONTEXTO...5 1.2. PROPÓSITO...5 1.3.

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

DISEÑO DE COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

DESARROLLO DE SOFTWARE ORIENTADO. A OBJETOS: Modelo de requerimientos del RUP

DESARROLLO DE SOFTWARE ORIENTADO. A OBJETOS: Modelo de requerimientos del RUP DESARROLLO DE SOFTWARE ORIENTADO A OBJETOS: Modelo de requerimientos del RUP Adesmiro Zelada Escobedo 1*, Miguel Figueroa Martel 2 * 1 Facultad de Ingeniería y Arquitectura, Universidad Peruana Unión *

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

Apéndice A Herramientas utilizadas

Apéndice A Herramientas utilizadas Apéndice A Herramientas utilizadas A.1 Java Media Framework El Java Media Framework (JMF) es una interfaz para el desarrollo de aplicaciones (API) e incorpora el manejo de audio y video en el lenguaje

Más detalles

Planeación del Proyecto de Software:

Planeación del Proyecto de Software: Apéndice A. Cuestionarios del Sistema Evaluador Nivel2. Requerimientos de Administración: Goal 1: Los requerimientos del sistema asociados a software están bien controlados y existe un estándar para los

Más detalles

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Proceso de Negocio (Business Process) Conjunto estructurado, medible de actividades para producir un producto.

Más detalles

Resumen General del Manual de Organización y Funciones

Resumen General del Manual de Organización y Funciones Gerencia de Tecnologías de Información Resumen General del Manual de Organización y Funciones (El Manual de Organización y Funciones fue aprobado por Resolución Administrativa SBS N 354-2011, del 17 de

Más detalles

Hoja Informativa ISO 9001 Comprendiendo los cambios

Hoja Informativa ISO 9001 Comprendiendo los cambios Revisiones ISO Hoja Informativa ISO 9001 Comprendiendo los cambios Cambios que se aproximan ISO 9001 de un vistazo Cómo funciona ISO 9001? ISO 9001 puede ser aplicado a todo tipo de organizaciones de cualquier

Más detalles

de qué manera se puede administrar la complejidad de los datos y mejorar la agilidad del negocio?

de qué manera se puede administrar la complejidad de los datos y mejorar la agilidad del negocio? RESUMEN DE LA SOLUCIÓN CA ERwin Modeling de qué manera se puede administrar la complejidad de los datos y mejorar la agilidad del negocio? agility made possible CA ERwin Modeling ofrece un entorno de modelado

Más detalles

CAPÍTULO 5. DESARROLLO Y PRUEBAS

CAPÍTULO 5. DESARROLLO Y PRUEBAS CAPÍTULO 5. DESARROLLO Y PRUEBAS 5.1 Introducción a las Tecnologías 5.1.1 Herramientas 5.1.1.1 SQL Server Es un sistema que sirve para la gestión de base de datos basado en un modelo relacional. Así mismo

Más detalles

Reporte inicial. Metodología

Reporte inicial. Metodología Reporte inicial Este reporte inicial expondrá las decisiones que tomamos al momento de selección de metodología, plantillas y métodos de recabado de evidencia y por qué tomamos dichas decisiones. Metodología

Más detalles

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México Licencia La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México S. A de C.V., Está protegida por derechos de autor y / u otras leyes aplicables. Cualquier uso diferente a

Más detalles

BPM: Articulando Estrategia, Procesos y Tecnología

BPM: Articulando Estrategia, Procesos y Tecnología BPM: Articulando Estrategia, Procesos y Tecnología Resumen: La competitividad es el imaginario que dirige las acciones empresariales en la actualidad. Lograr condiciones que permitan competir con mayores

Más detalles

Proyecto de Normalización Automática de Base de Datos

Proyecto de Normalización Automática de Base de Datos Proyecto de Normalización Automática de Base de Datos Lic. Beatriz Steimberg * Resumen En el primer cuatrimestre del año 2003 se encaró el proyecto de Normalización Automática de Base de Datos. El objetivo

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

UNIVERSIDAD CENTROCCIDENTAL "LISANDRO ALVARADO" DECANATO DE CIENCIAS Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA COMPUTACION MENCION REDES DE COMPUTADORAS

UNIVERSIDAD CENTROCCIDENTAL LISANDRO ALVARADO DECANATO DE CIENCIAS Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA COMPUTACION MENCION REDES DE COMPUTADORAS UNIVERSIDAD CENTROCCIDENTAL "LISANDRO ALVARADO" DECANATO DE CIENCIAS Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA COMPUTACION MENCION REDES DE COMPUTADORAS MODELO DE GESTION WBEM PARA ADMINISTRACION DE REDES

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

Más detalles

CA ERwin Data Profiler

CA ERwin Data Profiler RESUMEN DEL PRODUCTO: CA ERWIN DATA PROFILER CA ERwin Data Profiler CA ERWIN DATA PROFILER AYUDA A LAS ORGANIZACIONES A REDUCIR LOS COSTOS Y RIESGOS ASOCIADOS CON LA INTEGRACIÓN DE DATOS, AL BRINDAR CAPACIDADES

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

Solución corporativa para la gestión descentralizada de metadatos: Cliente Web de administración de metadatos

Solución corporativa para la gestión descentralizada de metadatos: Cliente Web de administración de metadatos Solución corporativa para la gestión descentralizada de metadatos: Cliente Web de administración de metadatos Joan Nunes Alonso1, Ignacio Ferrero Beato 2, y Laura Sala Martín3 1 Laboratorio de Información

Más detalles

Introducción CAPÍTULO 1

Introducción CAPÍTULO 1 Introducción CAPÍTULO 1 6 CAPÍTULO 1 - Introducción. En la actualidad hay una gran cantidad de repositorios en los que se puede alojar código fuente para poder compartirlo con los usuarios que visiten

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Sergio Valero Orea, svalero@utim.edu.mx, UTIM, Izúcar de Matamoros, Puebla. Resumen El desarrollo de sistemas

Más detalles

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA AREA DEL TEMA: INGENIERÍA DE SOFTWARE OBJETIVO GENERAL Desarrollar aplicaciones web utilizando

Más detalles

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial Título ARQUITECTUA DE M2M Proyecto Monkey to Monkey ( M 2 M ) Equipo Proyectos Informáticos Versión 1.0 Código PLAN_M2M_2012_04_01 Fecha 19/04/2012 Autores MIGUEL ÁLVAREZ Y CLARA HERRERO Estado Documento

Más detalles