Cap4 8 TemaDiagramas de Clases

download Cap4 8 TemaDiagramas de Clases

of 22

Transcript of Cap4 8 TemaDiagramas de Clases

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    1/22

    DIAGRAMA DE CLASES

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    2/22

    Diagramas UML para Anlisis:

    El Diagrama de Clases es el diagramaprincipal para el anlisis y diseo delsistema

    Un diagrama de clases presenta las clasesdel sistema con sus relaciones estructuralesy de herencia

    La definicin de clase incluye definicionespara atributos y operaciones

    El modelo de casos de uso debera aportarinformacin para establecer las clases,objetos, atributos y operaciones

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    3/22

    Elementos de UML de los diagramasde clases Clases, su estructura y su

    comportamiento Relaciones de asociacin, agregacin,

    dependencia, y herencia

    Indicadores de multiplicidad ynavegacin

    Nombres del papel que juega cada claseen una relacin

    Ejemplo de la Notacin de una Clase

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    4/22

    Ejemplo de la Notacin de una Clase Atributos:Los atributos o caractersticas de una

    Clase pueden ser de tres tipos, los que definen elgrado de comunicacin y visibilidad de ellos con el

    entorno, estos son: public(+): Indica que el atributo ser visible tantodentro como fuera de la clase, es decir, es accesibledesde todos lados.

    private(-): Indica que el atributo slo ser accesibledesde dentro de la clase (slo sus mtodos lo pueden

    accesar). protected(#): Indica que el atributo no ser accesibledesde fuera de la clase, pero si podr ser accesado pormtodos de la clase adems de las subclases que sederiven.

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    5/22

    +Nombre : char

    #Edad : int

    -Sueldo : double

    Profesor

    Ejemplo de la Notacin de una Clase Atributos

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    6/22

    Ejemplo de la Notacin de una Clase Mtodos:Los mtodos u operaciones de una clase

    son la forma en como sta interacta con su entorno,stos pueden tener las caractersticas:

    public (+): Indica que el mtodo ser visible tantodentro como fuera de la clase, es decir, esaccsesible desde todos lados.

    private (-): Indica que el mtodo slo seraccesible desde dentro de la clase (slo otrosmtodos de la clase lo pueden accesar).

    protected(#): Indica que el mtodo no seraccesible desde fuera de la clase, pero si podr seraccesado por mtodos de la clase adems demtodos de las subclases que se deriven (verherencia).

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    7/22

    +Evaluar() : decimal

    #PrepararClase()-Eximir() : bool

    +Nombre : char

    #Edad : int

    -Sueldo : double

    Profesor

    Ejemplo de la Notacin de una Clase Mtodos

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    8/22

    Relaciones entre las Clases Asociacin

    Una asociacin es una conexin bi-direccional entre clases Una asociacin se representa como una lnea que conecta las

    clases relacionadas

    Agregacin Una agregacin es una relacin ms fuerte: entre el todo y laspartes que lo componen

    Una agregacin se representa como una lnea que conecta lasclases relacionadas con un rombo junto a la clase querepresenta el todo

    Dependencia Una relacin de dependencia es una relacin ms dbil: la que

    hay entre un cliente y un proveedor cuando el cliente no tieneconocimiento semntico del proveedor

    Una dependencia se representa como una lnea punteada queapunta del cliente al proveedor

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    9/22

    Relaciones entre las Clases Asociacin

    Se lee como Un Profesor es director de 0 1 Departamento

    Un Departamento es dirigido por un Director

    Departamento Profesor -dirigido

    0..1

    -director

    1

    Roles

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    10/22

    Relaciones entre las Clases Asociacin

    Clase Asociacin

    Definicin Segn OMG: "Un elemento demodelado que tiene ambas propiedades deasociacin y de clase. Una Clase Asociacin puedeser vista como una asociacin que tambin tiene

    propiedades de clase, o como una clase quetambin tiene propiedades de asociacin. No

    solamente conecta un conjunto de clasificadoressino que tambin define un conjunto decaractersticas que pertenecen a la relacin en smisma y no a cualquiera de los clasificadores."

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    11/22

    EmpleadoEmpresa -empleador

    *

    -trabajadores

    1..*

    Cargo

    -Sueldo : double

    -Nombre : char

    * *

    Relaciones entre las Clases Asociacin

    Clase Asociacin

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    12/22

    Relaciones entre las Clases Asociacin

    Multiplicidad y Navegacin La multiplicidad define cmo varios objetos participan en las

    relaciones

    La multiplicidad de una relacin es el nmero de ejemplares deuna clase relacionados con UNA instancia de otra clase

    Para cada asociacin y agregacin, hay dos decisiones demultiplicidad que tomar: una para cada extremo de la relacin

    Aunque las asociaciones y las agregaciones son bi-direccionalespor defecto, a veces es deseable restringir la navegabilidad de larelacin a una sola direccin

    Si la navegabilidad est restringida, se aade una punta de flechapara indicar la direccin de navegacin

    Departamento Profesor -dirigido

    0..1

    -director

    1

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    13/22

    Relaciones entre las Clases Asociacin

    Multiplicidad y Navegacin

    Ejemplos de multiplicidades 0..1

    1

    0..*

    *

    1..*

    1..6

    1..3,7..10,15,19..*

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    14/22

    Relaciones entre las Clases Agregacin

    Tipo especial de asociacin

    Connotacin semntica de posesin, contencino composicin

    Usado en modelos de clases para mostrar comolos elementos ms complejos se construyendesde una coleccin de simples elementos (ej.un automvil de ruedas, neumticos, motor,etc.)

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    15/22

    Relaciones entre las Clases Agregacin

    Notacin

    Automovil

    Ruedas Chasis

    1*

    1*

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    16/22

    Relaciones entre lasClases

    Composicin

    Agregacin conconnotacin deposesin

    Coincidencia en tiempode vida entre el todo ylas partes

    Ventana

    Barra Encabezado Panel

    1

    -Cuerpo1

    1

    -Titulo1

    1

    -Deslizador*

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    17/22

    Relaciones entre las Clases Dependencia

    Refleja relacin semntica entre dos clases

    No representa asociacin entre ejemplares

    Refleja que el cambio de una clase puedeafectar a la otra

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    18/22

    Relaciones entre las Clases Dependencia

    Aplicacion

    Ventana

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    19/22

    Herencia Herencia es la relacin entre una

    superclase y sus subclases

    Hay dos maneras de encontrar laherencia:

    Generalizacin

    Especializacin

    Los atributos, mtodos, y/o relacionescomunes deben representarse al nivelaplicable ms alto de la jerarqua

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    20/22

    Herencia Definicin de Generalizacin de OMG

    Una generalizacin es una relacin

    taxonmica entre un clasificador msgeneral y un clasificador ms especfico.Cada instancia del clasificador especfico estambin es una instancia indirecta del

    clasificador general. As, el clasificadorespecfico hereda las caractersticas delclasificador ms general."

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    21/22

    Herencia

    -Nombre : char

    -Password : char

    UsuarioSistema

    -Cargo : char

    Profesor

    -AoIngreso : int

    Estudiante

    -Nombre : char

    -Password : char

    UsuarioSistema

    -Cargo : char

    Profesor

    -AoIngreso : int

    Estudiante

  • 8/14/2019 Cap4 8 TemaDiagramas de Clases

    22/22

    22

    Diagrama de Clases: Punto de Venta