UML Unified Modeling Language Lenguage Unificado de Modelado

  • Slides: 20
Download presentation
UML (Unified Modeling Language) Lenguage Unificado de Modelado Antonio J. Sierra UML Área de

UML (Unified Modeling Language) Lenguage Unificado de Modelado Antonio J. Sierra UML Área de Ingeniería Telemática 1 Universidad de Sevilla

Índice p. Historia p. Introducción p. Objetivos del modelo p. Críticas p. Modelo Conceptual

Índice p. Historia p. Introducción p. Objetivos del modelo p. Críticas p. Modelo Conceptual de UML p. Clases p. Diagrama de Clases UML Área de Ingeniería Telemática 2 Universidad de Sevilla

Historia (I) p. Entre mitad de los setenta y finales de los ochenta. l

Historia (I) p. Entre mitad de los setenta y finales de los ochenta. l De 10 a 50 métodos orientados a objetos (19891994) p. No cubrían las necesidades completamente. p. De la experiencia de estos: l El método Booch, l El método OOSE (Object-Oriented Software Engineering) de Jacobson l El método OMT (Object Modeling Technique) Rumbaugh UML Área de Ingeniería Telemática 3 Universidad de Sevilla

Historia UML Área de Ingeniería Telemática 4 Universidad de Sevilla

Historia UML Área de Ingeniería Telemática 4 Universidad de Sevilla

Introducción UML p Unified Modeling Language (UML) es un lenguaje de modelado de propósito

Introducción UML p Unified Modeling Language (UML) es un lenguaje de modelado de propósito general estándarizado en el campo de la ingeniería software. p UML incluye un conjunto de técnicas de notación gráfica para crear modelos abstractos de sistemas específicos, referidos como modelo UML. p UML es un lenguaje gráfico de modelado de sistemas de software más conocido y utilizado en la actualidad; p Respaldado por el OMG (Object Management Group). p Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. p UML ofrece un estándar para describir un "plano" del sistema (modelo): l incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, l y aspectos concretos como expresiones de lenguajes de programación, l esquemas de bases de datos y componentes de software reutilizables. Área de Ingeniería Telemática Universidad de Sevilla 5

Introducción p. UML es un "lenguaje" para especificar y no para describir métodos o

Introducción p. UML es un "lenguaje" para especificar y no para describir métodos o procesos. p. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. l Es el lenguaje en el que está descrito el modelo. p. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso usar. UML Área de Ingeniería Telemática 6 Universidad de Sevilla

