SlideShare une entreprise Scribd logo
1  sur  58
¿Qué es un Modelo?




        Un Modelo es
una Simplificación de la Realidad
UML


 BORIS SALLEG ROYERO
 ING DE SISTEMAS DE INFORMACIÓN
CONCEPTOS IMPORTANTES
• Modelo: captura una vista de un sistema del mundo real. Es una
  abstracción de dicho sistema, considerando un cierto propósito. Así, el
  modelo describe completamente aquellos aspectos del sistema que son
  relevantes al propósito del modelo, y a un apropiado nivel de detalle.
• Diagrama: una representación gráfica de una colección de elementos de
  modelado, a menudo dibujada como un grafo con vértices conectados
  por arcos.
• Metodología: Conjunto de procedimientos, técnicas, herramientas y un
  soporte documental que ayuda a los desarrolladores a realizar nuevo
  software
¿Qué es UML?
Es una herramienta o Lenguaje de Modelamiento Unificado
que permite a los creadores de Sistemas generar diseños que
capturen sus ideas en una forma convencional y fácil de
comprender y así poder comunicárselas a otras personas.
¿Qué es UML?
• “UML es un lenguaje visual para especificar, construir y documentar
  sistemas” (OMG - Object Management Group)
• Unified (UNIFICADO):
   – Independiente de implementaciones, plataformas y lenguajes
• Modeling (MODELADO):
   – Los modelos son utilizados en todas las ingenierías
• Language (LENGUAJE):
   – Si hay gente, requieren comunicarse. Si se tienen que comunicar,
      se tienen que entender. Para entenderse necesitan un lenguaje
      común
• ¡UML no es Metodología!
DIAGRAMA DE UML
Los diagramas expresan gráficamente partes de un modelo.



                              Diagrama de            Diagrama de
                              Caso de Uso               Clases
       Diagrama de
        Secuencia                                                            Diagrama de
                                                                               Objetos




     Diagrama de                      Modelo
     Colaboración                                                             Diagrama de
                                                                              Componentes



                Diagrama de
                  Estados                                     Diagrama de
                                       Diagrama de            Distribución
                                         Actividad
DIAGRAMA DE CLASES
Un diagrama de Clases representa las clases que serán utilizadas
dentro del sistema y las relaciones que existen entre ellas.

Nos sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de
herencia, de uso y de convencimiento.

Un diagrama de clases está compuesto por los siguientes
elementos:

Clase: atributos, métodos y visibilidad.
Relaciones: Herencia, Composición, Agregación, Asociación y
Uso.
CLASE
DIAGRAMA DE CLASES
                              Clase Es la unidad básica que encapsula toda la
                              información de un Objeto (un objeto es una instancia de
                              una clase). A través de ella podemos modelar el entorno
                              en estudio (una Casa, un Auto, una Cuenta Corriente,
                              etc.). En UML, una clase es representada por un
                              rectángulo que posee tres divisiones:


En donde:

Superior: Contiene el nombre de la Clase

Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la
Clase (pueden ser prívate, protected o public).

Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa
el objeto con su entorno (dependiendo de la visibilidad: prívate, protected o public).
ATRIBUTOS
• Es una propiedad o característica de una Clase y describe un
  rango de valores que la propiedad podrá contener en los
  Objetos (esto es instancias) de la Clase.
• Una Clase podrá tener uno, varios o ningún atributo.
ATRIBUTOS
• Todo Objeto de la Clase tiene
  un valor especifico en cada
  atributo.



•   UML da la opción de indicar información
    adicional a los Atributos como su tipo o
    valor Default.
ATRIBUTOS
• Atributos: Los atributos o características de una Clase pueden ser
  de tres tipos, los que definen el grado de comunicación y visibilidad
  de ellos con el entorno, estos son:

• public (+,     ): Indica que el atributo será visible tanto dentro como
  fuera de la clase, es decir, es accsesible desde todos lados.

• private (-,    ): Indica que el atributo sólo será accesible desde
  dentro de la clase (sólo sus métodos lo pueden accesar).

