RESUMEN ELABORADO POR : JOSSEY ALGUERO
Definir:
La función de este diagrama es la visualizar las relaciones entre las clases
que involucran el sistema, las cuales pueden ser asociativas, de herencia, de
uso.
Está
compuesta por los siguientes
elementos:
Clase: atributos, métodos y
visibilidad.
Relaciones: Herencia, Composición,
Agregación, Asociación y Uso.
Definición
de los elementos:
Clases: es la unidad básica
donde se encapsula toda la
información de un objeto (un objeto es
una instancia de una clase).En UML, una clase es representada
por unos rectángulos que posee tres divisiones:
Superior: contiene el nombre de la Clase u objeto
Intermedio: contienes los
atributos esta puede ser
privada, publica, protegido.
Inferior: contiene métodos u
operaciones esta indica
la forma en que se relacionan
pueden ser privada, publica, protegido.
Atributos y Métodos:
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 derive.
. Métodos:
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 accsesible 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 podrá ser accesado por métodos de la
clase además de métodos de las subclases que se deriven (ver herencia).
Dentro
de los
diagramas de clases las cardinalidades representa el grado de de relación o dependencia
que existe entre clases o objeto. Esta cardinalidades pueden ser
las siguientes:
- uno o muchos: 1..* (1..n)
- 0 o muchos: 0..* (0..n)
- número fijo: m (m denota el número).
Relaciones
1. Herencia
(Especialización/Generalización): Indica
que una subclase hereda los métodos y atributos especificados por una Súper
Clase, por ende la Subclase además de poseer sus propios métodos y atributos,
poseerá las características y atributos visibles de la Súper Clase (public y
protected). y se identifica.
Agregación: Para modelar objetos complejos, n
bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y
secuencias de caracteres
Por Valor: Es un tipo de relación estática, en
donde el tiempo de vida del objeto incluido está condicionado por el tiempo de
vida del que lo incluye. Este tipo de relación es comúnmente llamada Composición
(el Objeto base se construye a partir del objeto incluido, es decir, es
"parte/todo").
Por Referencia: Es un tipo de relación dinámica, en
donde el tiempo de vida del objeto incluido es independiente del que lo incluye.
Este tipo de relación es comúnmente llamada Agregación (el objeto base utiliza
al incluido para su funcionamiento).
Asociación: La
relación entre clases conocida como Asociación, permite asociar objetos que
colaboran entre sí. Cabe destacar que no es una relación fuerte, es decir, el
tiempo de vida de un objeto no depende del otro.
Dependencia o
Instanciación (uso): Representa
un tipo de relación muy particular, en la que una clase es instanciada (su
instanciación es dependiente de otro objeto/clase). Se denota por una flecha
punteada. El uso más particular de este tipo de relación es para denotar la
dependencia que tiene una clase de otra
EJERCICIO 1
Una biblioteca tiene copias de libros. Estos últimos se caracterizan por su nombre, tipo (novela, teatro, poesía, ensayo), editorial, año y autor.
Los autores se caracterizan por su nombre, nacionalidad y fecha de nacimiento.
Cada copia tiene un identificador, y puede estar en la biblioteca, prestada, con retraso o en reparación.
Los lectores pueden tener un máximo de 3 libros en préstamo.
Cada libro se presta un máximo de 30 días, por cada día de retraso, se impone una “multa” de dos días sin posibilidad de coger un nuevo libro.
Realiza un diagrama de clases y añade los métodos necesarios para realizar el préstamo y devolución de libros.
Una biblioteca tiene copias de libros. Estos últimos se caracterizan por su nombre, tipo (novela, teatro, poesía, ensayo), editorial, año y autor.
Realiza el diseño de una aplicación para la gestión de pedidos. La aplicación deberá:
- manejar clientes (se guarda su nombre, dirección, teléfono y e-mail), que pueden realizar pedidos de productos, de los cuales se anota la cantidad en stock. Un cliente puede tener una o varias cuentas para el pago de los pedidos. Cada cuenta está asociada a una tarjeta de crédito, y tiene una cierta cantidad disponible de dinero, que el cliente debe aumentar periódicamente para poder realizar nuevos pedidos.
- Un cliente puede empezar a realizar un pedido sólo si tiene alguna cuenta con dinero disponible. Al realizar un pedido, un cliente puede agruparlos en pedidos simples o compuestos. Los pedidos simples están asociados a una sola cuenta de pago y (por restricciones en la distribución) contienen un máximo de 20 unidades del mismo o distinto tipo de producto. A su vez, un pedido compuesto contiene dos o más pedidos, que pueden ser simples o compuestos. Como es de esperar, el sistema debe garantizar que todos los pedidos simples que componen un pedido compuesto se paguen con cuentas del mismo cliente. Además, sólo es posible realizar peticiones de productos en stock.
- Existe una clase (de la cual debe haber una única instancia en la aplicación) responsable del cobro, orden de distribución y confirmación de los pedidos. El cobro de los pedidos se hace una vez al día, y el proceso consiste en comprobar todos los pedidos pendientes de cobro, y cobrarlos de la cuenta de pago correspondiente. Si una cuenta no tiene suficiente dinero, el pedido se rechaza (si es parte de un pedido compuesto, se rechaza el pedido entero). Una vez que el pedido está listo para servirse, se ordena su distribución, y una vez entregado, pasa a estar confirmado.
Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminarEste comentario ha sido eliminado por el autor.
EliminarEste comentario ha sido eliminado por el autor.
EliminarEste comentario ha sido eliminado por un administrador del blog.
ResponderEliminarEste comentario ha sido eliminado por un administrador del blog.
ResponderEliminarQuien podría hacer eso en el lenguaje de programación en java
ResponderEliminarTendrías de casualidad el código
ResponderEliminarDel ejercicio 2
EliminarBuenas tardes JOSSEY
ResponderEliminarTe escribo desde Colombia y tengo una pregunta sobre el ejercicio 2 y tiene que ver con el lenguaje utilizado, no tengo idea en que país escribieron el ejercicio y allí hay dos temas que me gustaría identificar uno es los "pedidos servidos" y otro que son "pedidos simples o compuestos" no logro entender que representan hoy dí, todo lo anterior ya que nos pasaron ese ejercicio para resolverlo.
Muchas gracias
un saludo especial desde Colombia.