Introducción p. UML no puede compararse con la programación estructurada, pues UML significa (Lengua

Introducción p. UML no puede compararse con la programación estructurada, pues UML significa (Lengua de Modelación Unificada), p. UML no es un programa, solo se representa en forma de diagrama la realidad de una utilización en un requerimiento. p. La programación estructurada, es una forma de programar como lo es la orientación a objetos, p. La orientación a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos UML Área de Ingeniería Telemática 7 Universidad de Sevilla

Objetivos del modelo p. Visualizar como es o queremos que sea un sistema. p.

Objetivos del modelo p. Visualizar como es o queremos que sea un sistema. p. Especificar la estructura y el comportamiento. p. Proporcionar plantillas que nos guíen en la construcción de un sistema. p. Documentar las decisiones que hemos adoptado. UML Área de Ingeniería Telemática 8 Universidad de Sevilla

Críticas a UML p A pesar de estar ampliamente reconocido y utilizado, UML siempre

Críticas a UML p A pesar de estar ampliamente reconocido y utilizado, UML siempre ha sido muy criticado por su carencia de una semántica precisa, lo que ha dado lugar a que la interpretación de un modelo UML no pueda ser objetiva. p Otro problema de UML es que no se presta con facilidad al diseño de sistemas distribuidos. l En tales sistemas cobran importancia factores como transmisión, serialización, persistencia, etc. UML no cuenta con maneras de describir tales factores. p No se puede, por ejemplo, usar UML para señalar que un objeto es persistente o remoto, o que existe en un servidor que corre continuamente y que es compartido entre varias instancias de ejecución del sistema analizado. Sin embargo, UML si acepta la creación de nuestros propios componentes para este tipo de modelado. UML Área de Ingeniería Telemática 9 Universidad de Sevilla

Modelo Conceptual de UML p. Bloques básicos de construcción de UML l Elementos l

Modelo Conceptual de UML p. Bloques básicos de construcción de UML l Elementos l Relaciones l Diagramas p. Reglas de UML p. Mecanismos comunes l Especificaciones l Adornos l Divisiones comunes l Mecanismos de extensibilidad Área de Ingeniería Telemática 10 Universidad de Sevilla

Bloques básicos de construcción de UML p Elementos l Elementos estructurales l Elementos de

Bloques básicos de construcción de UML p Elementos l Elementos estructurales l Elementos de comportamiento l Elementos de agrupación l Elementos de anotación p Relaciones l Dependencia l Asociación l Generación l Realización p Diagramas l clases l objetos l casos de uso l de secuencia l de colaboración l de estados l de actividades l de componentes l de despliegue UML Área de Ingeniería Telemática 11 Universidad de Sevilla

Elementos estructurales p. Clase p. Interfaz p. Colaboración p. Caso de Uso p. Clase

Elementos estructurales p. Clase p. Interfaz p. Colaboración p. Caso de Uso p. Clase activa p. Componente p. Nodo UML Área de Ingeniería Telemática 12 Universidad de Sevilla

Elementos Estructurales: Las clases público protegido privado Ventana +origen #altura : Float -es. Maestra

Elementos Estructurales: Las clases público protegido privado Ventana +origen #altura : Float -es. Maestra : Boolean = false abrir() cerrar() mover() dibujar() poner. Alarma(t: Temperatura) valor() : Temperatura UML Responsabilidades -- descriptivo de lo que realiza Área de Ingeniería Telemática Nombre (abstracta en cursiva) Nombres Simples de clases Cliente atributos Nombre de Camino de clases operaciones java: : awt: : Rectangle responsabilidades 13 Universidad de Sevilla

Atributos [visibilidad] nombre {multiplicidad}[: tipo] [=valor inicial] [{propiedades}] p. Propiedades predefinidas l changeable No

Atributos [visibilidad] nombre {multiplicidad}[: tipo] [=valor inicial] [{propiedades}] p. Propiedades predefinidas l changeable No hay restricciones para modificar el valor del atributo l add. Only Una vez creado un valor no puede ser eliminado o modificado (con multiplicidad mayor que 1) l frozen El valor del atributo no se puede modificar tras inicializar el objeto UML Área de Ingeniería Telemática 14 Universidad de Sevilla

Operaciones UML [visibilidad] nombre [(lista de parámetros)][: tipo de retorno] [{propiedades}] p En la

Operaciones UML [visibilidad] nombre [(lista de parámetros)][: tipo de retorno] [{propiedades}] p En la lista por parámetros [dirección] nombre : tipo [= valor por defecto] p dirección puede ser in para parámetro de entrada (no modificable), out para salida (modificable) e inout para entrada (modificable). p propiedades puede ser l leaf no puede ser polimórfica l is. Query sin efectos laterales l sequential los invocadores deben coordinarse para que en el objeto sólo haya un único flujo l guarded se puede invocar exactamente una operación a un mismo tiempo sobre el objeto l concurrent operación concurrente 15 Área de Ingeniería Telemática Universidad de Sevilla

Ejemplos Cliente 3 nombre dirección teléfono fecha. Nacimiento Almacén tuvo. Exito() deshacer() origen: Punto

Ejemplos Cliente 3 nombre dirección teléfono fecha. Nacimiento Almacén tuvo. Exito() deshacer() origen: Punto Mostrar() Botón {leaf} Factura Transacción acciones Producto id nombre precio ubicación Icono {root} Envio Mostrar() Responsabilidades --Mantener información relativa a productos enviados UML Área de Ingeniería Telemática 16 Universidad de Sevilla

Elementos de comportamiento p Máquina de estados, secuencia de estados por los que pasa

Elementos de comportamiento p Máquina de estados, secuencia de estados por los que pasa un objeto, una p Interacción, mensaje intercambiados entre un conjunto de objetos interacción durante su vida en respuesta a eventos dibujar Esperando UML Área de Ingeniería Telemática 17 Universidad de Sevilla

Elementos de agrupación, y Elementos de anotación p Los elementos de agrupación, son partes

Elementos de agrupación, y Elementos de anotación p Los elementos de agrupación, son partes organizativas p Los elementos de anotación, son partes explicativas Paquetes Reglas del negocio Notas Devuelve una copia del objeto receptor UML Área de Ingeniería Telemática 18 Universidad de Sevilla

Relación en UML Dependencia, es una relación semántica entre dos elementos, en la cual

Relación en UML Dependencia, es una relación semántica entre dos elementos, en la cual un cambio a un elemento puede afectar a la semántica del otro Asociación, relación estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos Generalización, relación de especialización/generalización en la cual los objetos del elemento especializado (hijo) puede sustituir a los objetos del elemento general (padre) Realización, relación semántica entre clasificadores, en donde un clasificador especifica un contrato que otro clasificador garantiza que cumplirá. 0. . 1 * patrón empleado UML Área de Ingeniería Telemática 19 Universidad de Sevilla

Diagrama de Clases UML Área de Ingeniería Telemática 20 Universidad de Sevilla

Diagrama de Clases UML Área de Ingeniería Telemática 20 Universidad de Sevilla