Identificación de Los Requerimientos
Identificación de Los Requerimientos
Identificación de Los Requerimientos
REQUERIMIENTOS FUNCIONALES
REQUERIMIENTOS NO FUNCIONALES
El diagrama de casos de uso también pertenece a este último grupo, pero se trata
de un modelo particular, porque muestra el comportamiento que se espera de
un sistema o software en un caso de uso concreto. En comparación con el
resto de diagramas de comportamiento en UML, el diagrama de casos de uso es
bastante estático, ya que solo puede emplearse para describir acciones y
objetivos, pero no la secuencia exacta de procesos y acciones. Para esto último,
se utilizan otros tipos de diagramas en UML, como los diagramas de actividades,
que representan los procesos cronológicamente; o los diagramas de secuencia,
que muestran el intercambio de mensajes entre los diferentes elementos que
componen un sistema.
Para garantizar que el diagrama de casos de uso sea comprensible para todo el
mundo de un vistazo, se utilizan elementos estandarizados para elaborarlo. En
primer lugar, hay tres elementos principales:
Es importante destacar que, por esta misma razón, este diagrama no incluye la
forma en la que se comportan a lo largo de la ejecución los distintos elementos,
esa función puede ser representada a través de un diagrama de comportamiento,
como por ejemplo un diagrama de secuencia o un diagrama de casos de uso.
El diagrama UML de clases está formado por dos elementos: clases, relaciones e
interfaces.
Clases
Las clases son el elemento principal del diagrama y representa, como su nombre
indica, una clase dentro del paradigma de la orientación a objetos. Este tipo de
elementos normalmente se utilizan para representar conceptos o entidades del
“negocio”. Una clase define un grupo de objetos que comparten características,
condiciones y significado. La manera más rápida para encontrar clases sobre un
enunciado, sobre una idea de negocio o, en general, sobre un tema concreto es
buscar los sustantivos que aparecen en el mismo. Por poner algún ejemplo,
algunas clases podrían ser: Animal, Persona, Mensaje, Expediente… Es un
concepto muy amplio y resulta fundamental identificar de forma efectiva estas
clases, en caso de no hacerlo correctamente se obtendrán una serie de
problemas en etapas posteriores, teniendo que volver a hacer el análisis y
perdiendo parte o todo el trabajo que se ha hecho hasta ese momento.
Para representar la clase con estos elementos se utiliza una caja que es dividida
en tres zonas utilizando para ello lineas horizontales:
La primera de las zonas se utiliza para el nombre de la clase. En
caso de que la clase sea abstracta se utilizará su nombre en cursiva.
La segunda de las zonas se utiliza para escribir los atributos de la
clase, uno por línea y utilizando el siguiente formato:
Estos tres tipos de visibilidad son los más comunes. No obstante, pueden incluirse
otros en base al lenguaje de programación que se esté usando (no es muy
común). Por ejemplo: (/) Derivado o (~) Paquete.
Relaciones
Una relación identifica una dependencia. Esta dependencia puede ser entre dos
o más clases (más común) o una clase hacía sí misma (menos común, pero
existen), este último tipo de dependencia se denomina dependencia reflexiva. Las
relaciones se representan con una linea que une las clases, esta línea variará
dependiendo del tipo de relación
Relación reflexiva
Las relaciones en el diagrama de clases tienen varias propiedades, que
dependiendo la profundidad que se quiera dar al diagrama se representarán o no.
Estas propiedades son las siguientes:
Asociación.
Agregación.
Composición.
Dependencia.
Herencia.
Asociación
Ejemplo de asociación
Agregación
Se representa con una línea que tiene un rombo en la parte de la clase que es una
agregación de la otra clase (es decir, en la clase que contiene las otras).
Un ejemplo de esta relación podría ser: “Las mesas están formadas por tablas de
madera y tornillos o, dicho de otra manera, los tornillos y las tablas forman parte
de una mesa”. Como ves, el tornillo podría formar parte de más objetos, por lo que
interesa especialmente su abstracción en otra clase.
Ejemplo de agregación
Composición
Se representa con una linea continua con un rombo relleno en la clase que es
compuesta.
Un ejemplo de esta relación sería: “Un vuelo de una compañía aerea está
compuesto por pasajeros, que es lo mismo que decir que un pasajero está
asignado a un vuelo”
Ejemplo de composición
Diferencia entre agregación y composición
La composición, por otro lado, implica un acoplamiento aún más estricto que la
agregación, y definitivamente implica la contención. El requisito básico es que, si
una clase de objetos (llamado “contenedor”) se compone de otros objetos
(llamados “elementos”), entonces los elementos aparecerán y también serán
destruidos como un efecto secundario de crear o destruir el contenedor. Sería raro
que un elemento no se declare como privado. Un ejemplo podría ser el nombre y
la dirección del Cliente. Un cliente sin nombre o dirección no tiene valor. Por la
misma razón, cuando se destruye al cliente, no tiene sentido mantener el nombre
y la dirección. (Compare esta situación con la agregación, donde destruir al
Comité no debe causar la destrucción de los miembros, ya que pueden ser
miembros de otros Comités).
Dependencia
Se utiliza este tipo de relación para representar que una clase requiere de otra
para ofrecer sus funcionalidades. Es muy sencilla y se representa con una
flecha discontinua que va desde la clase que necesita la utilidad de la otra flecha
hasta esta misma.
Ejemplo de dependencia
Herencia
Un ejemplo de esta relación podría ser la siguiente: Un pez, un perro y un gato son
animales.
Ejemplo de herencia
En este ejemplo, las tres clases (Pez, Perro, Gato) podrán utilizar la función
respirar, ya que lo heredan de la clase animal, pero solamente la clase Pez podrá
nadar, la clase Perro ladrar y la clase Gato maullar. La clase Animal podría
plantearse ser definida abstracta, aunque no es necesario.
Interfaces
Las interfaces se asocian a clases. Una asociación entre una clase y una interfaz
representa que esa clase cumple con el contrato que indica la interfaz, es decir,
incluye aquellas funciones y atributos que indica la interfaz.
Notación de interfaz
Cómo dibujar un diagrama de clases
Los diagramas de clase van de la mano con el diseño orientado a objetos. Por lo
tanto, saber lo básico de este tipo de diseño es una parte clave para poder dibujar
diagramas de clase eficaces.
Ejempl
o 2 de diagrama de clases
Diagrama de clases de una tienda
Footer
Contacto
Política de Privacidad
Política de cookies
Aviso legal
Copyright © 2020 · Magazine Pro on Genesis Framework · WordPress · Log in
Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en
nuestro sitio web. Si continúa utilizando este sitio asumiremos que está de
acuerdo.