UML
Unified Modeling Language
(Lenguaje de Modelamiento unificado)
Ing. Sonia Godoy Hortua
 Entender
los beneficios del modelamiento
visual
 Reconocer al UML como lenguaje estándar en
la construcción de SW
 Identificar los diagramas UML y su papel
durante la construcción del SW
INGENIERIA DE SOFTWARE
Un Modelo es
una Simplificación de la Realidad
INGENIERIA DE SOFTWARE
El modelamiento visual provee una plantilla
del sistema. El visualizar esta plantilla, ayuda
a entender el sistema que se crea y cómo
quisiera crearse, permite entender la
estructura o comportamiento del mismo, sirve
de guía durante el proceso de construcción
del SW y nos permite documentar las
decisiones que se toman.
INGENIERIA DE SOFTWARE
 Captura
procesos
 Incrementa la comunicación
 Define la arquitectura
 Administra la complejidad
 Reutilización
INGENIERIA DE SOFTWARE
Lenguaje estándar que permite visualizar,
especificar, construir y documentar los
artefactos del sistema de software. Está
demostrado que el trabajo con UML
incrementa la productividad, reduce el ciclo
de vida de construcción del software e
incrementa la calidad del sistema.
INGENIERIA DE SOFTWARE
UML es un lenguaje que nació de la unión de
las teorías de :
Grady Booch
James Rumbaugh
Ivar Jacobson
 Actualmente es un estándar y pertenece a la OMG
(Object Managemente Group)

Ultima Versión: 2.0 y la 2.1 es Beta.
INGENIERIA DE SOFTWARE
 Los
elementos y diagramas UML están basados
en el paradigma orientado a objetos.
 Entre las partes de UML tenemos:
1.Las vistas
2.Los diagramas
3.Los elementos del modelo
4.Lo mecanismos de extensión
INGENIERIA DE SOFTWARE
Vistas de UML: Arquitectura 4 + 1


5 Vistas
9 Diagramas
INGENIERIA DE SOFTWARE
 Muestran
los diferentes aspectos del sistema
que son modelados. Una vista no es un
gráfico, pero es una abstracción consistente
de un número de diagramas.
 Se tiene las siguientes vistas:
Vista de casos de uso, vista lógica, vista de
componentes, vista concurrente y vista de
despliegue.
INGENIERIA DE SOFTWARE
 Vista
de Casos de Uso: Muestra la
funcionalidad del sistema percibido por
actores externos.
 Vista Lógica: Muestra cómo la funcionalidad
es diseñada dentro del sistema, define la
estructura y el comportamiento del sistema.
 Vista de Componentes o Implementación:
Muestra la organización de componentes del
código. Y su implementación.
INGENIERIA DE SOFTWARE
 Vista
Concurrente o de Procesos: Muestra la
concurrencia en el sistema dividido en procesos.
Presenta los aspectos de comunicación e
integración.
 Vista de Despliegue: Muestra la arquitectura física
del sistema.
INGENIERIA DE SOFTWARE
Son los gráficos que describen el contenido de
una vista. UML tiene nueve tipos de diagramas
que se usan para mostrarnos todas los
enfoques del sistema.
INGENIERIA DE SOFTWARE
Use Case
Use Case
Diagrams
Diagrama
Diagrams de
secuencia
Scenario
Scenario
Diagrams
Diagrama
Diagrams de
Colaboración
Scenario
Scenario
Diagrams
Diagrama
Diagrams de
Estados
Use Case
Use Case
Diagrams
Diagrama
Diagrams de
Caso de Uso
State
State
Diagrams
Diagrama
Diagrams de
Clases
Models
State
State de
Diagrama
Diagrams
Diagrams
objetos
State
State
Diagrams
Diagrama
Diagrams de
Componentes
Component
Component
Diagrams
Diagrama
Diagrams de
Diagrama de
Actividad
Distribución
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
Los conceptos usados son elementos del
modelo
que
representan
conceptos
orientados a objetos como clases, objetos,
mensajes
y
relaciones
incluyendo
asociación, dependencia y generalización.
INGENIERIA DE SOFTWARE
Los símbolos que complementan la información
de los diagramas, tenemos las notas, caja de
textos para títulos, líneas de indicación, entre
otros.
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
casos de uso
INGENIERIA DE SOFTWARE
 DIAGRAMA
DE CASOS DE USO DE NEGOCIO
Diagrama en el que se plasman los procesos de
negocio y los externos a ellos. Estos externos
se benefician con el proceso o benefician al
proceso.
INGENIERIA DE SOFTWARE
Diagrama de Casos de
Uso de Negocio
Cliente
Director
Gestionar las encuestas
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
Diagrama que captura acciones, es decir flujos
de trabajo y actividades a llevarse a cabo.
Este diagrama permite enfocar:
*Las actividades de un caso de uso de negocio
*La implementación de operaciones de una
clase
*Las actividades de un objeto
*Las actividades de una situación
INGENIERIA DE SOFTWARE
Actividad
Bifurcación
Flujo
Unión
Inicio
Subdivisión
Fin
Separador
Unión
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
 DIAGRAMA
