SlideShare une entreprise Scribd logo
1  sur  72
Télécharger pour lire hors ligne
UML
M.C. Juan Carlos Olivares Rojas
UML
• UML (Unified Modelling Language), lenguaje de
modelado unificado. Fue desarrollado en 1997 al
fusionar las metodologías de Ivar Jacobson,
Jame Rumbaugh y Grady Booch.
• Es un lenguaje visual, su premisa básica radica
en que una imagen vale más que 1,000 líneas de
código
UML
• Al ser UML un lenguaje posee gramáticas y
alfabetos que definen como deben de
estructurarse cada una de las palabras
válidas del lenguaje.
• Un modelo es una representación de la
realidad. No sólo se modela software sino
prácticamente cualquier actividad.
UML
• Es el lenguaje estándar para modelar
proyectos de software.
• La versión más actual del lenguaje es la 2.1
• Los métodos que se fusionaron para crear
UML fueron OMT (Rumbaugh), Objectory
(Jaconson) y el método Booch.
¿Por qué modelar?
• Casi el 80% de los proyectos de software
fallan.
• Nadie construye una casa sin un plano.
• Actualmente existen muchas herramientas
que auxilian el proceso de modelado como
Visio, ArgoUML, Rational Rose, Together,
etc.
Modelos
• Los modelos deben ser más baratos que la
realidad.
• Es más fácil para una persona entender un
diagrama que las líneas de código fuente de
un programa.
• Los diagramas al igual que el texto
consumen tiempo.
Modelos
• Se deben construir modelos que sean
representativos para que sean útiles
(imaginense hacer un documento de 100
hojas que nadie va a leeer)
• UML define varios tipos de diagramas los
cuales pueden ser extensibles.
Tipos de diagramas
• Los diagramas más utilizados en UML son:
• Diagramas de casos de uso
• Diagramas de actividades
• Diagramas de clases
• Diagramas de interacción
– Diagramas de secuencia
– Diagramas de colaboración
Tipos de diagramas
• Diagramas de estado
• Diagramas de componentes
• Otros diagramas
– Diagrama de topología del despliegue
• Los diagramas deben de reflejar lo que se
pretende modelar
Diagramas de casos de uso
• Son responsables de documentar los
macrorequisitos del sistema.
• Lista de capacidades que debe brindar el
sistema.
• Los elementos principales son los actores y
los casos de usos que en conjunto forman
un escenarios
Diagramas de casos de uso
• Se deben establecer prioridades para las
capacidades del sistema.
• ¿Cuál es la diferencia entre un editor de
textos como Notepad y Word?
• Objetivos primarios: crear, guardar e
imprimir documentos de texto.
Diagramas de caso de uso
• Objetivos secundarios: guardar el archivo en
formato HTML, RTF y PDF.
• Los diagramas de uso sirven para mostrar
detalles de implementación del sistema a
usuarios finales.
• Los conectores asocian a los actores y los
casos de uso.
Diagramas de caso de uso
• Las líneas continuas representan una
asociación y las puntuadas dependencias.
• Si el conector tiene un triangulo hueco en la
punta representa una generalización que es
una relación de herencia.
• Los estereotipos agregan detalles a una
relación.
Diagramas de caso de uso
• Los estereotipos más utilizados son:
inclusión y de extensión.
• Muchas herramientas no impelemnat UML
al 100% existen muchos problemas de
compatibilidad entre dichas herramientas.
XMI es la descripción de un diagrama UML
en XML el cual utilizan varias herramientas
para exportar diagramas
Diagramas de caso de uso
• Incluir implica una dependecia de utilización
de un caso de uso.
• Las notas ayudan ha aclarar los diagramas.
• Extender da más detalle de dependecia de
un caso de uso al cual se le agregan más
capacidades.
Diagramas de caso de uso
• Las notas deben ser como elementos
taquigráficos.
• Se deben incluir la siguiente documentación:
párrafo que describa el caso de uso, párrafo
que describa cada una de las funciones
primarias y secundarias, entre otros.
Diagramas de casos de uso
• Se deben detallar ejemplos de la utilización
de casos de uso.
• Los actores pueden ser usuarios o partes
del sistema.
• En general los primeros diagramas que se
deben construir son los casos de uso
Diagramas de caso de uso
Diagramas de actividades
• Es la versión UML de un diagrama de flujo.
• Se usan para analizar los procesos y
realizar la ingeniería de los mismos.
• Es una excelente herramienta para analizar
problemas.
Diagramas de actividades
• Son diagramas que representan las
carácterísticas de los procesos.
• Estos diagramas deben facilitar la
implementación del sistema.
• Van enfocados a los expertos del dominio
(programadores y analistas)
Diagrama de actividades
• Pueden modelar procesos lineales y
paralelos.
• Los diagramas deben ser más simples que
detallados.
• Los elementos principales son: nodo inicial,
flujo, actividades, conectores.
Diagramas de actividades
• Se pueden utilizar clavijas para conectar dos
nodos de acción.
• Los nodos de decisión son importantes para
bifurcar el flujo de actividades.
• Los nombres y los verbos nos sirven para
determinar las clases y los métodos.
Diagramas de actividades
• Los casos de uso son candidatos a
desarrollar diagramas de actividades.
• Las condiciones previas y posteriores se
manejan con el uso de guardianes.
• Los nodos de decisión también sirven para
fusionar diversos flujos en uno solo.
Diagramas de actividades
• Los carriles sirven para delimitar quien es el
responsable de una serie de actividades.
• Los carriles formalmente se llaman partición
de actividades y puede haber varios siempre
y cuando no se encimen.
• Se puede modelar el tiempo a través de
señales.
Diagrama de actividades
Diagramas de secuencia
Diagramas de clases
• Se usan para mostrar las clases de un
sistema y las relaciones entre ellas.
• Muestran la vista estática del sistema; no
describen los comportamientos ni la forma
en como interactuan las clases del sistema.
Diagramas de clases
• Los elementos del lenguaje son unos
rectángulos denominados clases y los
conectores representan las relaciones.
• Las clases pueden tener comportamientos y
atributos. Lo difícil no es encontrar las
clases sino definir sus relaciones
Diagramas de clases
• Un diagrama de objetos es similar a un
diagrama de clases pero representa un
comportamiento dinámico.
• Los objetos se distinguen al subrayar el
nombre de la clase.
• Las interfaces son clases abstractas puras.
Diagramas de clases
• Las interfaces se usan cuando las partes de
las cosas tienen facetas semánticamente
similares pero no tienen genealogía
relacionada.
• Se utiliza el estereotipo interface. Los tipos
de datos pueden variar dependiendo de la
implementación.
Diagramas de clases
• El símbolo + se usa para describir datos
públicos. El símbolo - para datos privados y
# un dato no es ni público ni privado
(protegido).
• Para acceder a datos privados y/o
protegidos se deben utilizar métodos get/set
Diagramas de clases
• Los atributos funcionan como asociación. La
multiplicidad de las relaciones es
importante.
• Si los valores superiores e inferiores de las
relaciones son iguales (1..1) se pone un solo
número (1).
Diagramas de clases
• Es común hablar de elementos, opcionales,
obligatorios, de un solo valor y valores
múltiples.
• El 80% de los diagramas de clase utilizan
relaciones simples.
• Si existe una flecha en la asociación se dice
que ésta es dirigida o direccional.
Diagramas de clase
• La agregación se representa con un
diamante hueco; mientras que la
composición es un diamante relleno.
• La generalización o herencia se refiere a
una relación del tipo es un.
• En una relación de herencia la clase hijo
hereda las carácterísticas de la clase padre.
Diagramas de clase
• Las relaciones de realización se utilizan en
interfaces para definir que la clase hija
implementará esa interfaz. Se utiliza una
línea punteada con un diamante parecido a
la herencia.
• Las relaciones de dependencia se dan entre
dos clases denominadas cliente y
proveedor. Se representa con una línea
punteada con flecha sencilla.
Diagramas de clase
• Los paquetes tienen la apariencia de una
carpeta de archivos. Se usa para
representar un nivel más avanzado de
abstracción. Se utilizan para organizar las
clases, generalmente representan un
espacio de nombres.
• Los espacios de nombres solucionan el
problema de tener clases diferentes con el
mismo nombre.
Diagramas de clase
• Algunas herramientas soportan la
documentación del modelo, pero no forma
parte del estándar.
• UML tiene datos primitivos: Integer,
Boolean, String y UnlimitedNatural, pero se
pueden utilizar otros tipos de datos definidos
por el estereotipo primitivo, solo hay que
definir sus componentes y sus operadores.
Diagramas de clases
• Los espacios de nombre se anteponen al de la
clases con el operador de alcance: ::
• Existen dos modalidades para el desarrollo de
software orientrado a objetos: consumo (Visual
Basic) y Producción (Visual C++).
• La técnica de nombres son clases, verbos son
métodos sólo funciona en el 20% de los casos.
Diagramas de clases
• Se recomienda realizar un análisis de
dominio ya que nos ayuda a encontrar
clases frontera, de control y entidad.
• Las clases frontera interconenctan
elementos del exterior con elementos del
interior. Las clases de entidad representan
datos (generalmente persistentes). Las
clases de control representan interacciones
entre el sistema.
Diagramas de clases
• La refactorización y los patrones de diseño
ayudan a mejorar los diagramas de clases.
• La herencia múltiple se puede modelar en
UML pero no es recomendable hacerlo. Es
mejor usar la composición o herencia de
interfaces.
• El mal se encuentra en los detalles.
Diagramas de clases
Diagramas de clases
Diagramas de secuencia
• Muestran la parte dinámica del sistema.
• Muestran los mensajes que se envían las clases
con respecto al tiempo.
• Los diagramas de secuencia muestran un orden a
través del tiempo.
• Un diagrama de secuencia es más fácil de leer que
uno de colaboración.
Diagramas de secuencia
• Existen muchos diagramas en UML que resultan
redundantes, ya que dicen exactamente lo mismo
pero en diferente forma.
• Los elementos esenciales son las líneas de vida y
los mensajes.
• La línea de vida representa un ejemplo de clase
Diagramas de secuencia
• Las líneas de vida pueden ser actores u
objetos.
• La activación de una línea de vida se hace a
través de un rectangulo sobre la línea de
vida. Un objeto puede crearse y destruirse
varias veces dentro de la ejecución de un
sistema.
Diagramas de secuencia
• Los mensajes forman una parte importante
de este diagrama. Si se tiene una flecha
triangular representa un mensaje síncrono,
si se tiene una flecha abierta se representa
un mensaje asíncrono, los mensajes de
retorno se representan con flechas
punteadas, mientras que un mensaje
anidado inicia y termina en la misma línea
de vida.
Diagramas de secuencia
• Los marcos de interacción o fragmentos
combinados son nuevos en UML 2.0.
• Son regiones rectangulares que se usan
para organizar los diagramas de interacción.
• Los marcos de interacción más comunes
son: alt, bucle, neg, opt, par, ref, regio rod
Diagramas de secuencia
• En un futuro no tan lejano, los diseños
deberán ser tan detallados como los
circuitos eléctricos.
• En algunos casos es mejor usar diagramas
de colaboración, debido a la sencillez de su
diseño.
Diagramas de secuencia
Diagramas de secuencia
Diagramas de interacción
• También muestran la parte dinámica del sistema.
• Organizan las clases y los mensajes en forma
espacial. Como no lleva ordenación del tiempo los
mensajes se numeran.
• Los diagramas de secuencia e interacciòn son
complementarios y en algunos casos no es
aconsejable utilizar ambos.
Diagramas de interacción
Diagramas de colaboración
• También se les llama diagrama de
comunicación en UML 2.0
• Los elementos son un rectángulo llamado
papel clasificador que representa los
objetos, conectores y una secuencia que
indica los mensajes. En UML la secuencia
se numera como 1, 1.1, 1.2, … en lugar de
1, 2, 3
Diagramas de colaboración
• Un diagrama de interacción se puede pasar
a código. Los objetos son instancias de
clases y los mensajes son métodos, los
cuales se codifican en la clase del receptor
no del llamador.
• En diagramas donde existen muchos
mensajes se necesitan de más notas para
poder explicar el diagrama.
Diagramas de estado
• Muestra el estado cambiante de un objeto.
• UML es un lenguaje relativamente sencillo
ya que utilizando poco vocabulario se puede
realizar la mayoría del modeloa de un
sistema.
Diagramas de estado
• Sirven para representar máquinas de
estados (e.g. autómatas).
• Son ideales para representar procesos de
red y de tiempo real.
• La creación de diagramas de interfaces
gráficas de usuarios no es parte del
estándar UML.
Diagramas de estado
• Los diagramas de estado y actividades
comparten mucha de la simbología por lo
que se les suele confundir con frecuencia.
• Los estados son activos cuando se ejecutan
su actividad de entrada. Se vuelven
inactivos después de ejecutar su actividad
de salida
Diagramas de estado
• Las actividades comunes son algo que
sucede de manera instantánea; mientras
que una actividad inicia con el prefijo
“hacer/” es una actividad de hacer.
• Un estado simple no está dividido en
regiones. En un estado compuesto cada
región representa una subactividad.
Diagramas de estado
• Las transacciones son líneas dirigidas que
conectan estados. Pueden ocurrir en base a
algún mecanismo de disparo.
• Las máquinas de estado de protocolo se
utilizan para describir interfaces.
Diagramas de estado
Diagramas de componentes
• Muestra los subsistemas del producto final.
• No es un diagrama ampliamente utilizado en
UML.
• Existen dos métodos para el diseño basado
en componentes: diseño componetes-
interfaz (arriba abajo) y a partir de clases.
Diagramas de componentes
• El símbolo de componente cambió en UML
2.0 a un diagrama más simple.
• Se utiliza generalmente para modelar
sistemas muy grandes.
• Sistemas basados en red y distribuidos
pueden modelarse bien con este diagrama.
Diagrama de componentes
Preguntas frecuentes
• ¿Cuántos diagramas debo crear? No existe
una respuesta específica.
• ¿Debo hacer diagramas de todo tipo? No,
sólo se deben utilizar los diagramas que
mejor reflejen el modelado de la
problemática
Preguntas frecuentes
• ¿Qué tan grande debe de ser un diagrama?
Entre más grande sea un diagrama mayor
es la confusión. Se deben realizar diagrams
bien detallados, pero no detallados.
• ¿Cuánto texto debe complementar el
modelo? Entre menos texto mejor, son
como los comentarios del código fuente:
pocos pero claros
RUP
• Rational Unified Process, Proceso unificado
de desarrollo.
• Se debe utilizar UML con una metodología
de desarrollo de procesos.
• Ni los lenguajes de programación ni UML
son los que guían el proceso de desarrollo
de software
Análisis y Diseño
• UML permite realizar análisis y diseño de
sistemas orientados a objetos, pero no se
limita exclusivamente a esta metodología.
• Los modelos como UML no pueden
validarse a través de una herramienta como
el código.
Modelado de software
• El modelado de software es algo
relativamente nuevo. Algunas
recomendaciones para el modelado de
software son:
• No tenga a los programadores esperando
los modelos.
• Trabajar de una macrovista a una microvista.
Modelado de software
• Se debe documentar en forma económica.
• Si es obvio no se debe de modelar.
• Hacer hincapié en la especialización.
• Utilice patrones de diseño.
• Refactorice.
Diagrama de despliegue
• Se utiliza para modelar la forma en como
lucirá el sistema cuando se ponga en uso.
• Los nodos representan componentes físicos
que pueden ser computadoras, sistemas
operativos, entornos, servidores, etc.
• Ayudan al proceso de instalación de un
sistema
Diagrama de despliegue
• Los artefactos son las cosas que se están
desplegando. Usan el estereotipo artefacto y
pueden ser achivos exe, dll, HTML, .jar,
scripts, etc.
• Dentro de cada nodo se suele describir
algunas carácterísticas propias.
¿Preguntas?