• protected (#,     ): Indica que el atributo no será accesible desde
  fuera de la clase, pero si podrá ser accesado por métodos de la
  clase además de las subclases que se deriven (ver herencia).
METODOS
• Es lo que la Clase puede realizar, o que usted (u otra Clase)
  pueden hacer a una Clase.
METODOS
• Así como es posible adicionar información a los Atributos,
  también se puede hacer en los Métodos.
• Entre los paréntesis que preceden al nombre podrán mostrar
  el parámetro con que funcionara y su tipo de dato. Si devuelve
  un valor, también se puede mostrar el tipo de dato a devolver.
  Esto se conoce como la Firma de la Operación o del Método.
METODOS
Los métodos u operaciones de una clase son la forma en como
ésta interactúa con su entorno, éstos pueden tener las
características:
• public (+,      ): Indica que el método será visible tanto
   dentro como fuera de la clase, es decir, es accesible desde
   todos lados.
• private (-,    ): Indica que el método sólo será accesible
   desde dentro de la clase (sólo otros métodos de la clase lo
   pueden accesar).
• protected (#,      ): Indica que el método no será accesible
   desde fuera de la clase, pero si se podrá accesar por
   métodos de la clase además de métodos de las subclases
   que se deriven (ver herencia).
Atributos, Métodos
                                                    y Concepción
• En ocasiones para no saturar un
  Diagrama de Clase de tantos
  Atributos y Métodos, se puede
  representar la Clase sin sus
  Características.


•   En ocasiones solo se necesite mostrar algunas de
    ellas o las mas Importantes para el Diseño.
Atributos, Métodos
                                        y Concepción
• Si se tiene una larga lista de Atributos o
  Métodos, se podrán utilizar “Estereotipos”
  para organizarla y sea mas comprensible.
• Un Estereotipo es el modo que UML le
  permite extenderlo, es decir, crear nuevos
  elementos que son específicos de un
  problema en particular que intente resolver.
  Es una estructura flexible.
EJEMPLO
Una Cuenta Corriente que posee como característica:

•Balance

Puede realizar las operaciones de:

•Depositar ,Girar y Balance

El diseño asociado es:
Realizar el diagrama de Clase
• Clase: Curso
• Estado (Atributos)
   – Nombre
   – Ubicación
   – Días Ofrecidos
   – Horario de Inicio
   – Horario de Término
• Comportamiento (Métodos)
   – Agregar un Alumno
   – Borrar un Alumno
   – Entregar un Listado del Curso
   – Determinar si está Completo
Paquetes
• Paquetes: Es la manera en que UML organiza un diagrama de
  elementos. También sirve para la organización de un Modelo
  de Sistema/SubSistemas agrupando elementos del Modelo.
• Los modelos contienen múltiples clases y pueden estar
  agrupadas en paquetes



           Nombre de                   Electrodomestico
            paquete
Paquetes
• En las primeras fases del desarrollo del sistema es posible
  utilizar los paquetes para los siguientes objetivos:
   – Tener una vista del sistema sin mucho detalle.
   – Tener vistas de pequeñas porciones del sistema.
   – Crear pequeñas porciones del sistema que pueden trabajar
     independientemente.
   – Existe una dependencia entre paquetes cuando por lo
     menos una clase de un paquete depende de una clase
     dentro de un segundo paquete.
Paquetes
Paquete Vehiculo


                         VehiculoDeMotor
                               A ttributes
                        + Cilindrada : int
                        + NumeroDeRueda : int
                              Operations
                        + acelelar() : void




           Coches                                Motos
          A ttributes                          A ttributes
    + NumeroDePuertas : int              + TipoCarenado : string

          Operations                           Operations
Paquetes
Cuando existe dependencia cíclica entre paquetes, es
  recomendable dividir los paquetes por funcionalidad, para
  romper estas dependencias cíclicas.


                                         Reglas del
                  Interfaces
                                         Negocio




                               Entidad
Paquetes
Si    la   Clase   Lavadora   pertenece        al         Paquete     llamado
     Electrodoméstico, su representación seria:




                                                 Lavadora
                                          { From Electrodomestico }
                                                 A ttributes
                                                 Operations
Relaciones
• Todo sistema abarca muchas clases y objetos
• Los objetos contribuyen en el comportamiento de un sistema colaborando entre si
   – La colaboración se logra a través de las relaciones
• Existen dos tipos principales de relaciones
   – Asociación
   – Agregación

Relaciones entre Clases: Ahora ya definido el concepto de Clase, es necesario
explicar como se pueden interrelacionar dos o más clases (cada uno con
características y objetivos diferentes).

Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML, la
cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en
cada extremo de la relación y éstas pueden ser:

uno o muchos: 1..* (1..n)
0 o muchos: 0..* (0..n)
número fijo: m (m denota el número).
Asociaciones
• Son las relaciones entre los Objetos (Clases).
• Es una relación estructural que especifica que los Objetos de
  un elemento están conectados con los Objetos de otro.
• Los Objetos se pueden asociar con otro en mas de una forma y
  dirección.
• Un Objeto se puede asociar con mas de un Objeto y de
  diferentes Clase o Característica.
• Es posible que la Asociación se dé de manera recursiva en un
  Objeto
Asociaciones
• Existen cuatro adornos que se aplican a las asociaciones para
  facilitar su comprensión:
   – Nombre: describe la naturaleza de la relación.
   – Rol: Cuando una clase participa en una Asociación esta
     tiene un rol especifico. Es la cara que dicha Clase presenta
     a la Clase que se encuentra en el otro extremo
   – Multiplicidad: Es señalar cuantos Objetos se pueden
     conectar a través de una instancia de la Asociación.
Asociaciones
– Agregación: Representa una relación del tipo “tiene-un”. Es
  un tipo especial de Asociación.
– Composición: Es una variación de la Agregación simple. Es
  la forma de Agregación, con una fuerte relación de
  pertenencia y vidas coincidentes de la parte del todo.
Asociaciones
             Es la Asociación entre un
             Jugador y un Equipo




           Es el papel que representa cada
Una Vía    Clase en la Asociación




 Dos Vía
Asociaciones


          Diferente
        Característica




Relaciones Complejas
Restricciones en
                                       las Asociaciones
• En Asociaciones entre Clases pueden existir ciertas reglas.
• Se establece una Restricción en una Asociación. En este caso,
  la Asociación “Atiende“ está restringida para que el Cajero
  atienda al Cliente en turno.
Restricciones en
                                     las Asociaciones
• Otro tipo de Restricción es la relación O (distinguida como
  {Or}) en una línea discontinua que conecte a dos líneas de
  Asociación.
• La siguiente figura modela a un Estudiante que elegirá entre
  un Curso Académico o Comercial
Clase de Asociación
• Una Asociación igual que una Clase, puede contener Atributos
  y Métodos. Esto se llama Clase de Asociación.
• Una Clase de Asociación puede tener asociaciones con otras
  Clases.


                                Jugador      Partic ipa en >>              Equipo
                               A ttributes                               Attributes
                               Operations                                Operations




                                             Participa en >>                          DirectorGeneral
                                                                Negoc iado por >>
                                               Attributes                               A ttributes
                                               Operations                               Operations
Vínculos
• Así como un Objeto es una Instancia de una Clase, una
  Asociación también se puede instanciar.
Multiplicidad
• Es un aspecto importante en las Asociaciones entre Objetos.
• Indica la cantidad de Objetos de una Clase que se relacionan
  con otro Objeto particular de la Clase Asociada.
• Las Multiplicidad pueden ser: 1 a 1, 1 a muchos, 1 a 5, etc.
Multiplicidad
Herencia y Generalización
•    La Herencia y Generalización es lo mismo.
•    Como se dijo anteriormente, es uno de los aspectos mas importante que cuenta la OOP.
•    Es cuando una SubClase o Clase Secundaria puede heredar los Atributos y Métodos de
     otra Clase (Clase Principal o SuperClase).
•    La Clase Principal es mas genérica en su definición.
    Indica que una subclase hereda los métodos y atributos especificados por una Super
    Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá
    las características y atributos visibles de la Super Clase (public y protected), ejemplo:
Composiciones
• Es cuando un componente se considera como tal solo como
  parte del Objeto compuesto.
  – Ejemplo: Una Camisa que esta compuesta por: Cuerpo,
    manga, cuello, botones, etc.
  – En ocasiones, un Objeto compuesto no tiene la misma Vida
    Útil que de sus Componentes.
  – Las partes puede crearse después de la parte que
    representa el Todo (la parte compuesta), una vez creada
    pertenecen a ella de manera que viven y mueren con ella.
Composiciones
– Las partes pueden ser eliminadas antes que el Todo sea
  destruido, pero una vez sea eliminado el Todo, es destruido
  todas sus partes.
– El Todo es encargado de administrar o gestionar todas sus
  partes (creación, mantenimiento, disposición, etc).
Composiciones
Ejemplo de Composición.


                                       MesaDeCafe

                                               1


                                       1            4
                          SuperficieDeLaMesa            Pata
Relaciones de Clases
                                              entre Paquetes
  C                     D                 =                     A                         B
La clase C pertenece al paquete A, la clase D pertenece al paquete B. Si existe una relación de
asociación entre estas clases, existe una relación de dependencia entre paquetes. En este caso, se
construye primero el paquete B, porque A depende de B.



  C                     D                 =                     A                         B

La clase C pertenece al paquete A, la clase D pertenece al paquete B. Si existe una relación de
agregación entre estas clases, existe una relación de dependencia entre paquetes. En este caso, se
construye primero el paquete B, porque A depende de B.



  C                     D                 =                     A                         B

La clase C pertenece al paquete A, la clase D pertenece al paquete B. Si existe una relación de
herencia entre estas clases, existe una relación de dependencia entre paquetes. En este caso, se
construye primero el paquete B, porque A depende de B.
Interfaces
• Es un conjunto de operaciones (Métodos) que especifica cierto
  aspecto de la funcionalidad de una Clase, y es un conjunto de
  operaciones (Métodos) que una Clase presenta a otras.
• Recurso de diseño soportado por los lenguajes orientados a
  objetos que permite definir comportamiento.
• Permite que clases que no están estrechamente relacionadas
  entre sí deban tener el mismo comportamiento.
• La implementación de una interfaz es un contrato que obliga a
  la clase a implementar todos los métodos definidos en la
  interfaz.
Interfaces
• Una vez que se hayan creado varias Clases, tal vez se de
  cuenta que no pertenecen a una Clase Principal, pero en su
  comportamiento debe incluir algunas de las mismas
  operaciones con las mismas firmas de la primera Clase.


                      Teclado
                     A ttributes
               + marca : string
                                            <<interface>>
               + cantidadDeTeclas : int   MaquinaDeEscribir
                       Operations              A ttributes
               + Ctrl() : void                 Operations
               + Alt() : void             + Teclazo() : void
               + RePag() : void
               + AvPag() : void
Interfaces
                    Vehiculo




   Aereo            Acuatico          Terrestre




   Avión             Barco            Automóvil




¿ De que clase heredaría la clase Hidroavión ?
Interfaces
• Se crean las interfaces que definen comportamiento
• Hidroavión deberá definir los comportamientos de cada una de
  las interfaces que implemente


                «interface»                 «interface»
                 Acuatico                     Aereo
               +Navegar()                  +Volar()




                              Hidroavion
Ámbito
• Es la forma en que se relacionan los Atributos y Métodos
  dentro del Sistema.
• Existen dos tipos: Instancias y el de Archivador.
• Instancias: Cuenta con su propio valor.
• Archivador: solo abra un solo valor del Atributo o del Método
  en toda las instancias de la Clase. Este tipo de ámbito se
  presentan cuando los Atributos o Métodos se declaran
  Privados.
Constructores y Destructores
• Constructores: Para poder utilizar un Objeto, previamente
  debemos crearlo mediante el Constructor de la Clase. Este
  Método nos devuelve un objeto nuevo de una Clase.
  Normalmente el los lenguajes de programación estos
  Métodos se conocen como New().
  Una Clase puede tener mas de un Constructor.
Constructores y Destructores
• Destructores: Al igual que existen constructores, en la mayoría
  de lenguajes de OOP, disponemos de destructores. Este es
  método es muy similar en su operatoria al constructor: existe
  uno interno (destructor por defecto) que siempre es llamado
  cuando la variable que contiene un objeto sale fuera de
  ámbito, y que llama, caso de existir al destructor que nosotros
  hayamos fabricado.
  La funcionalidad del destructor por defecto es deshacer todo
  lo que el constructor por defecto realizó: eliminar las
  referencias en la tabla de símbolos, liberar la memoria
  ocupada, etc.
Responsabilidades
                                    y Restricciones
• En un área o cuadro abajo de los Métodos
  se puede mostrar la responsabilidad de la
  Clase.
• La Responsabilidad es una descripción
  breve de lo que hará la Clase.
Responsabilidades
                                     y Restricciones
• Las Restricciones son reglas que llevan los Atributos para la
  capacidad de contener uno o tres posibles valores.
• La forma de representar una restricción es con un texto libre
  bordeado por llaves donde especifica los valores a contener.
Notas Adjuntas
• Por encima de los Atributos, Métodos, responsabilidades y
  restricciones se pueden adicionar mas información por
  intermedio de las Notas Adjuntas.
• Una Nota puede contener tanto texto como imagen.
Relaciones de los
                                                         Casos de Uso
• Son: Inclusión, Extensión, Generalización y Agrupamiento.
• Asociaciones: Es el tipo de relación más básica que indica la
  invocación desde un actor o caso de uso a otra operación
  (caso de uso).



•   Dependencia o Instanciación: Es una forma muy particular de relación entre clases, en la
    cual una clase depende de otra, es decir, se instancia (se crea).
Agrupamiento
• Cuando un Sistema consta de varios Sub-Sistemas, o cuando
  se realiza toma de requerimientos a varios usuarios,
  necesitamos organizar los Casos de uso por Categorías o Tipos
  de Sistemas, la mejor forma de organizarlo son con los
  Paquetes.
Diagrama de Clases
• El Diagrama de Clases es el diagrama principal para el análisis
  y diseño.
• Un diagrama de clases presenta las clases del sistema con sus
  relaciones estructurales y de herencia.
• La definición de clase incluye definiciones para atributos y
  operaciones.
• El modelo de casos de uso aporta información para establecer
  las clases, objetos, atributos y operaciones.
• Los diagramas de clases son utilizados para ilustrar las
  relaciones entre clases y son el fundamento para el proceso
  de diseño
Diagrama de Clases
• Modela los conceptos del dominio de la aplicación.
• Un diagrama de clases esta compuesto por los siguientes
  elementos:
   – Clases: atributos, operaciones y visibilidad.
   – Relaciones: Herencia, Composición, Agregación, Asociación
     y Uso.
   – Responsabilidades
Pasos para dibujar un Diagrama
                                       de Clases
• Paso 1: Dibuje los Nodos de las Clases.
• Paso 2: Dibuje las Asociaciones.
• Paso 3: Coloque los Nombres y Roles de las Asociaciones.
• Paso 4: Coloque la Multiplicidad de las Asociaciones.
• Paso 5: Dibuje las flechas de navegación.
• Paso 6: Dibuje las Clases Asociadas (si existen).
• Paso 7: Validar el modelo del Dominio.
Diagrama de Clases
Ejercicio
Conclusión
• UML define una notación que se expresa como diagramas
  sirven para representar modelos/subsistemas o partes de ellos.
• El 80% de la mayoría de los problemas pueden modelarse
  usando alrededor del 20% de UML– Grady Booch

Contenu connexe

Tendances

Diagramas de actividad
Diagramas de actividadDiagramas de actividad
Diagramas de actividadJulio Pari
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracionstill01
 
casos de uso
casos de usocasos de uso
casos de usostill01
 
Bases de datos relacionales mapa mental
Bases de datos relacionales mapa mentalBases de datos relacionales mapa mental
Bases de datos relacionales mapa mentalunacl20
 
Diagrama uml ing software i promecys
Diagrama uml ing software i promecysDiagrama uml ing software i promecys
Diagrama uml ing software i promecysLeonel Narvaez Ruiz
 
Elementos de diagramas de secuencias
Elementos de diagramas de secuenciasElementos de diagramas de secuencias
Elementos de diagramas de secuenciasJorge Reyes
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboraciond-draem
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdIrene Lorza
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructuradowaralivt
 
Mapa conceptual uml z1-
Mapa conceptual uml  z1-Mapa conceptual uml  z1-
Mapa conceptual uml z1-karlanm07
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitosZuleima
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentesmarianela0393
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosEsteban Andres Diaz Mina
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clasesRamiro Estigarribia Canese
 

Tendances (20)

Diagramas de actividad
Diagramas de actividadDiagramas de actividad
Diagramas de actividad
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracion
 
casos de uso
casos de usocasos de uso
casos de uso
 
Bases de datos relacionales mapa mental
Bases de datos relacionales mapa mentalBases de datos relacionales mapa mental
Bases de datos relacionales mapa mental
 
Diagrama uml ing software i promecys
Diagrama uml ing software i promecysDiagrama uml ing software i promecys
Diagrama uml ing software i promecys
 
Elementos de diagramas de secuencias
Elementos de diagramas de secuenciasElementos de diagramas de secuencias
Elementos de diagramas de secuencias
 
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 secuencia UML
Diagrama de secuencia UMLDiagrama de secuencia UML
Diagrama de secuencia UML
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboracion
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bd
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructurado
 
Mapa conceptual uml z1-
Mapa conceptual uml  z1-Mapa conceptual uml  z1-
Mapa conceptual uml z1-
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentes
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de Datos
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clases
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 

En vedette

En vedette (10)

UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
 
Manual de Sistema de hotel
Manual de Sistema de hotelManual de Sistema de hotel
Manual de Sistema de hotel
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
5.1 ejemplos uml
5.1 ejemplos uml5.1 ejemplos uml
5.1 ejemplos uml
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteria
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 

Similaire à Modelamiento con uml definiciones

Patrones de programación y uml en java
Patrones de programación y uml en javaPatrones de programación y uml en java
Patrones de programación y uml en javaGuille Villaf
 
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).pptxDELIAMARINAHERAZOTUI
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Análisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónAnálisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónjovy2905
 
Diagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetosDiagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetosRicardo Garcia
 
Diapositiva de Estudio: EXPOSICION UML.pptx
Diapositiva de Estudio: EXPOSICION UML.pptxDiapositiva de Estudio: EXPOSICION UML.pptx
Diapositiva de Estudio: EXPOSICION UML.pptxjorgejvc777
 
Análisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónAnálisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónjovy2905
 

Similaire à Modelamiento con uml definiciones (20)

Patrones de programación y uml en java
Patrones de programación y uml en javaPatrones de programación y uml en java
Patrones de programación y uml en java
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
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
 
Que es UML
Que es UMLQue es UML
Que es UML
 
Modelado UM5-4.pptx
Modelado UM5-4.pptxModelado UM5-4.pptx
Modelado UM5-4.pptx
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Análisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónAnálisis y diseño de sistemas de información
Análisis y diseño de sistemas de información
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
clases
clasesclases
clases
 
EL UML X2
EL UML X2EL UML X2
EL UML X2
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
Clases
ClasesClases
Clases
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
conceptos de la poo
conceptos de la pooconceptos de la poo
conceptos de la poo
 
Diagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetosDiagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetos
 
Diapositiva de Estudio: EXPOSICION UML.pptx
Diapositiva de Estudio: EXPOSICION UML.pptxDiapositiva de Estudio: EXPOSICION UML.pptx
Diapositiva de Estudio: EXPOSICION UML.pptx
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Introducción a la PPO
 Introducción a la PPO Introducción a la PPO
Introducción a la PPO
 
Análisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónAnálisis y diseño de sistemas de información
Análisis y diseño de sistemas de información
 
Densy yuli
Densy yuliDensy yuli
Densy yuli
 

Plus de Boris Salleg

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datosBoris Salleg
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminadaBoris Salleg
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basicoBoris Salleg
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basicoBoris Salleg
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internetBoris Salleg
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basicoBoris Salleg
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritasBoris Salleg
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datosBoris Salleg
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspBoris Salleg
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesariaBoris Salleg
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQLBoris Salleg
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jspBoris Salleg
 
Utilizacion de beans en jsp
Utilizacion de beans en jspUtilizacion de beans en jsp
Utilizacion de beans en jspBoris Salleg
 

Plus de Boris Salleg (20)

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datos
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basico
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basico
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internet
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basico
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritas
 
Arboles
ArbolesArboles
Arboles
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datos
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesaria
 
Condicionales
CondicionalesCondicionales
Condicionales
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQL
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jsp
 
Utilizacion de beans en jsp
Utilizacion de beans en jspUtilizacion de beans en jsp
Utilizacion de beans en jsp
 
Practica eventos
Practica eventosPractica eventos
Practica eventos
 
Clase event
Clase eventClase event
Clase event
 

Modelamiento con uml definiciones

  • 1. ¿Qué es un Modelo? Un Modelo es una Simplificación de la Realidad
  • 2. UML BORIS SALLEG ROYERO ING DE SISTEMAS DE INFORMACIÓN
  • 3. CONCEPTOS IMPORTANTES • Modelo: captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. Así, el modelo describe completamente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle. • Diagrama: una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos. • Metodología: Conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software
  • 4. ¿Qué es UML? Es una herramienta o Lenguaje de Modelamiento Unificado que permite a los creadores de Sistemas generar diseños que capturen sus ideas en una forma convencional y fácil de comprender y así poder comunicárselas a otras personas.
  • 5. ¿Qué es UML? • “UML es un lenguaje visual para especificar, construir y documentar sistemas” (OMG - Object Management Group) • Unified (UNIFICADO): – Independiente de implementaciones, plataformas y lenguajes • Modeling (MODELADO): – Los modelos son utilizados en todas las ingenierías • Language (LENGUAJE): – Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje común • ¡UML no es Metodología!
  • 6. DIAGRAMA DE UML Los diagramas expresan gráficamente partes de un modelo. Diagrama de Diagrama de Caso de Uso Clases Diagrama de Secuencia Diagrama de Objetos Diagrama de Modelo Colaboración Diagrama de Componentes Diagrama de Estados Diagrama de Diagrama de Distribución Actividad
  • 7. DIAGRAMA DE CLASES Un diagrama de Clases representa las clases que serán utilizadas dentro del sistema y las relaciones que existen entre ellas. Nos sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de convencimiento. Un diagrama de clases está compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición, Agregación, Asociación y Uso.
  • 8. CLASE DIAGRAMA DE CLASES Clase Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.). En UML, una clase es representada por un rectángulo que posee tres divisiones: En donde: Superior: Contiene el nombre de la Clase Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser prívate, protected o public). Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: prívate, protected o public).
  • 9. ATRIBUTOS • Es una propiedad o característica de una Clase y describe un rango de valores que la propiedad podrá contener en los Objetos (esto es instancias) de la Clase. • Una Clase podrá tener uno, varios o ningún atributo.
  • 10. ATRIBUTOS • Todo Objeto de la Clase tiene un valor especifico en cada atributo. • UML da la opción de indicar información adicional a los Atributos como su tipo o valor Default.
  • 11. ATRIBUTOS • Atributos: Los atributos o características de una Clase pueden ser de tres tipos, los que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son: • public (+, ): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos lados. • private (-, ): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar). • protected (#, ): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (ver herencia).
  • 12. METODOS • Es lo que la Clase puede realizar, o que usted (u otra Clase) pueden hacer a una Clase.
  • 13. METODOS • Así como es posible adicionar información a los Atributos, también se puede hacer en los Métodos. • Entre los paréntesis que preceden al nombre podrán mostrar el parámetro con que funcionara y su tipo de dato. Si devuelve un valor, también se puede mostrar el tipo de dato a devolver. Esto se conoce como la Firma de la Operación o del Método.
  • 14. METODOS Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno, éstos pueden tener las características: • public (+, ): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. • private (-, ): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar). • protected (#, ): Indica que el método no será accesible desde fuera de la clase, pero si se podrá accesar por métodos de la clase además de métodos de las subclases que se deriven (ver herencia).
  • 15. Atributos, Métodos y Concepción • En ocasiones para no saturar un Diagrama de Clase de tantos Atributos y Métodos, se puede representar la Clase sin sus Características. • En ocasiones solo se necesite mostrar algunas de ellas o las mas Importantes para el Diseño.
  • 16. Atributos, Métodos y Concepción • Si se tiene una larga lista de Atributos o Métodos, se podrán utilizar “Estereotipos” para organizarla y sea mas comprensible. • Un Estereotipo es el modo que UML le permite extenderlo, es decir, crear nuevos elementos que son específicos de un problema en particular que intente resolver. Es una estructura flexible.
  • 17. EJEMPLO Una Cuenta Corriente que posee como característica: •Balance Puede realizar las operaciones de: •Depositar ,Girar y Balance El diseño asociado es:
  • 18. Realizar el diagrama de Clase • Clase: Curso • Estado (Atributos) – Nombre – Ubicación – Días Ofrecidos – Horario de Inicio – Horario de Término • Comportamiento (Métodos) – Agregar un Alumno – Borrar un Alumno – Entregar un Listado del Curso – Determinar si está Completo
  • 19. Paquetes • Paquetes: Es la manera en que UML organiza un diagrama de elementos. También sirve para la organización de un Modelo de Sistema/SubSistemas agrupando elementos del Modelo. • Los modelos contienen múltiples clases y pueden estar agrupadas en paquetes Nombre de Electrodomestico paquete
  • 20. Paquetes • En las primeras fases del desarrollo del sistema es posible utilizar los paquetes para los siguientes objetivos: – Tener una vista del sistema sin mucho detalle. – Tener vistas de pequeñas porciones del sistema. – Crear pequeñas porciones del sistema que pueden trabajar independientemente. – Existe una dependencia entre paquetes cuando por lo menos una clase de un paquete depende de una clase dentro de un segundo paquete.
  • 21. Paquetes Paquete Vehiculo VehiculoDeMotor A ttributes + Cilindrada : int + NumeroDeRueda : int Operations + acelelar() : void Coches Motos A ttributes A ttributes + NumeroDePuertas : int + TipoCarenado : string Operations Operations
  • 22. Paquetes Cuando existe dependencia cíclica entre paquetes, es recomendable dividir los paquetes por funcionalidad, para romper estas dependencias cíclicas. Reglas del Interfaces Negocio Entidad
  • 23. Paquetes Si la Clase Lavadora pertenece al Paquete llamado Electrodoméstico, su representación seria: Lavadora { From Electrodomestico } A ttributes Operations
  • 24. Relaciones • Todo sistema abarca muchas clases y objetos • Los objetos contribuyen en el comportamiento de un sistema colaborando entre si – La colaboración se logra a través de las relaciones • Existen dos tipos principales de relaciones – Asociación – Agregación Relaciones entre Clases: Ahora ya definido el concepto de Clase, es necesario explicar como se pueden interrelacionar dos o más clases (cada uno con características y objetivos diferentes). Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML, la cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relación y éstas pueden ser: uno o muchos: 1..* (1..n) 0 o muchos: 0..* (0..n) número fijo: m (m denota el número).
  • 25. Asociaciones • Son las relaciones entre los Objetos (Clases). • Es una relación estructural que especifica que los Objetos de un elemento están conectados con los Objetos de otro. • Los Objetos se pueden asociar con otro en mas de una forma y dirección. • Un Objeto se puede asociar con mas de un Objeto y de diferentes Clase o Característica. • Es posible que la Asociación se dé de manera recursiva en un Objeto
  • 26. Asociaciones • Existen cuatro adornos que se aplican a las asociaciones para facilitar su comprensión: – Nombre: describe la naturaleza de la relación. – Rol: Cuando una clase participa en una Asociación esta tiene un rol especifico. Es la cara que dicha Clase presenta a la Clase que se encuentra en el otro extremo – Multiplicidad: Es señalar cuantos Objetos se pueden conectar a través de una instancia de la Asociación.
  • 27. Asociaciones – Agregación: Representa una relación del tipo “tiene-un”. Es un tipo especial de Asociación. – Composición: Es una variación de la Agregación simple. Es la forma de Agregación, con una fuerte relación de pertenencia y vidas coincidentes de la parte del todo.
  • 28. Asociaciones Es la Asociación entre un Jugador y un Equipo Es el papel que representa cada Una Vía Clase en la Asociación Dos Vía
  • 29. Asociaciones Diferente Característica Relaciones Complejas
  • 30. Restricciones en las Asociaciones • En Asociaciones entre Clases pueden existir ciertas reglas. • Se establece una Restricción en una Asociación. En este caso, la Asociación “Atiende“ está restringida para que el Cajero atienda al Cliente en turno.
  • 31. Restricciones en las Asociaciones • Otro tipo de Restricción es la relación O (distinguida como {Or}) en una línea discontinua que conecte a dos líneas de Asociación. • La siguiente figura modela a un Estudiante que elegirá entre un Curso Académico o Comercial
  • 32. Clase de Asociación • Una Asociación igual que una Clase, puede contener Atributos y Métodos. Esto se llama Clase de Asociación. • Una Clase de Asociación puede tener asociaciones con otras Clases. Jugador Partic ipa en >> Equipo A ttributes Attributes Operations Operations Participa en >> DirectorGeneral Negoc iado por >> Attributes A ttributes Operations Operations
  • 33. Vínculos • Así como un Objeto es una Instancia de una Clase, una Asociación también se puede instanciar.
  • 34. Multiplicidad • Es un aspecto importante en las Asociaciones entre Objetos. • Indica la cantidad de Objetos de una Clase que se relacionan con otro Objeto particular de la Clase Asociada. • Las Multiplicidad pueden ser: 1 a 1, 1 a muchos, 1 a 5, etc.
  • 36. Herencia y Generalización • La Herencia y Generalización es lo mismo. • Como se dijo anteriormente, es uno de los aspectos mas importante que cuenta la OOP. • Es cuando una SubClase o Clase Secundaria puede heredar los Atributos y Métodos de otra Clase (Clase Principal o SuperClase). • La Clase Principal es mas genérica en su definición. Indica que una subclase hereda los métodos y atributos especificados por una Super Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase (public y protected), ejemplo:
  • 37. Composiciones • Es cuando un componente se considera como tal solo como parte del Objeto compuesto. – Ejemplo: Una Camisa que esta compuesta por: Cuerpo, manga, cuello, botones, etc. – En ocasiones, un Objeto compuesto no tiene la misma Vida Útil que de sus Componentes. – Las partes puede crearse después de la parte que representa el Todo (la parte compuesta), una vez creada pertenecen a ella de manera que viven y mueren con ella.
  • 38. Composiciones – Las partes pueden ser eliminadas antes que el Todo sea destruido, pero una vez sea eliminado el Todo, es destruido todas sus partes. – El Todo es encargado de administrar o gestionar todas sus partes (creación, mantenimiento, disposición, etc).
  • 39. Composiciones Ejemplo de Composición. MesaDeCafe 1 1 4 SuperficieDeLaMesa Pata
  • 40. Relaciones de Clases entre Paquetes C D = A B La clase C pertenece al paquete A, la clase D pertenece al paquete B. Si existe una relación de asociación entre estas clases, existe una relación de dependencia entre paquetes. En este caso, se construye primero el paquete B, porque A depende de B. C D = A B La clase C pertenece al paquete A, la clase D pertenece al paquete B. Si existe una relación de agregación entre estas clases, existe una relación de dependencia entre paquetes. En este caso, se construye primero el paquete B, porque A depende de B. C D = A B La clase C pertenece al paquete A, la clase D pertenece al paquete B. Si existe una relación de herencia entre estas clases, existe una relación de dependencia entre paquetes. En este caso, se construye primero el paquete B, porque A depende de B.
  • 41. Interfaces • Es un conjunto de operaciones (Métodos) que especifica cierto aspecto de la funcionalidad de una Clase, y es un conjunto de operaciones (Métodos) que una Clase presenta a otras. • Recurso de diseño soportado por los lenguajes orientados a objetos que permite definir comportamiento. • Permite que clases que no están estrechamente relacionadas entre sí deban tener el mismo comportamiento. • La implementación de una interfaz es un contrato que obliga a la clase a implementar todos los métodos definidos en la interfaz.
  • 42. Interfaces • Una vez que se hayan creado varias Clases, tal vez se de cuenta que no pertenecen a una Clase Principal, pero en su comportamiento debe incluir algunas de las mismas operaciones con las mismas firmas de la primera Clase. Teclado A ttributes + marca : string <<interface>> + cantidadDeTeclas : int MaquinaDeEscribir Operations A ttributes + Ctrl() : void Operations + Alt() : void + Teclazo() : void + RePag() : void + AvPag() : void
  • 43. Interfaces Vehiculo Aereo Acuatico Terrestre Avión Barco Automóvil ¿ De que clase heredaría la clase Hidroavión ?
  • 44. Interfaces • Se crean las interfaces que definen comportamiento • Hidroavión deberá definir los comportamientos de cada una de las interfaces que implemente «interface» «interface» Acuatico Aereo +Navegar() +Volar() Hidroavion
  • 45. Ámbito • Es la forma en que se relacionan los Atributos y Métodos dentro del Sistema. • Existen dos tipos: Instancias y el de Archivador. • Instancias: Cuenta con su propio valor. • Archivador: solo abra un solo valor del Atributo o del Método en toda las instancias de la Clase. Este tipo de ámbito se presentan cuando los Atributos o Métodos se declaran Privados.
  • 46. Constructores y Destructores • Constructores: Para poder utilizar un Objeto, previamente debemos crearlo mediante el Constructor de la Clase. Este Método nos devuelve un objeto nuevo de una Clase. Normalmente el los lenguajes de programación estos Métodos se conocen como New(). Una Clase puede tener mas de un Constructor.
  • 47. Constructores y Destructores • Destructores: Al igual que existen constructores, en la mayoría de lenguajes de OOP, disponemos de destructores. Este es método es muy similar en su operatoria al constructor: existe uno interno (destructor por defecto) que siempre es llamado cuando la variable que contiene un objeto sale fuera de ámbito, y que llama, caso de existir al destructor que nosotros hayamos fabricado. La funcionalidad del destructor por defecto es deshacer todo lo que el constructor por defecto realizó: eliminar las referencias en la tabla de símbolos, liberar la memoria ocupada, etc.
  • 48. Responsabilidades y Restricciones • En un área o cuadro abajo de los Métodos se puede mostrar la responsabilidad de la Clase. • La Responsabilidad es una descripción breve de lo que hará la Clase.
  • 49. Responsabilidades y Restricciones • Las Restricciones son reglas que llevan los Atributos para la capacidad de contener uno o tres posibles valores. • La forma de representar una restricción es con un texto libre bordeado por llaves donde especifica los valores a contener.
  • 50. Notas Adjuntas • Por encima de los Atributos, Métodos, responsabilidades y restricciones se pueden adicionar mas información por intermedio de las Notas Adjuntas. • Una Nota puede contener tanto texto como imagen.
  • 51. Relaciones de los Casos de Uso • Son: Inclusión, Extensión, Generalización y Agrupamiento. • Asociaciones: Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). • Dependencia o Instanciación: Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea).
  • 52. Agrupamiento • Cuando un Sistema consta de varios Sub-Sistemas, o cuando se realiza toma de requerimientos a varios usuarios, necesitamos organizar los Casos de uso por Categorías o Tipos de Sistemas, la mejor forma de organizarlo son con los Paquetes.
  • 53. Diagrama de Clases • El Diagrama de Clases es el diagrama principal para el análisis y diseño. • Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia. • La definición de clase incluye definiciones para atributos y operaciones. • El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones. • Los diagramas de clases son utilizados para ilustrar las relaciones entre clases y son el fundamento para el proceso de diseño
  • 54. Diagrama de Clases • Modela los conceptos del dominio de la aplicación. • Un diagrama de clases esta compuesto por los siguientes elementos: – Clases: atributos, operaciones y visibilidad. – Relaciones: Herencia, Composición, Agregación, Asociación y Uso. – Responsabilidades
  • 55. Pasos para dibujar un Diagrama de Clases • Paso 1: Dibuje los Nodos de las Clases. • Paso 2: Dibuje las Asociaciones. • Paso 3: Coloque los Nombres y Roles de las Asociaciones. • Paso 4: Coloque la Multiplicidad de las Asociaciones. • Paso 5: Dibuje las flechas de navegación. • Paso 6: Dibuje las Clases Asociadas (si existen). • Paso 7: Validar el modelo del Dominio.
  • 58. Conclusión • UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos. • El 80% de la mayoría de los problemas pueden modelarse usando alrededor del 20% de UML– Grady Booch