SlideShare una empresa de Scribd logo
1 de 117
Lenguaje Unificado  de Modelado
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],AGENDA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],AGENDA
Introducción a UML Lenguaje Unificado de Modelado
Modelado ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modelado ,[object Object],[object Object],[object Object],[object Object],[object Object]
Triangulo de éxito de la ejecución de un proyecto de software ALCANCE PROCESO HERRAMIENTA EXITO NOTACION COSTO TIEMPO C
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DIAGRAMAS UML
[object Object],[object Object],Diagramas UML Diagramas de Estructura Diagramas de Comportamiento
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Categorización Jerárquica de los diagramas UML
[object Object],Diagramas Básicos de UML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML Vistas y Diagramas Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Elementos Generales
Package : Sistema de Reservaciones Agencia Agente Aerolínea Banco Package:  No se muestra su contenido en el diagrama Package:  Agencia muestra el  contenido  de sus clases Agente y Aerolínea Package:  Sistema de Reservaciones, contiene los packages de Agencia  y Banco Paquetes (packages) En UML, los paquetes permiten organizar el modelado los elementos del sistema en grupos,  permiten una organización jerárquica del modelo de elementos del sistema. 11/02/12 F.E.R.D.
Compras compañía pantallas Elementos del modelo Subpackage   Package name reportes dominio vehículo camioneta camión Propietario  0 ..* Package container Package dependency Paquetes (packages)
Estereotipos << interface>> Set Tag estereotipo Antación (Annotation) Vehiculo3 -  carga : double -  maximaCarga : double +  getCarga () : double + getMaximaCarga() : double +  addCaja(peso: double) : double peso en newtons peso  en kilogramos Nota o comentario Los estereotipos aplican tanto a relaciones como a nodos
Restricciones (Constraints) Jugador Las restricciones proporcionan al modelo ciertas condiciones que aplican a un nodo o link.  Equipo {  persistente  } {  miembro   } { Mínimo 3 Jugadores mujeres y mínimo 4 jugadores hombres   } * * * * Constraint
Valores  etiqueta (tagged values) Sever Los valores etiqueta permiten agregar nuevas propiedades a los nodos en un diagrama.  { version= 1.3 } Valores etiqueta {procesadores= 4 } __________ __________ _____ __________ __________ _______ __________ documento.java
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object]
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object]
Diagrama de Casos de Uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Creando un modelo de Casos de Uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Diagramas de  Casos de Uso Los casos de uso representan la funcionalidad dada  por el sistema a los usuarios externos.  el cliente pregunta por el balance 11/02/12 F.E.R.D.
Diagramas de Casos de Uso ,[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Nueva Reservación Modificar Reservación Borrar Reservación Check in Huésped Check out Huésped Buscar Huésped por nombre SISTEMA HOTELERO Recepcionista Telefonista Registrador 11/02/12 F.E.R.D.
Nueva Reservación Modificar Reservación Borrar Reservación Check in Huésped Check out Huésped Buscar Huésped por nombre SISTEMA HOTELERO Recepcionista Telefonista Registrador Adicinar detalles Huésped Buscar Reservación Habilitar Teléfono Deshabilitar Teléfono <<extend>> <<include>> <<include>> <<include>> <<include>> <<include>> << actor>> Monitor Teléfonos 11/02/12 F.E.R.D.
Escenarios de los Casos de Uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Nombre Actor Estado Puntos de Extensión Extends Precondiciones/ Asunpciones Post-condiciones Flujo de Eventos Nueva Reservación Recepsionista, Resgistrador Esperando por revisión del PM Adicionar detalles Huésped Ninguna El usuario esta logeado y la pantalla de reservaciones ha sido seleccionada La lista de reservaciones es actualizada si la reservación es aceptada 1. Se muestra al usuario lista de tipos de cuarto 2. El usuario selecciona el tipo cuarto requerido 3. El usuario entra fechas inicial y final o duración 4. El usuario inicia búsqueda cuarto disponible 5. Si las fecha están mal especificadas [A1] 6. Si no encontró cuarto disponible [A2] 7. Si el cuarto esta disponible, se muestra precio 8. Si el cliente rechaza la oferta [A3] 9. (Adionar detalles Huésped) punto de extensión 10. ………………… 11/02/12 F.E.R.D.
Nombre Requerimientos no funcionales Performance Frecuencia Notas Escenarios  (Caminos Alternativos) Nueva Reservación Respuesta interactiva es requerida Baja ,[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D. Vista Estructural
Notación UML de las clases NombreClase   atributos   metodos ,[object Object],nombreClase   Un Diagrama de clases es dinámico en su naturaleza, este puede ser revisado y actualizado durante la fase de análisis. Se le asigna el nombre cuando se crea pero la lista de atributos y métodos variará en cada iteración a otras 11/02/12 F.E.R.D.
Notación UML de las clases Vehículo   - carga : double  = 0.0  Nodos clase: Compañia Es una clase concreta, en donde sus miembros no están modelados. InputStream <<interface>> Es una clase abstracta ( nombre en itálicas ) Es una interface Set - cargaMaxima : double  + getCargaMaxima() : double  + getCarga() : double  + addionarCaja(peso : double) : boolean a) b) c) d) Es una clase concreta, en donde sus miembros están modelados. 11/02/12 F.E.R.D.
Vehículo   - carga  : double  =  0.0  - cargaMaxima : double  + setCargaMaxima(maximo : double)  + getCargaMaxima() : double  + calcularDistanciaRecorrida()  :  double - Destinos  [1 . . *] : String  <<constuctor>> + Vehiculo(cargaMaxima : double )  <<accesor>> + getcarga() : double  <<mutator>> + adicionarCaja(peso  :  double)  :  boolean <<bussiness logic>> # calcularEficiencia() :double  modos de acceso nombre clase tipo atributo multiplicidad atributo valor inicial atributo atributos métodos nombre método nombre parámetro tipo retorno tipo parámetro Notación UML de las clases nombre atributo 11/02/12 F.E.R.D.
Notación UML de los objetos Count - counter  : int = 0   - instanciaNumbre : int  Ejemplo de una clase con elementos estáticos,  counter  es un atributo estático y  getTotalCounter()  un método estático.  UML define modos de acceso y sus símbolos:  modo de acceso símbolo private  - protected  # Public  + - getTotalCount()  : int  + getMyNumber : int  Elementos estáticos 11/02/12 F.E.R.D.
Notación UML de los objetos objectName:NombreClase   atributo1 = valor1   La notación de un objeto es diferente a la de una clase ya que un objeto es una instancia de una clase atributo2 = valor2   objectName:NombreClase   :NombreClase   Si se conoce que el objeto es requerido pero no se le a identificado un nombre Sintaxis: 11/02/12 F.E.R.D.
Asociaciones y Enlaces (links) Enlace (link ): Asociacción: Persona Carro Propietario La relación representada por una línea sobre un Diagrama de Clases es una  Asociación ,  la Asociación debe tener un nombre indicando una descripción lógica del propósito de la relación. :Persona :Carro Propietario Una  Asociación entre dos Clases Una relación entre dos objetos es llamada un  Enlace (Link). Un Link entre dos Objetos 11/02/12 F.E.R.D.
Asociaciones y Multiplicidad Carro Motor movido por La Multiplicidad muestra cada posible combinación de cómo varios objetos de una clase pueden ser asociados con objetos de otra clase. Persona Carro Propietario Diagrama de Clases Carro, Motor, Persona 1 1 1 * :Persona :Carro Propietario 1 * :Motor movido por 1 1 11/02/12 F.E.R.D.
Asociaciones y Multiplicidad Instructor Clase Estudiante Ejemplo de Diagrama de Clases  1 .. * 3..12 Plan Cubierta 1 computador 1 1 Salón 1 1 ..  * 0 .. * 1 1 0 .. * 3..12 11/02/12 F.E.R.D.
Asociaciones Complejas Persona Libro presta Una asociación Compleja es cuando la Multiplicidad marcada con “*” se encuentra en ambos lados de la asociación. * * ,[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Asociaciones Complejas Persona Libro presta Clase Asociada (o derivada) : Una Clase asociación es codificada con atributos para resolver el conflicto. Esta técnica es usada en la fase de análisis para resolver relaciones muchos a muchos * * Presta fechaDesde fechaHasta Persona Libro * Presta fechaDesde * ,[object Object],11/02/12 F.E.R.D.
Asociaciones Complejas Banco Cliente Bancos con Clase Cualificada : Cuando  dos clases tienen una asociación lógica “muchos-a-muchos”, Se asigna un valor de atributo único que actúa como índice. * * Banco ideCliente Cliente Bancos con * Banco codBanco Cliente Bancos con * Asociación “muchos-a-muchos” Asociación Cualificada para Banco referenciado a un Cliente Asociación Cualificada para Cliente referenciado un Banco 11/02/12 F.E.R.D.
Relaciones Lógicas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Relaciones lógicas en la fase de análisis  11/02/12 F.E.R.D.
Notación UML para Herencia Mamifero Perro Mamifero Perro Gato Mamifero Perro Gato Herencia: Muestra como atributos y funcionalidad pueden ser compartidos entre clases de similar naturaleza o propósito. 11/02/12 F.E.R.D.
Notación UML para Herencia Mamífero ,[object Object],[object Object],[object Object],numPatas Comer() Perro numPatas Comer() Gato numPatas Comer() Perro numPatas Gato numPatas maullar() Ladrar() ladrar() maullar() Generalización: El concepto de Generalización ocurre cuando varias clases que ya existen en el diagrama de clases exhiben común funcionalidad, estructura y propósito 11/02/12 F.E.R.D.
Notación UML para Herencia Mamífero numPatas Comer() Perro Gato maullar() ladrar() Especialización: El concepto de Especialización ocurre cuando se crea una nueva clase que tiene toda la funcionalidad, estructura y propósito de una clase ya existente, pero requiere de nuevos código o atributos Mamífero numPatas Comer() Perro oveja valar() maullar() Perro ladrar() 11/02/12 F.E.R.D.
Polimorfismo Mamífero Perro Gato ,[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Notación UML para Clases Abstractas ,[object Object],[object Object],[object Object],TituloValor calcularVlrPresente()  {abstract} obtenerEmisor() TituloTasaFija calcularVlrPresente()  TituloTasaVariable obtenerTasaVari)  {abstracta} Los métodos  abstractos de la clase también son escritos en itálica El nombre de una Clase Abstracta se escribe en itálica 11/02/12 F.E.R.D.
Roles Carro Consumidor ,[object Object],[object Object],[object Object],[object Object],[object Object],comprador producto compra Asociación con Nombres de Rol 11/02/12 F.E.R.D.
Asociación Reflexiva Persona ,[object Object],[object Object],esposo casados esposa Asociación Reflexiva 11/02/12 F.E.R.D.
Tipos de Asociación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Agregación   ,[object Object],[object Object],Radio Carro Tiene un Notación UML para una Composición Composición   ,[object Object],Motor Carro Movido por Notación UML para una Agregación 11/02/12 F.E.R.D.
Propagación  ,[object Object],[object Object],Diagrama de clases mostrando métodos que se propagan Motor Carro Movido por pisarAcelerador() acelerar() 11/02/12 F.E.R.D.
Delegación  ,[object Object],[object Object],Diagrama de Clases mostrando un  Método Delegado Radio Carro Movido por subirVolumen() subirVolumen() 11/02/12 F.E.R.D.
Interfaces ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<<interface>> NuevoMotor acelerar() Motor acelerar() 11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],UML provee cuatro diagramas básicos para modelar la dinámica  del flujo de información dentro del sistema: 11/02/12 F.E.R.D. Modelo Dinámico
Diagramas de Secuencia ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Diagramas de Secuencia ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Un  D iagrama de Secuencia   muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales. 11/02/12 F.E.R.D.
Estructura Básica de un Diagrama de Secuencia Actor 1 Actor 2 Object2:Class2 Object1:Class1 Líneas de vida que representan actores del sistema Líneas de vida que representan objetos 11/02/12 F.E.R.D.
Diagrama de Secuencia Actor 1 Object2:Class2 Object1:Class1 Object3:Class3 tarea1 tarea2 X <<create>> tarea3 La destrucción de un objeto se representa como una X al final de la línea de ejecución del objeto. Si la vida de un objeto termina durante el Diagrama de Secuencia la línea de vida termina inmediatamente 11/02/12 F.E.R.D.
Diagramas de Secuencia ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Usuario Internet : LoginService : LoginServlet Return  (with value) Anonymous class role :RDDMS user:User “ login” user:=login SELECT * FROM User WHERE user_name=? “ create” Lífeline Activation Box Named class role Message Object created Ejemplo de Diagrama de Secuencia en el cual un actor inicia una secuencia de login con una aplicación web 11/02/12 F.E.R.D.
11/02/12 F.E.R.D. Ejemplo de Diagrama de Secuencia
Ejemplo de Diagrama de Secuencia 11/02/12 F.E.R.D.
Ejemplo de Diagrama de Secuencia Diagrama de Secuencia de la documentación escenario de caso de uso  Firmar Acto Administrativo
Modelo Dinámico  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],UML provee cuatro diagrama básicos para modelar la dinámica  del flujo de información dentro del sistema: 11/02/12 F.E.R.D.
Diagramas de colaboración ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Un Diagrama de Colaboración Actor 1 Object2:Class2 Object1:Class1 Object3:Class3 1: task1 1.1: task2 1.2: <<create>> 1.3: task3 Tanto los Diagramas de secuencia como los Diagramas de colaboración tienen sus ventajas y son incluidos dentro de un proyecto para clarificar completamente un escenario Un Diagrama de Colaboración es esencialmente una vista diferente de un Diagrama de Secuencia. 11/02/12 F.E.R.D.
Diagrama de Secuencia Actor 1 Object2:Class2 Object1:Class1 Object3:Class3 tarea1 tarea2 X <<create>> tarea3 Un Diagrama de Colaboración es esencialmente una vista diferente de un Diagrama de Secuencia. 11/02/12 F.E.R.D.
Ejemplo de un Diagrama de Colaboración client sessionBean txn: UserTransaction 3: createStatement() 5: createStatement() 1: <<create>> 2: begin() 7: rollback() 10:<<destroy>> costumerDB :Connection :Statement 3.1 <<create>> invertorDB :Connection :Statement 5.1: <<create>> << global >> 4: executeUpdate() 8: close() 6: executeUpdate() 9: close() << global >> <<local>> <<local>> {trasient} {trasient} <<local>> estereotipo object constraint {trasient} mensaje objeto link 11/02/12
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],UML provee cuatro diagrama básicos para modelar la dinámica  del flujo de información dentro del sistema: 11/02/12 F.E.R.D.
Diagramas de Transición de Estados ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Diagramas de Transición de Estados Blockeb Runnable Running transition state node New initial state final state Dead start() run() Scheduler unbloked blocking event Un ejemplo de Diagrama de transición de Estados 11/02/12 F.E.R.D.
Diagramas de Transición de Estados Estado Todos los objetos tienen un  estado .  El estado actual de un objeto esta dado por los valores almacenados en sus atributos. Evento Un  evento  es un estimulo que ínsita a un objeto hacer una transición de un estado a otro. Los eventos toman la forma de una llamada a un método, El método es una tarea o una serie de tareas dentro de un objeto que alteran el estado del objeto.  Transiciones Las transiciones llevan a un objeto de un estado a otro. Para que ocurra una transición, deben cumplirse unas  condiciones . 11/02/12 F.E.R.D.
Diagramas de Transición de Estados ,[object Object],[object Object],11/02/12 F.E.R.D.
Diagramas de Transición de Estados ,[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Diagramas de Transición de Estados ,[object Object],[object Object],[object Object],[object Object],11/02/12 F.E.R.D. ,[object Object]
Diagramas de Transición de Estados Tabla de Transiciones Cuando tenemos varios estados, puede que desde un estado podamos pasar a varios estados distintos dependiendo de qué  condiciones   se cumplan. Para llevar un control sobre esto y no perdernos cuando tengamos más estados y varias transiciones posibles, se suele crear una  tabla de transiciones : En esta tabla vemos lo siguiente: Si estamos en el estado A o B y se cumple la condición 1 pasamos al estado C Si estamos en el estado B y se cumple la condición 2 pasamos al estado A Si estamos en el estado C y se cumple la condición 3 pasamos al estado B 11/02/12 F.E.R.D. Condición Estado actual A B C 1 C C X 2 X A X 3 X X B
Diagramas de Transición de Estados Disponible En sobregiro Diagrama de Transición de Estados para una Cuenta Bancaria Pago en efectivo  o cheque Deposito en efectivo [cuenta > sobregiro]  Retiro en efectivo Retiro Retiro Pago en efectivo/cheque [cuenta < sobregiro]  Cierre de la cuenta Cheque aprobado 11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],UML provee cuatro diagrama básicos para modelar la dinámica  del flujo de información dentro del sistema: 11/02/12 F.E.R.D.
Diagramas   de Actividad ,[object Object],[object Object],[object Object],[object Object],[object Object],Parse XML file Translate to HTML Render HTML in browser Start state Activity Transition Stop state 11/02/12 F.E.R.D.
Transición Actividad Fin Inicio Línea Separador Bifurcación Unión Bifurcación solo 2 de 3 necesitan ser completadas 2 [condición1]  [condición 2] Ramificación Mezcla (merge) 11/02/12 F.E.R.D.
Diagrama de Actividad p=o.getNextProduct() o.putOnBackOrder(p) n=inventory.getCuont(p) Inventory.setCount(p,n-1) [o.hasMoreProducts()] else else [n>0] Branching   and Loooping Conditión Ramificación (Branch) 11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],[object Object],Diagramas de Componentes ,[object Object],[object Object],[object Object],11/02/12 F.E.R.D.
Un Diagrama de Componentes representa los componentes que componen una aplicación, sistema o empresa. Los componentes, sus relaciones, interacciones y sus interfaces públicas. Diagramas de Componentes Componente a) Icono genérico b) Icono que representa un archivo fuente c) Icono que representa un archivo ejecutable Applet.java Calculator.jar 11/02/12 F.E.R.D.
Diagramas de Componentes Calculator.jar CalcApplet.class CalcGUI.class CalcModel.class CalcApplet.java CalcGUI.java CalcModel.java Calculator.html {versión =2.1} {versión =1.3} {versión =1.0} En la figura se muestran las dependencias del empaquetamiento de una pagina HTML que contiene un applet.  Un ejemplo de Diagrama de componentes 11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Cohesion y Coupling 11/02/12 F.E.R.D.
Driver Mechanic ,[object Object],[object Object],[object Object],[object Object],1..5* Team raceNo Meeting Car Diagrama de Clases que modela un sistema para Carreras de Automovilismo Spectator date Race RaceSchedule 0..* 1..* 1..* 1..* 2..* Cohesion y Coupling 11/02/12 F.E.R.D.
Driver Mechanic 1..5* Team raceNo Meeting Car Diagrama de Clases mostrando áreas de alta Cohesión Spectator date Race RaceSchedule 0..* 1..* 1..* 1..* 2..* Cohesion y Coupling Las líneas rojas no son notación UML 11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],Componentes Componente instance:Component N otación UML para un Componente 11/02/12
Diagrama de Componentes :Team :Spectator RaceMeeting Diagrama de Componentes de sistema para Carreras de Automovilismo 11/02/12 F.E.R.D.
Diagrama de componentes :Team Diagrama de Componentes de sistema para Carreras de Automovilismo Driver Driver Mechanic Team Car :Spectator Spectator :RaceMeteeing Meeting RaceSchedule Race Diagrama de componentes más completo donde se muestran las clases componentes 11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],Vista Estructural ,[object Object],[object Object],Vista de la Implementación ,[object Object],Vista de Comportamiento ,[object Object],[object Object],[object Object],[object Object],Vista Ambiente  ,[object Object],Vista de Usuario ,[object Object],11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Diagramas de Despliegue (Deployment) 11/02/12 F.E.R.D.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Diagramas de Despliegue (Deployment) 11/02/12 F.E.R.D.
Diagramas de Despliegue (Deployment) Client Server DataBase NetworkPrinter Diagrama de Despliegue para un sistema cliente/servidor TCP/IP * * ,[object Object],11/02/12 F.E.R.D.
Diagramas de Despliegue (Deployment) Client:PC/Windows7 WebServer: SunEK33/Linux Ubunto Printer Ejemplo de Diagrama de Despliegue  TCP/IP instance:Component nodo físico Nombre del nodo Tipo de nodo  Relación de comunicaciones parallel port browser HTTPD HTML Form ISP Page Bean
Ejemplo de una documentación UML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Solución:  Usar el patrón de diseño  Transfer Object  para manejar múltiples elementos de datos a través de una capa.  Diagrama de Clases
Diagrama de Secuencia
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Herramientas UML  ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Recursos Adicionales
FINAL DE LA PRESENTACION Gracias por su asistencia