Contenu connexe

Tendances

Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosWilfredo Mogollón
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmiSandrea Rodriguez
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoYovana Connie Roca Avila
 
Software Engineering unit 2
Software Engineering unit 2Software Engineering unit 2
Software Engineering unit 2Abhimanyu Mishra
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xmlJuan Anaya
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos Juan Henao
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosmiranda271999
 
Capitulo04
Capitulo04Capitulo04
Capitulo04martin
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionalessullinsan
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboraciond-draem
 
A Software Architect's View On Diagramming
A Software Architect's View On DiagrammingA Software Architect's View On Diagramming
A Software Architect's View On Diagrammingmeghantaylor
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de softwareHernan Espinoza
 
Ut5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de usoUt5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de usoijmb666
 

Tendances (20)

Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Introducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a ObjetosIntroducción al Análisis Orientado a Objetos
Introducción al Análisis Orientado a Objetos
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
 
Software Engineering unit 2
Software Engineering unit 2Software Engineering unit 2
Software Engineering unit 2
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Capitulo04
Capitulo04Capitulo04
Capitulo04
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionales
 
Cuestionario uml
Cuestionario umlCuestionario uml
Cuestionario uml
 
UML Notation
UML NotationUML Notation
UML Notation
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboracion
 
A Software Architect's View On Diagramming
A Software Architect's View On DiagrammingA Software Architect's View On Diagramming
A Software Architect's View On Diagramming
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Ut5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de usoUt5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de uso
 

