Tema 06 - 07 - Conceptos y Principios Del Análisis (Parte II)
Tema 06 - 07 - Conceptos y Principios Del Análisis (Parte II)
Tema 06 - 07 - Conceptos y Principios Del Análisis (Parte II)
Software
Conceptos y principios del análisis
(Parte II)
Modelado de los requerimientos
• Utiliza una combinación de texto y diagramas para
ilustrarlos en forma que sea relativamente fácil de
entender y de revisar para corregir, completar y hacer
congruente.
• Da como resultado:
– La especificación de las características operativas del
software
– Indica la interfaz de éste y otros elementos del sistema
– Establece las restricciones que limitan al software
• Permite al profesional construir sobre los
requerimientos básicos establecidos durante las tareas
de concepción, indagación y negociación
Modelado de los requerimientos
Tipos de modelo:
• Modelos basados en el escenario desde el punto de vista de
distintos “actores” del sistema
• Modelos de datos, ilustran el dominio de información del
problema
• Modelos orientados a clases, representan clases orientadas a
objetos y la manera en la que las clases colaboran para cumplir
con los requerimientos del sistema
• Modelos orientados al flujo, 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, ilustran el modo en el que se
comporta el software como consecuencia de “eventos” externos
Caso de Uso
Modelo E-R
Modelos de Datos
Modelos Orientados a Clase
Diagrama CRC
Diagrama de Estado
Objetivos principales:
• Describir lo que requiere el cliente
La meta
• Encontrar o crear aquellas clases o patrones de análisis que
sean aplicables en lo general, de modo que puedan volverse
a usar
Enfoques del modelado de
requerimientos
• 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, 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
• Excepción
– Describe una situación que ocasiona que el sistema
presente un comportamiento algo distinto
– Debe describirse dentro del caso de uso si el software
la puede detectar y debe manejarla una vez detectada
– ¿Existen casos en los que ocurra alguna “función de
validación” durante este caso de uso?
– ¿Hay casos en los que una función (o actor) de soporte
falle en responder de manera apropiada?
– ¿El mal desempeño del sistema da como resultado
acciones inesperadas o impropias?
Escritura de un caso de uso formal
Excepciones
Disparador • Identifican las
Objetivo en • Identifica el situaciones
contexto evento o detectadas
condición que cuando se
• Identifica el “hace que mejora el caso
alcance general comience el caso de uso
del caso de uso de uso” preliminar
Precondición Escenario
• Describe lo que • Enlista las
se sabe que es acciones
verdadero antes específicas que
de que inicie el requiere el actor,
caso de uso y las respuestas
apropiadas del
sistema
Modelos UML que proporcionan el
caso de uso
• El diagrama de actividad UML
– Representa las acciones y decisiones que
ocurren cuando se realiza cierta función
– Gráfica del flujo de interacción dentro de
un escenario específico
• Rectángulos redondeados para denotar
una función específica del sistema,
• Flechas para representar flujo a través de
éste
• Rombos de decisión para ilustrar una
ramificación de las decisiones
• Líneas continuas para indicar que están
ocurriendo actividades en paralelo
Modelos UML que proporcionan el
caso de uso
• Diagramas de canal
– Representa el flujo de
acciones y decisiones e
indica qué actores
efectúan cada una de
ellas
– Las responsabilidades se
representan con
segmentos paralelos que
dividen el diagrama en
forma vertical
Conceptos de modelado de datos
• Modelo de datos
– Un ingeniero o analista de software define:
• Objetos de datos que se procesan dentro del sistema
• Relación entre ellos
• Otro tipo de información que sea pertinente para las
relaciones
– Diagrama entidad-relación
• Representa los datos que se introducen, almacenan,
transforman y generan dentro de una aplicación
Conceptos de modelado de datos
algo que tiene varias
propiedades o atributos
• Objetos de datos diferentes
Estructuras Cosas
¿Cómo se
manifiestan
las clases?
Ocurrencias
Lugares
o eventos
Unidades
organizacionales Roles
El modelado basado en clases
• ¿Cómo determino si una clase potencial debe, ser una clase
de análisis?
– Información retenida. La clase potencial será útil durante
el análisis sólo si debe recordarse la información sobre ella
para que el sistema pueda funcionar.
– Servicios necesarios. La clase potencial debe tener un
conjunto de operaciones identificables que cambien en
cierta manera el valor de sus atributos
– Atributos múltiples
– Atributos comunes
– Operaciones comunes
– Requerimientos esenciales
El modelado basado en clases
• Especificación de atributos
– Describen una clase que ha sido seleccionada para
incluirse en el modelo de requerimientos
• Definición de las operaciones
– Definen el comportamiento de un objeto
– Se dividen en cuatro categorías principales:
1) Operaciones que manipulan datos en cierta manera
2) Operaciones que realizan un cálculo
3) Operaciones que preguntan sobre el estado de un objeto
4) Operaciones que vigilan un objeto en cuanto a la
ocurrencia de un evento de control
El modelado basado en clases
• 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
– Responsabilidades, son los atributos y operaciones
relevantes para la clase
– Colaboradores, son aquellas clases que se
requieren para dar a una clase la información
necesaria a fin de completar una responsabilidad
Modelado clase-responsabilidad-
colaborador
• Clases-Categorías
– Clases de entidad, se extraen directamente del
enunciado del problema
– Clases de frontera, se utilizan para crear la interfaz
que el usuario mira y con la que interactúa cuando
utiliza el software. Se diseñan con la
responsabilidad de administrar la forma en la que
se presentan a los usuarios los objetos de entidad
– Clases de controlador, administran una “unidad de
trabajo” de principio a fin
Modelado clase-responsabilidad-
colaborador
• Responsabilidades-Lineamientos
– La inteligencia del sistema debe estar distribuida entre
las clases para enfrentar mejor las necesidades del
problema
– Cada responsabilidad debe enunciarse del modo más
general posible
– La información y el comportamiento relacionado con
ella deben residir dentro de la misma clase
– La información sobre una cosa debe localizarse con
una sola clase, y no distribuirse a través de muchas
– Cuando sea apropiado, las responsabilidades deben
compartirse entre clases relacionadas
Modelado clase-responsabilidad-
colaborador
• Colaboraciones
– Se identifican determinando si una clase puede
cumplir cada responsabilidad
– Relación es-parte-de, todas las clases que forman
parte de una clase agregada
– Relación tiene-conocimiento-de, cuando una clase
debe adquirir información de otra
– Relación depende-de, significa que dos clases
tienen una dependencia que no se determina por
tiene-conocimiento-de ni por es-parte-de
El modelado basado en clases
• Asociaciones y dependencias
– Asociación, define una relación entre clases
– Multiplicidad, define cuántas de una clase se
relacionan con cuántas de otra clase
– Relación de dependencia, una clase cliente depende
de algún modo de la clase servidor
– Estereotipo, “mecanismo extensible” dentro del UML
que permite definir un elemento especial de
modelado con semántica y especialización
determinadas. En UML se representan entre
paréntesis dobles angulares
El modelado basado en clases
• Paquetes de análisis
– Se utiliza para ensamblar un conjunto de
clases relacionadas
– Categorización, se clasifican distintos
elementos del modelo de análisis de
manera que se agrupen en un paquete
al que se da un nombre representativo
– El signo más (suma) que precede al
nombre de la clase de análisis en cada
paquete, indica que las clases tienen
visibilidad pública, por lo que son
accesibles desde otros paquetes
– El signo menos (resta) indica que un
elemento queda oculto desde todos los
demás paquetes
– El símbolo # señala que un elemento es
accesible sólo para los paquetes
contenidos dentro de un paquete dado
Requerimientos que modelan las
estrategias
Análisis estructurado
• Considera como entidades separadas los datos y los procesos que los
transforman
• Los objetos de datos se modelan en una forma que define sus
atributos y relaciones
• Los procesos que manipulan objetos de datos se modelan de una
forma que muestra cómo transforman los datos cuando los objetos
de datos fluyen por el sistema
• Participantes
• Categorías de usuario
• el contexto del negocio
• Las metas definidas de información y aplicación
• Requerimientos generales de webapps
• Los escenarios de uso
Modelado de requerimientos para
webapps
Salida del modelado de los requerimientos
• Modelo de contenido: identifica el espectro completo de contenido que
dará la webapp. El contenido incluye datos de texto, gráficos e imágenes,
video y sonido
• Modelo de interacción: describe la manera en que los usuarios
interactúan con la webapp
• Modelo funcional: define las operaciones que se aplicarán al contenido
de la webapp y describe otras funciones de procesamiento que son
independientes del contenido pero necesarias para el usuario final
• Modelo de navegación: define la estrategia general de navegación para
la webapp
• Modelo de configuración: describe el ambiente e infraestructura en la
que reside la webapp
Modelado de requerimientos para
webapps
• Modelo del contenido de las webapps
– Incluye elementos estructurales que dan un punto de vista importante de los requerimientos del
contenido de una webapp
Objetos del contenido
Clases de análisis
Entidades visibles para el usuario
– El contenido puede desarrollarse antes de la implementación de la webapp, mientras ésta se
construye o cuando ya opera
– Se incorpora por referencia de navegación en la estructura general de la webapp
– Objeto de contenido
Descripción de un producto en forma de texto
Pueden almacenarse como archivos separados, incrustarse directamente en páginas web u obtenerse en forma
dinámica de una base de datos
Es cualquier aspecto de información cohesiva que se presente al usuario final
Se determinan directamente a partir de casos de uso, estudiando la descripción del escenario respecto de
referencias directas e indirectas al contenido
– Árbol de datos
Representa una jerarquía de información que se utiliza para describir un componente
Se desarrolla como un esfuerzo para definir relaciones jerárquicas entre los objetos de contenido y para dar un
medio de revisión del contenido a fin de que se descubran las omisiones e inconsistencias antes de que
comience el diseño
Sirve como base para diseñar el contenido
Modelado de requerimientos para
webapps
• Modelo de la interacción para webapps
– Se compone de los elementos siguientes:
Casos de uso
Diagramas de secuencia
Diagramas de estado
Prototipos de la interfaz de usuario
– El formato de la interfaz de usuario, el contenido que presenta, los
mecanismos de interacción que implementa y la estética general de
las conexiones entre el usuario y la webapp tienen mucho que ver con
la satisfacción de éste y con el éxito conjunto del software
– Aunque se afirme que la creación de un prototipo de interfaz de
usuario es una actividad de diseño, es una buena idea llevarla a cabo
durante la creación del modelo de análisis
Modelado de requerimientos para
webapps
• Modelo funcional para las webapps
– Enfrenta dos elementos de procesamiento de la webapp,
cada uno de los cuales representa un nivel distinto de
abstracción del procedimiento:
1) Funciones observables por los usuarios que entrega la webapp a
éstos
2) Las operaciones contenidas en las clases de análisis que
implementan comportamientos asociados con la clase
– En un nivel más bajo de abstracción del procedimiento,
describe el procesamiento que se realizará por medio de
operaciones de clase de análisis
– En el nivel de análisis, los diagramas de actividades deben
usarse sólo donde la funcionalidad sea relativamente
compleja
Modelado de requerimientos para
webapps