SlideShare a Scribd company logo
1 of 51
Download to read offline
UML

Diagrama de Clases y de
       Objetos
    Prof. Daniel Riesco
                          ®
Diagrama de Clase
• Una clase es una descripción de conjunto de
  objetos que comparten los mismos atributos,
  operaciones, métodos, relaciones y semántica.
• Las clases son graficamente representadas por
  cajas con compartimentos para:
   – Nombre de la clase, atributos y operaciones / métodos
   – Responsabilidades, Reglas, Historia de Modificaciones,
     etc.

• Los diseñadores desarrollan clases como conjuntos
  de compartimentos que crecen en el tiempo
  agregando incrementalmente aspectos y
  funcionalidades.
Ejemplo HelloWorld

                clase

  nombre    HelloWorld


operaciones paint()
Abstracción para HelloWorld

                clase

  nombre    HelloWorld
                                nota

operaciones paint()      g.drawString
                         ("HelloWorld", 0, 10)
Ejemplo: "Hello, World"


   import java.awt.Graphics;
   class HelloWorld extends java.applet.Applet {
      public void paint (Graphics g) {
          g.drawString ("Hello, World!", 10, 10);
      }
   }
Diagrama de Clase


           Applet

generalización

         HelloWorld

                      dependencia
        paint()                     Graphics
Herencia

                 Object

                              Panel
interface
                Component
ImageObserver
                              Applet

                Container

                            HelloWorld
Diagramas de Clase
• Muestra un cjto de elementos que son estáticos,
  como las clases y tipos, junto con sus
  contenidos y relaciones
• Es un grafo de elementos clasificadores
  conectados por varias relaciones estáticas
• Clasificador --> Class, Interface, DataType.
• Clase. Alcance. Referencia. Clase Abstracta.
• Orden: [stereotype] nbre [stringPropiedades]
Ejemplo: Clase Dispositivo
• Define e implementa las operaciones para config,
  transmitir y recibir informac. hacia y desde el puerto serie
• hCom: handler al dispositivo.
• puerta: nombre del puerto serie
• velocidad: velocidad de la comunicación.
• paridad: tipo de paridad
• bitStop: cantidad de bits de stop
• <<constructor>> Dispositivo() crea y abre el dispositivo
  retornando un handler
• <<query>> RecuperarDispositivo() inf. BD para config.,
  LeerBloque() información del puerto
• <<update>>ConfigurarDispositivo(), GrabBloquePuerto()
Diagramas de Clase
• Atributo:
• visibilidad nbre : exprTipo [= valor] [{prop}]
• visibilidad: public+, protected #, private - (no default)
• prop: {changeable} (default), {frozen}. Multiplicity [].
• Atributos de clase subrayados. Comienzan con minúscula
• Operación:
• visibility nbre (parámetros) [:TipoRetorno] [{prop}]
• prop: {query}, {sequential}, {guarded}, {concurrent},
  {abstract}
• parámetros: [in|out|inout] nbre : TipoExp = valorDefault
• Operaciones de clase subrayadas.
Notación: Una Clase
                     Ventana

      +size : Area = (100,100)                         nombre
      #visibilidad: Boolean = invisible                atributos
      +tamañoDefault : Rectangulo
      #tamañoMaximo : Rectangulo
      -xptr:Xwindow*                                   operaciones
      +imprimir()
      +esconder()
      +crear()
      -asociarXWindow(xwin:Xwindow*)
Una clase es una descripción de un conjunto de objetos que comparten
los mismos atributos, operaciones, relaciones y semántica.
Diagramas de Clase

• Clases parametrizadas.
   – Template no es directamente utilizable.
   – Parámetros, nbre [: expTipo]
• Utilidad: es una agrupación de variables globales y
  procedimientos en la forma de declaración de clase.
• Metaclase: clase cuyas instancias son clases.
• Objeto: Subrayado con valores particulares.
Notación: Interface


                     Iortografía
• Una interface es una colección de operaciones
que especifican un servicio de una clase o
componente, es decir, un comportamiento
externamente visible de ese elemento.
• Se especifican las operaciones externamente
visibles sin especificación de la estructura interna.
Modelado de Clases
• Una Responsabilidad es un contrato u obligación de
  una clase.
• Modelado del Vocabulario
   – Identificar los conceptos que usan los usuarios
      (Tarjetas CRC - casos de uso)
   – Para cada abstracción, identificar el conjunto de
      responsabilidades. Cada clase debe estar bien
      definida y un buen reparto de responsabilidades.
   – Proporcionar atributos y operaciones necesarios
      para cumplir con dichas responsabilidades.
• Clases muy grandes (varias responsabilidades) ->
  dificil de cambiar y no reutilización.
• Clases muy pequeñas -> modelo dificil de entender.
Modelado de Clases
• Modelado de conceptos que no son software.
   – Se modela como una clase
   – Para distinguirla de clases del sistema se usa un nuevo
     bloque de construcción con estereotipos.
   – Si es un hardware que tiene software -> nodo.
• Modelado de tipos primitivos.
   – Se modela como una clase con el estereotipo adecuado.
   – Si se necesita especificar el rango, se usa restricciones.
• Una clase debe:
   – proporcionar una abstracción bien definida de algo del
     dominio del problema o de la solución
   – Contiene un conjunto pequeño de responsabilidades
   – Muestra una clara distinción entre la implementación y la
     especificación de la abstracción.
   – Ser sencilla, entendible, extensible y adaptable.