En vedette

Diagrama De Secuencia
Diagrama De SecuenciaDiagrama De Secuencia
Diagrama De SecuenciaRafael
 
Las estaciones y los meses (Seasons and Months)
Las estaciones y los meses (Seasons and Months)Las estaciones y los meses (Seasons and Months)
Las estaciones y los meses (Seasons and Months)Seema Sumod
 
2007 J C M A R C R U E L
2007  J C M A R  C R U E L2007  J C M A R  C R U E L
2007 J C M A R C R U E Lcalorycafe
 
- Investigaciones sobre las pizarras interactivas Promethean
- Investigaciones sobre las pizarras interactivas Promethean- Investigaciones sobre las pizarras interactivas Promethean
- Investigaciones sobre las pizarras interactivas PrometheanPERE MARQUES
 
Algoparaquesonrias
AlgoparaquesonriasAlgoparaquesonrias
Algoparaquesonriassdb66
 
OpenOffice.org 2.3: Innovacion sin paralelo
OpenOffice.org 2.3: Innovacion sin paraleloOpenOffice.org 2.3: Innovacion sin paralelo
OpenOffice.org 2.3: Innovacion sin paraleloAlexandro Colorado
 
Definiciones
DefinicionesDefiniciones
Definicionesmatiasl
 
32625 Unesr Vtv08 Intensivo
32625 Unesr Vtv08 Intensivo32625 Unesr Vtv08 Intensivo
32625 Unesr Vtv08 IntensivoEmelys Rukoz
 
