Академический Документы
Профессиональный Документы
Культура Документы
desde una petición de un actor o bien desde la invocación desde otro caso de uso.
Relaciones:
Asociación Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso
a otra operación (caso de uso). Dicha relación se denota con una flecha simple.
Dependencia o Instanciación
Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es
decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.
Generalización
Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su
estereotipo, que puede ser de Uso (<<uses>>) o de Herencia (<<extends>>). Este tipo de relación
está orientado exclusivamente para casos de uso (y no para actores).
Extends
Uses
: Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más
de un caso de uso y no se desea mantener copiada la descripción de la característica. De lo
anterior cabe mencionar que tiene el mismo paradigma en diseño y modelamiento de clases, en
donde está la duda clásica de usar o heredar.
DIAGRAMA DE CLASE
Sección superior
Nombre de la clase
Esta sección siempre es necesaria sin importar si está hablando del clasificador o de un objeto
Sección media
Atributos de la clase
Los atributos describen las variables que describen las cualidades de la clase. Esto solamente es
necesario al describir una instancia específica de una clase.
Sección inferior
Mostrado en formato de lista, cada operación tiene su propia línea. Las operaciones describen
cómo una clase puede interactuar con los datos.
Todas las clases tienen diferentes niveles de acceso dependiendo del modificador de acceso
(visibilidad). Aquí tenemos los siguientes niveles de acceso con sus símbolos correspondientes:
Público (+)
Privado (-)
Protegido (#)
Paquete (~)
Derivado (/)
Estático (subrayado)
Hay dos ámbitos para los miembros: clasificadores e instancias. Los clasificadores son miembros
estáticos mientras que las instancias son instancias específicas de la clase. Si está familiarizado con
la teoría básica de OO, no hay nada innovador.
Publica:
Una variable/función pública puede ser accedida desde fuera de la clase. Es decir, puedo acceder
desde la instancia de la clase y no sólo desde el código interno de la clase. Ejemplo de funciones
públicas son los métodos de una clase. También es posible crear variables públicas, para que
puedan ser manejadas desde la instancia, pero no es algo común o recomendable, entre otras
cosas porque deja un hueco de seguridad en la clase, acabando con la idea de la
encapsulación
”. Para declarar una variable/función como pública, se le antepone la palabra clave “public”.
Privada:
Al contrario que las públicas, las variables/funciones privadas sólo pueden ser accedidas desde
dentro de la misma clase. Todo intento de llamarlas desde la una instancia de la misma es en vano.
Mantener variables/funciones privadas permiten tener un mayor control sobre la clase, sobre el
modo como procesa sus métodos, como maneja sus variables, etc. Para declarar una
variable/función como
privada, se le antepone la palabra clave “private”.
Protegida:
Existe un tipo intermedio de ámbito, llamado “protegido”. Es un punto medio entre público y
privado,
porque -como ocurre con las privadas- no se puede acceder a ella desde una instancia de la clase,
pero -como ocurre con las públicas- puede ser accedido desde las subclases de ésta, no importa si
se encuentran o no en el mismo paquete. Básicamente significa que, si una clase hereda de otra,
tendrá acceso a las variables/funciones protegidas de la super-clase, de lo contrario, no podrá
acceder a ellas. Para d