Diagramas de Clase: Relaciones
• Final de asociación:
   –   multiplicidad
   –   orden {unordered} (default), {ordered}
   –   navegación
   –   agregación. Diamante lleno es composición.
   –   Nombre del rol
   –   cambiable (default) {frozen} {addOnly}
   –   visibilidad
• Asociación binaria. Opcional {or}. Asociación n-aria.
• Clase asociación: es una asociación que tiene propiedades
  de una clase.
• Composición. Tpo de vida. Multiplicidad del contenedor=1
• Generalización. Discriminador.
   – Restricción: {ovelapping},{disjoint},{complete},{incomplete}
• Relación de dependencia
   – <<amport>> <<access>> <<become>>, <<bind>>
Modelado de Relaciones
• Dependencia
   – Parámetro de una operación. Si se muestra la signatura no es
     necesario la relación de dependencia

• Generalización
   – Dado un cjto de clases, se busca responsabilidades, atributos y
     operaciones comunes.
   – Se elevan a una clase más general (nueva o no). No crear
     demasiados niveles.

• Asociación.
   – Relación estructural. Relación bilateral. Diferencia con
     dependencia y Generalización.
   – Equilibradas. Ni muy profundas (<=5 niveles) ni muy anchas.
   – Herencia múltiple se puede reemplazar por agregación.
Elementos del Diagrama de
Clase
Modelo Conceptual / del Dominio
• Un Modelo Conceptual /Dominio es el conjunto
  de diagramas de estructura estático con clases,
  atributos y asociaciones, pero no operaciones.
• Construcción del Modelo Conceptual / Dominio
  – Representa un aspecto de la realidad
  – Ayuda a los Ingenieros de Sofware a gestionar la
    complejidad
  – Es más simple que la realidad

• Un Modelo Conceptual / Dominio debería:
  –   Organizar Datos dentro de Objetos y Clases
  –   Estructurar Datos vía herencia y asociaciones
  –   Especificar comportamiento e interfaces públicas
  –   Describir el comportamiento global
  –   Describir Restricciones
Estático: Diagrama de Clase
 • Utilizado para la estructura estática del
   modelo conceptual / Dominio
 • El diagrama de clase describe
   – Tipos de objetos en la aplicación / dominio
   – Relaciones estáticas entre objetos

 • El diagrama de clase contiene
   – Clases: Objetos, Atributos, and
     Responsabilidades
   – Paquetes: Agrupación de clases
   – Subsistemas: Agrupación de clases/paquetes
Modelado de Clases
Dado un sistema de la vida real, ¿cómo decide
que clases usar?
• Los términos usados por usuarios y
desarrolladores para describir el sistema son
clases candidatas.
• Para cada clase, ¿cuáles son sus
responsabilidades? ¿están balanceadas entre
las clases?
• ¿Qué atributos y operaciones necesita cada
clase para llevar a cabo sus responsabilidades?
Identificación de Sustantivos:
Un ejemplo de una biblioteca
 Una biblioteca contiene libros y revistas. Puede haber varias
 copias de un libro. Algunos de los libros son reservados sólo para
 préstamos a corto plazo. Todos los otros pueden ser prestados a
 cualquier miembro de la biblioteca por tres semanas. Los
 miembros de la biblioteca pueden normalmente solicitar hasta seis
 items de una vez, pero miembros del staff pueden solicitar hasta
 doce items a la vez. Solamente miembros del staff pueden obtener
 prestado revistas.

 El sistema debe conservar la pista de cuando los libros y revistas
 son prestados y retornados forzando las reglas de la biblioteca.
Identificación de Sustantivos:
Un ejemplo de una biblioteca
 Una biblioteca contiene libros y revistas. Puede haber varias
 copias de un libro. Algunos de los libros son reservados sólo para
 préstamos a corto plazo. Todos los otros pueden ser prestados a
 cualquier miembro de la biblioteca por tres semanas. Los
 miembros de la biblioteca pueden normalmente solicitar hasta seis
 items de una vez, pero miembros del staff pueden solicitar hasta
 doce items a la vez. Solamente miembros del staff pueden pedir
 prestamos de revistas.

 El sistema debe conservar la pista de cuando los libros y revistas
 son prestados y retornados forzando las reglas de la biblioteca.
Clases Candidatas
 Biblioteca             Nombre del Sistema
 Libro
 Revista
 Copia
 PréstamosACortoPlazo   evento
 MiembroDeBiblioteca
 Semana                 medida
 Item                   libro o revista
 Tiempo                 término abstracto
 MiembroDelStaff
 Sistema                término general
 Regla                  término general
Relaciones entre Clases

Libro               es un             Item
Revista             es un             Item
Copia               es una copia de   Libro
MiembroDeBiblioteca
Item
MiembroDeStaff      es un             MiembroDeBiblioteca

¿Es el Item necesario?
Operations


MiembroDeBiblioteca   pide prestado   Copia
MiembroDeBiblioteca   devuelve        Copia
MiembroDeStaff        pide prestado   Revista
MiembroDeStaff        devuelve        Revista
Diagrama de Clase

MiembroDeStaff     MiembroDeBiblioteca


         1                 1

        prestamo           prestamo


         0..12             0..*
     Revista       Copia       es copia de   Libro
                               1..*     1