Más contenido relacionado

La actualidad más candente

Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesandrescofran
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoEliseo Castro
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental umlrigo berto
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de softwareYaskelly Yedra
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetesMoises Cruz
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Diagramas de Actividades
Diagramas de ActividadesDiagramas de Actividades
Diagramas de ActividadesLenin Vivanco
 
Diagramas de componentes exposicion martes
Diagramas de componentes exposicion  martesDiagramas de componentes exposicion  martes
Diagramas de componentes exposicion martesJackson Marshelo
 
UML: Diagrama de caso de uso
UML: Diagrama de caso de usoUML: Diagrama de caso de uso
UML: Diagrama de caso de usoElvin Hernandez
 
Esquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasEsquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasLeo Jm
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 

La actualidad más candente (20)

Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetes
 
Lenguaje Unificado de Modelado
Lenguaje Unificado de ModeladoLenguaje Unificado de Modelado
Lenguaje Unificado de Modelado
 
ENTORNOS DE DESARROLLO: LENGUAJES DE MODELADO
ENTORNOS DE DESARROLLO: LENGUAJES DE MODELADOENTORNOS DE DESARROLLO: LENGUAJES DE MODELADO
ENTORNOS DE DESARROLLO: LENGUAJES DE MODELADO
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental uml
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de software
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetes
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
Diagramas de Actividades
Diagramas de ActividadesDiagramas de Actividades
Diagramas de Actividades
 
