SlideShare a Scribd company logo
1 of 61
Download to read offline
1
Universidad de San Martín de Porres
Facultad de Ingeniería y Arquitectura
Curso de Especialización Profesional / 2008 - II
Curso: Ingeniería de Software Orientada a
Objetos
Mg. Ing. Géner Zambrano L.
gzambrano@usmp.edu.pe
2
Sesión 02
UML
3
Contenido:
OMG
Definición de UML
Historia de UML
Modelamiento con UML
Definición de conceptos
Diagramas de UML
Fuentes de consulta y links
4
OMG
5
Object Management GroupObject Management Group ((OMG)
Es un consorcio internacional que promueve el desarrollo de
software orientado por objetos.
El objetivo del OMG es proveer un marco de arquitectura común
para permitir la interacción de objetos en plataformas heterogéneas
y distribuidas.
Fue fundado en 1989.
Inicialmente estuvo conformado por 8 compañías: 3Com
Corpotation, American Airlines, Canon Inc., Data General,
Hewlett-Packard, Philips Telecommunications N.V., Sun
Microsystems y Unisys Corporation.
El OMG no realiza trabajos de desarrollo e implementación, más
bien se basa en la tecnología existente ofrecida por sus miembros.
6
UML
7
¿Qué es UML (Unified Modeling Language)?
Grady Booch
Ivar Jacobson
James
Rumbaugh
UML es el lenguaje
estándar para visualizar,
especificar, construir y
documentar los artefactos
de una aplicación de
software ó sistema.
Socios de la compañía
Rational Software,
Herramienta case Rational
Rose.
LENGUAJE UNIFICADO DE MODELADO
8
¿Qué es UML (Unified Modeling Language)?
Uml prescribe un conjunto de notaciones y diagramas estándar para
modelar sistemas orientados a objeto y describe la semántica
esencial de lo que estos diagramas y símbolos significan.
UML es una notación, destinado a los sistemas de modelado que
utilizan conceptos orientados a objetos. Los principales factores que
motivaron la creación de uml
fueron:
La necesidad de modelar sistemas.
Las tendencias en la industria de software.
Unificar los distintos lenguajes y métodos existentes.
Innovar los modelos para adaptarse a la arquitectura distribuida.
9
UML no es:
Un lenguaje de programación visual, sino un lenguaje de
modelación visual.
Una herramienta o deposito de especificación, sino un lenguaje
de modelación de especificación.
Un proceso, sino que habilita procesos.
Fundamentalmente, UML está relacionado con la captura,
comunicación y nivelación (disgregación en niveles) de
conocimientos.
10
Evolución de UML:
Nov ‘97 UML aprobado por el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2001 UML 2.0
Revisiones menores
11
Modelo
El proceso de desarrollo de software se inicia con la
construcción de un modelo. Dicho modelo representa la
especificación precisa de las necesidades del usuario
trasladadas a los requerimientos.
Un modelo es la interpretación simplificada de la
realidad.
Estructuralmente destaca la organización del sistema y a
nivel de comportamiento destaca la dinámica del sistema.
12
Modelo, propósitos:
Ayudar a comprender un problema complejo (o solución)
Comunicar ideas acerca de un problema o solución
Guiar la implementación
Como la documentación base que describe el sistema
13
Modelo, características:
Abstracto
Enfatiza los elementos importantes y oculta los irrelevantes
Comprensible
Fácil de comprender por los observadores
Preciso
Representa de forma fiel el sistema que modela
Predictivo
Se pueden usar para deducir conclusiones sobre el sistema que
modela
Barato
Mucho más barato y sencillo de construir es el sistema que se
modela
• Los modelos de ingeniería eficaces deben satisfacer todas estas
características
14
Modelo, como se usa:
Para detectar errores u omisiones en el diseño antes de
comprometer recursos para la implementación
Analizar y experimentar
Investigar y comparar soluciones alternativas
Minimizar riesgos
Para comunicarse con los “stakeholders”
Clientes, usuarios, implementadores, encargados de
pruebas, documentadores, etc.
Para guiar la implementación
15
Proceso
Un buen proceso debe permitir a los equipos y clientes
trabajar juntos para construir sistemas complejos con
pocos defectos en menor tiempo con mayor confiabilidad
y previsibilidad para identificar y para reducir riesgos.
16
UML, características:
Divide cada proyecto en un número de diagramas que
representan las distintas vistas del proyecto y juntos representan
la arquitectura del mismo.
Permite describir un sistema en diferentes niveles de
abstracción, simplificando la complejidad sin perder
información, para que los usuarios y desarrolladores
comprendan las características de la aplicación.
Se quiere convertir en un lenguaje estándar con el que sea
posible modelar todos los componentes del desarrollo de una
aplicación, sin embargo no pretende definir un modelo de
desarrollo sino únicamente un lenguaje de modelado.
17
¿Cómo utilizar UML?
Lo primero que se debe hacer para comenzar a desarrollar un
proyecto con UML, es seleccionar una metodología de desarrollo
que defina la naturaleza concreta del proceso a seguir.
El modelo a definir en base al proceso elegido, se divide en realidad
en varios tipos de modelo o vistas, cada una centrada en un aspecto o
punto de vista del sistema. En general, independientemente del
proceso que se emplee, se puede encontrar las siguientes vistas:
18
...continua, ¿Cómo utilizar UML?
Vista de Casos de Uso. Engloba los Casos de Uso que describen el
comportamiento del sistema como lo verían los usuarios finales y
desarrolladores. No especifica la organización del sistema.
Vista de Diseño. Engloba las clases e interfaces que conforman el
vocabulario del problema y su solución. Da soporte a los requisitos
funcionales del sistema, es decir los servicios que proporciona a los
usuarios finales.
Con UML los aspectos estáticos de estas dos vistas se pueden concretar
con los diagramas de clases y de objetos; los aspectos dinámicos con los
diagramas de iteración (secuencia y colaboración), diagramas de estados
y de actividades.
19
...continua, ¿Cómo utilizar UML?
Vista de Procesos. Engloba los hilos y procesos que forman los
mecanismos de sincronización y concurrencia del sistema. Da soporte al
funcionamiento, capacidad de crecimiento y rendimiento del sistema.
Vista de Despliegue. Engloba los nodos que forman la topología
hardware sobre el que se ejecuta el sistema. Da soporte a la distribución,
entrega e instalación de las partes que conforman el sistema físico.
Con UML los aspectos estáticos de esta vista se pueden concretar con
los diagramas despliegue; los aspectos dinámicos con los diagramas de
iteración (secuencia y colaboración), diagramas de estados y de
actividades.
20
...continua, ¿Cómo utilizar UML?
Vista de Implementación. Engloba los componentes y archivos
empleados para hacer posible el sistema físico. Da soporte a la gestión de
configuraciones de las distintas versiones del sistema, a partir de
componentes y archivos.
Con UML los aspectos estáticos de esta vista se pueden concretar con
los diagramas de componentes; los aspectos dinámicos con los diagramas
de iteración (secuencia y colaboración), diagramas de estados y de
actividades.
21
Lenguaje de modelamiento: UML
UML tiene tres bloques básicos de construcción: elementos,
relaciones y diagramas.
I. Elementos: Unidades básicas de construcción, cuatro tipos:
1.1 Estructurales: Partes estáticas de los modelos, representan
aspectos conceptuales o materiales.
1.2 De comportamiento: Partes dinámicas de los modelos,
representan comportamientos en el tiempo y espacio.
1.3 De agrupación: Partes organizativas de los modelos.
1.4 De Notación: Partes explicativas de los modelos.
22
...continua, Lenguaje de modelamiento: UML
1.1 Elementos estructurales:
Una interfaz es una colección de operaciones que
especifican un servicio de una clase o un componente.
Describe el comportamiento visible de ese elemento.
Dibujable
Ventana
origen
tamaño
abrir()
cerrar()
mover()
dibujar()
Una clase es una descripción de un conjunto de objetos
que comparten los mismos atributos, operaciones,
relaciones y semántica.
23
...continua, Lenguaje de modelamiento: UML
1.1 Elementos estructurales:
Un caso de uso es una descripción de un conjunto de
secuencias de acciones de un sistema y que produce
un resultado observable de interés para un actor
particular.registrar pedido
Una colaboración define una interacción y es una
sociedad de roles y otros elementos que colaboran para
proporcionar un comportamiento cooperativo.
realización
registrar pedido
24
...continua, Lenguaje de modelamiento: UML
1.1 Elementos estructurales:
Parte física y reemplazable de un sistema, que agrupa
un conjunto de interfaces, archivos de código fuente,
clases, colaboraciones y proporciona la implementación
de dichos elementos.
Elemento físico que existe en tiempo de ejecución y
representa un recurso computacional con capacidad de
procesamiento.
25
...continua, Lenguaje de modelamiento: UML
1.2 Elementos de comportamiento:
Comprende un conjunto de mensajes que se
intercambian entre un conjunto de objetos, para
cumplir un objetivo especifico.
compra
Especifica la secuencia de estados por los que
pasa un objeto o una interacción, en respuesta a
eventos.
esperando
26
...continua, Lenguaje de modelamiento: UML
1.3 Elementos de agrupación:
Se emplea para organizar elementos en grupos.
1.4 Elementos de notación:
Una nota es un elemento explicativo de los
modelos UML. Sirve para hacer claridad
sobre elementos del modelo.
27
v ...continua, Lenguaje de modelamiento: UML
II. Relaciones: Abstracciones que actúan de unión entre los
elementos.
Una dependencia es una relación semántica entre
dos elementos, en la cual un cambio a un elemento
(elemento independiente) puede afectar la
semántica del otro elemento (elemento
dependiente).
Dependencia
Es una relación estructural que resume un conjunto
de enlaces que son conexiones entre objetos.Asociación
Una asociación es una relación estructural que
describe un conjunto de enlaces, los cuales son
conexiones entre objetos. La agregación es un tipo
especial de asociación, que representa una relación
estructural entre un todo y sus partes.
UniversidadFacultad 1..*
1
1..*
1
28
v ...continua, Lenguaje de modelamiento: UML
Una generalización es una relación en la cual los
objetos del elemento especializado (el hijo) pueden
sustituir a los objetos del elemento general (el
padre). De esta forma, el hijo comparte la
estructura y el comportamiento del padre
Generalización
Una realización especifica que una clase
implementara un conjunto de métodos
especificados por una interfaz .Realización
29
III. Diagramas
En OMG UML 2.0 se definen una serie de diagramas adicionales a los
establecidos en OMG UML 1.x. El conjunto de diagramas se encuentra organizado
en torno a dos categorías: diagramas estructurales (representados en verdes) y
diagramas dinámicos o de comportamiento (representados en celeste). Los
diferentes diagramas son indicados en la figura siguiente:
30
III. Diagramas, continua...
Jerarquía de Diagramas
Diagramas de estructura enfatizan en los elementos que deben
existir en el sistema modelado
Diagramas de comportamiento enfatizan en lo que debe suceder
en el sistema modelado
Diagramas de Interacción, un subtipo de diagramas de
comportamiento, que enfatiza sobre el flujo de control y de datos
entre los elementos del sistema modelado
31
III. Diagramas, continua...
Communication
Diagrams
Sequence
Diagrams
Interaction
Diagrams
Class
Diagrams
Deployment
Diagrams
Component
Diagrams
Object
Diagrams
Structural
Diagrams
State Machine
Diagrams
Timing
Diagrams
Activity
Diagrams
Behavioral
Diagrams
Use Case
Diagrams
Package
DiagramsStructure
Diagrams
Interaction
Diagrams
32
Diagrama de Casos de Uso.
Permiten realizar la especificación del alcance funcional del
producto software que se construye y de los actores, entes que
interactúan con el producto de software, que requieren los diferentes
casos de usos.
Los casos de usos pueden relacionarse entre sí a través de
asociaciones que permiten, entre otras cosas, refinar el Modelo de
Casos de Usos a través de las asociaciones de:
•Generalización
•Extends
•Includ
Enfatizan el qué en lugar del cómo.
33
...contiuna, Diagrama de Casos de Uso
Generalización.
Asociación estereotipada
como “generalization”.
Permite establecer una
jerarquía de herencia al nivel
de los casos de uso, donde el
caso de uso derivado adquiere
toda la especificación del caso
de uso base e incorporar
nuevos requerimientos a la
especificación.
Reservar libros Reservar cubiculos
Alumno
Reservar recursos
34
...contiuna, Diagrama de Casos de Uso
Solicitar N ueva Tarjeta
Cliente
Solicitar Préstamo
<<extend> >
[Tarjeta Caducada]
Extensión.
Asociación estereotipada
como: extend. Permite
incorporar el flujo de eventos
de un caso de uso pequeño
dentro de un caso de uso base
de la aplicación bajo la
ocurrencia de una
determinada condición,
cuando la misma evalúa
verdadero.
35
...contiuna, Diagrama de Casos de Uso
Inclusión.
Asociación estereotipada como: incluye. Permite incorporar el flujo
de eventos de un caso de uso pequeño dentro de un caso de uso base
de la aplicación.
Verificar Operación
Consignación
Cliente
Pago de Crédito
<<include>>
<<include>>
36
continua, Diagrama de Casos de Uso, ejemplo:
37
Diagrama de Clases
Muestra las relaciones estructurales y estáticas entre clases.
Un modelo conceptual o modelo del dominio muestra gráficamente los
conceptos (clases de objetos), los atributos y las asociaciones más
importantes del dominio del problema.
Alumno
ProfPorCursoPorE
scuela
ProfesorPorCurso
Curso
Profesor
0..*
0..*
0..*
0..*
enseña
Region
DptoGeografico
11..* 11..*
pertenece
Universidad
Escuela
0..*0..* 0..*0..*
trabaja en
Provincia
1..*
1
1..*
1
Facultad
1..*
1
1..*
1
pertenece
1..*
1
1..*
1
pertenece
Distrito
1..*
1
1..*
1
1
0..*
1
0..*
se ubica
Persona
1
0..*
1
0..*reside en
38
Los diagramas de
objetos son análogos
a los de clases, con la
particularidad de que
en lugar de encontrar
clases, encontramos
instancias de éstas.
Son útiles para
explicar partes
pequeñas del modelo
en las que hay
relaciones complejas.
Diagrama de Objetos
39
Diagrama de Objetos – Diagrama de Clases (relación):
Los objetos se vinculan por enlaces, que son instanacias de las
relaciones entre las clase sde objetos del dominio.
Diagrama de objetos
Diagrama de clases
40
...continua, Diagrama de Actividades
Buscar Bebida
Poner café en filtro Añadir agua al depósito Coger taza
Poner filtro en máquina
Encender máquina
Café en preparación
Servir café
Coger zumo
Beber
[no hay café]
[hay café
[no zumo]
[hay zumo]
/ cafetera.On
indicador de fin
Los diagramas de actividades muestran como las actividades fluyen y las
dependencias entre ellas.
41
...continua, Diagrama de Actividades
Emitir billete
Pasajero Vendedor Airline
Solicitar pago Reservar plazas
Confirmar
plaza reservadaPagar pasaje
Informar alternativas
y precios
Verificar
existencia vuelo
Dar detalles vuelo
Solicitar pasaje
Seleccionar vuelo
Ejemplo: “swim lines=pasillos”
42
Diagrama de Estados
Muestran los posibles estados en que puede encontrarse un objeto y
las transiciones que pueden causar un cambio de estado. El estado
de un objeto depende de la actividad que esté llevando a cabo o de
alguna condición.
Resultado de
actividad
inicio
Circunstancia o condición
que provoca la transición
acción
fin
43
...continua, Diagrama de Estados
Los estados pueden anidarse, agrupando estados relacionados en
un estado compuesto. Puede ser necesario cuando una actividad
involucra actividades concurrentes o asíncronas.
44
Diagrama de Secuencia
: Encargado
:WInPréstamos :Socio :Video :Préstamo
prestar(video, socio)
verificar situación socio
verificar situación video
registrar préstamo
entregar recibo
Al diagrama de secuencia se le ha incorporado un mecanismo a través
del cual se puede realizar la especificación de bloques repetitivos,
opcionales, alternativos, entre otros. En el siguiente diagrama se puede
observar que el registro del préstamo solo se efectúa si el usuario
satisface la regla de negocio que establece que el video se encuentre
disponible.
45
Diagrama de Comunicación (colaboración)
Muestra la distribución estática de los objetos. Resalta la relación
estructural de los objetos que intercambian mensajes.
: Encargado
:WInPréstamos
:Socio
:Video
:Préstamo
1: prestar(video, socio)
2: verificar situación socio
3: verificar situación video
4: registrar préstamo
5: entregar recibo
46
Diagrama de Secuencia y de Comunicación (colaboración)
Los diagramas de secuencia y de colaboración son Isomorfos.
Un diagrama de secuencia se puede transformar mecanicamente en un
diagrama de comunicación. Un diagrama de comunicación se puede
transformar mecanicamente en un diagrama de secuencia.
: Usuario
: Actividad: GestroActividad
: InterfazActividad
llama al Caso de
uso incluido
VisualizarHorario
Flujo alternativo
2.2.1.
Flujo alternatico
2.2.5.
1: Crear o modificar actividad
4: Selecciona intervalo
horario, dia, descripción
6: actualiza la actividad
2: solicita/buscar periodos de tiempo
3: visualida horario
5: visualizan los nuevos cambios
47
Diagrama de Componentes
Uno de los principales elementos incorporados al diagrama de
componentes consiste en la definición de puertos a través de los
cuales cada componente de software entrega un conjunto de servicios
a través de interfaces proveídas y de manera declarativa se definen
los servicios requeridos por el componente software. Este mecanismo
permite, que un componente software de manera aislada cuente con
toda la especificación no solo interna sino además de la
especificación de los requerimientos para la integración del
componente software con otros componentes software.
El diagrama de componente muestra interfaces y dependencias entre
los componentes del software, los componentes de código de fuente,
código binario y ejecutables. Un módulo del software puede
representarse como un tipo de componente.
48
...continua, Diagrama de Componentes
Un componente es un módulo
de código, de modo que los
diagramas de componentes
son los análogos físicos a los
diagramas de clases.
Muestran la organización y
dependencias de un conjunto
de componentes. Cubren la
vista de implementación
estática de un sistema.
49
Diagrama de Despliegue
Estos diagramas muestran la distribución y relación entre los
diferentes elementos de hardware llamados “nodos”; por ejemplo:
cpu, dispositivos de I/O, routers, etc.
Los diagramas de despliegue sirven para modelar la configuración
del hardware del sistema, mostrando qué nodos lo componen
50
...continua, Diagrama de Despliegue
InterfazDeCliente InterfazDeVendedor
CargosDeTarjetasDeCrédito
VendedorDeEntradas
InterfazDeGestor
BDEntradas
Cliente Vendedor
Quiosco TerminaDeVentas
ServidorDeEntradas
GestorEntidadDeTarjetasDeCrédito
nodo
1
*
1
multiplicidad
de nodo
dependencia
componente
Nivel de Descripción:
51
...continua, Diagrama de Despliegue
Nivel de instancia:
quiosco de la calle Mayor: Quiosco
oficina central: ServidorDeEntradas
taquilla de la calle del Rio:
TerminalDeVentas
oficina de televentas:
TerminalDeVentas
quiosco del mercado: Quiosco
Instancia de nodo
Nombre de nodo
Tipo de nodo
enlace de comunicación
52
Diagrama de Estructura Compuesta
Se emplea para visualizar de manera gráfica las partes que definen la
estructura interna de un clasificador. Cuando se utiliza en el marco
de una clase, este diagrama permite elaborar un diagrama de clases
donde se muestran los diferentes atributos (partes) y las clases, a
partir de las cuales se definen los atributos, indicando principalmente
las asociaciones de agregación o de composición de la clase a la que
se le elabora el diagrama.
Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/CompositeStructureDiagram.html
53
Diagrama de General de Interacción
Se emplea fundamentalmente
para representar las
interacciones, a través de
diagramas o fragmentos de
diagramas de secuencias,
entre los actores y el sistema
como una gran caja negra, y
de diagramas de actividades
en los que aparecen dichos
fragmentos.
Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/InteractionOverviewDiagram.html
54
Diagrama de Tiempos
Empleados para mostrar las
interacciones donde el
propósito fundamental
consiste en razonar sobre la
ocurrencia de eventos en el
tiempo que provocan el
cambio de estados de un
elemento estructural (clase,
componente, etc.).
Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/TimingDiagram.html
55
Diagrama de Paquetes
Los paquetes ofrecen un mecanismo general para la
organización de los modelos/subsistemas agrupando
elementos de modelado
Se representan gráficamente como:
Nombre de
paquete
56
...continua, Diagrama de Paquetes
Cada paquete corresponde a un submodelo (subsistema) del
modelo (sistema)
Un paquete puede contener otros paquetes, sin límite de
anidamiento pero cada elemento pertenece a (está definido
en) sólo un paquete
Una clase de un paquete puede aparecer en otro paquete por
la importación a través de una relación de dependencia entre
paquetes
57
Resumen de los Diagramas de UML 2.0.
Diagrama Descripción
Diagrama de actividad “Activity
Diagram”
Modela los procesos de negocio de alto nivel, incluso los flujos de datos,
también para modelar la lógica compleja dentro de un sistema
Diagrama de Clases “Class
Diagram”
Nos muestra una colección de elementos del modelo estáticos como las
clases y tipos, sus objetos, y sus relaciones.
Diagrama de Comunicación
“Communication Diagram”
Muestran las clases, sus relaciones mutuas, y el mensaje que fluyen entre
ellas. La comunicación hace que el diagrama se enfoque típicamente en la
organización estructural de los objetos que envían y reciben los mensajes;
antes Diagrama de Colaboración.
Diagrama de componente
“Component Diagram”
Modela los componentes que componen una aplicación o sistema. Además
sus relaciones mutuas, interacciones e interfaces.
Diagrama de Estructura
Compuesta “Composite
Structure Diagram”
Modela la estructura interior de un clasificador (como una clase, componente,
o un caso de uso), incluso los puntos de la interacción del clasificador o otras
partes del sistema.
58
...continua, Resumen de los Diagramas de UML 2.0.
Diagrama Descripción
Diagrama de Despliegue
“Deployment Diagram”
Muestras la arquitectura de la ejecución de sistemas. Esto incluye nodos,
hardware o ambientes de ejecución de software, así como el middleware que
los conecta.
Diagrama Global de Interacción
“Interaction Overview Diagram”
Una variante de un diagrama de actividad son las apreciaciones globales el
flujo del mando dentro de un sistema o proceso de negocio. Cada nodo /
actividad dentro del diagrama puede representar otro diagrama de la
interacción.
Diagrama de Objetos “Object
Diagram”
Modela los objetos y sus relaciones en un determinado tiempo, típicamente
un caso especial de un diagrama de clase o un diagrama de comunicación.
Diagrama de paquetes
“Package Diagram”
Muestras cómo los elementos principales son organizados en los paquetes
así como las dependencias entre estos.
59
...continua, Resumen de los Diagramas de UML 2.0.
Diagrama Descripción
Diagrama de Secuencia
“Sequence Diagram”
Muestra la lógica secuencial del modelo, en el efecto la clasificación de
tiempo de mensajes entre los clasificadores.
El Diagrama de la Máquina
Estado “State Machine
Diagram”
Describe los estados de un objeto o la interacción que pueden ser las
transiciones entre los estados. Anteriormente llamado diagrama de estado, o
un diagrama de la estado-transición.
Diagrama de Tiempo “Timing
Diagram”
Pinta el cambio con el tiempo en estado o condición de un caso del
clasificador o papel el tiempo. Típicamente usado para mostrar el cambio con
el tiempo en el estado de un objeto en la contestación a los eventos externos.
Diagrama de Caso de Uso “Use
Case Diagram”
Muestra los procesos que contendrá el sistema a través de casos de uso,
actores, y sus relaciones mutuas
60
Fuentes de consulta:
PAGINA DE RATIONAL: http://www-306.ibm.com/software/rational/offer/
TUTORIAL: http://www.cs.utsa.edu/~kdo/roseTutorial/
http://www.sparxsystems.com.au/resources/uml2_tutorial/
61
Fin de la Sesión 02
UML

More Related Content

What's hot

Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
Yaniris Sepulveda
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
Juan Garcia
 
Metodología Incremental
Metodología IncrementalMetodología Incremental
Metodología Incremental
andreilouis
 
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software   jacobson - booch - rumbaughEl proceso unificado de desarrollo de software   jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
Bolívar Emmanuel Germanotta
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
Julio Pari
 
Metodologia iterativa
Metodologia iterativaMetodologia iterativa
Metodologia iterativa
GRINMER
 

What's hot (20)

Categorías del software
Categorías del softwareCategorías del software
Categorías del software
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
 
Uml (presentación 6)
Uml (presentación 6)Uml (presentación 6)
Uml (presentación 6)
 
Modelos concurrentes
Modelos concurrentesModelos concurrentes
Modelos concurrentes
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental uml
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Modelo Conceptual UML
Modelo Conceptual UMLModelo Conceptual UML
Modelo Conceptual UML
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
 
Metodología Incremental
Metodología IncrementalMetodología Incremental
Metodología Incremental
 
Capitulo 2 comunicacion
Capitulo 2 comunicacionCapitulo 2 comunicacion
Capitulo 2 comunicacion
 
CMMI Capability Maturity Model Integration
CMMI   Capability Maturity Model Integration CMMI   Capability Maturity Model Integration
CMMI Capability Maturity Model Integration
 
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software   jacobson - booch - rumbaughEl proceso unificado de desarrollo de software   jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
 
P1
P1P1
P1
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
 
Metodologia iterativa
Metodologia iterativaMetodologia iterativa
Metodologia iterativa
 
Fundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfFundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdf
 
Diagrama de Casos de uso
Diagrama de Casos de usoDiagrama de Casos de uso
Diagrama de Casos de uso
 

Viewers also liked

Diagramas De Secuencia
Diagramas De SecuenciaDiagramas De Secuencia
Diagramas De Secuencia
Fabian Garcia
 
Diapositivas inge soft 2
Diapositivas inge soft 2Diapositivas inge soft 2
Diapositivas inge soft 2
jorge orlando
 
UML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela FollecoUML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela Folleco
2008PA2Info3
 
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Pedro Cobarrubias
 

Viewers also liked (20)

diagrama de despliegue
diagrama de desplieguediagrama de despliegue
diagrama de despliegue
 
Diagramas De Despligue Uml
Diagramas De Despligue UmlDiagramas De Despligue Uml
Diagramas De Despligue Uml
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetes
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Diagramas De Secuencia
Diagramas De SecuenciaDiagramas De Secuencia
Diagramas De Secuencia
 
Guía Didáctica 1.-UML
Guía Didáctica 1.-UMLGuía Didáctica 1.-UML
Guía Didáctica 1.-UML
 
Digramas
Digramas Digramas
Digramas
 
Diapositivas inge soft 2
Diapositivas inge soft 2Diapositivas inge soft 2
Diapositivas inge soft 2
 
UML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela FollecoUML para sistemas de tiempo real - Marcela Folleco
UML para sistemas de tiempo real - Marcela Folleco
 
Uml
UmlUml
Uml
 
Diagrama de despliegue uml
Diagrama de despliegue uml Diagrama de despliegue uml
Diagrama de despliegue uml
 
Uml stiven
Uml stivenUml stiven
Uml stiven
 
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
 
Diagrama de colaboración[1]
Diagrama de colaboración[1]Diagrama de colaboración[1]
Diagrama de colaboración[1]
 
Diagrama de colaboración[1]
Diagrama de colaboración[1]Diagrama de colaboración[1]
Diagrama de colaboración[1]
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Diagrama de colaboración
Diagrama de colaboraciónDiagrama de colaboración
Diagrama de colaboración
 
Uml Resumen
Uml ResumenUml Resumen
Uml Resumen
 

Similar to Sesion1.1 uml

El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
aioria2525
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
Alexa Romero
 
Modelamiento visual-y-uml346
Modelamiento visual-y-uml346Modelamiento visual-y-uml346
Modelamiento visual-y-uml346
Mguel
 

Similar to Sesion1.1 uml (20)

Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
Desarrollo de uml
Desarrollo de umlDesarrollo de uml
Desarrollo de uml
 
UML
UMLUML
UML
 
Uml
UmlUml
Uml
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
ADS - Sesion2
ADS - Sesion2ADS - Sesion2
ADS - Sesion2
 
MODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLMODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UML
 
Modelamiento visual-y-uml346
Modelamiento visual-y-uml346Modelamiento visual-y-uml346
Modelamiento visual-y-uml346
 
UML - Sesion 2.ppt
UML  - Sesion 2.pptUML  - Sesion 2.ppt
UML - Sesion 2.ppt
 
tema-7-introduccionuml3.ppt
tema-7-introduccionuml3.ppttema-7-introduccionuml3.ppt
tema-7-introduccionuml3.ppt
 
tema-7-introduccionuml3.ppt
tema-7-introduccionuml3.ppttema-7-introduccionuml3.ppt
tema-7-introduccionuml3.ppt
 
Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UML
 

Sesion1.1 uml

  • 1. 1 Universidad de San Martín de Porres Facultad de Ingeniería y Arquitectura Curso de Especialización Profesional / 2008 - II Curso: Ingeniería de Software Orientada a Objetos Mg. Ing. Géner Zambrano L. gzambrano@usmp.edu.pe
  • 3. 3 Contenido: OMG Definición de UML Historia de UML Modelamiento con UML Definición de conceptos Diagramas de UML Fuentes de consulta y links
  • 5. 5 Object Management GroupObject Management Group ((OMG) Es un consorcio internacional que promueve el desarrollo de software orientado por objetos. El objetivo del OMG es proveer un marco de arquitectura común para permitir la interacción de objetos en plataformas heterogéneas y distribuidas. Fue fundado en 1989. Inicialmente estuvo conformado por 8 compañías: 3Com Corpotation, American Airlines, Canon Inc., Data General, Hewlett-Packard, Philips Telecommunications N.V., Sun Microsystems y Unisys Corporation. El OMG no realiza trabajos de desarrollo e implementación, más bien se basa en la tecnología existente ofrecida por sus miembros.
  • 7. 7 ¿Qué es UML (Unified Modeling Language)? Grady Booch Ivar Jacobson James Rumbaugh UML es el lenguaje estándar para visualizar, especificar, construir y documentar los artefactos de una aplicación de software ó sistema. Socios de la compañía Rational Software, Herramienta case Rational Rose. LENGUAJE UNIFICADO DE MODELADO
  • 8. 8 ¿Qué es UML (Unified Modeling Language)? Uml prescribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objeto y describe la semántica esencial de lo que estos diagramas y símbolos significan. UML es una notación, destinado a los sistemas de modelado que utilizan conceptos orientados a objetos. Los principales factores que motivaron la creación de uml fueron: La necesidad de modelar sistemas. Las tendencias en la industria de software. Unificar los distintos lenguajes y métodos existentes. Innovar los modelos para adaptarse a la arquitectura distribuida.
  • 9. 9 UML no es: Un lenguaje de programación visual, sino un lenguaje de modelación visual. Una herramienta o deposito de especificación, sino un lenguaje de modelación de especificación. Un proceso, sino que habilita procesos. Fundamentalmente, UML está relacionado con la captura, comunicación y nivelación (disgregación en niveles) de conocimientos.
  • 10. 10 Evolución de UML: Nov ‘97 UML aprobado por el OMG 1998 1999 2000 UML 1.2 UML 1.3 UML 1.4 2001 UML 2.0 Revisiones menores
  • 11. 11 Modelo El proceso de desarrollo de software se inicia con la construcción de un modelo. Dicho modelo representa la especificación precisa de las necesidades del usuario trasladadas a los requerimientos. Un modelo es la interpretación simplificada de la realidad. Estructuralmente destaca la organización del sistema y a nivel de comportamiento destaca la dinámica del sistema.
  • 12. 12 Modelo, propósitos: Ayudar a comprender un problema complejo (o solución) Comunicar ideas acerca de un problema o solución Guiar la implementación Como la documentación base que describe el sistema
  • 13. 13 Modelo, características: Abstracto Enfatiza los elementos importantes y oculta los irrelevantes Comprensible Fácil de comprender por los observadores Preciso Representa de forma fiel el sistema que modela Predictivo Se pueden usar para deducir conclusiones sobre el sistema que modela Barato Mucho más barato y sencillo de construir es el sistema que se modela • Los modelos de ingeniería eficaces deben satisfacer todas estas características
  • 14. 14 Modelo, como se usa: Para detectar errores u omisiones en el diseño antes de comprometer recursos para la implementación Analizar y experimentar Investigar y comparar soluciones alternativas Minimizar riesgos Para comunicarse con los “stakeholders” Clientes, usuarios, implementadores, encargados de pruebas, documentadores, etc. Para guiar la implementación
  • 15. 15 Proceso Un buen proceso debe permitir a los equipos y clientes trabajar juntos para construir sistemas complejos con pocos defectos en menor tiempo con mayor confiabilidad y previsibilidad para identificar y para reducir riesgos.
  • 16. 16 UML, características: Divide cada proyecto en un número de diagramas que representan las distintas vistas del proyecto y juntos representan la arquitectura del mismo. Permite describir un sistema en diferentes niveles de abstracción, simplificando la complejidad sin perder información, para que los usuarios y desarrolladores comprendan las características de la aplicación. Se quiere convertir en un lenguaje estándar con el que sea posible modelar todos los componentes del desarrollo de una aplicación, sin embargo no pretende definir un modelo de desarrollo sino únicamente un lenguaje de modelado.
  • 17. 17 ¿Cómo utilizar UML? Lo primero que se debe hacer para comenzar a desarrollar un proyecto con UML, es seleccionar una metodología de desarrollo que defina la naturaleza concreta del proceso a seguir. El modelo a definir en base al proceso elegido, se divide en realidad en varios tipos de modelo o vistas, cada una centrada en un aspecto o punto de vista del sistema. En general, independientemente del proceso que se emplee, se puede encontrar las siguientes vistas:
  • 18. 18 ...continua, ¿Cómo utilizar UML? Vista de Casos de Uso. Engloba los Casos de Uso que describen el comportamiento del sistema como lo verían los usuarios finales y desarrolladores. No especifica la organización del sistema. Vista de Diseño. Engloba las clases e interfaces que conforman el vocabulario del problema y su solución. Da soporte a los requisitos funcionales del sistema, es decir los servicios que proporciona a los usuarios finales. Con UML los aspectos estáticos de estas dos vistas se pueden concretar con los diagramas de clases y de objetos; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.
  • 19. 19 ...continua, ¿Cómo utilizar UML? Vista de Procesos. Engloba los hilos y procesos que forman los mecanismos de sincronización y concurrencia del sistema. Da soporte al funcionamiento, capacidad de crecimiento y rendimiento del sistema. Vista de Despliegue. Engloba los nodos que forman la topología hardware sobre el que se ejecuta el sistema. Da soporte a la distribución, entrega e instalación de las partes que conforman el sistema físico. Con UML los aspectos estáticos de esta vista se pueden concretar con los diagramas despliegue; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.
  • 20. 20 ...continua, ¿Cómo utilizar UML? Vista de Implementación. Engloba los componentes y archivos empleados para hacer posible el sistema físico. Da soporte a la gestión de configuraciones de las distintas versiones del sistema, a partir de componentes y archivos. Con UML los aspectos estáticos de esta vista se pueden concretar con los diagramas de componentes; los aspectos dinámicos con los diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.
  • 21. 21 Lenguaje de modelamiento: UML UML tiene tres bloques básicos de construcción: elementos, relaciones y diagramas. I. Elementos: Unidades básicas de construcción, cuatro tipos: 1.1 Estructurales: Partes estáticas de los modelos, representan aspectos conceptuales o materiales. 1.2 De comportamiento: Partes dinámicas de los modelos, representan comportamientos en el tiempo y espacio. 1.3 De agrupación: Partes organizativas de los modelos. 1.4 De Notación: Partes explicativas de los modelos.
  • 22. 22 ...continua, Lenguaje de modelamiento: UML 1.1 Elementos estructurales: Una interfaz es una colección de operaciones que especifican un servicio de una clase o un componente. Describe el comportamiento visible de ese elemento. Dibujable Ventana origen tamaño abrir() cerrar() mover() dibujar() Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica.
  • 23. 23 ...continua, Lenguaje de modelamiento: UML 1.1 Elementos estructurales: Un caso de uso es una descripción de un conjunto de secuencias de acciones de un sistema y que produce un resultado observable de interés para un actor particular.registrar pedido Una colaboración define una interacción y es una sociedad de roles y otros elementos que colaboran para proporcionar un comportamiento cooperativo. realización registrar pedido
  • 24. 24 ...continua, Lenguaje de modelamiento: UML 1.1 Elementos estructurales: Parte física y reemplazable de un sistema, que agrupa un conjunto de interfaces, archivos de código fuente, clases, colaboraciones y proporciona la implementación de dichos elementos. Elemento físico que existe en tiempo de ejecución y representa un recurso computacional con capacidad de procesamiento.
  • 25. 25 ...continua, Lenguaje de modelamiento: UML 1.2 Elementos de comportamiento: Comprende un conjunto de mensajes que se intercambian entre un conjunto de objetos, para cumplir un objetivo especifico. compra Especifica la secuencia de estados por los que pasa un objeto o una interacción, en respuesta a eventos. esperando
  • 26. 26 ...continua, Lenguaje de modelamiento: UML 1.3 Elementos de agrupación: Se emplea para organizar elementos en grupos. 1.4 Elementos de notación: Una nota es un elemento explicativo de los modelos UML. Sirve para hacer claridad sobre elementos del modelo.
  • 27. 27 v ...continua, Lenguaje de modelamiento: UML II. Relaciones: Abstracciones que actúan de unión entre los elementos. Una dependencia es una relación semántica entre dos elementos, en la cual un cambio a un elemento (elemento independiente) puede afectar la semántica del otro elemento (elemento dependiente). Dependencia Es una relación estructural que resume un conjunto de enlaces que son conexiones entre objetos.Asociación Una asociación es una relación estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos. La agregación es un tipo especial de asociación, que representa una relación estructural entre un todo y sus partes. UniversidadFacultad 1..* 1 1..* 1
  • 28. 28 v ...continua, Lenguaje de modelamiento: UML Una generalización es una relación en la cual los objetos del elemento especializado (el hijo) pueden sustituir a los objetos del elemento general (el padre). De esta forma, el hijo comparte la estructura y el comportamiento del padre Generalización Una realización especifica que una clase implementara un conjunto de métodos especificados por una interfaz .Realización
  • 29. 29 III. Diagramas En OMG UML 2.0 se definen una serie de diagramas adicionales a los establecidos en OMG UML 1.x. El conjunto de diagramas se encuentra organizado en torno a dos categorías: diagramas estructurales (representados en verdes) y diagramas dinámicos o de comportamiento (representados en celeste). Los diferentes diagramas son indicados en la figura siguiente:
  • 30. 30 III. Diagramas, continua... Jerarquía de Diagramas Diagramas de estructura enfatizan en los elementos que deben existir en el sistema modelado Diagramas de comportamiento enfatizan en lo que debe suceder en el sistema modelado Diagramas de Interacción, un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado
  • 31. 31 III. Diagramas, continua... Communication Diagrams Sequence Diagrams Interaction Diagrams Class Diagrams Deployment Diagrams Component Diagrams Object Diagrams Structural Diagrams State Machine Diagrams Timing Diagrams Activity Diagrams Behavioral Diagrams Use Case Diagrams Package DiagramsStructure Diagrams Interaction Diagrams
  • 32. 32 Diagrama de Casos de Uso. Permiten realizar la especificación del alcance funcional del producto software que se construye y de los actores, entes que interactúan con el producto de software, que requieren los diferentes casos de usos. Los casos de usos pueden relacionarse entre sí a través de asociaciones que permiten, entre otras cosas, refinar el Modelo de Casos de Usos a través de las asociaciones de: •Generalización •Extends •Includ Enfatizan el qué en lugar del cómo.
  • 33. 33 ...contiuna, Diagrama de Casos de Uso Generalización. Asociación estereotipada como “generalization”. Permite establecer una jerarquía de herencia al nivel de los casos de uso, donde el caso de uso derivado adquiere toda la especificación del caso de uso base e incorporar nuevos requerimientos a la especificación. Reservar libros Reservar cubiculos Alumno Reservar recursos
  • 34. 34 ...contiuna, Diagrama de Casos de Uso Solicitar N ueva Tarjeta Cliente Solicitar Préstamo <<extend> > [Tarjeta Caducada] Extensión. Asociación estereotipada como: extend. Permite incorporar el flujo de eventos de un caso de uso pequeño dentro de un caso de uso base de la aplicación bajo la ocurrencia de una determinada condición, cuando la misma evalúa verdadero.
  • 35. 35 ...contiuna, Diagrama de Casos de Uso Inclusión. Asociación estereotipada como: incluye. Permite incorporar el flujo de eventos de un caso de uso pequeño dentro de un caso de uso base de la aplicación. Verificar Operación Consignación Cliente Pago de Crédito <<include>> <<include>>
  • 36. 36 continua, Diagrama de Casos de Uso, ejemplo:
  • 37. 37 Diagrama de Clases Muestra las relaciones estructurales y estáticas entre clases. Un modelo conceptual o modelo del dominio muestra gráficamente los conceptos (clases de objetos), los atributos y las asociaciones más importantes del dominio del problema. Alumno ProfPorCursoPorE scuela ProfesorPorCurso Curso Profesor 0..* 0..* 0..* 0..* enseña Region DptoGeografico 11..* 11..* pertenece Universidad Escuela 0..*0..* 0..*0..* trabaja en Provincia 1..* 1 1..* 1 Facultad 1..* 1 1..* 1 pertenece 1..* 1 1..* 1 pertenece Distrito 1..* 1 1..* 1 1 0..* 1 0..* se ubica Persona 1 0..* 1 0..*reside en
  • 38. 38 Los diagramas de objetos son análogos a los de clases, con la particularidad de que en lugar de encontrar clases, encontramos instancias de éstas. Son útiles para explicar partes pequeñas del modelo en las que hay relaciones complejas. Diagrama de Objetos
  • 39. 39 Diagrama de Objetos – Diagrama de Clases (relación): Los objetos se vinculan por enlaces, que son instanacias de las relaciones entre las clase sde objetos del dominio. Diagrama de objetos Diagrama de clases
  • 40. 40 ...continua, Diagrama de Actividades Buscar Bebida Poner café en filtro Añadir agua al depósito Coger taza Poner filtro en máquina Encender máquina Café en preparación Servir café Coger zumo Beber [no hay café] [hay café [no zumo] [hay zumo] / cafetera.On indicador de fin Los diagramas de actividades muestran como las actividades fluyen y las dependencias entre ellas.
  • 41. 41 ...continua, Diagrama de Actividades Emitir billete Pasajero Vendedor Airline Solicitar pago Reservar plazas Confirmar plaza reservadaPagar pasaje Informar alternativas y precios Verificar existencia vuelo Dar detalles vuelo Solicitar pasaje Seleccionar vuelo Ejemplo: “swim lines=pasillos”
  • 42. 42 Diagrama de Estados Muestran los posibles estados en que puede encontrarse un objeto y las transiciones que pueden causar un cambio de estado. El estado de un objeto depende de la actividad que esté llevando a cabo o de alguna condición. Resultado de actividad inicio Circunstancia o condición que provoca la transición acción fin
  • 43. 43 ...continua, Diagrama de Estados Los estados pueden anidarse, agrupando estados relacionados en un estado compuesto. Puede ser necesario cuando una actividad involucra actividades concurrentes o asíncronas.
  • 44. 44 Diagrama de Secuencia : Encargado :WInPréstamos :Socio :Video :Préstamo prestar(video, socio) verificar situación socio verificar situación video registrar préstamo entregar recibo Al diagrama de secuencia se le ha incorporado un mecanismo a través del cual se puede realizar la especificación de bloques repetitivos, opcionales, alternativos, entre otros. En el siguiente diagrama se puede observar que el registro del préstamo solo se efectúa si el usuario satisface la regla de negocio que establece que el video se encuentre disponible.
  • 45. 45 Diagrama de Comunicación (colaboración) Muestra la distribución estática de los objetos. Resalta la relación estructural de los objetos que intercambian mensajes. : Encargado :WInPréstamos :Socio :Video :Préstamo 1: prestar(video, socio) 2: verificar situación socio 3: verificar situación video 4: registrar préstamo 5: entregar recibo
  • 46. 46 Diagrama de Secuencia y de Comunicación (colaboración) Los diagramas de secuencia y de colaboración son Isomorfos. Un diagrama de secuencia se puede transformar mecanicamente en un diagrama de comunicación. Un diagrama de comunicación se puede transformar mecanicamente en un diagrama de secuencia. : Usuario : Actividad: GestroActividad : InterfazActividad llama al Caso de uso incluido VisualizarHorario Flujo alternativo 2.2.1. Flujo alternatico 2.2.5. 1: Crear o modificar actividad 4: Selecciona intervalo horario, dia, descripción 6: actualiza la actividad 2: solicita/buscar periodos de tiempo 3: visualida horario 5: visualizan los nuevos cambios
  • 47. 47 Diagrama de Componentes Uno de los principales elementos incorporados al diagrama de componentes consiste en la definición de puertos a través de los cuales cada componente de software entrega un conjunto de servicios a través de interfaces proveídas y de manera declarativa se definen los servicios requeridos por el componente software. Este mecanismo permite, que un componente software de manera aislada cuente con toda la especificación no solo interna sino además de la especificación de los requerimientos para la integración del componente software con otros componentes software. El diagrama de componente muestra interfaces y dependencias entre los componentes del software, los componentes de código de fuente, código binario y ejecutables. Un módulo del software puede representarse como un tipo de componente.
  • 48. 48 ...continua, Diagrama de Componentes Un componente es un módulo de código, de modo que los diagramas de componentes son los análogos físicos a los diagramas de clases. Muestran la organización y dependencias de un conjunto de componentes. Cubren la vista de implementación estática de un sistema.
  • 49. 49 Diagrama de Despliegue Estos diagramas muestran la distribución y relación entre los diferentes elementos de hardware llamados “nodos”; por ejemplo: cpu, dispositivos de I/O, routers, etc. Los diagramas de despliegue sirven para modelar la configuración del hardware del sistema, mostrando qué nodos lo componen
  • 50. 50 ...continua, Diagrama de Despliegue InterfazDeCliente InterfazDeVendedor CargosDeTarjetasDeCrédito VendedorDeEntradas InterfazDeGestor BDEntradas Cliente Vendedor Quiosco TerminaDeVentas ServidorDeEntradas GestorEntidadDeTarjetasDeCrédito nodo 1 * 1 multiplicidad de nodo dependencia componente Nivel de Descripción:
  • 51. 51 ...continua, Diagrama de Despliegue Nivel de instancia: quiosco de la calle Mayor: Quiosco oficina central: ServidorDeEntradas taquilla de la calle del Rio: TerminalDeVentas oficina de televentas: TerminalDeVentas quiosco del mercado: Quiosco Instancia de nodo Nombre de nodo Tipo de nodo enlace de comunicación
  • 52. 52 Diagrama de Estructura Compuesta Se emplea para visualizar de manera gráfica las partes que definen la estructura interna de un clasificador. Cuando se utiliza en el marco de una clase, este diagrama permite elaborar un diagrama de clases donde se muestran los diferentes atributos (partes) y las clases, a partir de las cuales se definen los atributos, indicando principalmente las asociaciones de agregación o de composición de la clase a la que se le elabora el diagrama. Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/CompositeStructureDiagram.html
  • 53. 53 Diagrama de General de Interacción Se emplea fundamentalmente para representar las interacciones, a través de diagramas o fragmentos de diagramas de secuencias, entre los actores y el sistema como una gran caja negra, y de diagramas de actividades en los que aparecen dichos fragmentos. Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/InteractionOverviewDiagram.html
  • 54. 54 Diagrama de Tiempos Empleados para mostrar las interacciones donde el propósito fundamental consiste en razonar sobre la ocurrencia de eventos en el tiempo que provocan el cambio de estados de un elemento estructural (clase, componente, etc.). Fuente: http://www.visual-paradigm.com/VPGallery/diagrams/TimingDiagram.html
  • 55. 55 Diagrama de Paquetes Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado Se representan gráficamente como: Nombre de paquete
  • 56. 56 ...continua, Diagrama de Paquetes Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema) Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes
  • 57. 57 Resumen de los Diagramas de UML 2.0. Diagrama Descripción Diagrama de actividad “Activity Diagram” Modela los procesos de negocio de alto nivel, incluso los flujos de datos, también para modelar la lógica compleja dentro de un sistema Diagrama de Clases “Class Diagram” Nos muestra una colección de elementos del modelo estáticos como las clases y tipos, sus objetos, y sus relaciones. Diagrama de Comunicación “Communication Diagram” Muestran las clases, sus relaciones mutuas, y el mensaje que fluyen entre ellas. La comunicación hace que el diagrama se enfoque típicamente en la organización estructural de los objetos que envían y reciben los mensajes; antes Diagrama de Colaboración. Diagrama de componente “Component Diagram” Modela los componentes que componen una aplicación o sistema. Además sus relaciones mutuas, interacciones e interfaces. Diagrama de Estructura Compuesta “Composite Structure Diagram” Modela la estructura interior de un clasificador (como una clase, componente, o un caso de uso), incluso los puntos de la interacción del clasificador o otras partes del sistema.
  • 58. 58 ...continua, Resumen de los Diagramas de UML 2.0. Diagrama Descripción Diagrama de Despliegue “Deployment Diagram” Muestras la arquitectura de la ejecución de sistemas. Esto incluye nodos, hardware o ambientes de ejecución de software, así como el middleware que los conecta. Diagrama Global de Interacción “Interaction Overview Diagram” Una variante de un diagrama de actividad son las apreciaciones globales el flujo del mando dentro de un sistema o proceso de negocio. Cada nodo / actividad dentro del diagrama puede representar otro diagrama de la interacción. Diagrama de Objetos “Object Diagram” Modela los objetos y sus relaciones en un determinado tiempo, típicamente un caso especial de un diagrama de clase o un diagrama de comunicación. Diagrama de paquetes “Package Diagram” Muestras cómo los elementos principales son organizados en los paquetes así como las dependencias entre estos.
  • 59. 59 ...continua, Resumen de los Diagramas de UML 2.0. Diagrama Descripción Diagrama de Secuencia “Sequence Diagram” Muestra la lógica secuencial del modelo, en el efecto la clasificación de tiempo de mensajes entre los clasificadores. El Diagrama de la Máquina Estado “State Machine Diagram” Describe los estados de un objeto o la interacción que pueden ser las transiciones entre los estados. Anteriormente llamado diagrama de estado, o un diagrama de la estado-transición. Diagrama de Tiempo “Timing Diagram” Pinta el cambio con el tiempo en estado o condición de un caso del clasificador o papel el tiempo. Típicamente usado para mostrar el cambio con el tiempo en el estado de un objeto en la contestación a los eventos externos. Diagrama de Caso de Uso “Use Case Diagram” Muestra los procesos que contendrá el sistema a través de casos de uso, actores, y sus relaciones mutuas
  • 60. 60 Fuentes de consulta: PAGINA DE RATIONAL: http://www-306.ibm.com/software/rational/offer/ TUTORIAL: http://www.cs.utsa.edu/~kdo/roseTutorial/ http://www.sparxsystems.com.au/resources/uml2_tutorial/
  • 61. 61 Fin de la Sesión 02 UML