Le Roi Se Meurt PréSentatique
Le Roi Se Meurt PréSentatiqueLe Roi Se Meurt PréSentatique
Le Roi Se Meurt PréSentatiquechouichoui24
 
Les territoires au défi de la santé environnementale - De l'Histoire à l'action
Les territoires au défi de la santé environnementale - De l'Histoire à l'actionLes territoires au défi de la santé environnementale - De l'Histoire à l'action
Les territoires au défi de la santé environnementale - De l'Histoire à l'actionlafabriqueecolo
 
AGENDA 21
AGENDA 21AGENDA 21
AGENDA 21Fenua21
 
Mitos y Realidades de la Educación Virtual
Mitos y Realidades de la Educación VirtualMitos y Realidades de la Educación Virtual
Mitos y Realidades de la Educación VirtualManuel Mujica
 
Paisajes Nuestros
Paisajes NuestrosPaisajes Nuestros
Paisajes NuestrosHJTandil66
 
01 Ayer Por La Mañana
01 Ayer Por La Mañana01 Ayer Por La Mañana
01 Ayer Por La Mañanaguest362c79
 

En vedette (20)

Diagrama De Secuencia
Diagrama De SecuenciaDiagrama De Secuencia
Diagrama De Secuencia
 
Diagrama de secuencia UML
Diagrama de secuencia UMLDiagrama de secuencia UML
Diagrama de secuencia UML
 
