SlideShare una empresa de Scribd logo
1 de 33
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

La actualidad más candente

 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automáticoItzel656131
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre Juan Anaya
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y ClasesEmilio Aviles Avila
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionalessullinsan
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositóriorehoscript
 

La actualidad más candente (20)

 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Lenguaje Unificado de Modelado
Lenguaje Unificado de ModeladoLenguaje Unificado de Modelado
Lenguaje Unificado de Modelado
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Introducción - Desarrollo de Software
Introducción - Desarrollo de SoftwareIntroducción - Desarrollo de Software
Introducción - Desarrollo de Software
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
5.1 ejemplos uml
5.1 ejemplos uml5.1 ejemplos uml
5.1 ejemplos uml
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y Clases
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionales
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 

Destacado

Marifer diapositivas uml roisbel
Marifer diapositivas uml roisbelMarifer diapositivas uml roisbel
Marifer diapositivas uml roisbelnubiafernandez8
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 
Prestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_pointPrestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_pointarmandopa01
 
A travellers guide to leh ladhak
A travellers guide to leh ladhakA travellers guide to leh ladhak
A travellers guide to leh ladhakPriyanka9989
 
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplex
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplexOptimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplex
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplexoptimizatiodirectdirect
 
WORKING EXPEREINCE AR. HAJEEDAR
WORKING EXPEREINCE AR. HAJEEDARWORKING EXPEREINCE AR. HAJEEDAR
WORKING EXPEREINCE AR. HAJEEDARnadiacbass
 
Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...optimizatiodirectdirect
 
Asian Architecture Case Study
Asian Architecture Case StudyAsian Architecture Case Study
Asian Architecture Case Studynadiacbass
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 

Destacado (16)

Marifer diapositivas uml roisbel
Marifer diapositivas uml roisbelMarifer diapositivas uml roisbel
Marifer diapositivas uml roisbel
 
Game on
Game onGame on
Game on
 
Logotipoppt
LogotipopptLogotipoppt
Logotipoppt
 
Large scalecplex
Large scalecplexLarge scalecplex
Large scalecplex
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
Prestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_pointPrestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_point
 
A travellers guide to leh ladhak
A travellers guide to leh ladhakA travellers guide to leh ladhak
A travellers guide to leh ladhak
 
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplex
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplexOptimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplex
Optimization Direct Inc. at INFORMS Analytics 2015 #analytics2015 #orms #cplex
 
WORKING EXPEREINCE AR. HAJEEDAR
WORKING EXPEREINCE AR. HAJEEDARWORKING EXPEREINCE AR. HAJEEDAR
WORKING EXPEREINCE AR. HAJEEDAR
 
Take action on workplace safety
Take action on workplace safetyTake action on workplace safety
Take action on workplace safety
 
Job search presentation
Job search presentationJob search presentation
Job search presentation
 
Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...
 
Controlling hazards
Controlling hazardsControlling hazards
Controlling hazards
 
Asian Architecture Case Study
Asian Architecture Case StudyAsian Architecture Case Study
Asian Architecture Case Study
 
Sleepbetter 140601175522-phpapp02
Sleepbetter 140601175522-phpapp02Sleepbetter 140601175522-phpapp02
Sleepbetter 140601175522-phpapp02
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 

Similar a Mis diapositivas uml

ADS - Sesion2
ADS - Sesion2ADS - Sesion2
ADS - Sesion2willy0303
 
MODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLMODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLKudos S.A.S
 
Modelamiento visual-y-uml346
Modelamiento visual-y-uml346Modelamiento visual-y-uml346
Modelamiento visual-y-uml346Mguel
 
Modelado de aplicaciones en UML con EA
Modelado de aplicaciones en UML con EAModelado de aplicaciones en UML con EA
Modelado de aplicaciones en UML con EAEmmerson Miranda
 
Diseño de sistemas - UML - compendio
Diseño de sistemas  -  UML - compendioDiseño de sistemas  -  UML - compendio
Diseño de sistemas - UML - compendioJose Diaz Silva
 
Tutorial-StarUML.pdf
Tutorial-StarUML.pdfTutorial-StarUML.pdf
Tutorial-StarUML.pdfNone
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003Diana Vásquez
 
Presentación power point relational rose
Presentación power point relational rosePresentación power point relational rose
Presentación power point relational roseengelstalin
 
Presentación power point relational rose
Presentación power point relational rosePresentación power point relational rose
Presentación power point relational roseengelstalin
 
Taller presentacion
Taller presentacionTaller presentacion
Taller presentacionyanqui0101
 
Trabajo final fredy
Trabajo final fredyTrabajo final fredy
Trabajo final fredyfredyverg
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisisCarolina Rojas
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujolordXDie
 

Similar a Mis diapositivas uml (20)

ADS - Sesion2
ADS - Sesion2ADS - Sesion2
ADS - Sesion2
 
MODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLMODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UML
 
Modelamiento visual-y-uml346
Modelamiento visual-y-uml346Modelamiento visual-y-uml346
Modelamiento visual-y-uml346
 
Modelado de aplicaciones en UML con EA
Modelado de aplicaciones en UML con EAModelado de aplicaciones en UML con EA
Modelado de aplicaciones en UML con EA
 
Diseño de sistemas - UML - compendio
Diseño de sistemas  -  UML - compendioDiseño de sistemas  -  UML - compendio
Diseño de sistemas - UML - compendio
 
Tutorial-StarUML.pdf
Tutorial-StarUML.pdfTutorial-StarUML.pdf
Tutorial-StarUML.pdf
 
Lenguajes de programación: UML
Lenguajes de programación: UMLLenguajes de programación: UML
Lenguajes de programación: UML
 
Uml
UmlUml
Uml
 
0 todo
0 todo0 todo
0 todo
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003
 
Uml Xp 01 Ucc
Uml Xp 01 UccUml Xp 01 Ucc
Uml Xp 01 Ucc
 
Presentación power point relational rose
Presentación power point relational rosePresentación power point relational rose
Presentación power point relational rose
 
Presentación power point relational rose
Presentación power point relational rosePresentación power point relational rose
Presentación power point relational rose
 
2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso
 
Uml
UmlUml
Uml
 
Taller presentacion
Taller presentacionTaller presentacion
Taller presentacion
 
Trabajo final fredy
Trabajo final fredyTrabajo final fredy
Trabajo final fredy
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisis
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Equipo2
Equipo2Equipo2
Equipo2
 

Último

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 

Último (20)

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 

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