Diagramas de componentes exposicion martes
Diagramas de componentes exposicion  martesDiagramas de componentes exposicion  martes
Diagramas de componentes exposicion martes
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
UML: Diagrama de caso de uso
UML: Diagrama de caso de usoUML: Diagrama de caso de uso
UML: Diagrama de caso de uso
 
Esquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasEsquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologías
 
1. uml
1. uml1. uml
1. uml
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 

Similar a Presentacion uml dian1_2003

Similar a Presentacion uml dian1_2003 (20)

Uml
UmlUml
Uml
 
ADS - Sesion2
ADS - Sesion2ADS - Sesion2
ADS - Sesion2
 
MODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UMLMODELAMIENTO VISUAL Y UML
MODELAMIENTO VISUAL Y UML
 
Modelamiento visual-y-uml346
Modelamiento visual-y-uml346Modelamiento visual-y-uml346
Modelamiento visual-y-uml346
 
Uml
UmlUml
Uml
 
Sesion1.1 uml
Sesion1.1 umlSesion1.1 uml
Sesion1.1 uml
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
EL UML X2
EL UML X2EL UML X2
EL UML X2
 
Uml
UmlUml
Uml
 
UML
UMLUML
UML
 
Uml
UmlUml
Uml
 
Modelo dinamico
Modelo dinamicoModelo dinamico
Modelo dinamico
 