Generalización y Associación
                            *
                                 Item
      GroceryOrder

     1
 Customer            NonPItem            PerishItem




                      DeliItem      DiaryItem   ProduceItem
                        *
              1 contains
  DeliOrder
Diagrama de Clase
Diagrama de Clase
Clase Activa
                EventManager
                eventlist
                suspend()
                flush()


  Una clase activa es una clase cuyos objetos
  poseen uno o más procesos o threads y por lo
  tanto pueden inicial una actividad de control.

  Objeto:
     –{active}, posee el thread,es capaz de iniciar actividad
     de control
     –pasivo, mantiene los datos pero no inicia la actividad
Interface
                              Object


     interface
                            Component
     ImageObserver


                             Container

Una interface es una colección de operaciones
  que se usa para especificar un servicio de una
  clase o componente.
Ejemplo: Patrón Iterator

• Provee una forma de acceder a elementos de
  un objeto agregado sin exponer la
  representación subyacente
  – Ej: una clase Lista
     • Querer recorrer la lista en varias formas
         –   Hacia adelante
         –   Hacia atrás
         –   filtrada
         –   ordenada
         –   ...
Motivación para los iteradores

• No aglutinar la interface Lista con varios
  recorridos
      • Aún si se hace, no se puede anticipar todos los
        posibles recorridos

• Quere más de un recorrido sobre la misma
  lista.
• Los Iteradores mueven la responsabilidad para
  acceder y recorrer desde los agregados al
  objeto iterador.
Ejemplo de Iterador (1)
class List {
      size() {}
      add() {}
      remove() {}
}


interface ListIterator {
      getFirst();
      getNext();
}
Ejemplo de Iterador (2)
class FilteredListIterator implements ListIterator {
      List.Node curr;
      FilteredListIterator(List list, Filter f) {}

      getFirst() {
            curr = list.head;
            while (curr != null) {
                   if (f.accepts(curr.data))
                         break;
                   curr = curr.next;
            }
            return curr;
      }

      getNext() {}
}
Otras característias del patrón
Iterador
• Los Iteradores proveen una interface común
  para el acceso al objeto
   – Pueden usar la misma interface para listas
     implementadas como arrays y listas implementadas
     como listas encadenadas.
   – Es más facil cambiar las implementaciones de la
     estructura de datos

• Hay varios ejemplos en java.util de JDK 1.2
Interface: otro ejemplo
                                               A b s trac tCollec tion
Interfaces de Java.util



                                 C ollection


                                                   A b s trac tS et

                          S et


                                                     TreeS et


          SortedSet
Gerenciamiento del Modelo
          Paguetes y Organización
