====== Modelado Conceptual ====== Busca a compresión del problema antes de comenzar a diseñar la solución. Buscamos crear un diseño comprensible tanto para nosotros como para nuestro usuario. ===== UML ===== Es un estándar (Unified Modeling Languaje). Permite visualizar, especificar, contruir y documentar los artefactos del software Puede ser autoextendido para adaptarse a muchas cosas. Suele venir acompañado del lenguaje OCL. UML está pensado para sistemas Orientados a Objetos, pero se puede utilizar en más sistemas. ===== Tipos de Diagramas ===== 2 Bloques: * Estructural: elementos de la organización (Diagramas de clases) * Comportamiento: Casos de uso, diagramas de estado, diagramas de interacción, etc... Diferentes tipos de diagrama: Diagramas de actividad: muestran como interactúan el software y los usuarios Diagramas de clases: Formados por clases y relaciones entre ellas. * Diagramas de interacción: describe como los grupos se relacional e interactúan entre sí. Pueden ser: * Diagrama de secuencias * Diagrama de colaboración Diagrama de estados: Conocidos como statecharts, representan el comportamiento de un sistema usando máquinas de estados, con estados y transiciones. Similar a los autómatas de MD (Esto se da en la UDC, no en la UCAM) ===== Casos de uso ===== Casos de uso: Secuencias de acciones, incluyendo variantes que ejecuta el sistema para producir un resultado. Describe que hace el sistema, pero no cómo, en resumidas cuentas, requisitos funcionales. * Sirven para capturar el comportamiento del sistema. * Elementos: * Actores: representan un conjunto, se comunica con una línea a la que llamaremos asociación, puede ser una persona, un dispositivo o un proceso * Flujo de evento: es la descripción de ccomo funcionan los eventos * Dice cuando empieza y cuando acaba Normalmente tenemos un diagrama y la especificación. La especificación suele ir en un recuadro dividido en varias secciones: * Descripción * Actores * Precondiciones * Postcondiciones * Escenario principal * Excepciones * Comentarios Para los casos de uso utilizaremos [[https://www.visual-paradigm.com/download/community.jsp | visual paradigm]]. ==== Colaboraciones ==== * Se dan entre casos de uso y un actor o entre varios casos de uso * Expresa colaboración entre ambos ==== Relaciones ==== * Generalización: Sería como la herencia, se hereda comportamiento del padre * Inclusión: Se usa para evitar escribir el mismo flujo de eventos muchas veces * El comportamiento común se pone en un caso a parte * Se representa gráficamente con una línea discontinua con la palabra <> * Extensión: Caso de uso con condiciones especiales * Sería para hacer como un caso especial * Se representa gráficamente con una línea discontínua con la palabra <> * Las relaciones puede contener paquetes, notas y restricciones. Modelo de contexto: Delimita casos de uso Ventajas: Permite ver trazabilidad y dependencia