SlideShare una empresa de Scribd logo
Modelado de Software
Orientado a Objetos usando
UML
Construcción de Algoritmo de
Fibonacci
Puede hacerlo una sola persona
Requiere:
Modelado mínimo
Proceso simple
Herramientas simples
int fib(int val){
if ((val==1)||(val==2)) return 1;
else
return (fib(val-1)+fib(val-2));
}
Construcción del software para un
cajero automatico
Auto-teller
system
Security
system
Maintenance
system
Account
da tabase
Usage
database
Branch
accounting
system
Branch
counter
system
Beneficios del Modelado
 Manejar la complejidad
 Mejora la comunicación entre programadores
 Ayuda a crear un modelado de la estructura para el diseño de un
programa
 Hacer saber de las necesidades servidor cliente
 Modelar el sistema independientemente del lenguaje de
implementación”
 Promover la Reutilización
Que es UML
 UML = Unified Modeling Language
 Un lenguaje de propósito general para el modelado orientado
a objetos. Impulsado por el Object Management Group (OMG,
www.omg.org)
 Documento “OMG Unified Modeling Language Specification”
 UML combina notaciones provenientes desde:
 Modelado Orientado a Objetos
 Modelado de Datos
 Modelado de Componentes
 Modelado de Flujos de Trabajo (Workflows)
Pioneros de UML
 Grady Booch
 James Rumbaugh
 Ivar Jacobson
 Cada uno había desarrollado su método pero compartieron notas
Que no es UML
 No es programación
 No esta asociado a un lenguaje
 No es una metodología
 Empresas pioneras en usar UML
• Texas
• Dec
• Texas instruments
• Microsoft
• Oracle
Factores importantes en UML
 Definición del proceso de desarrollo usando UML. UML no es
una metodología o proceso.
 No cubre todas las necesidades de especificación de un
proyecto software.
 Util en la definición de requerimientos, pero tambien en el
