Академический Документы
Профессиональный Документы
Культура Документы
Un diagrama de clases es un modelo del dominio problema que captura todos los
requerimientos del usuario respecto al sistema. La informacin de los requerimientos esta
contenida en los atributos y operaciones de las clases, y las asociaciones entre ellas.
Un diagrama de clases contiene detalles bsicos. Las clases representan tems de negocios
fsicos o conceptuales. Los atributos representan la informacin que se conoce de estos tems.
Las operaciones definen que se pueden hacer con stos tems. Las asociaciones describen
como interactan las clases entre s para llevar a cabo los requerimientos del sistema.
Las asociaciones capturan las reglas del negocio. Se aaden al Diagrama de Clases cuando se
revisa y refina.
Los mtodos tradicionales separan la funcionalidad de los datos que se requieren para la
ejecucin del sistema. Los diagramas de clases en cambio muestran ambos aspectos a la vez,
permitiendo un natural entendimiento de cmo se comportan los objetos del mundo real.
Cuando incluimos una clase en un diagrama de clases, el lector del mismo, debe pensar en los
objetos de esa clase para entenderlo mejor.
Una clase se representa por un rectngulo con tres secciones. El nombre del objeto se coloca
en la parte superior, los atributos en la parte media y las operaciones en la parte inferior.
Definiendo Atributos
Un atributo indica que un objeto es responsable de retener una cierta pieza de informacin. Por
ejemplo una clase Automvil puede incluir NumeroAsientos y CapacidadMotor.
En el diagrama de clases opcionalmente podemos mostrar el tipo de dato de cada atributo. Por
ejemplo, el atributo NombreCompaia puede ser del tipo Text, entonces se escribira
NombreCompaia:Text
Podemos dejar sin definir el tipo de dato y el valor por defecto en el Diccionario de Datos
durante el anlisis. Sin embargo para la implementacin debemos especificarlos. Un valor por
defecto se asigna solamente donde sea aplicable segn las reglas del negocio. Esto sugiere
que un valor es suministrado en la creacin de los objetos llamando a una operacin del
mismo.
Definimos los tipos de datos utilizados en los atributos consistentemente en un proyecto u
organizacin. Estos pueden ser derivados de un lenguaje de programacin, base de datos o
una librera de tipos.
Definicin de Operaciones
Una operacin muestra que una clase es responsable de ejecutar una pieza de funcionalidad
del sistema. Los parmetros muestran la informacin que pasa el invocador de la operacin. El
tipo de retorno muestra la informacin entregada al invocador de la operacin.
Cada parmetro puede ser informacin pura o puede hacer referencia a un objeto. Un valor por
defecto implica que si el invocador no brinda un valor, el receptor utiliza el valor por defecto.
Cuando un objeto se muestra aqu, usualmente es dibujado con los valores de los atributos.
Diagrama de Objetos. Estos diagramas son tiles para explicar un Diagrama de Clases o si
tenemos problemas en la clasificacin. Son beneficiosos cuando examinamos la multiplicidad y
para mostrar ejemplos de antes y despus.
Identificacin de Clases
Inicialmente identificamos clases para formar una coleccin a partir de la cual empiezan las
investigaciones. Esta recoleccin es un prototipo de trabajo. Conforme el proyecto avanza
podemos adicionar detalles o retirar clases.
La terminologa de los lenguajes de programacin no se utiliza en la fase de Anlisis. Sin
embargo debemos prestar atencin al vocabulario del negocio. Utilicemos los trminos tcnicos
apropiados al negocio para ayudar a la comunicacin.
Los Casos de Uso son un buen punto para iniciar el anlisis de un negocio. Estos capturan
todos los modos y usos del sistema y por ello proveen un punto de inicio natural.
Identifiquemos todos los nombres y frases; debemos seleccionar los mejores nombres entre
varios sinnimos, pero mantenerlos dentro de los lmites del vocabulario.
Algunos candidatos son duplicados o sinnimos. La siguiente etapa es revisar la lista y eliminar
cualquiera que no sea necesario.
Una vez hecha la lista maestra de los sustantivos se ha terminado, escribimos los mismos en
pedazos de papel o en una pizarra y se discuten abiertamente sobre su importancia y rol en el
sistema. As son fciles de mover, eliminar o aadir. Esto ayuda a decidir rpidamente sobre
estos candidatos a clases.
En el ejemplo, total, recibo y pago pueden ser colocados al final al estar relacionados con el
final del proceso. La transacciones se muestran en el recibo y se muestra la lista de bienes.
Una transaccin es por un precio, y un producto tiene un precio. Entonces, el precio puede ser
degradado a ser Atributo en lugar de Clase.
Sistema, caja, operador de caja y cliente, son todos tems fsicos. El cliente tiene una tarjeta
preferida. Una canasta contiene los bienes llevados a caja.
Es factible que algunos candidatos representen lo mismo. De ser as, podramos utilizar
diferentes palabras para describirlos. Donde indentifiquemos sinnimos eliminemos todos
excepto los sustantivos descriptivos para estar seguros de no usar el mismo concepto en ms
de una clase.
Convirtiendo los sustantivos irrelevantes en atributos clarifica a los sustantivos restantes. Esto
asegura que los sustantivos restantes no sean ignorados pero se mantengan en el modelo
dentro de otra clase. Una vez que se investigue con mayor profundidad en fases posteriores
estos atributos podran volver a ser clases.
No necesitamos restringirnos a los sustantivos encontrados en los Use Cases. Una lluvia de
ideas es til para capturar el conocimiento requerido. Hacemos entonces una lista con nuevos
candidatos a clase.
Capture cada clase sin juzgar, permitiendo cualquier cosa que venga a la mente, incluso ideas
inusuales. Debemos estar seguros de que todas estas palabras se encuentren dentro del
vocabulario del usuario. Examine la lista los mismos criterios que con los Use Cases, dentro del
alcance del sistema.
Una vez que hemos eliminado las clases duplicados, sinnimos, y clases superfluas, nos
quedamos con una lista revisada. Este es un solo ejemplo de muchas posibilidades.
Se remueven todas las clases redundantes. Es comn que se aadan nuevas clases mientras
nos adentramos ms en el funcionamiento interno del sistema. Las clases se refinan y adornan
ms an durante el diseo, donde se definen correctamente los atributos, operaciones y
relaciones.
Qu buscar?
Qu considerar y qu confrontar?
Una vez que hemos encontrado clases potenciales de todo tipo, bajo las modalidades
aprendidas, debemos confrontar cada una y decidir si es necesario mantenerlas en el modelo o
no. Con tal motivo, nos haremos las siguientes preguntas clase por clase para tomar
decisiones, y producto de estas preguntas, procederemos a mantenerlas, promover atributos a
clases o degradar clases a atributos, segn sea conveniente.
transcurrido entre eventos, etc.) ya que bastar con mantener la informacin base de
dichos clculos para que alguna operacin de las clases correspondientes brinden el
resultado requerido por el sistema. Recordemos que esto puede cambiar en la etapa
de diseo por cuestiones de performance, mas no es el momento adecuado hacerlo en
la fase de anlisis.
Los actores son usualmente removidos del diagrama de clases. Los sistemas no suelen
reconocer qu persona est utilizando el sistema excepto en aspectos relacionados con
accesibilidad (seguridad del sistema).
En el ejemplo del supermercado, el alcance del sistema no incluye la identidad del cliente.
Cuando un cliente utiliza una tarjeta, el sistema no necesita saber que miembro de la familia
usa la tarjeta. La tarjeta es el objeto en el sistema, y no el cliente.
Al eliminar actores, debemos limitarnos a cuestionarnos sobre el Use Case actual y tratando de
no afectar otros Use Cases.
Cualquier trmino que indique al sistema completo debe ser eliminado, ya que estamos
interesados en el sistema interno y no en el sistema global. En el ejemplo, debemos entonces
eliminar cualquier frase como sistema, supermercado, o sistema de supermercado.
El sistema bajo investigacin puede ser ms amplio de lo que se estudia al principio. Por
ejemplo, puede ser parte de una cadena. El sistema de supermercado es entonces solo un
sub-sistema del espacio completo del sistema, entonces podra convertirse en una clase
razonable.
Diccionario de Datos
El diccionario de datos es el repositorio de toda la informacin. Contiene descripciones de
clases, atributos, operaciones, relaciones y multiplicidad.
El diccionario de datos tambin contiene otros modelos como Diagramas de Secuencia y
Diagramas de Estado. El diccionario puede ser mantenido en cualquier formato, desde archivos
de texto simple hasta en formato de metamodelo de UML de alguna herramienta CASE.
Palabras y frases solo vistas en un diagrama. El diccionario de datos describe las clases en
texto fcilmente legible.