Professional Documents
Culture Documents
Terminos y conceptos
Una clase es la descripcion de un conjunto de objetos que comparten
los mismos atributos, operaciones, relaciones y semantica.
*Nombres
Un nombre es una cadena de texto. Ese nombre solo se denomina nombre
simple; un nombre calificado consta del nombre de la clase precedido
por el nombre del PAQUETE en el que se encuentra.
NOTA: El nombre de una clase puede ser texto formado por cualquier
numero de letras, numeros y ciertos signos de puntuacion (excepto
signos como los DOS PUNTOS,que se utilizan para separar el nombre
de una clase y el del paquete que la contiene) y puede extenderse
a lo largo de varias lineas.
Nombre simple: Cliente Nombre calificado: java::awt::Rectangle
*Atributos
Un atributo es una propiedad de una clase identificada con un nombre,
que describe un rango de valores que pueden tomar las instancias de la
propiedad. Una clase puede tener cualquier numero de atributos o no
tener ninguno.
Un atributo es una abstraccion de un tipo de dato o estado que puede
incluir un objeto de la clase.
NOTA: Normalmente, se pone en mayusculas la primera letra de cada
palabra de un atributo, excepto la primera letra, como en nombre
o esMaestra.
Un atributo se puede especificar aun mas indicando su clase y quizas
un valor inicial por defecto o indicando si es de solo lectura o esta
compartido por todos los objetos de la clase.
*Operaciones
Una operacion es la implementacion de un servicio que puede ser reque
rido a cualquier objeto de la clase para que muestre un comportamiento.
Una clase puede tener cualquier numero de operaciones o ninguna. Se
puede especificar aun mas la implementacion de una operacion utilizando
una nota o utilizando un diagrama de actividades.
NOTA: normalmente el nombre de una operacion es un verbo corto o una
expresion verbal, que se pone en mayusculas la primera letra de cada
palabra en el nombre de una operacion excepto la primera letra,como
en mover o estaVacio.
Responsabilidades
Es un contrato o una obligacion de una clase. Una clase puede tener
cualquier numero de responsabilidades, aunque en la practica, cada
clase bien estructurada tiene al menos una responsabilidad y a lo
sumo una pocas.NOTA: las responsabilidades son solo texto libre.
---------------------
|AgenteDeFraudes | Otras caracteristicas
|---------------------| Cuando se empieza a dise�ar la implementacion
|---------------------| de una clase, se necesita modelar su estructura
|---------------------| interna como un conjunto de partes conectadas.
|Responsabilidades | UML proporciona las CLASES ACTIVAS (para re-
|-determinar el ries- | presentar procesos e hilos) y clasificadores,
|go del pedido de | como los artefactos (para representar compo-
|un cliente | nentes software fisicos) y nodos (para repre-
--------------------- sentar dispositivos hardware).
En UML, hay sociedades de clases que forman colaboraciones y normal-
mente se representan en diagraman de clases.
Sugerencias y consejos
Una clase bien estructurada:
*Proporciona una abstraccion precisa.
*Contiene un peque�o conjunto bien definido de responsabilidades.
*Proporciona una clara distincion entre la especificacion de la abstraccion
y su implementacion.
Cuando se dibuje una clase en UML:
*Mostrar solo aquellas propiedades de la clase que sean importantes.
*Organizar las listas largas de atributos y operaciones, de acuerdo a su
categoria.
*Mostrar las clases relacionadas en el mismo diagrama de clases.
--------------------------------
/Capitulo 08: Diagrama de clases/
-------------------------------
Un diagrama de clases muestra un conjunto de clases, interfaces y colabo-
raciones, asi como sus relaciones.Estos se utilizan para modelar la
VISTA DE DISE�O ESTATICA DE UN SISTEMA, ademas son la base para un par de
diagramas relacionados: los diagramas de componentes y los diagramas de
despliegue. Los diagramas de clases son importantes para VISUALIZAR,
ESPECIFICAR Y DOCUMENTAR modelos estructurales asi como para construir
sistemas ejecutables,aplicando ingenieria inversa y directa.
Dada la fluidez del software, es posible definir los bloques de construccion
basicos desde cero.
Terminos y conceptos
&&& Propiedades comunes
Un diagrama de clases es un tipo especial de diagrama y comparte las pro-
piedades comunes al resto de los diagramas(nombre y contenido grafico).
&&& Contenido
*Clases
*Interfaces
*Relaciones de dependencia, generalizacion y asociacion
Tambien pueden contener notas, restricciones, paquetes o subsistemas.
A veces se colocaran instancias en los diagramas de clases, por si
son del tipo dinamico.
NOTA: Los diagramas de componentes y los diagramas de despliegue son
similares a los diagramas de clases, excepto que en lugar de clases
contienen componentes y nodos, respectivamente.
&&& Usos comunes
La vista de dise�o estatica soporta principalmente los requisitos funcio-
nales de un sistema, los servicios que el sistema debe proporcionar a
sus usuarios finales.Normalmente se utilizaran los diagramas de clases de
una de estas tres formas:
1. Para modelar el vocabulario de un sistema.
Decidir que abstracciones son parte del sistema y cuales caen fue-
fuera de sus limites.
2. Para modelar colaboraciones simples.
Una colaboracion es una sociedad de clases, interfaces y otros
elementos que colaboran para proporcionar un comportamiento
cooperativo mayor que la suma de todos los elementos.
3. Para modelar un esquema logica de base de datos.
En muchos dominios se necesitara almacenar informacion persisten-
te en una base de datos relacional o en una base de datos orien-
tada a objetos. Se pueden modelar esquemas para estas bases de
datos mediante diagramas de clases.
Sugerencias y consejos
Un diagrama de clases bien estructurado:
*Se centra en comunicar un aspecto de la vista de dise�o estatica de un
sistema.
*Contiene solo aquellos elementos que son esenciales para comprender ese
aspecto.
*Proporciona detalles de forma consistente con el nivel de abstraccion,
mostrando solo aquellos adornos esenciales.
Cuando se dibuje un diagrama de clases:
*Darle un nombre que comunique su proposito.
*Distribuir sus elementos para minimizar los cruces de lineas.
*Organizar esencialmente espacialmente de modo que los que esten cercanos
semanticamente tambien lo esten fisicamente.
*Usar notas y colores como se�ales visuales.
*Intentar no mostrar demasiados tipos de relaciones.
---------------------------------
/Capitulo 14: Diagrama de Objetos/
--------------------------------
Los diagramas de objetos modelan las instancias de los elementos existentes
en los diagramas de clases. Un diagrama de objetos muestra un conjunto de
objetos y sus relaciones en un modelo concreto.
Los diagramas de objetos se utilizan para modelar la vista de dise�o
estatica o la vista de procesos estatica de un sistema.
Los diagramas de objetos no solo son importantes para visualizar, especi-
ficar y documentar modelos estructurales, sino tambien para construir los
aspectos estaticos de sistemas a traves de ingenieria directa e inversa.
En todos los sistemas orientados a objetos, excepto en los mas simples,
existira una multitud de objetos,cada uno de los cuales mantiene una
relacion precisa con los demas. De hecho, cuando un sistema orientado
a objetos falla, no suele ser por un fallo en la logica, sino porque se
rompen conexiones entre objetos o por un estado no valido en objetos
individuales.
Los diagramas de interaccion se utilizan para ver los aspectos dinamicos
del sistema, y constan de instancias de estos bloques de construccion y
los mensajes enviados entre ellos. Un diagrama de objetos contiene un con-
junto de instancias de los elementos existentes en un diagrama de clases.
Por tanto, un diagrama de objetos expresa la parte estatica de una inte-
raccion, y consta de los objetos que colaboran, pero sin ninguno de los
mensajes que se envian entre ellos.
Terminos y conceptos
Un diagrama de objetos es un diagrama que representa un conjunto de
objetos y sus relaciones en un momento concreto. Graficamente, un
diagrama de objetos es una coleccion de nodos y arcos.
**Contenidos
-Objetos
-Enlaces
Tambien pueden contener notas y restricciones. A veces se colocaran clases
en los diagramas de objetos, especialmente cuando se quiera mostrar la clase
que hay detras de la instancia.
**Usos comunes
La vista de procesos estatica de un sistema, pero desde la perspectiva
de instancias reales o prototipicas; sustenta principalmente los requi-
sitos funcionales de un sistema(servicios a usuarios finales).
Un diagrama de objetos representa una escena estatica dentro de la his-
toria representada por un diagrama de interaccion. El comportamiento
dinamica y la ejecucion se pueden representar como una secuencia de
escenas.
Ingenieria inversa
Hacer ingenieria inversa (creacion de un modelo a partir del codigo).Por
ejemplo, si se esta persiguiendo un enlace perdido, uno dibujara mental
o literalmente un diagrama de objetos de los objetos afectados, para ver
donde se invalida, en un momento dado, el estado de un objeto o su rela-
cion con otros objetos.
Para hacer ingenieria inversa con un diagrama de objetos:
*Elegir el objetivo al que se desea aplicar la ingenieria inversa.
*Detener la ejecucion en un determinado instante.
*Identificar el conjunto de objetos que colaboran en el contexto, y re-
presentarlos en un diagrama de objetos.
*Si es necesario para comprender la semantica, mostrar el estado de estos
objetos e identificar los enlaces entre estos objetos.
*Si el diagrama termina complicandose en exceso, se puede recortar, eli-
minando aquellos objetos que no sean pertinentes.Si es simple, hay que
expandir los vecinos de los objetos para mostrar el estado de cada objeto.
Sugerencias y consejos
Un diagrama de objetos bien estructurados:
*Se centra en comunicar un aspecto de la vista de dise�o estatica o la
vista de procesos estatica de un sistema.
*Representa una escena de la historia representada por un diagrama de
interaccion.
*Contiene solo aquellos elementos esenciales para comprender ese aspecto,
*Proporciona detalles de forma consistente con el nivel de abstraccion.
Cuando se dibuje un diagrama de objetos:
*Darle un nombre que comunique su proposito.
*Distribuir sus elementos para minimizar los cruces de lineas.
*Organizar sus elementos espacialmente.
*Usar notas y colores.
*Incluir los valores y estados de cada objeto.