diseño (y en las pruebas…).
 Estándar del OMG (
 Gran cantidad de Libros y cursos
Que es el OMG
 El Object Management Group (OMG) es un consorcio, formado en 1989, dedicado al
cuidado y el establecimiento de diversos estándares de tecnologías orientadas a
objetos, tales como UML, XMI, CORBA y BPMN.
 Es una organización sin fines de lucro que promueve el uso de tecnología orientada a
objetos mediante guías y especificaciones.
 El grupo está formado por diversas compañías y organizaciones con distintos privilegios
dentro de la misma.1
 Certificaciones
 OMG ofrece diferentes certificaciones profesionales:
 OCEB 2 - OMG Certified Expert in Business Process Management (BPM)2
 OCUP 2 - OMG Certified UML Professional3
 OCSMP - OMG Certified Systems Modeling Professional4
 OCRES - OMG Certified Real-time and Embedded Systems Specialist5
 Un modelo captura una vista de un sistema del mundo real. Es una
abstracción de dicho sistema, considerando un cierto propósito. Así, el
modelo describe completa-mente aquellos aspectos del sistema que son
relevantes al propósito del modelo, y a un apropiado nivel de detalle.
 Diagrama: una representación gráfica de una colección de elementos de
modelado, a menudo dibujada como un grafo con vértices conectados por
arcos
... Modelos y Diagramas
 Un proceso de desarrollo de software debe ofrecer un conjunto de modelos
que permitan expresar el producto desde cada una de las perspectivas de
interés
 El código fuente del sistema es el modelo más detallado del sistema (y
además es ejecutable). Sin embargo, se requieren otros modelos ...
 Cada modelo es completo desde su punto de vista del sistema, sin embargo,
existen relaciones de trazabilidad entre los diferentes modelos
Diagramas de UML
 Define la estructura y el comportamiento del programa
 Se utiliza para hacer el análisis del sistema
 Se pueden correlacionar un diagrama con otro
 Genera muchas formas de organizarlos y extenderlos
Diagramas de UML
Los diagramas expresan gráficamente partes de un modelo
Use Case
Diagrams
Use Case
Diagrams
Diagramas de
Casos de Uso
Scenario
Diagrams
Scenario
Diagrams
Diagramas de
Colaboración
State
Diagrams
State
Diagrams
Diagramas de
Componentes
Component
DiagramsComponent
DiagramsDiagramas de
Distribución
State
Diagrams
State
Diagrams
Diagramas de
Objetos
Scenario
Diagrams
Scenario
Diagrams
Diagramas de
Estados
Use Case
Diagrams
Use Case
Diagrams
Diagramas de
Secuencia
State
Diagrams
State
Diagrams
Diagramas de
Clases
Diagramas de
Actividad
Modelos
Diagrama de Casos de Uso
Es una técnica para capturar
información sobre los servicios que
un sistema proporciona a su
entorno, desde el punto de vista del
usuario. Es una técnica para captura
y especificación de requisitos
Retirar dinero
Consultar Extracto
Cliente
Realizar transferencia
Diagrama de Clases
 El Diagrama de Clases es el diagrama principal para el análisis y diseño del
sistema
 Un diagrama de clases presenta las clases del sistema con sus relaciones
estructurales y de herencia
 La definición de clase incluye definiciones para atributos y operaciones
 El modelo de casos de uso debería aportar información para establecer las
clases, objetos, atributos y operaciones
Clases y Objetos
Diagramas de Clases
 Un diagrama de clases describe los tipos de objetos
 en el sistema y los distintos tipos de relaciones
 estáticas que existen entre ellos. Existen cuatro
 relaciones:
• Asociación
• Generalización/especialización
• Agregación/composición
• Dependencia
Asociación
ProfesorDepartamento
10..1
director
1
dirige
0..1
Empresa Empleado
1..** 1..**
trabajadoresempleador
Cargo
nombre
sueldo 0..1
1..*
superior
subordinado 1..*
0..1
•Permite asociar objetos.
•La asociacion se representa mediante una línea que une
las cajas de los dos objetos.
Generalización
 Esta es una relación de
tipo: es-un.
 Una generalización se
representa como una
flecha que une a las
subclases (hijos) a la
superclase (padre), con
la flecha tocando la
caja de la superclase.
Catalogue n umber
Acquisition date
Cost
Type
Status
Number of copies
Library item
Acquire ()
Catalogue ()
Dispose ()
Issue ()
Return ()
Author
Edition
Publication da te
ISBN
Book
Year
Issue
Magazine
Director
Date of release
Distributor
Film
Version
Platfor m
Computer
program
Title
Publisher
Published item
Title
Medium
Recorded item
Relacion de Dependencia entre
Clases
 Se usa para mostrar relaciones entre paquetes (grupos de clases)
ProveedorCliente
Agregacion de Objetos
• En este modelo se
muestra como las
clases pueden estar
compuestas por
otras clases.
• Existe la relacion de
agregacion y la de
composicion.
• Son similares a los
modelos de
entidad-relacion.
Diagrama de Secuencia
 Describe el
comportamie
nto dinamico
del los
objetos en el
sistema
: Encargado
:WInPréstamos :Socio :Video :Préstamo
prestar(video, socio)
verificar situación socio
verificar situación video
registrar préstamo
entregar recibo
Diagrama de Secuencia
 Los Diagramas de Secuencia y de Colaboración son usados para describir
gráficamente un caso de uso o un escenario
 Un Diagrama de Secuencia muestra los objetos de un escenario mediante
líneas verticales y los mensajes entre objetos como flechas conectando
objetos
 Los mensajes son dibujados cronológicamente desde arriba hacia abajo
 Los rectángulos en las líneas verticales representan los periodos de
actividad de los objetos.
Diagrama de Colaboración
 Modela la interacción entre los
objetos de un Caso de Uso
 Los objetos están conectados por
enlaces (links) en los cuales se
representan los mensajes
enviados acompañados de una
flecha que indica su dirección
 Ofrece una mejor visión del
escenario cuando el analista está
intentando comprender la
participación de un objeto en el
sistema
: 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
Diagrama de Estados
 Modela el comportamiento de una parte del sistema
con préstamos
sin préstamos
alta baja
prestar devolver[ número_préstamos = 1 ]
prestar
devolver[ número_préstamos > 1 ]
número_préstamos = 0
número_préstamos > 0
Socio
número : int
nombre : char[50]
número_prestamos : int = 0
alta()
baja()
prestar(código_libro : int, fecha : date)
devolver(código_libro : int, fecha : date)
Diagrama de Actividad
 Es un caso especial de un diagrama de state-
chart en donde los estados son actividades
(“funciones”).
 Es util para dibujar los flujos de trabajo
(workflows) en un sistema
 Puede especificar:
 (1)El comportamiento de los objetos de una
clase
 (2) La lógica de una operación (método)
 (3) Parte o toda la descripción de un Caso de
uso
 (4) La descripción de un Flujo de Trabajo
Buscar Bebida [ no hay café ]
Poner café
en filtro
Añadir agua
al depósito
Coger taza
Poner filtro
en máquina
Encender
máquina
Café en
preparación
/ cafetera.On
Servir café Beber
Coger
zumo
[ hay café ]
indicador de fin
[ hay zumo ]
[ no zumo ]
Diagrama Componentes
Interfaz de Terminal
Gestión de Cuentas Rutinas de conexión Acceso a BD
Control y Análisis
 Permite modelar la estructura del software y la
dependencia entre componentes, en donde un
componente es un grupo de clases que trabajan
estrechamente. Los componentes pueden corresponder
código fuente, binario o ejecutable.
 Una relación de dependencia indica que un componente
utiliza otro, por lo cual depende de él
Diagrama de Despliegue
Punto de Venta
Servidor Central
Terminal de Consulta
Gestión de Cuentas
Comment
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Rutinas de Coneccion
Comment
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Acceso a BD
Comment
Control y Análisis
Comment
 Modela la distribución en tiempo de ejecución de los
elementos de procesamiento y componentes de
software, junto a los procesos y objetos asociados
 Se modelan los nodos y la comunicación entre ellos
 Cada nodo puede contiene instancias de componentes
Los modelos se usan para describir al
sistema de software
 Modelo del sistema: Modelo de objetos + modelo funcional + modelo
dinamico
 Modelo de objetos: Cual es la estructura del sistema? Cuales son los
objetos y cual es su relacion?
 Notacion UML: Diagramas de clases
 Modelo funcional: Cuales son las funciones del sistema? Como fluyen los
datos en el sistema?
 Notacion UML: Diagramas de casos de uso
 Modelo dinamico: Como reaccciona el sistema a eventos externos (e
internos) y cual es el flujo de eventos?
 Notacion UML: Diagramas de secuencia, state charts y de actividad.
Modos de utilizacion de UML
 Ingenieria hacia adelante(Forward Engineering)
 Se comienza con un modelo antes de producir codigo
 Ingenieria en reversa (Reverse Engineering)
 Se crea un modelo a partir de algun codigo
 Proyectos de interfaces o re-ingenieria
 Ingenieria ciclica (Roundtrip Engineering)
 Se mueve constantemente entre ingenieria hacia adelante y en reversa.
 Util en proyectos que utilizan el modelo de procesos evolutivo, o cuando los
requerimientos cambian frecuentemente.
 Se asume que a partir de UML se puede producir codigo, pero en donde se
ubica UML dentro del proceso de Diseño ?.
Proceso de Desarrollo Unificado
basado en UML
Propuesta de Rational Unified Process (RUP)
 M. de Casos de Uso del Negocio (Business Use-Case Model)
 M. de Objetos del Negocio (Business Object Model)
 M. de Casos de Uso (Use-Case Model)
 M. de Análisis (Analysis Model)
 M. de Diseño (Design Model)
 M. de Despliegue (Deployment Model)
 M. de Datos (Data Model)
 M. de Implementación (Implementation Model)
 M. de Pruebas (Test Model)
Modelado de Software.
 ¿Cuál es el propósito de nuestros modelos?
 “Documentar”.
 Comunicar ideas y estudiar alternativas
 Tomar decisiones de análisis/diseño que dirijan la implementación
 Generar parcial o totalmente una implementación a partir de los modelos
 Pragmatismo, los modelos deben ser útiles. Principio básico: “Sencillez y
Elegancia”
 Gestión de modelos
 Distintos nivel de abstracción, expresados en diferentes modelos
 Seguimiento de transformaciones durante el proceso (Traceability)
 Sincronización de modelos
 Dificultades para la introducción de notaciones y herramientas de modelado.
La importancia del Proceso de Desarrollo
Comentarios Finales
UML
 www.omg.org/uml/
 Martin Fowler, autor de “UML Destilled” (“UML Gota a Gota”) http://www.martinfowler.com/
 http://www.csci.csusb.edu/dick/samples/uml0.html
 http://www.tutorialspoint.com/uml/uml_quick_guide.htm
 http://classes.engr.oregonstate.edu/eecs/fall2013/cs561/UML.pdf
Herramientas de modelado UML
 https://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools

Más contenido relacionado

PPTX
Vistas Arquitectonicas Ingenieria de Software
PPT
Uml presentacion
PPTX
Uml
PPT
Use case Diagram
PPTX
Diagramas de estados
PPTX
Diagrama de clases
PDF
SE_Lec 05_System Modelling and Context Model
Vistas Arquitectonicas Ingenieria de Software
Uml presentacion
Uml
Use case Diagram
Diagramas de estados
Diagrama de clases
SE_Lec 05_System Modelling and Context Model

La actualidad más candente (20)

PPTX
Diagramas de secuencia
PPT
Modelo Del Negocio con RUP y UML Parte 3
PPT
Diagrama de colaboración
PPTX
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
PPT
Diagramas de clases
PDF
Diagramas de secuencia
PPTX
2 2 estilos arquitectonicos
PDF
Diagramas UML: Componentes y despliegue
PPTX
Presentation on uml
PPTX
Diagramas de paquetes
PPT
Modelo requisitos UML
PDF
Lect-4: UML diagrams - Unified Modeling Language - SPM
PPTX
Ciclo Vida del Software
PPTX
Pruebas de estres
PPTX
PPT
Modelado del análisis
PPTX
8.1.- IPO. Estilos y paradigmas de interacción
PDF
Principios diseño del software
PPTX
UML - Casos de Uso y Diagramas de Clase
DOCX
25 Estandares - IEEE Calidad de Software
Diagramas de secuencia
Modelo Del Negocio con RUP y UML Parte 3
Diagrama de colaboración
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
Diagramas de clases
Diagramas de secuencia
2 2 estilos arquitectonicos
Diagramas UML: Componentes y despliegue
Presentation on uml
Diagramas de paquetes
Modelo requisitos UML
Lect-4: UML diagrams - Unified Modeling Language - SPM
Ciclo Vida del Software
Pruebas de estres
Modelado del análisis
8.1.- IPO. Estilos y paradigmas de interacción
Principios diseño del software
UML - Casos de Uso y Diagramas de Clase
25 Estandares - IEEE Calidad de Software
Publicidad

Destacado (16)

PPT
Marifer diapositivas uml roisbel
PPTX
PPTX
Large scalecplex
PPT
Lenguajes de-programacion-clase
PDF
Prestige intl realty llc lisitng_power_point
PPT
A travellers guide to leh ladhak
PDF
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplex
DOCX
WORKING EXPEREINCE AR. HAJEEDAR
PPTX
Take action on workplace safety
PPTX
Job search presentation
PDF
Generalized capital investment planning of oil-refineries using MILP and sequ...
PPTX
Controlling hazards
PDF
Asian Architecture Case Study
PDF
Sleepbetter 140601175522-phpapp02
PPT
Lenguajes de-programacion-clase
Marifer diapositivas uml roisbel
Large scalecplex
Lenguajes de-programacion-clase
Prestige intl realty llc lisitng_power_point
A travellers guide to leh ladhak
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplex
WORKING EXPEREINCE AR. HAJEEDAR
Take action on workplace safety
Job search presentation
Generalized capital investment planning of oil-refineries using MILP and sequ...
Controlling hazards
Asian Architecture Case Study
Sleepbetter 140601175522-phpapp02
Lenguajes de-programacion-clase
Publicidad

Similar a Mis diapositivas uml (20)

PDF
UML FACULTAD DE CIENCIAS ECONOMICAS. UNIVERSIDAD
PPT
ADS - Sesion2
PPT
Modelamiento visual-y-uml346
PPT
MODELAMIENTO VISUAL Y UML
PPTX
Modelado de aplicaciones en UML con EA
PPSX
Uml (presentación 6)
PDF
Diseño de sistemas - UML - compendio
PDF
Tutorial-StarUML.pdf
PPT
Aplicando UML en proyectos .NET 050524-MSF-UML-VS-AlexSanchez1.0.ppt
PPTX
Lenguajes de programación: UML
ODP
PPTX
0 todo
PPS
Presentacion uml dian1_2003
PPT
Uml Xp 01 Ucc
PPTX
Presentación power point relational rose
PPTX
Presentación power point relational rose
PDF
2 Curso de POO en java - modelamiento casos de uso
PPTX
Taller presentacion
DOCX
Trabajo final fredy
UML FACULTAD DE CIENCIAS ECONOMICAS. UNIVERSIDAD
ADS - Sesion2
Modelamiento visual-y-uml346
MODELAMIENTO VISUAL Y UML
Modelado de aplicaciones en UML con EA
Uml (presentación 6)
Diseño de sistemas - UML - compendio
Tutorial-StarUML.pdf
Aplicando UML en proyectos .NET 050524-MSF-UML-VS-AlexSanchez1.0.ppt
Lenguajes de programación: UML
0 todo
Presentacion uml dian1_2003
Uml Xp 01 Ucc
Presentación power point relational rose
Presentación power point relational rose
2 Curso de POO en java - modelamiento casos de uso
Taller presentacion
Trabajo final fredy

Último (20)

PDF
IA y Canva: Un aliado fundamental para crear diseños profesionales en minutos
PPTX
Presentación del Seminario Teorías del aprendizaje y problemas de contexto - ...
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
revista de historia Clio N|285 2025_.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
IA y Canva: Un aliado fundamental para crear diseños profesionales en minutos
Presentación del Seminario Teorías del aprendizaje y problemas de contexto - ...
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
revista de historia Clio N|285 2025_.pdf
ciencias-1.pdf libro cuarto basico niños
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
DI, TEA, TDAH.pdf guía se secuencias didacticas
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
caso clínico iam clinica y semiología l3.pptx
Punto Critico - Brian Tracy Ccesa007.pdf
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf

Mis diapositivas uml

  • 1. Modelado de Software Orientado a Objetos usando UML
  • 2. Construcción de Algoritmo de Fibonacci Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas simples int fib(int val){ if ((val==1)||(val==2)) return 1; else return (fib(val-1)+fib(val-2)); }
  • 3. Construcción del software para un cajero automatico Auto-teller system Security system Maintenance system Account da tabase Usage database Branch accounting system Branch counter system
  • 4. Beneficios del Modelado  Manejar la complejidad  Mejora la comunicación entre programadores  Ayuda a crear un modelado de la estructura para el diseño de un programa  Hacer saber de las necesidades servidor cliente  Modelar el sistema independientemente del lenguaje de implementación”  Promover la Reutilización
  • 5. Que es UML  UML = Unified Modeling Language  Un lenguaje de propósito general para el modelado orientado a objetos. Impulsado por el Object Management Group (OMG, www.omg.org)  Documento “OMG Unified Modeling Language Specification”  UML combina notaciones provenientes desde:  Modelado Orientado a Objetos  Modelado de Datos  Modelado de Componentes  Modelado de Flujos de Trabajo (Workflows)
  • 6. Pioneros de UML  Grady Booch  James Rumbaugh  Ivar Jacobson  Cada uno había desarrollado su método pero compartieron notas
  • 7. Que no es UML  No es programación  No esta asociado a un lenguaje  No es una metodología  Empresas pioneras en usar UML • Texas • Dec • Texas instruments • Microsoft • Oracle
  • 8. Factores importantes en UML  Definición del proceso de desarrollo usando UML. UML no es una metodología o proceso.  No cubre todas las necesidades de especificación de un proyecto software.  Util en la definición de requerimientos, pero tambien en el diseño (y en las pruebas…).  Estándar del OMG (  Gran cantidad de Libros y cursos
  • 9. Que es el OMG  El Object Management Group (OMG) es un consorcio, formado en 1989, dedicado al cuidado y el establecimiento de diversos estándares de tecnologías orientadas a objetos, tales como UML, XMI, CORBA y BPMN.  Es una organización sin fines de lucro que promueve el uso de tecnología orientada a objetos mediante guías y especificaciones.  El grupo está formado por diversas compañías y organizaciones con distintos privilegios dentro de la misma.1  Certificaciones  OMG ofrece diferentes certificaciones profesionales:  OCEB 2 - OMG Certified Expert in Business Process Management (BPM)2  OCUP 2 - OMG Certified UML Professional3  OCSMP - OMG Certified Systems Modeling Professional4  OCRES - OMG Certified Real-time and Embedded Systems Specialist5
  • 10.  Un modelo captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. Así, el modelo describe completa-mente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle.  Diagrama: una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos
  • 11. ... Modelos y Diagramas  Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés  El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ...  Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos
  • 12. Diagramas de UML  Define la estructura y el comportamiento del programa  Se utiliza para hacer el análisis del sistema  Se pueden correlacionar un diagrama con otro  Genera muchas formas de organizarlos y extenderlos
  • 13. Diagramas de UML Los diagramas expresan gráficamente partes de un modelo Use Case Diagrams Use Case Diagrams Diagramas de Casos de Uso Scenario Diagrams Scenario Diagrams Diagramas de Colaboración State Diagrams State Diagrams Diagramas de Componentes Component DiagramsComponent DiagramsDiagramas de Distribución State Diagrams State Diagrams Diagramas de Objetos Scenario Diagrams Scenario Diagrams Diagramas de Estados Use Case Diagrams Use Case Diagrams Diagramas de Secuencia State Diagrams State Diagrams Diagramas de Clases Diagramas de Actividad Modelos
  • 14. Diagrama de Casos de Uso Es una técnica para capturar información sobre los servicios que un sistema proporciona a su entorno, desde el punto de vista del usuario. Es una técnica para captura y especificación de requisitos Retirar dinero Consultar Extracto Cliente Realizar transferencia
  • 15. Diagrama de Clases  El Diagrama de Clases es el diagrama principal para el análisis y diseño del sistema  Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia  La definición de clase incluye definiciones para atributos y operaciones  El modelo de casos de uso debería aportar información para establecer las clases, objetos, atributos y operaciones
  • 17. Diagramas de Clases  Un diagrama de clases describe los tipos de objetos  en el sistema y los distintos tipos de relaciones  estáticas que existen entre ellos. Existen cuatro  relaciones: • Asociación • Generalización/especialización • Agregación/composición • Dependencia
  • 18. Asociación ProfesorDepartamento 10..1 director 1 dirige 0..1 Empresa Empleado 1..** 1..** trabajadoresempleador Cargo nombre sueldo 0..1 1..* superior subordinado 1..* 0..1 •Permite asociar objetos. •La asociacion se representa mediante una línea que une las cajas de los dos objetos.
  • 19. Generalización  Esta es una relación de tipo: es-un.  Una generalización se representa como una flecha que une a las subclases (hijos) a la superclase (padre), con la flecha tocando la caja de la superclase. Catalogue n umber Acquisition date Cost Type Status Number of copies Library item Acquire () Catalogue () Dispose () Issue () Return () Author Edition Publication da te ISBN Book Year Issue Magazine Director Date of release Distributor Film Version Platfor m Computer program Title Publisher Published item Title Medium Recorded item
  • 20. Relacion de Dependencia entre Clases  Se usa para mostrar relaciones entre paquetes (grupos de clases) ProveedorCliente
  • 21. Agregacion de Objetos • En este modelo se muestra como las clases pueden estar compuestas por otras clases. • Existe la relacion de agregacion y la de composicion. • Son similares a los modelos de entidad-relacion.
  • 22. Diagrama de Secuencia  Describe el comportamie nto dinamico del los objetos en el sistema : Encargado :WInPréstamos :Socio :Video :Préstamo prestar(video, socio) verificar situación socio verificar situación video registrar préstamo entregar recibo
  • 23. Diagrama de Secuencia  Los Diagramas de Secuencia y de Colaboración son usados para describir gráficamente un caso de uso o un escenario  Un Diagrama de Secuencia muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos  Los mensajes son dibujados cronológicamente desde arriba hacia abajo  Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos.
  • 24. Diagrama de Colaboración  Modela la interacción entre los objetos de un Caso de Uso  Los objetos están conectados por enlaces (links) en los cuales se representan los mensajes enviados acompañados de una flecha que indica su dirección  Ofrece una mejor visión del escenario cuando el analista está intentando comprender la participación de un objeto en el sistema : 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
  • 25. Diagrama de Estados  Modela el comportamiento de una parte del sistema con préstamos sin préstamos alta baja prestar devolver[ número_préstamos = 1 ] prestar devolver[ número_préstamos > 1 ] número_préstamos = 0 número_préstamos > 0 Socio número : int nombre : char[50] número_prestamos : int = 0 alta() baja() prestar(código_libro : int, fecha : date) devolver(código_libro : int, fecha : date)
  • 26. Diagrama de Actividad  Es un caso especial de un diagrama de state- chart en donde los estados son actividades (“funciones”).  Es util para dibujar los flujos de trabajo (workflows) en un sistema  Puede especificar:  (1)El comportamiento de los objetos de una clase  (2) La lógica de una operación (método)  (3) Parte o toda la descripción de un Caso de uso  (4) La descripción de un Flujo de Trabajo Buscar Bebida [ no hay café ] Poner café en filtro Añadir agua al depósito Coger taza Poner filtro en máquina Encender máquina Café en preparación / cafetera.On Servir café Beber Coger zumo [ hay café ] indicador de fin [ hay zumo ] [ no zumo ]
  • 27. Diagrama Componentes Interfaz de Terminal Gestión de Cuentas Rutinas de conexión Acceso a BD Control y Análisis  Permite modelar la estructura del software y la dependencia entre componentes, en donde un componente es un grupo de clases que trabajan estrechamente. Los componentes pueden corresponder código fuente, binario o ejecutable.  Una relación de dependencia indica que un componente utiliza otro, por lo cual depende de él
  • 28. Diagrama de Despliegue Punto de Venta Servidor Central Terminal de Consulta Gestión de Cuentas Comment Interfaz de Terminal Comment Rutinas de Coneccion Comment Rutinas de Coneccion Comment Interfaz de Terminal Comment Rutinas de Coneccion Comment Acceso a BD Comment Control y Análisis Comment  Modela la distribución en tiempo de ejecución de los elementos de procesamiento y componentes de software, junto a los procesos y objetos asociados  Se modelan los nodos y la comunicación entre ellos  Cada nodo puede contiene instancias de componentes
  • 29. Los modelos se usan para describir al sistema de software  Modelo del sistema: Modelo de objetos + modelo funcional + modelo dinamico  Modelo de objetos: Cual es la estructura del sistema? Cuales son los objetos y cual es su relacion?  Notacion UML: Diagramas de clases  Modelo funcional: Cuales son las funciones del sistema? Como fluyen los datos en el sistema?  Notacion UML: Diagramas de casos de uso  Modelo dinamico: Como reaccciona el sistema a eventos externos (e internos) y cual es el flujo de eventos?  Notacion UML: Diagramas de secuencia, state charts y de actividad.
  • 30. Modos de utilizacion de UML  Ingenieria hacia adelante(Forward Engineering)  Se comienza con un modelo antes de producir codigo  Ingenieria en reversa (Reverse Engineering)  Se crea un modelo a partir de algun codigo  Proyectos de interfaces o re-ingenieria  Ingenieria ciclica (Roundtrip Engineering)  Se mueve constantemente entre ingenieria hacia adelante y en reversa.  Util en proyectos que utilizan el modelo de procesos evolutivo, o cuando los requerimientos cambian frecuentemente.  Se asume que a partir de UML se puede producir codigo, pero en donde se ubica UML dentro del proceso de Diseño ?.
  • 31. Proceso de Desarrollo Unificado basado en UML Propuesta de Rational Unified Process (RUP)  M. de Casos de Uso del Negocio (Business Use-Case Model)  M. de Objetos del Negocio (Business Object Model)  M. de Casos de Uso (Use-Case Model)  M. de Análisis (Analysis Model)  M. de Diseño (Design Model)  M. de Despliegue (Deployment Model)  M. de Datos (Data Model)  M. de Implementación (Implementation Model)  M. de Pruebas (Test Model)
  • 32. Modelado de Software.  ¿Cuál es el propósito de nuestros modelos?  “Documentar”.  Comunicar ideas y estudiar alternativas  Tomar decisiones de análisis/diseño que dirijan la implementación  Generar parcial o totalmente una implementación a partir de los modelos  Pragmatismo, los modelos deben ser útiles. Principio básico: “Sencillez y Elegancia”  Gestión de modelos  Distintos nivel de abstracción, expresados en diferentes modelos  Seguimiento de transformaciones durante el proceso (Traceability)  Sincronización de modelos  Dificultades para la introducción de notaciones y herramientas de modelado. La importancia del Proceso de Desarrollo
  • 33. Comentarios Finales UML  www.omg.org/uml/  Martin Fowler, autor de “UML Destilled” (“UML Gota a Gota”) http://www.martinfowler.com/  http://www.csci.csusb.edu/dick/samples/uml0.html  http://www.tutorialspoint.com/uml/uml_quick_guide.htm  http://classes.engr.oregonstate.edu/eecs/fall2013/cs561/UML.pdf Herramientas de modelado UML  https://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools