Sunteți pe pagina 1din 12

I.

Modelo de Clases
Introduccin

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

Un diagrama de clases esta compuesto por los siguientes elementos:

Clase: atributos, mtodos y visibilidad.


Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso.

Elementos

Clase

Es la unidad bsica que encapsula toda la informacin de un Objeto (un


objeto es una instancia de una clase). A travs de ella podemos modelar
el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).

En UML, una clase es representada por un rectngulo que posee tres


divisiones:

En donde:

o Superior: Contiene el nombre de la Clase


o Intermedio: Contiene los atributos (o variables de instancia) que
caracterizan a la Clase (pueden ser private, protected o public).
o Inferior: Contiene los mtodos u operaciones, los cuales son la
forma como interacta el objeto con su entorno (dependiendo de
la visibilidad: private, protected o public).
Ejemplo:

Una Cuenta Corriente que posee como caracterstica:

o Balance

Puede realizar las operaciones de:

o Depositar
o Girar
o y Balance

El diseo asociado es:

Atributos y Mtodos:

o Atributos:

Los atributos o caractersticas de una Clase pueden ser de tres


tipos, los que definen el grado de comunicacin 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 slo ser accesible
desde dentro de la clase (slo sus mtodos lo pueden
accesar).
protected (#, ): Indica que el atributo no ser
accesible desde fuera de la clase, pero si podr ser
accesado por mtodos de la clase adems de las subclases
que se deriven (ver herencia).
o 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 tanto
dentro como fuera de la clase, es decir, es accsesible desde
todos lados.

private (-, ): Indica que el mtodo slo ser accesible


desde dentro de la clase (slo otros mtodos de la clase lo
pueden accesar).
protected (#, ): Indica que el mtodo no ser
accesible desde fuera de la clase, pero si podr ser
accesado por mtodos de la clase adems de mtodos de
las subclases que se deriven (ver herencia).

Relaciones entre Clases:

Ahora ya definido el concepto de Clase, es necesario explicar como se


pueden interrelacionar dos o ms clases (cada uno con caractersticas 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 relacin y stas pueden
ser:

o uno o muchos: 1..* (1..n)


o 0 o muchos: 0..* (0..n)
o nmero fijo: m (m denota el nmero).
iv. Herencia (Especializacin/Generalizacin):

Indica que una subclase hereda los mtodos y atributos


especificados por una Super Clase, por ende la Subclase adems
de poseer sus propios mtodos y atributos, poseer las
caractersticas y atributos visibles de la Super Clase (public y
protected), ejemplo:
En la figura se especifica que Auto y Camin heredan de
Vehculo, es decir, Auto posee las Caractersticas de Vehculo
(Precio, VelMax, etc) adems posee algo particular que es
Descapotable, en cambio Camin tambin hereda las
caractersticas de Vehiculo (Precio, VelMax, etc) pero posee
como particularidad propia Acoplado, Tara y Carga.

Cabe destacar que fuera de este entorno, lo nico "visible" es el


mtodo Caracteristicas aplicable a instancias de Vehculo, Auto
y Camin, pues tiene definicin publica, en cambio atributos
como Descapotable no son visibles por ser privados.

v. Agregacin:

Para modelar objetos complejos, n bastan los tipos de datos


bsicos que proveen los lenguajes: enteros, reales y secuencias
de caracteres. Cuando se requiere componer objetos que son
instancias de clases definidas por el desarrollador de la
aplicacin, tenemos dos posibilidades:

Por Valor: Es un tipo de relacin esttica, en donde el


tiempo de vida del objeto incluido esta condicionado por
el tiempo de vida del que lo incluye. Este tipo de relacin
es comunmente llamada Composicin (el Objeto base se
contruye a partir del objeto incluido, es decir, es
"parte/todo").
Por Referencia: Es un tipo de relacin dinmica, en
donde el tiempo de vida del objeto incluido es
independiente del que lo incluye. Este tipo de relacin es
comunmente llamadaAgregacin (el objeto base utiliza al
incluido para su funcionamiento).

Un Ejemplo es el siguiente:

En donde se destaca que:

Un Almacen posee Clientes y Cuentas (los rombos van en


el objeto que posee las referencias).
Cuando se destruye el Objeto Almacen tambin son
destruidos los objetos Cuenta asociados, en cambio no son
afectados los objetos Cliente asociados.
La composicin (por Valor) se destaca por un rombo
relleno.
La agregacin (por Referencia) se destaca por un rombo
transparente.

La flecha en este tipo de relacin indica la navegabilidad del


objeto refereniado. Cuando no existe este tipo de particularidad
la flecha se elimina.

vi. Asociacin:

La relacin entre clases conocida como Asociacin, permite


asociar objetos que colaboran entre si. Cabe destacar que no es
una relacin fuerte, es decir, el tiempo de vida de un objeto no
depende del otro.

Ejemplo:
Un cliente puede tener asociadas muchas Ordenes de Compra, en
cambio una orden de compra solo puede tener asociado un
cliente.

vii. Dependencia o Instanciacin (uso):

Representa un tipo de relacin muy particular, en la que una


clase es instanciada (su instanciacin es dependiente de otro
objeto/clase). Se denota por una flecha punteada.

El uso ms particular de este tipo de relacin es para denotar la


dependencia que tiene una clase de otra, como por ejemplo una
aplicacin grafica que instancia una ventana (la creacin del
Objeto Ventana esta condicionado a la instanciacin proveniente
desde el objeto Aplicacion):

Cabe destacar que el objeto creado (en este caso la Ventana


grfica) no se almacena dentro del objeto que lo crea (en este
caso la Aplicacin).
2. Asociacin, Multiplicidad, Asociaciones Calificadas,
Herencia y generalizacin

Asociacin
Las asociaciones son conexiones conceptuales entre clases. Por ejemplo la asociacin, entre
trabajador y empresa.

Un trabajador labora en una empresa la asociacin conectara con una lnea a trabajador y
empresa, si vemos los roles de cada uno podemos decir que el trabajador es un empleado y la
empresa es la empleadora.

Labora en es el nombre de la asociacin y la colocamos sobre la linea, mientras que los roles
(empleado, empleador) los colocamos bajo la lnea a cada lado segn corresponda. As nuestra
relacin Un trabajador labora en una empresa en UML se vera as:

Las asociaciones pueden funcionar en ambos sentidos. Si vemos el ejemplo anterior desde la
perspectiva de la empresa, la asociacin sera Una empresa emplea trabajadores

Asociacin viceversa
Notemos que para comprender el sentido de la asociacin aadimos una flecha.
Las asociaciones no se limitan conectar una clase con otra, pueden conectarse varias clases
con una.

Asociacin mltiple
Cuando necesitamos especificar mas detalles en las asociaciones como restricciones podemos
especificarlas encerrndolas entre llaves. Por ejemplo un cajero atiende a un cliente, pero cada
cliente es atendido en el orden de su llegada.

Asociacin con restriccin


La restriccin del tipo O se la representa con una lnea entrecortada que una las 2 relaciones.
Por ejemplo un estudiante de educacin media superior puede elegir entre un curso
acadmico o uno comercial.
Multiplicidad
La multiplicidad indica la cantidad de objetos de una clase que se relacionan con otro objeto
en particular de la clase asociada.

En el ejemplo de la relacin Un trabajador labora en una empresa, aplicando la multiplicidad


sera Uno o varios empleados trabajan en una empresa. Y el diagramase vera asi:

notemos que usamos * como comodn para indicar la palabra varios

Asociaciones calificadas
Cuando la multiplicidad de una asociacin es de uno a muchos, en ocasiones se requiere
seleccionar un objeto especfico para cumplir la asociacin. Para seleccionar el objeto se
necesita un identificador que permita diferenciarlo del resto de objetos a este se le llama
calificador. Por ejemplo, cuando se realiza una reservacin en un hotel, el hotel le asigna un
nmero de confirmacin. Si se requiere hacer preguntas respecto a la reservacin, se deber
proporcionar el nmero de confirmacin que en este caso acta como identificador.

En UML esto se representa con un rectngulo adjunto a la clase que usar el calificador.

Asociaciones reflexivas
Esta se da cuando una clase se asocia consigo mismo. Por ejemplo en la clase empleado, un
empleado puede actuar como jefe o subalterno.
Herencia y generalizacin
La herencia y generalizacin son sinnimos dentro de UML.

La generalizacin permite que una clase hija herede todos los atributos y propiedades de la
clase madre. Por ejemplo las clases vertebrados e invertebrados pueden heredar de animal.

Herencia
La representacion de herencia en UML es a travs de una lnea que termina con un tringulo
sin relleno.

Dependencias

Se define cuando una clase utiliza a otra como parmetro de una de sus operaciones.

Por ejemplo imaginemos que tenemos 2 clase una sistema y otra formulario. Una de las
operaciones de sistema es mostrarFormulario(), la cual tiene como parmetro la clase
formulario, esto se representa en UML as:
Agregacin
Una agregacin es una acumulacin de clases. Es decir una clase esta formada por otras.

Por ejemplo un auto est formado por su motor, chasis, carrocera entre otras cosas. En UML
esto se representara as:

Composicin
Una composicin es un tipo de agregacin, la cual determina una restriccin. Cada
componente de una agregacin puede pertenecer tan solo a un todo.

Esto se representa de igual forma que una agregacin, con la diferencia de que el rombo esta
rellenado

Realizacin
Una realizacin es la relacin entre una clase y una interfaz.

Una interfaz define las capacidades o habilidades de un objeto.


Veamos un ejemplo. El teclado de la computadora esta basada en la presin de las teclas de
igual forma que el teclado una mquina de escribir. La operacin bsica (teclado) es comn
para ambos tipos de teclado, sin embargo el teclado de computadora tiene otras operaciones
como ctrl, alt, etc.

Podramos decir que el teclado de la mquina de escribir es una interfaz del teclado de
computadora pues define a la habilidad de teclado. Esto en UML se representara as:

S-ar putea să vă placă și

  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • Proyecto de DS para Corregido
    Proyecto de DS para Corregido
    Document25 pagini
    Proyecto de DS para Corregido
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • Cap 014 2017
    Cap 014 2017
    Document2 pagini
    Cap 014 2017
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • 22 12 2017
    22 12 2017
    Document1 pagină
    22 12 2017
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • SPEACH
    SPEACH
    Document2 pagini
    SPEACH
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • Ejercicios Valor Presente y Futuro
    Ejercicios Valor Presente y Futuro
    Document3 pagini
    Ejercicios Valor Presente y Futuro
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • Guía Usb Show
    Guía Usb Show
    Document5 pagini
    Guía Usb Show
    Angel Alfonso Gonzales Molina
    Încă nu există evaluări
  • Practica 1 de Estatica (Sistema de Unidades de Medida)
    Practica 1 de Estatica (Sistema de Unidades de Medida)
    Document9 pagini
    Practica 1 de Estatica (Sistema de Unidades de Medida)
    Lander León Zarate
    Încă nu există evaluări
  • Solucion Foro Estadistica 2
    Solucion Foro Estadistica 2
    Document8 pagini
    Solucion Foro Estadistica 2
    Danuil Pacheco pacheco
    100% (1)
  • VICTRON
    VICTRON
    Document32 pagini
    VICTRON
    Juan Francisco Jimenez Ramirez
    Încă nu există evaluări
  • Las Leyes de Newton
    Las Leyes de Newton
    Document39 pagini
    Las Leyes de Newton
    JUan
    Încă nu există evaluări
  • Ley de Avogadro
    Ley de Avogadro
    Document8 pagini
    Ley de Avogadro
    eldelmeichon
    Încă nu există evaluări
  • An Introduction To Applicable Game Theory
    An Introduction To Applicable Game Theory
    Document20 pagini
    An Introduction To Applicable Game Theory
    lidia san miguel
    Încă nu există evaluări
  • Laboratorio 4 de Dinámica Aplicada
    Laboratorio 4 de Dinámica Aplicada
    Document14 pagini
    Laboratorio 4 de Dinámica Aplicada
    EdgardoEnriqueConte
    Încă nu există evaluări
  • Examen Final 17 de Agosto de 2020
    Examen Final 17 de Agosto de 2020
    Document2 pagini
    Examen Final 17 de Agosto de 2020
    Mafer Mabel Galarza
    Încă nu există evaluări
  • AutoCAD 2D Referencias Externas
    AutoCAD 2D Referencias Externas
    Document6 pagini
    AutoCAD 2D Referencias Externas
    María Badillo
    Încă nu există evaluări
  • Matemática. Modulo I.
    Matemática. Modulo I.
    Document14 pagini
    Matemática. Modulo I.
    Rixis Alexander
    Încă nu există evaluări
  • Python 3 para Impacientes - Gráficos en IPython
    Python 3 para Impacientes - Gráficos en IPython
    Document8 pagini
    Python 3 para Impacientes - Gráficos en IPython
    Jennifer López Chacón
    Încă nu există evaluări
  • Torres de Enfriamiento
    Torres de Enfriamiento
    Document7 pagini
    Torres de Enfriamiento
    MaaryloveBlaas
    Încă nu există evaluări
  • Transceptor EA1KO Basado en Softrock
    Transceptor EA1KO Basado en Softrock
    Document12 pagini
    Transceptor EA1KO Basado en Softrock
    Michel
    Încă nu există evaluări
  • Unidad Didactica Cuaderno 2 PDF
    Unidad Didactica Cuaderno 2 PDF
    Document23 pagini
    Unidad Didactica Cuaderno 2 PDF
    melito91
    Încă nu există evaluări
  • 3 - Teoria 3 + TP3
    3 - Teoria 3 + TP3
    Document10 pagini
    3 - Teoria 3 + TP3
    Jazmin Margueritte
    Încă nu există evaluări
  • Vensim 4 PDF
    Vensim 4 PDF
    Document29 pagini
    Vensim 4 PDF
    alejandro
    Încă nu există evaluări
  • Co Pid Grupo10
    Co Pid Grupo10
    Document15 pagini
    Co Pid Grupo10
    nooamooroos
    Încă nu există evaluări
  • 5 Definiciones de Estadistica
    5 Definiciones de Estadistica
    Document50 pagini
    5 Definiciones de Estadistica
    Yovany Galindo Estevez
    85% (20)
  • Manual Pickit 3
    Manual Pickit 3
    Document19 pagini
    Manual Pickit 3
    alvaro
    Încă nu există evaluări
  • Examen Parcial Grupo B
    Examen Parcial Grupo B
    Document2 pagini
    Examen Parcial Grupo B
    Espiritu Espiritu Hiber
    Încă nu există evaluări
  • Toberas Flujo Comprensible (Convergente, Divergente)
    Toberas Flujo Comprensible (Convergente, Divergente)
    Document10 pagini
    Toberas Flujo Comprensible (Convergente, Divergente)
    Ylab
    Încă nu există evaluări
  • Exam03-Programacion Lineal PDF
    Exam03-Programacion Lineal PDF
    Document5 pagini
    Exam03-Programacion Lineal PDF
    Jose Enrique
    Încă nu există evaluări
  • Ats Trabajos en Espacios Confinados.
    Ats Trabajos en Espacios Confinados.
    Document7 pagini
    Ats Trabajos en Espacios Confinados.
    Ana Maria Calle
    Încă nu există evaluări
  • Apuntes - de - Obras - Hidraulica 003
    Apuntes - de - Obras - Hidraulica 003
    Document23 pagini
    Apuntes - de - Obras - Hidraulica 003
    sergio enriquez
    Încă nu există evaluări
  • Ruta 6
    Ruta 6
    Document3 pagini
    Ruta 6
    Natalia Valencia
    Încă nu există evaluări
  • Ing de Transporte
    Ing de Transporte
    Document9 pagini
    Ing de Transporte
    E.Richard Quispe Mamani
    Încă nu există evaluări
  • Proyecto Final de Laboratorio BILLAR
    Proyecto Final de Laboratorio BILLAR
    Document10 pagini
    Proyecto Final de Laboratorio BILLAR
    Luis Andres Ariza Osorio
    100% (1)
  • Concepto de Sueroterapia
    Concepto de Sueroterapia
    Document10 pagini
    Concepto de Sueroterapia
    Katherine Dubó
    Încă nu există evaluări
  • U2 - S5 - Ejercicios para Actividad Virtual
    U2 - S5 - Ejercicios para Actividad Virtual
    Document2 pagini
    U2 - S5 - Ejercicios para Actividad Virtual
    William A. Salazar Carrasco
    50% (2)
  • Aceite de Cártamo
    Aceite de Cártamo
    Document16 pagini
    Aceite de Cártamo
    katia Soto
    Încă nu există evaluări