DE CASOS DE USO DE SOFTWARE
Diagrama en el que se plasman las
funcionalidades del software y los que
interactúan con ellas.
INGENIERIA DE SOFTWARE
Diagrama de Casos de Uso
de Software
Elaborar encuestas
Usuario
Director
Usuario
Marketing
Procesar encuestas
Usuario
Cliente
Llenar encuestas
Generar reportes Consultar resultados de
encuestas
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
En el modelamiento orientado a objetos, las
clases, objetos y sus relaciones son los
principales elementos del modelo.
Las clases y objetos modelan que hay en el
sistema y las relaciones entre ellos revelan
como están estructurados.
Cuando se usa programación orientada a
objetos los elementos mencionados se
convierten en el código actual.
INGENIERIA DE SOFTWARE
Diagrama de Clases, Lógicas
y Persistentes
INGENIERIA DE SOFTWARE
Una clase es una descripción de un tipo objeto,
todos los objetos son instancias de una clase,
donde la clase describe las propiedades y
comportamiento de un tipo de objeto. Una clase
sería una descripción de un objeto en un tipo de
sistema(información,
técnico,
distribuido,
software, negocio)
INGENIERIA DE SOFTWARE
Diagrama de Clases
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE


El Diagrama de Objetos es una instancia de un Diagrama de
Clases y presenta los detalles de un estado del sistema en un
punto del tiempo determinado. Se utilizan para validar el
modelo del dominio.
Para validar el modelo del dominio es necesario ejecutar los
siguientes pasos:
 Elegir uno o más casos de uso que estén altamente
relacionados con el modelo del dominio.
 Elegir uno o más escenarios de los casos de uso seleccionados
en el punto anterior. Es recomendable elegir escenarios que
exploren diferentes situaciones.
INGENIERIA DE SOFTWARE
Creando el diagrama de objetos desde el
escenario: Juan ingresa su identificación
91558899 la cual el sistema valida.
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
Diagrama que enfoca las interacciones y los
enlaces
entre
un
grupo
de
objetos
“colaboradores”. Este diagrama se enfoca en el
espacio y muestra como los objetos, sus enlaces
y los mensajes son enviados entre ellos.
INGENIERIA DE SOFTWARE
5: Contesta y graba
1: Selecciona tipo de encuesta
: Usuario
Cliente
4: muestra preguntas
: GUIEncuesta
2: solicita preguntas x tipo
6: valida grabación
: ControlEncuesta
3: obtiene preguntas
7: guarda datos
: Encuesta
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
 Muestran
como los objetos interactúan entre
ellos.
 Está enfocado en la secuencia de mensajes.
 Tiene dos ejes: el eje vertical que muestra el
tiempo y el eje horizontal que muestra el grupo
de objetos.
 Es específico para un escenario.
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
 Captura
el ciclo de vida
de los objetos,
subsistemas y sistemas.
 Define los estados que
un objeto puede tener y
cómo los eventos
afectan esos estados.
INGENIERIA DE SOFTWARE
Diagrama de Estados de una Orden de Pedido
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
Despliegue
INGENIERIA DE SOFTWARE
 Describe
la arquitectura en tiempo de ejecución
de procesadores, dispositivos y los componentes
de software que ejecutan esta arquitectura.
 Describe la topología del sistema, estructura de
hardware y el software que se ejecuta en cada
unidad.
INGENIERIA DE SOFTWARE
Serv idor
Comprador
INT RANET
Serv idor
Central
INTERNET
INT RANET
Cliente
Comprador
INT RANET
Serv idor
Vendedor
INTERNET
Cliente
Vendedor
INGENIERIA DE SOFTWARE
 Nodos.-Son
los objetos físicos que tiene un tipo
de recurso computacional. Ejm: dispositivos
como impresoras, dispositivos de comunicación.
 Conexiones.-El
tipo de comunicación es
representado por un estereotipo que identifica
el protocolo de comunicación o el tipo de red
usado.
INGENIERIA DE SOFTWARE
INGENIERIA DE SOFTWARE
Componentes
INGENIERIA DE SOFTWARE
Representa los componentes de software,sus
dependencias y la estructura del código. Los
componentes implementan en la arquitectura
física, los conceptos y la funcionalidad definidas
en la arquitectura lógica.
Los componentes pueden ser fuentes, binarios y
ejecutables.
INGENIERIA DE SOFTWARE
D. de Componentes para Llenar Encuesta
GuiEncuesta.jsp
ControlEncuesta.class
Encuesta.class
BD
INGENIERIA DE SOFTWARE
Horario
Plan
reservar
actualizar
«executable»
SistemaOrden
«COM»
DAO
«COM»
VB
«COM»
VBA
GUI
«COM»
stdole
INGENIERIA DE SOFTWARE
 Sólo
los componentes ejecutables tienen
instancias.
 Se utiliza un diagrama de despliegue para ubicar
instancias de componentes ejecutables.
 Entre componentes existen las dependencias.
 Un componente puede definir interfaces que son
visibles a otros componentes.
INGENIERIA DE SOFTWARE
pcGerente : Dell Pentium
«executable»
: PrgCliente
transObj
WindowsNT : Servidor
: Programa T ransaction Server
«becomes»
: T hreadActualizacion
INGENIERIA DE SOFTWARE
 El
UML es un lenguaje reconocido mundialmente
por la industria de construcción de software.
 El Modelamiento visual es una de las técnicas
probadas que brinda mejores resultados.
 Todos los sistemas tienen una estructura estática
y comportamiento dinámico.
 Cabe
recalcar que en UML no es necesario que
aparezcan todos los Diagramas.
INGENIERIA DE SOFTWARE
Descargar

Diapositiva 1