Lenguaje unificado de modelado
Lenguaje unificado de modeladoLenguaje unificado de modelado
Lenguaje unificado de modelado
 
Camtasia Getting Started Guide
Camtasia Getting Started GuideCamtasia Getting Started Guide
Camtasia Getting Started Guide
 
Generacion en los diferentes diagramas de uml
Generacion en los diferentes diagramas de uml Generacion en los diferentes diagramas de uml
Generacion en los diferentes diagramas de uml
 
uml
umluml
uml
 

Último

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 

Último (20)

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 

Presentacion uml dian1_2003

  • 1. Lenguaje Unificado de Modelado
  • 2.
  • 3.
  • 4. Introducción a UML Lenguaje Unificado de Modelado
  • 5.
  • 6.
  • 7. Triangulo de éxito de la ejecución de un proyecto de software ALCANCE PROCESO HERRAMIENTA EXITO NOTACION COSTO TIEMPO C
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 14.
  • 15.
  • 16.
  • 17. Categorización Jerárquica de los diagramas UML
  • 18.
  • 19.
  • 20.
  • 21. Package : Sistema de Reservaciones Agencia Agente Aerolínea Banco Package: No se muestra su contenido en el diagrama Package: Agencia muestra el contenido de sus clases Agente y Aerolínea Package: Sistema de Reservaciones, contiene los packages de Agencia y Banco Paquetes (packages) En UML, los paquetes permiten organizar el modelado los elementos del sistema en grupos, permiten una organización jerárquica del modelo de elementos del sistema. 11/02/12 F.E.R.D.
  • 22. Compras compañía pantallas Elementos del modelo Subpackage Package name reportes dominio vehículo camioneta camión Propietario 0 ..* Package container Package dependency Paquetes (packages)
  • 23. Estereotipos << interface>> Set Tag estereotipo Antación (Annotation) Vehiculo3 - carga : double - maximaCarga : double + getCarga () : double + getMaximaCarga() : double + addCaja(peso: double) : double peso en newtons peso en kilogramos Nota o comentario Los estereotipos aplican tanto a relaciones como a nodos
  • 24. Restricciones (Constraints) Jugador Las restricciones proporcionan al modelo ciertas condiciones que aplican a un nodo o link. Equipo { persistente } { miembro } { Mínimo 3 Jugadores mujeres y mínimo 4 jugadores hombres } * * * * Constraint
  • 25. Valores etiqueta (tagged values) Sever Los valores etiqueta permiten agregar nuevas propiedades a los nodos en un diagrama. { version= 1.3 } Valores etiqueta {procesadores= 4 } __________ __________ _____ __________ __________ _______ __________ documento.java
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Diagramas de Casos de Uso Los casos de uso representan la funcionalidad dada por el sistema a los usuarios externos. el cliente pregunta por el balance 11/02/12 F.E.R.D.
  • 31.
  • 32. Nueva Reservación Modificar Reservación Borrar Reservación Check in Huésped Check out Huésped Buscar Huésped por nombre SISTEMA HOTELERO Recepcionista Telefonista Registrador 11/02/12 F.E.R.D.
  • 33. Nueva Reservación Modificar Reservación Borrar Reservación Check in Huésped Check out Huésped Buscar Huésped por nombre SISTEMA HOTELERO Recepcionista Telefonista Registrador Adicinar detalles Huésped Buscar Reservación Habilitar Teléfono Deshabilitar Teléfono <<extend>> <<include>> <<include>> <<include>> <<include>> <<include>> << actor>> Monitor Teléfonos 11/02/12 F.E.R.D.
  • 34.
  • 35. Nombre Actor Estado Puntos de Extensión Extends Precondiciones/ Asunpciones Post-condiciones Flujo de Eventos Nueva Reservación Recepsionista, Resgistrador Esperando por revisión del PM Adicionar detalles Huésped Ninguna El usuario esta logeado y la pantalla de reservaciones ha sido seleccionada La lista de reservaciones es actualizada si la reservación es aceptada 1. Se muestra al usuario lista de tipos de cuarto 2. El usuario selecciona el tipo cuarto requerido 3. El usuario entra fechas inicial y final o duración 4. El usuario inicia búsqueda cuarto disponible 5. Si las fecha están mal especificadas [A1] 6. Si no encontró cuarto disponible [A2] 7. Si el cuarto esta disponible, se muestra precio 8. Si el cliente rechaza la oferta [A3] 9. (Adionar detalles Huésped) punto de extensión 10. ………………… 11/02/12 F.E.R.D.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. Notación UML de las clases Vehículo - carga : double = 0.0 Nodos clase: Compañia Es una clase concreta, en donde sus miembros no están modelados. InputStream <<interface>> Es una clase abstracta ( nombre en itálicas ) Es una interface Set - cargaMaxima : double + getCargaMaxima() : double + getCarga() : double + addionarCaja(peso : double) : boolean a) b) c) d) Es una clase concreta, en donde sus miembros están modelados. 11/02/12 F.E.R.D.
  • 42. Vehículo - carga : double = 0.0 - cargaMaxima : double + setCargaMaxima(maximo : double) + getCargaMaxima() : double + calcularDistanciaRecorrida() : double - Destinos [1 . . *] : String <<constuctor>> + Vehiculo(cargaMaxima : double ) <<accesor>> + getcarga() : double <<mutator>> + adicionarCaja(peso : double) : boolean <<bussiness logic>> # calcularEficiencia() :double modos de acceso nombre clase tipo atributo multiplicidad atributo valor inicial atributo atributos métodos nombre método nombre parámetro tipo retorno tipo parámetro Notación UML de las clases nombre atributo 11/02/12 F.E.R.D.
  • 43. Notación UML de los objetos Count - counter : int = 0 - instanciaNumbre : int Ejemplo de una clase con elementos estáticos, counter es un atributo estático y getTotalCounter() un método estático. UML define modos de acceso y sus símbolos: modo de acceso símbolo private - protected # Public + - getTotalCount() : int + getMyNumber : int Elementos estáticos 11/02/12 F.E.R.D.
  • 44. Notación UML de los objetos objectName:NombreClase atributo1 = valor1 La notación de un objeto es diferente a la de una clase ya que un objeto es una instancia de una clase atributo2 = valor2 objectName:NombreClase :NombreClase Si se conoce que el objeto es requerido pero no se le a identificado un nombre Sintaxis: 11/02/12 F.E.R.D.
  • 45. Asociaciones y Enlaces (links) Enlace (link ): Asociacción: Persona Carro Propietario La relación representada por una línea sobre un Diagrama de Clases es una Asociación , la Asociación debe tener un nombre indicando una descripción lógica del propósito de la relación. :Persona :Carro Propietario Una Asociación entre dos Clases Una relación entre dos objetos es llamada un Enlace (Link). Un Link entre dos Objetos 11/02/12 F.E.R.D.
  • 46. Asociaciones y Multiplicidad Carro Motor movido por La Multiplicidad muestra cada posible combinación de cómo varios objetos de una clase pueden ser asociados con objetos de otra clase. Persona Carro Propietario Diagrama de Clases Carro, Motor, Persona 1 1 1 * :Persona :Carro Propietario 1 * :Motor movido por 1 1 11/02/12 F.E.R.D.
  • 47. Asociaciones y Multiplicidad Instructor Clase Estudiante Ejemplo de Diagrama de Clases 1 .. * 3..12 Plan Cubierta 1 computador 1 1 Salón 1 1 .. * 0 .. * 1 1 0 .. * 3..12 11/02/12 F.E.R.D.
  • 48.
  • 49.
  • 50. Asociaciones Complejas Banco Cliente Bancos con Clase Cualificada : Cuando dos clases tienen una asociación lógica “muchos-a-muchos”, Se asigna un valor de atributo único que actúa como índice. * * Banco ideCliente Cliente Bancos con * Banco codBanco Cliente Bancos con * Asociación “muchos-a-muchos” Asociación Cualificada para Banco referenciado a un Cliente Asociación Cualificada para Cliente referenciado un Banco 11/02/12 F.E.R.D.
  • 51.
  • 52. Notación UML para Herencia Mamifero Perro Mamifero Perro Gato Mamifero Perro Gato Herencia: Muestra como atributos y funcionalidad pueden ser compartidos entre clases de similar naturaleza o propósito. 11/02/12 F.E.R.D.
  • 53.
  • 54. Notación UML para Herencia Mamífero numPatas Comer() Perro Gato maullar() ladrar() Especialización: El concepto de Especialización ocurre cuando se crea una nueva clase que tiene toda la funcionalidad, estructura y propósito de una clase ya existente, pero requiere de nuevos código o atributos Mamífero numPatas Comer() Perro oveja valar() maullar() Perro ladrar() 11/02/12 F.E.R.D.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. Estructura Básica de un Diagrama de Secuencia Actor 1 Actor 2 Object2:Class2 Object1:Class1 Líneas de vida que representan actores del sistema Líneas de vida que representan objetos 11/02/12 F.E.R.D.
  • 70. Diagrama de Secuencia Actor 1 Object2:Class2 Object1:Class1 Object3:Class3 tarea1 tarea2 X <<create>> tarea3 La destrucción de un objeto se representa como una X al final de la línea de ejecución del objeto. Si la vida de un objeto termina durante el Diagrama de Secuencia la línea de vida termina inmediatamente 11/02/12 F.E.R.D.
  • 71.
  • 72. Usuario Internet : LoginService : LoginServlet Return (with value) Anonymous class role :RDDMS user:User “ login” user:=login SELECT * FROM User WHERE user_name=? “ create” Lífeline Activation Box Named class role Message Object created Ejemplo de Diagrama de Secuencia en el cual un actor inicia una secuencia de login con una aplicación web 11/02/12 F.E.R.D.
  • 73. 11/02/12 F.E.R.D. Ejemplo de Diagrama de Secuencia
  • 74. Ejemplo de Diagrama de Secuencia 11/02/12 F.E.R.D.
  • 75. Ejemplo de Diagrama de Secuencia Diagrama de Secuencia de la documentación escenario de caso de uso Firmar Acto Administrativo
  • 76.
  • 77.
  • 78. Un Diagrama de Colaboración Actor 1 Object2:Class2 Object1:Class1 Object3:Class3 1: task1 1.1: task2 1.2: <<create>> 1.3: task3 Tanto los Diagramas de secuencia como los Diagramas de colaboración tienen sus ventajas y son incluidos dentro de un proyecto para clarificar completamente un escenario Un Diagrama de Colaboración es esencialmente una vista diferente de un Diagrama de Secuencia. 11/02/12 F.E.R.D.
  • 79. Diagrama de Secuencia Actor 1 Object2:Class2 Object1:Class1 Object3:Class3 tarea1 tarea2 X <<create>> tarea3 Un Diagrama de Colaboración es esencialmente una vista diferente de un Diagrama de Secuencia. 11/02/12 F.E.R.D.
  • 80. Ejemplo de un Diagrama de Colaboración client sessionBean txn: UserTransaction 3: createStatement() 5: createStatement() 1: <<create>> 2: begin() 7: rollback() 10:<<destroy>> costumerDB :Connection :Statement 3.1 <<create>> invertorDB :Connection :Statement 5.1: <<create>> << global >> 4: executeUpdate() 8: close() 6: executeUpdate() 9: close() << global >> <<local>> <<local>> {trasient} {trasient} <<local>> estereotipo object constraint {trasient} mensaje objeto link 11/02/12
  • 81.
  • 82.
  • 83. Diagramas de Transición de Estados Blockeb Runnable Running transition state node New initial state final state Dead start() run() Scheduler unbloked blocking event Un ejemplo de Diagrama de transición de Estados 11/02/12 F.E.R.D.
  • 84. Diagramas de Transición de Estados Estado Todos los objetos tienen un estado . El estado actual de un objeto esta dado por los valores almacenados en sus atributos. Evento Un evento es un estimulo que ínsita a un objeto hacer una transición de un estado a otro. Los eventos toman la forma de una llamada a un método, El método es una tarea o una serie de tareas dentro de un objeto que alteran el estado del objeto. Transiciones Las transiciones llevan a un objeto de un estado a otro. Para que ocurra una transición, deben cumplirse unas condiciones . 11/02/12 F.E.R.D.
  • 85.
  • 86.
  • 87.
  • 88. Diagramas de Transición de Estados Tabla de Transiciones Cuando tenemos varios estados, puede que desde un estado podamos pasar a varios estados distintos dependiendo de qué condiciones se cumplan. Para llevar un control sobre esto y no perdernos cuando tengamos más estados y varias transiciones posibles, se suele crear una tabla de transiciones : En esta tabla vemos lo siguiente: Si estamos en el estado A o B y se cumple la condición 1 pasamos al estado C Si estamos en el estado B y se cumple la condición 2 pasamos al estado A Si estamos en el estado C y se cumple la condición 3 pasamos al estado B 11/02/12 F.E.R.D. Condición Estado actual A B C 1 C C X 2 X A X 3 X X B
  • 89. Diagramas de Transición de Estados Disponible En sobregiro Diagrama de Transición de Estados para una Cuenta Bancaria Pago en efectivo o cheque Deposito en efectivo [cuenta > sobregiro] Retiro en efectivo Retiro Retiro Pago en efectivo/cheque [cuenta < sobregiro] Cierre de la cuenta Cheque aprobado 11/02/12 F.E.R.D.
  • 90.
  • 91.
  • 92. Transición Actividad Fin Inicio Línea Separador Bifurcación Unión Bifurcación solo 2 de 3 necesitan ser completadas 2 [condición1] [condición 2] Ramificación Mezcla (merge) 11/02/12 F.E.R.D.
  • 93. Diagrama de Actividad p=o.getNextProduct() o.putOnBackOrder(p) n=inventory.getCuont(p) Inventory.setCount(p,n-1) [o.hasMoreProducts()] else else [n>0] Branching and Loooping Conditión Ramificación (Branch) 11/02/12 F.E.R.D.
  • 94.
  • 95.
  • 96.
  • 97. Un Diagrama de Componentes representa los componentes que componen una aplicación, sistema o empresa. Los componentes, sus relaciones, interacciones y sus interfaces públicas. Diagramas de Componentes Componente a) Icono genérico b) Icono que representa un archivo fuente c) Icono que representa un archivo ejecutable Applet.java Calculator.jar 11/02/12 F.E.R.D.
  • 98. Diagramas de Componentes Calculator.jar CalcApplet.class CalcGUI.class CalcModel.class CalcApplet.java CalcGUI.java CalcModel.java Calculator.html {versión =2.1} {versión =1.3} {versión =1.0} En la figura se muestran las dependencias del empaquetamiento de una pagina HTML que contiene un applet. Un ejemplo de Diagrama de componentes 11/02/12 F.E.R.D.
  • 99.
  • 100.
  • 101. Driver Mechanic 1..5* Team raceNo Meeting Car Diagrama de Clases mostrando áreas de alta Cohesión Spectator date Race RaceSchedule 0..* 1..* 1..* 1..* 2..* Cohesion y Coupling Las líneas rojas no son notación UML 11/02/12 F.E.R.D.
  • 102.
  • 103. Diagrama de Componentes :Team :Spectator RaceMeeting Diagrama de Componentes de sistema para Carreras de Automovilismo 11/02/12 F.E.R.D.
  • 104. Diagrama de componentes :Team Diagrama de Componentes de sistema para Carreras de Automovilismo Driver Driver Mechanic Team Car :Spectator Spectator :RaceMeteeing Meeting RaceSchedule Race Diagrama de componentes más completo donde se muestran las clases componentes 11/02/12 F.E.R.D.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110. Diagramas de Despliegue (Deployment) Client:PC/Windows7 WebServer: SunEK33/Linux Ubunto Printer Ejemplo de Diagrama de Despliegue TCP/IP instance:Component nodo físico Nombre del nodo Tipo de nodo Relación de comunicaciones parallel port browser HTTPD HTML Form ISP Page Bean
  • 111.
  • 112. Solución: Usar el patrón de diseño Transfer Object para manejar múltiples elementos de datos a través de una capa. Diagrama de Clases
  • 114.
  • 115.
  • 116.
  • 117. FINAL DE LA PRESENTACION Gracias por su asistencia