um presentación
DESCRIPTION
uml presentaciónTRANSCRIPT
UNIVERSIDAD M AGISTERINGENIERIA EN SISTEMAS
ESTRUCTURA DE ALGORITMOS
TEMA: UML
2012
Historia de UML La notación UML se deriva de y unifica, las tres metodologías de
análisis y diseño O.O. más extendidas:
• Metodología de Grady Booch para la descripción de conjuntos de objetos y sus relaciones.
• Técnica de modelado orientada a objetos de James Rumbaugh (OMT: Object-Modeling Technique).
• Aproximación de Ivar Jacobson (OOSE: Object- Oriented Software Engineering) mediante la metodología de casos de uso (use case).
El desarrollo de UML comenzó a finales de 1994 cuando Grady Booch y Jim Rumbaugh de Rational Software Corporation empezaron a unificar sus métodos. A finales de 1995, Ivar Jacobson y su compañía Objectory se incorporaron a Rational en su unificación, aportando el método OOSE.
De las tres metodologías iniciales, las de Booch y Rumbaugh pueden ser descritas como centradas en objetos, ya que sus aproximaciones se enfocan hacia el modelado de los objetos que componen el sistema, su relación y colaboración. Por otro lado, la metodología de Jacobson es más centrada a usuario, ya que todo en su método se deriva de los escenarios de uso. UML se ha ido fomentando y aceptando como estándar desde el OMG (), que es también el origen de CORBA, el estándar líder en la industria para la programación de objetos distribuidos. En 1997 UML 1.1 fue aprobada por la OMG convirtiéndose en la notación estándar de facto para el análisis y el diseño O.O.
UML es el primer método en publicar un meta-modelo en su propia notación, incluyendo la notación para la mayoría de la información de requisitos, análisis y diseño(cualquier lenguaje de modelado de propósito general debería ser capaz de modelarse a sí mismo).
Historia de UML
Nov ‘97 UML aprobado por el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2005? UML 2.0
Revisiones menores
UML 1.52003
*Desarrollo de Software Orientado a Objeto usando UML,
Patricio Letelier Torres, http://www.dsic.upv.es/~uml/curso.ppt
¡UML!UML es un lenguaje estándar para escribir planos de software.
Puede visualizar, especificar, construir y documentar los componentes de un sistemas OO que involucra una gran cantidad de software.
UML es apropiado para modelar sistemas de información en empresas hasta aplicaciones web. Es un lenguaje muy expresivo , cubre todas las vistas necesarias para desarrollar y desplegar sistemas.
Donde utilizamos UML
Está pensado para sistemas con gran cantidad de software:
Sistemas de información de empresas
Banco y servicios financieros Telecomunicaciones, transporte Defensa/industria aeroespacial Electrónica médica Ámbito científico También se pueden modelar
workflows en un sistema jurídico, diseño de hardware, etc.
Un modelo conceptual de UML Para comprender UML, se necesita adquirir un
modelo conceptual del lenguaje. Esto requiere aprender tres elementos principales:
Bloques básicos de construcción de UML:
Reglas que dictan cómo se pueden combinar esos bloques.
Y algunos mecanismos comunes que se aplican a través de UML.
relaciones
elementos
diagramas
Elementos en UML
Estos elementos
son lo bloques básicos de
construcción orientados a
objetos de UML. Se
utilizan para escribir
modelos bien formados.
ElementosEn UML
EstructuralesDe comporta-mientoDe agrupación De anotación
Elementos Estructurales
Son los nombres de los modelos UML. En su mayoría son las partes estáticas de un modelo, y representan cosas conceptuales o materiales.
Clase: es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Una clase implementa una o más interfaces.
+toString() : String
Interfaz Representación Gráfica
• Interfaz: es una colección de operaciones que especifica un servicio de una clase o componente. Por lo tanto, una interfaz describe el comportamiento visible externamente de ese elemento. Una interfaz puede representar el comportamiento completo de una clase o componente, o sólo una parte de este comportamiento.
• Una interfaz define un conjunto de especificaciones de operaciones (o sea, sus signaturas), pero nunca sus implementaciones.
• Una interfaz raramente se encuentra aislada, más bien, suele estar conectada a la clase o componente que la realiza.
Colaboración
Define una interacción y es una sociedad de roles y otros elementos que colaboran para proporcionar un comportamiento cooperativo mayor que la suma de los comportamientos de sus elementos.
Por lo tanto las colaboraciones tienen dimensión tanto estructural como de comportamiento. Una clase dada puede participar en varias colaboraciones.
Representación de una colaboración
Diagrama de Colaboración
Práctica 3
: Encargado
:WInPréstamos
:Socio
:Video
:Préstamo
1: prestar(video, socio)
2: verificar situación socio
3: verificar situación video
4: registrar préstamo5: entregar recibo
*Desarrollo de Software Orientado a Objeto usando UML,
Patricio Letelier Torres, http://www.dsic.upv.es/~uml/curso.ppt
Caso de uso
Es una descripción de un conjunto de secuencias de acciones que un sistema ejecuta y que produce un resultado observable de interés para un actor particular.
Un caso de uso se utiliza para estructurar los aspectos de comportamiento en un modelo. Un caso de uso es realizado por una colaboración.
Representación de un caso de uso
Ejemplo de caso de uso
Retirar dinero
Consultar ExtractoCliente
Realizar transferencia
*Desarrollo de Software Orientado a Objeto usando UML,
Patricio Letelier Torres, http://www.dsic.upv.es/~uml/curso.ppt
Resumen de elementos
Elementos en UML
Estos elementos
son lo bloques básicos de
construcción orientados a
objetos de UML. Se
utilizan para escribir
modelos bien formados.
ElementosEn UML
De compor-tamiento
Elementos en UML
Estos elementos
son lo bloques básicos de
construcción orientados a
objetos de UML. Se
utilizan para escribir
modelos bien formados.
ElementosEn UML
De agrupación
Elementos de agrupación
Son las partes organizativas de los modelos UML.
Hay un elemento de agrupación principal, los paquetes. Un paquete es un mecanismo de propósito general para organizar elementos en grupos.
Los elementos estructurales, los elementos de comportamiento, e incluso otros elementos de agrupación pueden incluirse en un paquete.
Al contrario de los componentes (que existen en tiempo de ejecución), un paquete es puramente conceptual (sólo existe en tiempo de desarrollo).
utilidades
Representación de un paquete
Elementos en UML
Estos elementos
son lo bloques básicos de
construcción orientados a
objetos de UML. Se
utilizan para escribir
modelos bien formados.
ElementosEn UML
De anotación
Elementos de anotación
Son las partes explicativas de los modelos UML.
Hay un tipo principal llamado Nota. Una nota es simplemente un símbolo para mostrar restricciones y comentarios junto a un elemento o una colección de elementos.
Las notas se utilizan para adornar los diagramas con restricciones o comentarios que se expresan mejor en texto informal o formal.
Representación de una nota
Un modelo conceptual de UML
Uno de los bloques básicos de construcción de UML son las
Una relación es una conexión entre elementos. Para diferenciar las distintas relaciones se
utilizan diferentes tipos de líneas. Las relaciones más importantes son las
dependencias, las generalizaciones y las asociaciones. Existe también la relación de Realización
relaciones
Dependencia
Es una relación semántica entre dos elementos, en la cual un cambio a un elemento (el elemento independiente) puede afectar a la semántica del otro elemento (el dependiente).
Las dependencias generalmente representan relaciones de uso que declara que un cambio en la especificación de un elemento puede afectar a otro elemento que la utiliza, pero no necesariamente a la inversa.
La mayoría de las veces se utilizan en el contexto de las clases o paquetes , para indicar que una clase utiliza a otra como argumento en la signatura de una operación.Representación de una
dependencia
PlanDelCurso
agregar(c : Curso)
eliminar(c : Curso)
Curso
Generalización
Es una relación entre un elemento general (llamado super-clase o clase padre) y un caso más específico de ese elemen-to (llamado subclase o clase hija). La generalización se llama a veces relación “es-un-tipo-de”: un elemento (clase TransporteTerrestre) es-un-tipo-de un elemento más general (clase Transporte). La generalización significa que los objetos hijos se pueden emplear en cualquier que pueda aparecer el padre, pero no a la inversa. Es decir, el hijo puede sustituir al padre.
El hijo hereda atributos y operaciones del padre.
El hijo puede agregar atributos y operaciones.
Puede tener operaciones polimórficas
Representación de una
generalización
Asociación Es una relación estructural que especifica que los
objetos de un elemento están conectados con los objetos de otro.
Las asociaciones y dependencias pueden ser reflexivas.
Si existe una asociación entre dos clases, se puede navegar desde un objeto de una clase hasta un objeto de la otra clase.
La agregación es un tipo especial de asociación, que representa una relación estructural entre un todo y sus partes. Representa una relación del tipo “tiene-un”. Ejemplo:
Un TransporteTerrestre “tiene” ruedas.
ProfesorDepartamento
10..1
director
1
dirige
0..1
Realización
Es una relación semántica entre clasificadores, en donde un clasificador especifica un contrato que otro clasificador garantiza que cumplirá. Se pueden encontrar relaciones de realización: entre interfaces y las clases o componentes que las realizan, y entre los casos de uso y las colaboraciones que los realizan.
La realización es lo suficientemente diferente de la dependencia, la generalización y la asociación como para ser tratada como un tipo aparte de relación. Semánticamente la realización es una mezcla entre dependencia y generalización.
Representación de una
realización
Ejemplo de relaciones
Resumen de símbolos para relaciones
Pulse para editar los formatos del texto del esquema
Segundo nivel del esquema
Tercer nivel del esquema
Cuarto nivel del esquema
Quinto nivel del esquema
Sexto nivel del esquema
Séptimo nivel del esquema
Octavo nivel del esquema
Noveno nivel del esquemaHaga clic para modificar el estilo de texto del patrón
Diagrama de clases
Un diagrama de clases presenta un conjunto de clases, interfaces y colaboraciones, y las relaciones entre ellas.
Es el modelo más común en el modelado de sistemas orientados a objetos.
Se utilizan para describir la vista de diseño estática de un sistema.
La definición de clase incluye definiciones para atributos y operaciones.
Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Una clase implementa una o más interfaces.
Las clases se pueden utilizar para capturar el vocabulario del sistema que se está modelando.
Se pueden utilizar clases para representar cosas que sean software, hardware o puramente conceptuales.
Diagrama de clases
Pulse para editar los formatos del texto del esquema
Segundo nivel del esquema
Tercer nivel del esquema
Cuarto nivel del esquema
Quinto nivel del esquema
Sexto nivel del esquema
Séptimo nivel del esquema
Octavo nivel del esquema
Noveno nivel del esquemaHaga clic para modificar el estilo de texto del patrón
Diagrama de Objeto
Un diagrama de objetos representa un conjunto de objetos y sus relaciones.
Se utilizan para describir estructuras de datos, instantáneas de las instancias de los elementos encontrados en los diagramas de clases.
Cubren la vista de diseño estática o la vista de procesos estática de un sistema desde la perspectiva de casos reales o prototípicos.
Los diagramas de objetos modelan las instancias de los elementos contenidos en los diagramas de clases.
Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto.
Pulse para editar los formatos del texto del esquema
Segundo nivel del esquema
Tercer nivel del esquema
Cuarto nivel del esquema
Quinto nivel del esquema
Sexto nivel del esquema
Séptimo nivel del esquema
Octavo nivel del esquema
Noveno nivel del esquemaHaga clic para modificar el estilo de texto del patrón
Diagrama de Objeto
c: Compañía
d1: Departamento
nombre = “Ventas”
d2: Departamento
nombre = “I+D”
d3: Departamento nombre =
“Reparaciones”
p: Persona nombre = “Francisco”
id = 1234cargo = “vendedor”
:InformacionContacto
dirección = “Avda. España 1234”
Objeto anónimo
Valor del atributo
Enlace
Enlace
Un modelo conceptual de UML Para comprender UML, se necesita adquirir
un modelo conceptual del lenguaje. Esto requiere aprender tres elementos principales:
Bloques básicos de construcción de UML: elementos, relaciones y diagramas.
Reglas que dictan cómo se pueden combinar esos bloques.
Y algunos mecanismos comunes que se aplican a través de UML.
Pulse para editar los formatos del texto del esquema
Segundo nivel del esquema
Tercer nivel del esquema
Cuarto nivel del esquema
Quinto nivel del esquema
Sexto nivel del esquema
Séptimo nivel del esquema
Octavo nivel del esquema
Noveno nivel del esquemaHaga clic para modificar el estilo de texto del patrón
Reglas de UML
Los bloques de construcción de UML no pueden combinarse de cualquier manera. Como cualquier lenguaje UML tiene unas reglas que especifican a qué debe parecerse un modelo bien formado.
Un modelo bien formado es aquel que es semánticamente autoconsistente y está en armonía con todos sus modelos relacionados.
UML tiene reglas semánticas para:
Nombres: cómo llamar a los elementos, relaciones y diagramas.
Alcance: el contexto que da significado específico a un nombre.
Visibilidad: cómo se pueden ver y utilizar esos nombres por otros.
Integridad: cómo se relacionan apropiada y consistentemente unos elementos con otros.
Ejecución: qué significa ejecutar o simular un modelo dinámico.
Mecanismos comunes
Existen cuatro mecanismos comunes que se aplican de forma consistente a través de todo el lenguaje:
Especificaciones UML no es sólo un lenguaje gráfico, sino que
detrás de cada notación gráfica hay una especificación que proporciona una explicación textual de la sintaxis y semántica del bloque de construcción.
Por ejemplo, detrás del icono de una clase hay una especificación que proporciona información de sus atributos, operaciones, signaturas y comportamiento de la clase (visualmente el icono de la clase puede mostrar sólo parte de la especificación).
La notación gráfica de UML se utiliza para visualizar el sistema, la especificación se utiliza para enunciar los detalles de dicho sistema.
Pulse para editar los formatos del texto del esquema
Segundo nivel del esquema
Tercer nivel del esquema
Cuarto nivel del esquema
Quinto nivel del esquema
Sexto nivel del esquema
Séptimo nivel del esquema
Octavo nivel del esquema
Noveno nivel del esquemaHaga clic para modificar el estilo de texto del patrón
Adornos
La mayoría de los elementos UML tienen una única y clara notación gráfica que proporciona una representación visual de los aspectos más importantes del elemento. Pero la especificación puede incluir otros detalles algunos de los cuales se pueden incluir como adornos gráficos en la notación base.
Por ejemplo se pueden incluir adornos en el icono de una clase indicando la visibilidad de la operaciones.
Mecanismos de extensibilidad UML proporciona un lenguaje estándar
para escribir planos software, pero no es posible que un lenguaje cerrado sea siempre suficiente para expresar todos los matices posibles de todos los modelos en todos los dominios y en todos los momentos. Por esta razón UML es abierto-cerrado, siendo posible extender el lenguaje de manera controlada.
Los mecanismos de extensión incluyen : estereotipos, valores etiquetados y restricciones.
Muchas Gracias