1 / 26

Left Case : Int Case v1.0 Roberto Galache García

Left Case : Int Case v1.0 Roberto Galache García. Tutores: Francisco José García Peñalvo Iván Álvarez Navia. Departamento de Informática y Automática. Universidad de Salamanca. Índice. Introducción Objetivos Conceptos teóricos Técnicas y herramientas

eitan
Download Presentation

Left Case : Int Case v1.0 Roberto Galache García

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Left Case: Int Case v1.0Roberto Galache García Tutores: Francisco José García Peñalvo Iván Álvarez Navia Departamento de Informática y Automática Universidad de Salamanca

  2. Índice • Introducción • Objetivos • Conceptos teóricos • Técnicas y herramientas • Aspectos relevantes del desarrollo • Demostración • Conclusiones • Trabajo futuro Left Case: INT CASE v1.0

  3. Introducción • Objetivos de la Ingeniería del Software • Desarrollo de software de calidad y económico • Disminución en el tiempo de desarrollo • Caminos: entornos RAD, herramientas CASE, etc. • Las herramientas CASE son costosas y no están al alcance de cualquiera • Left Case es un entorno CASE bajo licencia GPL Left Case: INT CASE v1.0

  4. Introducción • Left Case agrupa distintos componentes que permiten la edición de diagramas • DFD (Diagramas de flujo de datos) • DTD (Diagramas de transición de estados) • DER (Diagramas entidad/relación) • Diagramas de clases UML • Diagramas de Casos de Uso • Diagramas de transición de estados (bajo UML) • Int Case es un nuevo componente • Es un entorno CASE frontal • Permite la edición de diagramas de Interacción Left Case: INT CASE v1.0

  5. Objetivos Objetivos de Left Case • Creación de un entorno CASE para la edición de diagramas bajo distintos paradigmas • Estructurado • Objetual • Generación automática de documentación técnica de análisis y diseño • Formato de almacenamiento estándar y portable: XML Left Case: INT CASE v1.0

  6. Objetivos Objetivos de Int Case • Integración en Left Case (Transparente) • Edición de diagramas de Interacción • Diagramas de Secuencia • Diagramas de Colaboración • Impresión de diagramas Left Case: INT CASE v1.0

  7. Conceptos teóricos Diagrama de Interacción • Modelo dinámico del sistema • Representa “cómo” se comunican los objetos • Se limita a un determinado contexto: Escenario, Subsistema,… Left Case: INT CASE v1.0

  8. Conceptos teóricos Diagrama de Secuencia • Tipo especial de diagrama de Interacción • Se centra en la ordenación temporal de los mensajes • Informa sobre la evolución del sistema respecto al tiempo Left Case: INT CASE v1.0

  9. Conceptos teóricos Diagrama de Colaboración • Tipo especial de diagrama de Interacción • Se centra en la organización de los objetos que se comunican • Aporta una visión estructural del Sistema Left Case: INT CASE v1.0

  10. Técnicas y herramientas Metodologías empleadas • Metodología orientada a objetos OMT • Complementada con • Plantillas de Durán y Bernárdez • Diagramas UML • Diagramas de Clases • Diagramas de Casos de Uso • Diagramas de Secuencia Left Case: INT CASE v1.0

  11. Técnicas y herramientas Otras técnicas • GNOME • GLIB • GTK+ y GDK • CORBA: Bonobo • Lenguajes para la representación de información • SGML • XML • XSL Left Case: INT CASE v1.0

  12. Técnicas y herramientas GLIB • Biblioteca escrita en C • Permite el manejos de TAD’s • Tipos independientes de la plataforma • Favorece la portabilidad Left Case: INT CASE v1.0

  13. Técnicas y herramientas GTK+ • GIMP Toolkit • Biblioteca orientada a objetos escrita en C • Motor de Interfaz Gráfica de usuario Left Case: INT CASE v1.0

  14. Técnicas y herramientas CORBA Y BONOBO • CORBA = Interfaz estándar para la comunicación de elementos heterogéneos • BONOBO = Sistema de componentes, basado en CORBA, bajo GNOME Left Case: INT CASE v1.0

  15. Técnicas y herramientas Arquitectura de componentes Left Case: INT CASE v1.0

  16. Aspectos relevantes del desarrollo Introducción • Ciclo de vida • Diagrama conceptual de clases • Diseño basado en una arquitectura de componentes • Utilización del lenguaje C como LPOO • Problemas en la implementación Left Case: INT CASE v1.0

  17. Aspectos relevantes del desarrollo Ciclo de vida • Modelo en “espiral” • Fases • Planificación • Análisis de riesgos • Ingeniería • Evaluación • Uso de prototipos evolutivos Left Case: INT CASE v1.0

  18. Aspectos relevantes del desarrollo Diagrama conceptual de clases Left Case: INT CASE v1.0

  19. Aspectos relevantes del desarrollo Diagrama de clases de los elementos Left Case: INT CASE v1.0

  20. Aspectos relevantes del desarrollo Utilización del lenguaje C como LPOO • Mecanismos de emulación • Objetos: punteros a estructuras • Clases: los métodos son punteros a funciones; atributos públicos • Herencia simple y múltiple • Polimorfismo no soportado • Manejo de excepciones no soportado por C • etc. Left Case: INT CASE v1.0

  21. Aspectos relevantes del desarrollo Problemas en la implementación • Motor gráfico : GDK vs GnomeCanvas • “Amplia” documentación sobre GDK • Problemas de estabilidad de GnomeCanvas • Las Capacidades gráficas de GDK son suficientes Left Case: INT CASE v1.0

  22. Aspectos relevantes del desarrollo Problemas en la implementación • Puntos de Unión /* Obtener punto de unión */ for(i=0;i<=100;i++) { pto1.x=rect.x; pto1.y=rect.y+rect.height*i/100; pto2.x = rect.x + rect.width; pto2.y = rect.y+rect.height*i/100; if(menor_distancia(*pto,pto1,pto2)==2) pto_union = pto1; if(menor_distancia(*pto,pto_union,pto4)==2) pto_union = pto2; } Left Case: INT CASE v1.0

  23. Aspectos relevantes del desarrollo • Gestión de la profundidad for(z=0;z<5;z++) { for(n=0;1;n++) { instancia = diagrama_get_instancia_n(diagrama,n); if(!instancia) break; if(instancia_get_z(instancia)==z) instancia_dibujar(instancia,gc,pixmap); } } Problemas en la implementación Left Case: INT CASE v1.0

  24. Demostración Left Case: INT CASE v1.0

  25. Conclusiones • Obtención de los requisitos propuestos inicialmente • Integración del componente dentro del entorno de Left Case • Resultado: Int Case v1.0 • Herramienta CASE • Edición de diagramas • Diagramas de Secuencia • Diagramas de Colaboración • Portabilidad • Disponible en http://zarza.usal.es Left Case: INT CASE v1.0

  26. Trabajo futuro • Ampliar la funcionalidad del componente Int Case • Creación de nuevas hojas de estilo para los informes • Soporte de un mayor número de formatos en la generación de informes • Migración a GNOME 2.0 • Soporte para el trabajo colaborativo Left Case: INT CASE v1.0

More Related