SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados (20)

Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
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
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetos
 
Uml
UmlUml
Uml
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Diagramas de Actividades
Diagramas de ActividadesDiagramas de Actividades
Diagramas de Actividades
 
Cuestionario uml y objetos zuli
Cuestionario uml y objetos zuliCuestionario uml y objetos zuli
Cuestionario uml y objetos zuli
 
Diagrama de Colaboración
Diagrama de ColaboraciónDiagrama de Colaboración
Diagrama de Colaboración
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 
HA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUMLHA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUML
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
 
Ea actividadesassdasd
Ea actividadesassdasdEa actividadesassdasd
Ea actividadesassdasd
 
Lenguaje Unificado de Modelado
Lenguaje Unificado de ModeladoLenguaje Unificado de Modelado
Lenguaje Unificado de Modelado
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 

Semelhante a Presentacion uml dian1_2003

Semelhante 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
 
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
 
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
 
uml
umluml
uml
 

Último

Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
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
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
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
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 

Último (20)

Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-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
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
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...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
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
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 

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