um presentación

36
UNIVERSIDAD M AGISTER INGENIERIA EN SISTEMAS ESTRUCTURA DE ALGORITMOS TEMA: UML 2012

Upload: diego-san

Post on 26-May-2015

35 views

Category:

Technology


0 download

DESCRIPTION

uml presentación

TRANSCRIPT

Page 1: Um presentación

UNIVERSIDAD M AGISTERINGENIERIA EN SISTEMAS

ESTRUCTURA DE ALGORITMOS

TEMA: UML

2012

Page 2: Um presentación

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).

Page 3: Um presentación

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

Page 4: Um presentación

¡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.

Page 5: Um presentación

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.

Page 6: Um presentación

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

Page 7: Um presentación

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

Page 8: Um presentació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

Page 9: Um presentación

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.

Page 10: Um presentación

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

Page 11: Um presentació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

Page 12: Um presentación

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

Page 13: Um presentación

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

Page 14: Um presentación

Resumen de elementos

Page 15: Um presentación

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

Page 16: Um presentación

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

Page 17: Um presentació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

Page 18: Um presentación

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

Page 19: Um presentació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

Page 20: Um presentación

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

Page 21: Um presentación

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

Page 22: Um presentación

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

Page 23: Um presentació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

Page 24: Um presentación

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

Page 25: Um presentación

Ejemplo de relaciones

Page 26: Um presentación

Resumen de símbolos para relaciones

Page 27: Um presentación

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.

Page 28: Um presentación

Diagrama de clases

Page 29: Um presentación

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.

Page 30: Um presentación

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

Page 31: Um presentación

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.

Page 32: Um presentación

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.

Page 33: Um presentación

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.

Page 34: Um presentación

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.

Page 35: Um presentación

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.

Page 36: Um presentación

Muchas Gracias