• Los paquetes:
   – Son una agrupación de elementos del modelo
   – Son cohesivos (límite bien definido alrededor de un conjunto
     de elementos relacionados).
   – Poco acoplados (exportando sólo aquellos elementos que
     otros paquetes necesitan, e importando solo lo necesario y
     suficiente
   – Pueden contener paquetes subordinados (anidados:
     aconsejable 2 a 3 niveles) y otros elementos del modelo.
   – Forman un espacio de nombres (p’::A, p’’::A).
• El sistema completo es un simple paquete (anónimo).
• Todo diagrama y elementos del modelo UML pueden
  estar organizados en paquetes
• De la propiedad: Jerarquía de paq. es un árbol
• Del uso: es un grafo.
Paquete & Nota

                Reglas de
                Negocio
Un paquete es un mecanismo de propósito general para
organizar elementos dentro de grupos.

               Retornar una
               copia de self

  Una nota es un símbolo para mostrar restricciones y
  comentarios adjuntos a un elemento o una colección
  de elementos.
Relaciones entre Paquetes
• Importación. Relación de dependencia con:
   – <<import>> añade el contenido del destino al espacio de
     nombres del origen.
   – <<access>> no lo añade. Se deben calificar los nombres.
   – La dependencia de importación no es transitiva.
• Exportación. Se especifica el elemento con su visibilidad.
   – Visibilidad: +, #, -.
• Generalización.
   – Heredan los elementos públicos y privados.
   – Pueden redefinir elementos y añadir nuevos.
   – Un paquete especializado puede usarse en cualquier lugar que se
     utilice un paquete más general.
• Estereotipos: facade (vista), framework, stub, subsystem,
  system.
Empaquetando Clases


             java


HelloWorld          applet   paquete



 Graphics            awt



                     lang
Paquetes
• Los paquetes ofrecen un mecanismo general para la
  partición de los modelos y la agrupación de los elementos
  de modelado.
  Cada paquete corresponde a un subconjunto del modelo.
  Contiene clases, objetos, relaciones, componentes y
  diagramas.
  La arquitectura del sistema viene dada en forma de
  paquetes y por las relaciones de dependencia entre ellos.
  Un paquete puede contener a otros, sin límite de
  anidamiento
  Cada elemento pertenece a sólo un paquete
  Una clase de un paquete puede aparecer en otro paquete
  por la importación a través de una relación de
  dependencia entre paquetes
Paquetes (Cont.)
Las importaciones entre paquetes
   se representan por medio de una relación de
   dependencia estereotipada y orientada del cliente al
   proveedor
   Al menos una clase del paquete cliente usa los
   servicios ofrecidos por al menos una clase del paquete
   proveedor
Una clase depende de otra si accede a un valor del
proveedor, invoca a una operación o referencia al
proveedor como argumento en alguna operación
Todas las clases no son necesariamente visibles desde el
exterior del paquete
El operador “::” permite designar una clase definida en un
contexto distinto del actual
Un paquete encapsula a la vez que agrupa
Paquetes (Cont.)
Cada elemento de un paquete se incluye como visible o
no desde el exterior del paq.




                                     Personal




         Ventas                Representante de Ventas




          Cliente
Técnicas
• Los paquetes no tienen identidad (no hay instancias, son
  invisibles para el sistema en ejecución).
• Se pueden utilizar como unidades básica para un SCM,
  para grupos de desarrollo diferentes.
• Los paquetes se pueden utilizar para modelar las vistas
  arquitectónicas.
• Vista es una proyección de la organización y estructura de
  un sistema, centrada en un aspecto particular del sistema.
   – Descomposición de un sistema en paquetes casi ortogonales.
      • Vista de diseño, procesos, implementación, despliegue, caso de uso.
   – Los paquetes contienen todas las abstracciones pertinentes para
     esa vista.
      • Todos los componentes del modelo pertenecen al paquete vista de
        implementación.
      • Existirán dependencias entre los elementos de las distintas vistas.
Modelos

• Los modelos permiten visualizar, especificar, construir y
  documentar un sistema.
• Los sistemas bien estructurados son cohesivos funcional,
  lógica y físicamente, construidos a partir de subsistemas
  débilmente acoplados.
• Un modelo bien estructurado proporciona una
  simplificación de la realidad desde un punto de vista bien
  definido y relativamente independiente.
Puente Grua: Funcionalidades
• Controlar el puente a través de un PLC.
   –   Dar directivas al pte grúa con un Controlador Lógico Programable.
   –   Comunicación por la puerta serial de un PC.
   –   Protocolo con fuertes componentes de tiempo.
• Modelizar el recinto de materiales.
   –   Recinto Configurable: largo, ancho y alto.
   –   Grilla. Cada pto representa pozos, tolvas y cintas de descarga.
   –   Control del relieve (pto en situación crítica) y flujo de materiales.
   –   Infor. de c/pto: material depositado, altura del mismo, etc.
   –   Establecer prioridades para no para no parar la cadena productiva
• Interpretar consignas de trabajo: manuales y automáticas
• Generar alarmas ante la ocurrencia de eventos
  anormales: fallas mecánicas o eléctricas deben ser
  conocidas de inmediato por el operador del sistema.
Componentes del Sistema
• Interfaz del Sistema de Grúa Robotizada, permite
   –   la comunicación del operador con el sist. que controla el pte grúa.
   –   definir el recinto de materiales
   –   la def y reconocimiento de alarmas, y la especif. de las consignas.
• Sistema de Control de Comunicaciones, permite
   – la parametrización de la comunicación : Computadora/PLC
• RDBMS,
• generador de información gerencial, obtener infor. sobre
   – producción de la planta,
   – el funcionamiento (alarmas reconocidas, histórico de alarmas,
     tiempo ocioso, etc.),
   – el costo financiero de material en stock y minimización de stock
     (just in time).
• un sistema de grúa robotizado
   – encargado de la gestión del puente grúa
Diagramas de Objetos
• Muestra instancias compatibles con un diagrama
  de clase particular.
• Incluye sus objetos y los valores de sus datos.
• Snapshot del estado detallado del sistema en un
  pto del tpo.
Clases & Objetos

          Clases         Objetos

    UnaClase       unObjeto:UnaClase
   atr1                    o
   atr2
                        :UnaClase
   operacion1()
   operacion2()            o

           o            unObjeto

    UnaClase       Los nombres de objetos
                   están subrayados.

More Related Content

What's hot

Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesElvisAR
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades umlcamiloan40
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemaUniversidad Tecnológica
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2David Motta Baldarrago
 
Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1jmpov441
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2Marta Silvia Tabares
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Cuadro comparativo analis y diseño estructurado Y analisis orientado a objetos
Cuadro comparativo analis y diseño estructurado Y analisis orientado a objetosCuadro comparativo analis y diseño estructurado Y analisis orientado a objetos
Cuadro comparativo analis y diseño estructurado Y analisis orientado a objetosemilis
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHPerozoAlejandro
 
Sistemas de Informacion - Tema 3 diagrama de actividades
Sistemas de Informacion - Tema 3   diagrama de actividadesSistemas de Informacion - Tema 3   diagrama de actividades
Sistemas de Informacion - Tema 3 diagrama de actividadesrulazisc
 

What's hot (20)

Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Cuadro comparativo analis y diseño estructurado Y analisis orientado a objetos
Cuadro comparativo analis y diseño estructurado Y analisis orientado a objetosCuadro comparativo analis y diseño estructurado Y analisis orientado a objetos
Cuadro comparativo analis y diseño estructurado Y analisis orientado a objetos
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Sistemas de Informacion - Tema 3 diagrama de actividades
Sistemas de Informacion - Tema 3   diagrama de actividadesSistemas de Informacion - Tema 3   diagrama de actividades
Sistemas de Informacion - Tema 3 diagrama de actividades
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 

Viewers also liked

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)cgviviana
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Diagramas De Secuencia
Diagramas De SecuenciaDiagramas De Secuencia
Diagramas De SecuenciaFabian Garcia
 
Cuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en javaCuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en javaElivar Largo
 
Uml pres
Uml  presUml  pres
Uml presBlace57
 
Conceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScriptConceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScriptFrancisco Javier Arce Anguiano
 
12 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..212 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..2zeta2015
 
clase, objeto, herencia
clase, objeto, herenciaclase, objeto, herencia
clase, objeto, herenciaAny Saula
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Fredy Nicolas Moreno Puerto
 
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)Pedro Cobarrubias
 
Diagrama de colaboración[1]
Diagrama de colaboración[1]Diagrama de colaboración[1]
Diagrama de colaboración[1]Cristian_1941
 
Diagrama de colaboración[1]
Diagrama de colaboración[1]Diagrama de colaboración[1]
Diagrama de colaboración[1]Cristian_1941
 
Diagrama de colaboración
Diagrama de colaboraciónDiagrama de colaboración
Diagrama de colaboraciónushur_4
 

Viewers also liked (20)

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Diagramas De Secuencia
Diagramas De SecuenciaDiagramas De Secuencia
Diagramas De Secuencia
 
Clases y uml
Clases y umlClases y uml
Clases y uml
 
Cuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en javaCuatro elementos claves para entender poo en java
Cuatro elementos claves para entender poo en java
 
Uml pres
Uml  presUml  pres
Uml pres
 
Conceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScriptConceptos adicionales a la programación orientada a objetos con JavaScript
Conceptos adicionales a la programación orientada a objetos con JavaScript
 
12 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..212 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..2
 
clase, objeto, herencia
clase, objeto, herenciaclase, objeto, herencia
clase, objeto, herencia
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)
 
Uml stiven
Uml stivenUml stiven
Uml stiven
 
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
Mapa Mental De Los Usos (¿Para Que? Y ¿En Que Casos?)
 
Diagrama de colaboración[1]
Diagrama de colaboración[1]Diagrama de colaboración[1]
Diagrama de colaboración[1]
 
Diagrama de colaboración[1]
Diagrama de colaboración[1]Diagrama de colaboración[1]
Diagrama de colaboración[1]
 
Diagrama de colaboración
Diagrama de colaboraciónDiagrama de colaboración
Diagrama de colaboración
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 

Similar to Uml diagrama clase objeto (20)

Manual de java_2
Manual de java_2Manual de java_2
Manual de java_2
 
manual 9
manual 9manual 9
manual 9
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
MANUAL DE JAVA 2
MANUAL DE JAVA 2MANUAL DE JAVA 2
MANUAL DE JAVA 2
 
Manual de java 2
Manual de java 2Manual de java 2
Manual de java 2
 
MANUAL DE JAVA 3
MANUAL DE JAVA 3MANUAL DE JAVA 3
MANUAL DE JAVA 3
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdf
 
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxResumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
 
Diagramadeclase 20090223
Diagramadeclase 20090223Diagramadeclase 20090223
Diagramadeclase 20090223
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clases 2
Clases 2Clases 2
Clases 2
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Clase 17
Clase 17Clase 17
Clase 17
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
Uml diagramas-caso-de-uso
Uml diagramas-caso-de-usoUml diagramas-caso-de-uso
Uml diagramas-caso-de-uso
 
Análisis y diseño de sistemas sesion 03 - modelado de dominio
Análisis y diseño de sistemas   sesion 03 - modelado de dominioAnálisis y diseño de sistemas   sesion 03 - modelado de dominio
Análisis y diseño de sistemas sesion 03 - modelado de dominio
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
 

More from Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

More from Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Recently uploaded

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAELIASPELAEZSARMIENTO1
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 

Recently uploaded (20)

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 