Las estaciones y los meses (Seasons and Months)
Las estaciones y los meses (Seasons and Months)Las estaciones y los meses (Seasons and Months)
Las estaciones y los meses (Seasons and Months)
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
2007 J C M A R C R U E L
2007  J C M A R  C R U E L2007  J C M A R  C R U E L
2007 J C M A R C R U E L
 
- Investigaciones sobre las pizarras interactivas Promethean
- Investigaciones sobre las pizarras interactivas Promethean- Investigaciones sobre las pizarras interactivas Promethean
- Investigaciones sobre las pizarras interactivas Promethean
 
Algoparaquesonrias
AlgoparaquesonriasAlgoparaquesonrias
Algoparaquesonrias
 
Backtrack
BacktrackBacktrack
Backtrack
 
OpenOffice.org 2.3: Innovacion sin paralelo
OpenOffice.org 2.3: Innovacion sin paraleloOpenOffice.org 2.3: Innovacion sin paralelo
OpenOffice.org 2.3: Innovacion sin paralelo
 
Carlos Becerra
Carlos BecerraCarlos Becerra
Carlos Becerra
 
Definiciones
DefinicionesDefiniciones
Definiciones
 
32625 Unesr Vtv08 Intensivo
32625 Unesr Vtv08 Intensivo32625 Unesr Vtv08 Intensivo
32625 Unesr Vtv08 Intensivo
 
Te acordas
Te acordasTe acordas
Te acordas
 
Madres
MadresMadres
Madres
 
Le Roi Se Meurt PréSentatique
Le Roi Se Meurt PréSentatiqueLe Roi Se Meurt PréSentatique
Le Roi Se Meurt PréSentatique
 
Les territoires au défi de la santé environnementale - De l'Histoire à l'action
Les territoires au défi de la santé environnementale - De l'Histoire à l'actionLes territoires au défi de la santé environnementale - De l'Histoire à l'action
Les territoires au défi de la santé environnementale - De l'Histoire à l'action
 
AGENDA 21
AGENDA 21AGENDA 21
AGENDA 21
 
Mitos y Realidades de la Educación Virtual
Mitos y Realidades de la Educación VirtualMitos y Realidades de la Educación Virtual
Mitos y Realidades de la Educación Virtual
 
Paisajes Nuestros
Paisajes NuestrosPaisajes Nuestros
Paisajes Nuestros
 
01 Ayer Por La Mañana
01 Ayer Por La Mañana01 Ayer Por La Mañana
01 Ayer Por La Mañana
 

Similaire à Uml (20)

Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Densy yuli
Densy yuliDensy yuli
Densy yuli
 
Densy yuli
Densy yuliDensy yuli
Densy yuli
 
Densy yuli
Densy yuliDensy yuli
Densy yuli
 
UML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clasesUML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clases
 
Uml
UmlUml
Uml
 
2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml
 
Patrones de programación y uml en java
Patrones de programación y uml en javaPatrones de programación y uml en java
Patrones de programación y uml en java
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Uml juan pablo cueto galindo
Uml juan pablo cueto galindoUml juan pablo cueto galindo
Uml juan pablo cueto galindo
 
Uml1
Uml1Uml1
Uml1
 
Uml1
Uml1Uml1
Uml1
 
Uml
UmlUml
Uml
 
UML
UMLUML
UML
 
Uml
UmlUml
Uml
 
Modelado UM5-4.pptx
Modelado UM5-4.pptxModelado UM5-4.pptx
Modelado UM5-4.pptx
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Uml
UmlUml
Uml
 
S03.s3-Material 2.pptx
S03.s3-Material 2.pptxS03.s3-Material 2.pptx
S03.s3-Material 2.pptx
 
S03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptxS03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptx
 

Plus de Juan Carlos Olivares Rojas

Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersJuan Carlos Olivares Rojas
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasJuan Carlos Olivares Rojas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...Juan Carlos Olivares Rojas
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoJuan Carlos Olivares Rojas
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteJuan Carlos Olivares Rojas
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoJuan Carlos Olivares Rojas
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainJuan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityJuan Carlos Olivares Rojas
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Juan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionJuan Carlos Olivares Rojas
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Juan Carlos Olivares Rojas
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Juan Carlos Olivares Rojas
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Juan Carlos Olivares Rojas
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Juan Carlos Olivares Rojas
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Juan Carlos Olivares Rojas
 

Plus de Juan Carlos Olivares Rojas (20)

Ieee itmsb20
Ieee itmsb20Ieee itmsb20
Ieee itmsb20
 
Ropec20neural stick
Ropec20neural stickRopec20neural stick
Ropec20neural stick
 
Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board Computers
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las Cosas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en México
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobility
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer Interaction
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas Inteligentes
 
Estrategias didacticas
Estrategias didacticasEstrategias didacticas
Estrategias didacticas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas Inteligentes
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
 

