Professional Documents
Culture Documents
software, indica la interfaz de éste y otros elementos del sistema, y establece las restricciones que limitan al
software.
La acción de modelar da los siguientes tipos de modelos:
Modelos basados en el escenario de los requerimientos desde el punto de vista de distintos "actores"
del sistema.
Modelos de datos, que ilustran el dominio de información del problema.
Modelos orientados a clases, que representan clases orientadas a objetos (atributos y operaciones) y
la manera en la que las clases colaboran para cumplir con los requerimientos del sistema.
Modelos orientados al flujo, que representan los elementos funcionales del sistema y la manera como
transforman los datos a medida que se avanza a través del sistema.
Modelos de comportamiento, que ilustran el modo en el que se comparte el software como consecuencia
de "eventos" externos.
La meta del análisis del dominio es clara: encontrar o crear aquellas clases o patrones de análisis que sean
aplicables en lo general, de modo que puedan volverse a usar.
El papel del analista de dominio5 es descubrir y definir patrones de análisis, clases de análisis e información
relacionada que pueda ser utilizada por mucha gente que trabaje en aplicaciones similares, pero que no son
necesariamente las mismas.
Enfoques del modelado de requerimientos
Un enfoque del modelado de requerimientos, llamado análisis estructurado, considera que los datos y los
procesos que los transforman son entidades separadas. Los objetos de datos se modelan de modo que se definan
sus atributos y relaciones. Los procesos que manipulan a los objetos de datos se modelan en forma que se
muestre cómo transforman a los datos a medida que los objetos que se corresponden con ellos fluyen por el
sistema.
Para comenzar a desarrollar un conjunto de casos de uso, se enlistan las funciones o actividades realizadas por
un actor específico.
Caso de uso: acceder a la vigilancia con cámaras por intemet, mostrar vistas de cámaras (AVC-MVC).
Actor: propietario
1. El propietario accede al sitio web Productos CasaSegura.
2. El propietario introduce su identificación de usuario.
3. El propietario escribe dos claves (cada una de al menos ocho caracteres de longitud).
4. El sistema muestra los botones de todas las funciones principales.
5. El propietario selecciona "vigilancia" de los botones de las funciones principales.
6. El propietario elige "seleccionar una cámara"
7. El sistema presenta el plano de la casa.
8. El propietario escoge el ícono de una cámara en el plano de la casa.
9. El propietario selecciona el botón "vista".
10. El sistema presenta la ventana de vista identificada con la elección de la cámara
Las respuestas a estas preguntas dan como resultado la creación de un conjunto de escenarios secundarios
que forman parte del caso de uso original.
¿El actor puede emprender otra acción en este punto?
¿Es posible que el actor encuentre alguna condición de error en este punto?
Cada una de las situaciones descritas en los párrafos precedentes se caracteriza como una excepción al caso de
uso. Una excepción describe una situación (ya sea condición de falla o alternativa elegida por el actor) que
ocasiona que el sistema presente un comportamiento algo distinto.
Especificación de atributos
Los atributos describen una clase que ha sido seleccionada para incluirse en el modelo de requerimientos (en el
contexto del problema).
➔ Por ejemplo, si se fuera a construir un sistema que analiza estadísticas de
jugadores de fútbol, los atributos de la clase Jugador serían muy distintos de
los que tendría la misma clase cuando se usará en el contexto del sistema de
pensiones de dicho deporte.
➔ En la primera, atributos tales como Goles y Pases son importantes. En la
segunda como salario promedio, crédito hacia el retiro completo, etc.
Definición de las Operaciones
Por lo general se dividen en cuatro categorías principales:
1. Operaciones que manipulan datos: agregan, eliminan, seleccionan, etc.
2. Operaciones que realizan un cálculo.
3. Operaciones que preguntan sobre el estado.
4. Operaciones que vigilan un objeto en cuanto a la ocurrencia de un evento
de control.
Una operación debe tener “conocimiento” de la naturaleza de los atributos.
Modelado clase-responsabilidad-colaborador
Proporciona una manera sencilla de identificación y organización de las clases que son relevantes para los
requerimientos de un sistema o producto.
Clases
Puede ampliarse con las siguientes categorías:
Clases de entidad, también llamadas clases modelo o de negocio
Clases defrontera se utilizan para crear la interfaz (por ejemplo, pantallas interactivas o reportes impresos) que
el usuario mira y con la que interactúa cuando utiliza el software
Clases de controlador administran una "unidad de trabajo".
Responsabilidades
Sugieren cinco lineamientos para asignar responsabilidades a las clases:
1. La inteligencia del sistema debe estar distribuida entre las clases para enfren- tar mejor las necesidades
del problema.
2. Cada responsabilidad debe enunciarse del modo más general posible
3. La información y el comportamiento relacionado con ella deben residir dentro de la misma clase
4. La información sobre una cosa debe localizarse con una sola clase, y no distri- buirse a través de
muchas
5. Cuando sea apropiado, las responsabilidades deben compartirse entre clases relacionadas.
Colaboraciones.
Una clase cumple sus responsabilidades en una de dos formas: 1) usa sus propias operaciones para manipular
sus propios atributos, con lo que satisface una responsabilidad particular o 2) colabora con otras clases.
Asociaciones y dependencias
En muchos casos, dos clases de análisis se relacionan de cierto modo con otra, en forma muy parecida a
como dos objetos de datos se relacionan entre sí.
Paquetes de análisis
Una parte importante del modelado del análisis es la categorización. Es decir, se clasifican distintos elementos
del modelo de análisis (por ejemplo, casos de uso y clases de análisis) de manera que se agrupen en un paquete
-llamado paquete de análisis- al que se da un nombre representativo. Ej. Reglas del juego, Actores, Ambientes.
RESUMEN
El objetivo del modelado de los requerimientos es crear varias representaciones que describan lo que necesita
el cliente, establecer una base para generar un diseño de software y definir un conjunto de requerimientos que
puedan ser validados una vez construido el software. El modelo de requerimientos cruza la brecha entre la
representación del sistema que describe el sistema en su conjunto y la funcionalidad del negocio, y un diseño
de software que describe la arquitectura de la aplicación del software, la interfaz de usuario y la estructura de
componentes.
Los modelos basados en el escenario ilustran los requerimientos del software desde el punto de vista del
usuario. El caso de uso-descripción, hecha con una narración o un formato, de una interacción entre un actor y
el software- es el principal elemento del modelado. El caso de uso se obtiene durante la indagación de los
requerimientos y define las etapas clave de una función o interacción específica. El grado de formalidad del
caso de uso y su nivel de detalle varía, pero el resultado final da las entradas necesarias a todas las demás
actividades del modelado. Los escenarios también pueden ser descritos con el uso de un diagrama de
actividades -representación gráfica parecida a un diagrama de flujo que ilustra el flujo del procesamiento
dentro de un escenario específico-. Los diagramas de canal (swimlane) ilustran la forma en la que se
asigna el flujo del procesamiento a distintos actores o clases.
El modelado de datos se utiliza para describir el espacio de información que será construido o manipulado por
el software. El modelado de datos comienza con la representación de los objetos de datos -información
compuesta que debe ser entendida por el software-. Se identifican los atributos de cada objeto de datos y se
describen las relaciones entre estos objetos.
El modelado basado en clases utiliza información obtenida de los elementos del modelado basado en el
escenario y en datos, para identificar las clases de análisis. Se emplea un análisis gramatical para obtener
candidatas a clase, atributos y operaciones, a partir de narraciones basadas en texto. Se definen criterios para
definir una clase. Para definir las relaciones entre clases, se emplean tarjetas índice
clase-responsabilidad-colaborador. Además, se aplican varios elementos de la notación UML para definir
jerarquías, relaciones, asociaciones, agregaciones y dependencias entre clases. Se emplean paquetes de
análisis para clasificar y agrupar clases, de manera que sean más manejables en sistemas grandes.