Uml diagrama clase objeto

  • 1. UML Diagrama de Clases y de Objetos Prof. Daniel Riesco ®
  • 2. Diagrama de Clase • Una clase es una descripción de conjunto de objetos que comparten los mismos atributos, operaciones, métodos, relaciones y semántica. • Las clases son graficamente representadas por cajas con compartimentos para: – Nombre de la clase, atributos y operaciones / métodos – Responsabilidades, Reglas, Historia de Modificaciones, etc. • Los diseñadores desarrollan clases como conjuntos de compartimentos que crecen en el tiempo agregando incrementalmente aspectos y funcionalidades.
  • 3. Ejemplo HelloWorld clase nombre HelloWorld operaciones paint()
  • 4. Abstracción para HelloWorld clase nombre HelloWorld nota operaciones paint() g.drawString ("HelloWorld", 0, 10)
  • 5. Ejemplo: "Hello, World" import java.awt.Graphics; class HelloWorld extends java.applet.Applet { public void paint (Graphics g) { g.drawString ("Hello, World!", 10, 10); } }
  • 6. Diagrama de Clase Applet generalización HelloWorld dependencia paint() Graphics
  • 7. Herencia Object Panel interface Component ImageObserver Applet Container HelloWorld
  • 8. Diagramas de Clase • Muestra un cjto de elementos que son estáticos, como las clases y tipos, junto con sus contenidos y relaciones • Es un grafo de elementos clasificadores conectados por varias relaciones estáticas • Clasificador --> Class, Interface, DataType. • Clase. Alcance. Referencia. Clase Abstracta. • Orden: [stereotype] nbre [stringPropiedades]
  • 9. Ejemplo: Clase Dispositivo • Define e implementa las operaciones para config, transmitir y recibir informac. hacia y desde el puerto serie • hCom: handler al dispositivo. • puerta: nombre del puerto serie • velocidad: velocidad de la comunicación. • paridad: tipo de paridad • bitStop: cantidad de bits de stop • <<constructor>> Dispositivo() crea y abre el dispositivo retornando un handler • <<query>> RecuperarDispositivo() inf. BD para config., LeerBloque() información del puerto • <<update>>ConfigurarDispositivo(), GrabBloquePuerto()
  • 10. Diagramas de Clase • Atributo: • visibilidad nbre : exprTipo [= valor] [{prop}] • visibilidad: public+, protected #, private - (no default) • prop: {changeable} (default), {frozen}. Multiplicity []. • Atributos de clase subrayados. Comienzan con minúscula • Operación: • visibility nbre (parámetros) [:TipoRetorno] [{prop}] • prop: {query}, {sequential}, {guarded}, {concurrent}, {abstract} • parámetros: [in|out|inout] nbre : TipoExp = valorDefault • Operaciones de clase subrayadas.
  • 11. Notación: Una Clase Ventana +size : Area = (100,100) nombre #visibilidad: Boolean = invisible atributos +tamañoDefault : Rectangulo #tamañoMaximo : Rectangulo -xptr:Xwindow* operaciones +imprimir() +esconder() +crear() -asociarXWindow(xwin:Xwindow*) Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica.
  • 12. Diagramas de Clase • Clases parametrizadas. – Template no es directamente utilizable. – Parámetros, nbre [: expTipo] • Utilidad: es una agrupación de variables globales y procedimientos en la forma de declaración de clase. • Metaclase: clase cuyas instancias son clases. • Objeto: Subrayado con valores particulares.
  • 13. Notación: Interface Iortografía • Una interface es una colección de operaciones que especifican un servicio de una clase o componente, es decir, un comportamiento externamente visible de ese elemento. • Se especifican las operaciones externamente visibles sin especificación de la estructura interna.
  • 14. Modelado de Clases • Una Responsabilidad es un contrato u obligación de una clase. • Modelado del Vocabulario – Identificar los conceptos que usan los usuarios (Tarjetas CRC - casos de uso) – Para cada abstracción, identificar el conjunto de responsabilidades. Cada clase debe estar bien definida y un buen reparto de responsabilidades. – Proporcionar atributos y operaciones necesarios para cumplir con dichas responsabilidades. • Clases muy grandes (varias responsabilidades) -> dificil de cambiar y no reutilización. • Clases muy pequeñas -> modelo dificil de entender.
  • 15. Modelado de Clases • Modelado de conceptos que no son software. – Se modela como una clase – Para distinguirla de clases del sistema se usa un nuevo bloque de construcción con estereotipos. – Si es un hardware que tiene software -> nodo. • Modelado de tipos primitivos. – Se modela como una clase con el estereotipo adecuado. – Si se necesita especificar el rango, se usa restricciones. • Una clase debe: – proporcionar una abstracción bien definida de algo del dominio del problema o de la solución – Contiene un conjunto pequeño de responsabilidades – Muestra una clara distinción entre la implementación y la especificación de la abstracción. – Ser sencilla, entendible, extensible y adaptable.
  • 16. Diagramas de Clase: Relaciones • Final de asociación: – multiplicidad – orden {unordered} (default), {ordered} – navegación – agregación. Diamante lleno es composición. – Nombre del rol – cambiable (default) {frozen} {addOnly} – visibilidad • Asociación binaria. Opcional {or}. Asociación n-aria. • Clase asociación: es una asociación que tiene propiedades de una clase. • Composición. Tpo de vida. Multiplicidad del contenedor=1 • Generalización. Discriminador. – Restricción: {ovelapping},{disjoint},{complete},{incomplete} • Relación de dependencia – <<amport>> <<access>> <<become>>, <<bind>>
  • 17. Modelado de Relaciones • Dependencia – Parámetro de una operación. Si se muestra la signatura no es necesario la relación de dependencia • Generalización – Dado un cjto de clases, se busca responsabilidades, atributos y operaciones comunes. – Se elevan a una clase más general (nueva o no). No crear demasiados niveles. • Asociación. – Relación estructural. Relación bilateral. Diferencia con dependencia y Generalización. – Equilibradas. Ni muy profundas (<=5 niveles) ni muy anchas. – Herencia múltiple se puede reemplazar por agregación.
  • 19. Modelo Conceptual / del Dominio • Un Modelo Conceptual /Dominio es el conjunto de diagramas de estructura estático con clases, atributos y asociaciones, pero no operaciones. • Construcción del Modelo Conceptual / Dominio – Representa un aspecto de la realidad – Ayuda a los Ingenieros de Sofware a gestionar la complejidad – Es más simple que la realidad • Un Modelo Conceptual / Dominio debería: – Organizar Datos dentro de Objetos y Clases – Estructurar Datos vía herencia y asociaciones – Especificar comportamiento e interfaces públicas – Describir el comportamiento global – Describir Restricciones
  • 20. Estático: Diagrama de Clase • Utilizado para la estructura estática del modelo conceptual / Dominio • El diagrama de clase describe – Tipos de objetos en la aplicación / dominio – Relaciones estáticas entre objetos • El diagrama de clase contiene – Clases: Objetos, Atributos, and Responsabilidades – Paquetes: Agrupación de clases – Subsistemas: Agrupación de clases/paquetes
  • 21. Modelado de Clases Dado un sistema de la vida real, ¿cómo decide que clases usar? • Los términos usados por usuarios y desarrolladores para describir el sistema son clases candidatas. • Para cada clase, ¿cuáles son sus responsabilidades? ¿están balanceadas entre las clases? • ¿Qué atributos y operaciones necesita cada clase para llevar a cabo sus responsabilidades?
  • 22. Identificación de Sustantivos: Un ejemplo de una biblioteca Una biblioteca contiene libros y revistas. Puede haber varias copias de un libro. Algunos de los libros son reservados sólo para préstamos a corto plazo. Todos los otros pueden ser prestados a cualquier miembro de la biblioteca por tres semanas. Los miembros de la biblioteca pueden normalmente solicitar hasta seis items de una vez, pero miembros del staff pueden solicitar hasta doce items a la vez. Solamente miembros del staff pueden obtener prestado revistas. El sistema debe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglas de la biblioteca.
  • 23. Identificación de Sustantivos: Un ejemplo de una biblioteca Una biblioteca contiene libros y revistas. Puede haber varias copias de un libro. Algunos de los libros son reservados sólo para préstamos a corto plazo. Todos los otros pueden ser prestados a cualquier miembro de la biblioteca por tres semanas. Los miembros de la biblioteca pueden normalmente solicitar hasta seis items de una vez, pero miembros del staff pueden solicitar hasta doce items a la vez. Solamente miembros del staff pueden pedir prestamos de revistas. El sistema debe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglas de la biblioteca.
  • 24. Clases Candidatas Biblioteca Nombre del Sistema Libro Revista Copia PréstamosACortoPlazo evento MiembroDeBiblioteca Semana medida Item libro o revista Tiempo término abstracto MiembroDelStaff Sistema término general Regla término general
  • 25. Relaciones entre Clases Libro es un Item Revista es un Item Copia es una copia de Libro MiembroDeBiblioteca Item MiembroDeStaff es un MiembroDeBiblioteca ¿Es el Item necesario?
  • 26. Operations MiembroDeBiblioteca pide prestado Copia MiembroDeBiblioteca devuelve Copia MiembroDeStaff pide prestado Revista MiembroDeStaff devuelve Revista
  • 27. Diagrama de Clase MiembroDeStaff MiembroDeBiblioteca 1 1 prestamo prestamo 0..12 0..* Revista Copia es copia de Libro 1..* 1
  • 28. Generalización y Associación * Item GroceryOrder 1 Customer NonPItem PerishItem DeliItem DiaryItem ProduceItem * 1 contains DeliOrder
  • 31. Clase Activa EventManager eventlist suspend() flush() Una clase activa es una clase cuyos objetos poseen uno o más procesos o threads y por lo tanto pueden inicial una actividad de control. Objeto: –{active}, posee el thread,es capaz de iniciar actividad de control –pasivo, mantiene los datos pero no inicia la actividad
  • 32. Interface Object interface Component ImageObserver Container Una interface es una colección de operaciones que se usa para especificar un servicio de una clase o componente.
  • 33. Ejemplo: Patrón Iterator • Provee una forma de acceder a elementos de un objeto agregado sin exponer la representación subyacente – Ej: una clase Lista • Querer recorrer la lista en varias formas – Hacia adelante – Hacia atrás – filtrada – ordenada – ...
  • 34. Motivación para los iteradores • No aglutinar la interface Lista con varios recorridos • Aún si se hace, no se puede anticipar todos los posibles recorridos • Quere más de un recorrido sobre la misma lista. • Los Iteradores mueven la responsabilidad para acceder y recorrer desde los agregados al objeto iterador.
  • 35. Ejemplo de Iterador (1) class List { size() {} add() {} remove() {} } interface ListIterator { getFirst(); getNext(); }
  • 36. Ejemplo de Iterador (2) class FilteredListIterator implements ListIterator { List.Node curr; FilteredListIterator(List list, Filter f) {} getFirst() { curr = list.head; while (curr != null) { if (f.accepts(curr.data)) break; curr = curr.next; } return curr; } getNext() {} }
  • 37. Otras característias del patrón Iterador • Los Iteradores proveen una interface común para el acceso al objeto – Pueden usar la misma interface para listas implementadas como arrays y listas implementadas como listas encadenadas. – Es más facil cambiar las implementaciones de la estructura de datos • Hay varios ejemplos en java.util de JDK 1.2
  • 38. Interface: otro ejemplo A b s trac tCollec tion Interfaces de Java.util C ollection A b s trac tS et S et TreeS et SortedSet
  • 39. Gerenciamiento del Modelo Paguetes y Organización • Los paquetes: – Son una agrupación de elementos del modelo – Son cohesivos (límite bien definido alrededor de un conjunto de elementos relacionados). – Poco acoplados (exportando sólo aquellos elementos que otros paquetes necesitan, e importando solo lo necesario y suficiente – Pueden contener paquetes subordinados (anidados: aconsejable 2 a 3 niveles) y otros elementos del modelo. – Forman un espacio de nombres (p’::A, p’’::A). • El sistema completo es un simple paquete (anónimo). • Todo diagrama y elementos del modelo UML pueden estar organizados en paquetes • De la propiedad: Jerarquía de paq. es un árbol • Del uso: es un grafo.
  • 40. Paquete & Nota Reglas de Negocio Un paquete es un mecanismo de propósito general para organizar elementos dentro de grupos. Retornar una copia de self Una nota es un símbolo para mostrar restricciones y comentarios adjuntos a un elemento o una colección de elementos.
  • 41. Relaciones entre Paquetes • Importación. Relación de dependencia con: – <<import>> añade el contenido del destino al espacio de nombres del origen. – <<access>> no lo añade. Se deben calificar los nombres. – La dependencia de importación no es transitiva. • Exportación. Se especifica el elemento con su visibilidad. – Visibilidad: +, #, -. • Generalización. – Heredan los elementos públicos y privados. – Pueden redefinir elementos y añadir nuevos. – Un paquete especializado puede usarse en cualquier lugar que se utilice un paquete más general. • Estereotipos: facade (vista), framework, stub, subsystem, system.
  • 42. Empaquetando Clases java HelloWorld applet paquete Graphics awt lang
  • 43. Paquetes • Los paquetes ofrecen un mecanismo general para la partición de los modelos y la agrupación de los elementos de modelado. Cada paquete corresponde a un subconjunto del modelo. Contiene clases, objetos, relaciones, componentes y diagramas. La arquitectura del sistema viene dada en forma de paquetes y por las relaciones de dependencia entre ellos. Un paquete puede contener a otros, sin límite de anidamiento Cada elemento pertenece a sólo un paquete Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes
  • 44. Paquetes (Cont.) Las importaciones entre paquetes se representan por medio de una relación de dependencia estereotipada y orientada del cliente al proveedor Al menos una clase del paquete cliente usa los servicios ofrecidos por al menos una clase del paquete proveedor Una clase depende de otra si accede a un valor del proveedor, invoca a una operación o referencia al proveedor como argumento en alguna operación Todas las clases no son necesariamente visibles desde el exterior del paquete El operador “::” permite designar una clase definida en un contexto distinto del actual Un paquete encapsula a la vez que agrupa
  • 45. Paquetes (Cont.) Cada elemento de un paquete se incluye como visible o no desde el exterior del paq. Personal Ventas Representante de Ventas Cliente
  • 46. Técnicas • Los paquetes no tienen identidad (no hay instancias, son invisibles para el sistema en ejecución). • Se pueden utilizar como unidades básica para un SCM, para grupos de desarrollo diferentes. • Los paquetes se pueden utilizar para modelar las vistas arquitectónicas. • Vista es una proyección de la organización y estructura de un sistema, centrada en un aspecto particular del sistema. – Descomposición de un sistema en paquetes casi ortogonales. • Vista de diseño, procesos, implementación, despliegue, caso de uso. – Los paquetes contienen todas las abstracciones pertinentes para esa vista. • Todos los componentes del modelo pertenecen al paquete vista de implementación. • Existirán dependencias entre los elementos de las distintas vistas.
  • 47. Modelos • Los modelos permiten visualizar, especificar, construir y documentar un sistema. • Los sistemas bien estructurados son cohesivos funcional, lógica y físicamente, construidos a partir de subsistemas débilmente acoplados. • Un modelo bien estructurado proporciona una simplificación de la realidad desde un punto de vista bien definido y relativamente independiente.
  • 48. Puente Grua: Funcionalidades • Controlar el puente a través de un PLC. – Dar directivas al pte grúa con un Controlador Lógico Programable. – Comunicación por la puerta serial de un PC. – Protocolo con fuertes componentes de tiempo. • Modelizar el recinto de materiales. – Recinto Configurable: largo, ancho y alto. – Grilla. Cada pto representa pozos, tolvas y cintas de descarga. – Control del relieve (pto en situación crítica) y flujo de materiales. – Infor. de c/pto: material depositado, altura del mismo, etc. – Establecer prioridades para no para no parar la cadena productiva • Interpretar consignas de trabajo: manuales y automáticas • Generar alarmas ante la ocurrencia de eventos anormales: fallas mecánicas o eléctricas deben ser conocidas de inmediato por el operador del sistema.
  • 49. Componentes del Sistema • Interfaz del Sistema de Grúa Robotizada, permite – la comunicación del operador con el sist. que controla el pte grúa. – definir el recinto de materiales – la def y reconocimiento de alarmas, y la especif. de las consignas. • Sistema de Control de Comunicaciones, permite – la parametrización de la comunicación : Computadora/PLC • RDBMS, • generador de información gerencial, obtener infor. sobre – producción de la planta, – el funcionamiento (alarmas reconocidas, histórico de alarmas, tiempo ocioso, etc.), – el costo financiero de material en stock y minimización de stock (just in time). • un sistema de grúa robotizado – encargado de la gestión del puente grúa
  • 50. Diagramas de Objetos • Muestra instancias compatibles con un diagrama de clase particular. • Incluye sus objetos y los valores de sus datos. • Snapshot del estado detallado del sistema en un pto del tpo.
  • 51. Clases & Objetos Clases Objetos UnaClase unObjeto:UnaClase atr1 o atr2 :UnaClase operacion1() operacion2() o o unObjeto UnaClase Los nombres de objetos están subrayados.