Uml

  • 1. UML M.C. Juan Carlos Olivares Rojas
  • 2. UML • UML (Unified Modelling Language), lenguaje de modelado unificado. Fue desarrollado en 1997 al fusionar las metodologías de Ivar Jacobson, Jame Rumbaugh y Grady Booch. • Es un lenguaje visual, su premisa básica radica en que una imagen vale más que 1,000 líneas de código
  • 3. UML • Al ser UML un lenguaje posee gramáticas y alfabetos que definen como deben de estructurarse cada una de las palabras válidas del lenguaje. • Un modelo es una representación de la realidad. No sólo se modela software sino prácticamente cualquier actividad.
  • 4. UML • Es el lenguaje estándar para modelar proyectos de software. • La versión más actual del lenguaje es la 2.1 • Los métodos que se fusionaron para crear UML fueron OMT (Rumbaugh), Objectory (Jaconson) y el método Booch.
  • 5. ¿Por qué modelar? • Casi el 80% de los proyectos de software fallan. • Nadie construye una casa sin un plano. • Actualmente existen muchas herramientas que auxilian el proceso de modelado como Visio, ArgoUML, Rational Rose, Together, etc.
  • 6. Modelos • Los modelos deben ser más baratos que la realidad. • Es más fácil para una persona entender un diagrama que las líneas de código fuente de un programa. • Los diagramas al igual que el texto consumen tiempo.
  • 7. Modelos • Se deben construir modelos que sean representativos para que sean útiles (imaginense hacer un documento de 100 hojas que nadie va a leeer) • UML define varios tipos de diagramas los cuales pueden ser extensibles.
  • 8. Tipos de diagramas • Los diagramas más utilizados en UML son: • Diagramas de casos de uso • Diagramas de actividades • Diagramas de clases • Diagramas de interacción – Diagramas de secuencia – Diagramas de colaboración
  • 9. Tipos de diagramas • Diagramas de estado • Diagramas de componentes • Otros diagramas – Diagrama de topología del despliegue • Los diagramas deben de reflejar lo que se pretende modelar
  • 10. Diagramas de casos de uso • Son responsables de documentar los macrorequisitos del sistema. • Lista de capacidades que debe brindar el sistema. • Los elementos principales son los actores y los casos de usos que en conjunto forman un escenarios
  • 11. Diagramas de casos de uso • Se deben establecer prioridades para las capacidades del sistema. • ¿Cuál es la diferencia entre un editor de textos como Notepad y Word? • Objetivos primarios: crear, guardar e imprimir documentos de texto.
  • 12. Diagramas de caso de uso • Objetivos secundarios: guardar el archivo en formato HTML, RTF y PDF. • Los diagramas de uso sirven para mostrar detalles de implementación del sistema a usuarios finales. • Los conectores asocian a los actores y los casos de uso.
  • 13. Diagramas de caso de uso • Las líneas continuas representan una asociación y las puntuadas dependencias. • Si el conector tiene un triangulo hueco en la punta representa una generalización que es una relación de herencia. • Los estereotipos agregan detalles a una relación.
  • 14. Diagramas de caso de uso • Los estereotipos más utilizados son: inclusión y de extensión. • Muchas herramientas no impelemnat UML al 100% existen muchos problemas de compatibilidad entre dichas herramientas. XMI es la descripción de un diagrama UML en XML el cual utilizan varias herramientas para exportar diagramas
  • 15. Diagramas de caso de uso • Incluir implica una dependecia de utilización de un caso de uso. • Las notas ayudan ha aclarar los diagramas. • Extender da más detalle de dependecia de un caso de uso al cual se le agregan más capacidades.
  • 16. Diagramas de caso de uso • Las notas deben ser como elementos taquigráficos. • Se deben incluir la siguiente documentación: párrafo que describa el caso de uso, párrafo que describa cada una de las funciones primarias y secundarias, entre otros.
  • 17. Diagramas de casos de uso • Se deben detallar ejemplos de la utilización de casos de uso. • Los actores pueden ser usuarios o partes del sistema. • En general los primeros diagramas que se deben construir son los casos de uso
  • 19. Diagramas de actividades • Es la versión UML de un diagrama de flujo. • Se usan para analizar los procesos y realizar la ingeniería de los mismos. • Es una excelente herramienta para analizar problemas.
  • 20. Diagramas de actividades • Son diagramas que representan las carácterísticas de los procesos. • Estos diagramas deben facilitar la implementación del sistema. • Van enfocados a los expertos del dominio (programadores y analistas)
  • 21. Diagrama de actividades • Pueden modelar procesos lineales y paralelos. • Los diagramas deben ser más simples que detallados. • Los elementos principales son: nodo inicial, flujo, actividades, conectores.
  • 22. Diagramas de actividades • Se pueden utilizar clavijas para conectar dos nodos de acción. • Los nodos de decisión son importantes para bifurcar el flujo de actividades. • Los nombres y los verbos nos sirven para determinar las clases y los métodos.
  • 23. Diagramas de actividades • Los casos de uso son candidatos a desarrollar diagramas de actividades. • Las condiciones previas y posteriores se manejan con el uso de guardianes. • Los nodos de decisión también sirven para fusionar diversos flujos en uno solo.
  • 24. Diagramas de actividades • Los carriles sirven para delimitar quien es el responsable de una serie de actividades. • Los carriles formalmente se llaman partición de actividades y puede haber varios siempre y cuando no se encimen. • Se puede modelar el tiempo a través de señales.
  • 27. Diagramas de clases • Se usan para mostrar las clases de un sistema y las relaciones entre ellas. • Muestran la vista estática del sistema; no describen los comportamientos ni la forma en como interactuan las clases del sistema.
  • 28. Diagramas de clases • Los elementos del lenguaje son unos rectángulos denominados clases y los conectores representan las relaciones. • Las clases pueden tener comportamientos y atributos. Lo difícil no es encontrar las clases sino definir sus relaciones
  • 29. Diagramas de clases • Un diagrama de objetos es similar a un diagrama de clases pero representa un comportamiento dinámico. • Los objetos se distinguen al subrayar el nombre de la clase. • Las interfaces son clases abstractas puras.
  • 30. Diagramas de clases • Las interfaces se usan cuando las partes de las cosas tienen facetas semánticamente similares pero no tienen genealogía relacionada. • Se utiliza el estereotipo interface. Los tipos de datos pueden variar dependiendo de la implementación.
  • 31. Diagramas de clases • El símbolo + se usa para describir datos públicos. El símbolo - para datos privados y # un dato no es ni público ni privado (protegido). • Para acceder a datos privados y/o protegidos se deben utilizar métodos get/set
  • 32. Diagramas de clases • Los atributos funcionan como asociación. La multiplicidad de las relaciones es importante. • Si los valores superiores e inferiores de las relaciones son iguales (1..1) se pone un solo número (1).
  • 33. Diagramas de clases • Es común hablar de elementos, opcionales, obligatorios, de un solo valor y valores múltiples. • El 80% de los diagramas de clase utilizan relaciones simples. • Si existe una flecha en la asociación se dice que ésta es dirigida o direccional.
  • 34. Diagramas de clase • La agregación se representa con un diamante hueco; mientras que la composición es un diamante relleno. • La generalización o herencia se refiere a una relación del tipo es un. • En una relación de herencia la clase hijo hereda las carácterísticas de la clase padre.
  • 35. Diagramas de clase • Las relaciones de realización se utilizan en interfaces para definir que la clase hija implementará esa interfaz. Se utiliza una línea punteada con un diamante parecido a la herencia. • Las relaciones de dependencia se dan entre dos clases denominadas cliente y proveedor. Se representa con una línea punteada con flecha sencilla.
  • 36. Diagramas de clase • Los paquetes tienen la apariencia de una carpeta de archivos. Se usa para representar un nivel más avanzado de abstracción. Se utilizan para organizar las clases, generalmente representan un espacio de nombres. • Los espacios de nombres solucionan el problema de tener clases diferentes con el mismo nombre.
  • 37. Diagramas de clase • Algunas herramientas soportan la documentación del modelo, pero no forma parte del estándar. • UML tiene datos primitivos: Integer, Boolean, String y UnlimitedNatural, pero se pueden utilizar otros tipos de datos definidos por el estereotipo primitivo, solo hay que definir sus componentes y sus operadores.
  • 38. Diagramas de clases • Los espacios de nombre se anteponen al de la clases con el operador de alcance: :: • Existen dos modalidades para el desarrollo de software orientrado a objetos: consumo (Visual Basic) y Producción (Visual C++). • La técnica de nombres son clases, verbos son métodos sólo funciona en el 20% de los casos.
  • 39. Diagramas de clases • Se recomienda realizar un análisis de dominio ya que nos ayuda a encontrar clases frontera, de control y entidad. • Las clases frontera interconenctan elementos del exterior con elementos del interior. Las clases de entidad representan datos (generalmente persistentes). Las clases de control representan interacciones entre el sistema.
  • 40. Diagramas de clases • La refactorización y los patrones de diseño ayudan a mejorar los diagramas de clases. • La herencia múltiple se puede modelar en UML pero no es recomendable hacerlo. Es mejor usar la composición o herencia de interfaces. • El mal se encuentra en los detalles.
  • 43. Diagramas de secuencia • Muestran la parte dinámica del sistema. • Muestran los mensajes que se envían las clases con respecto al tiempo. • Los diagramas de secuencia muestran un orden a través del tiempo. • Un diagrama de secuencia es más fácil de leer que uno de colaboración.
  • 44. Diagramas de secuencia • Existen muchos diagramas en UML que resultan redundantes, ya que dicen exactamente lo mismo pero en diferente forma. • Los elementos esenciales son las líneas de vida y los mensajes. • La línea de vida representa un ejemplo de clase
  • 45. Diagramas de secuencia • Las líneas de vida pueden ser actores u objetos. • La activación de una línea de vida se hace a través de un rectangulo sobre la línea de vida. Un objeto puede crearse y destruirse varias veces dentro de la ejecución de un sistema.
  • 46. Diagramas de secuencia • Los mensajes forman una parte importante de este diagrama. Si se tiene una flecha triangular representa un mensaje síncrono, si se tiene una flecha abierta se representa un mensaje asíncrono, los mensajes de retorno se representan con flechas punteadas, mientras que un mensaje anidado inicia y termina en la misma línea de vida.
  • 47. Diagramas de secuencia • Los marcos de interacción o fragmentos combinados son nuevos en UML 2.0. • Son regiones rectangulares que se usan para organizar los diagramas de interacción. • Los marcos de interacción más comunes son: alt, bucle, neg, opt, par, ref, regio rod
  • 48. Diagramas de secuencia • En un futuro no tan lejano, los diseños deberán ser tan detallados como los circuitos eléctricos. • En algunos casos es mejor usar diagramas de colaboración, debido a la sencillez de su diseño.
  • 51. Diagramas de interacción • También muestran la parte dinámica del sistema. • Organizan las clases y los mensajes en forma espacial. Como no lleva ordenación del tiempo los mensajes se numeran. • Los diagramas de secuencia e interacciòn son complementarios y en algunos casos no es aconsejable utilizar ambos.
  • 53. Diagramas de colaboración • También se les llama diagrama de comunicación en UML 2.0 • Los elementos son un rectángulo llamado papel clasificador que representa los objetos, conectores y una secuencia que indica los mensajes. En UML la secuencia se numera como 1, 1.1, 1.2, … en lugar de 1, 2, 3
  • 54. Diagramas de colaboración • Un diagrama de interacción se puede pasar a código. Los objetos son instancias de clases y los mensajes son métodos, los cuales se codifican en la clase del receptor no del llamador. • En diagramas donde existen muchos mensajes se necesitan de más notas para poder explicar el diagrama.
  • 55. Diagramas de estado • Muestra el estado cambiante de un objeto. • UML es un lenguaje relativamente sencillo ya que utilizando poco vocabulario se puede realizar la mayoría del modeloa de un sistema.
  • 56. Diagramas de estado • Sirven para representar máquinas de estados (e.g. autómatas). • Son ideales para representar procesos de red y de tiempo real. • La creación de diagramas de interfaces gráficas de usuarios no es parte del estándar UML.
  • 57. Diagramas de estado • Los diagramas de estado y actividades comparten mucha de la simbología por lo que se les suele confundir con frecuencia. • Los estados son activos cuando se ejecutan su actividad de entrada. Se vuelven inactivos después de ejecutar su actividad de salida
  • 58. Diagramas de estado • Las actividades comunes son algo que sucede de manera instantánea; mientras que una actividad inicia con el prefijo “hacer/” es una actividad de hacer. • Un estado simple no está dividido en regiones. En un estado compuesto cada región representa una subactividad.
  • 59. Diagramas de estado • Las transacciones son líneas dirigidas que conectan estados. Pueden ocurrir en base a algún mecanismo de disparo. • Las máquinas de estado de protocolo se utilizan para describir interfaces.
  • 61. Diagramas de componentes • Muestra los subsistemas del producto final. • No es un diagrama ampliamente utilizado en UML. • Existen dos métodos para el diseño basado en componentes: diseño componetes- interfaz (arriba abajo) y a partir de clases.
  • 62. Diagramas de componentes • El símbolo de componente cambió en UML 2.0 a un diagrama más simple. • Se utiliza generalmente para modelar sistemas muy grandes. • Sistemas basados en red y distribuidos pueden modelarse bien con este diagrama.
  • 64. Preguntas frecuentes • ¿Cuántos diagramas debo crear? No existe una respuesta específica. • ¿Debo hacer diagramas de todo tipo? No, sólo se deben utilizar los diagramas que mejor reflejen el modelado de la problemática
  • 65. Preguntas frecuentes • ¿Qué tan grande debe de ser un diagrama? Entre más grande sea un diagrama mayor es la confusión. Se deben realizar diagrams bien detallados, pero no detallados. • ¿Cuánto texto debe complementar el modelo? Entre menos texto mejor, son como los comentarios del código fuente: pocos pero claros
  • 66. RUP • Rational Unified Process, Proceso unificado de desarrollo. • Se debe utilizar UML con una metodología de desarrollo de procesos. • Ni los lenguajes de programación ni UML son los que guían el proceso de desarrollo de software
  • 67. Análisis y Diseño • UML permite realizar análisis y diseño de sistemas orientados a objetos, pero no se limita exclusivamente a esta metodología. • Los modelos como UML no pueden validarse a través de una herramienta como el código.
  • 68. Modelado de software • El modelado de software es algo relativamente nuevo. Algunas recomendaciones para el modelado de software son: • No tenga a los programadores esperando los modelos. • Trabajar de una macrovista a una microvista.
  • 69. Modelado de software • Se debe documentar en forma económica. • Si es obvio no se debe de modelar. • Hacer hincapié en la especialización. • Utilice patrones de diseño. • Refactorice.
  • 70. Diagrama de despliegue • Se utiliza para modelar la forma en como lucirá el sistema cuando se ponga en uso. • Los nodos representan componentes físicos que pueden ser computadoras, sistemas operativos, entornos, servidores, etc. • Ayudan al proceso de instalación de un sistema
  • 71. Diagrama de despliegue • Los artefactos son las cosas que se están desplegando. Usan el estereotipo artefacto y pueden ser achivos exe, dll, HTML, .jar, scripts, etc. • Dentro de cada nodo se suele describir algunas carácterísticas propias.