INGENIERÍA DE SOFTWARE (UN ENFOQUE PRACTICO) CAPÍTULO 7 MODELADO DE LOS REQUERIMIENTOS:...

26
CAPÍTULO 7 MODELADO DE LOS REQUERIMIENTOS: FLUJO, COMPORTAMIENTO, PATRONES Y WEBAPPS MATERIA: INGENIERÍA DE SOFTWARE APLICADA PROFESOR: JOSÉ ALFREDO CHICAS ROSILLO

Transcript of INGENIERÍA DE SOFTWARE (UN ENFOQUE PRACTICO) CAPÍTULO 7 MODELADO DE LOS REQUERIMIENTOS:...

CAPTULO 7 MODELADO DE LOS REQUERIMIENTOS: FLUJO, COMPORTAMIENTO, PATRONES Y WEBAPPS

CAPTULO 7 MODELADO DE LOS REQUERIMIENTOS: FLUJO,COMPORTAMIENTO, PATRONES Y WEBAPPSMATERIA: INGENIERA DE SOFTWARE APLICADAPROFESOR: JOS ALFREDO CHICAS ROSILLO

REQUERIMIENTOS QUE MODELAN LAS ESTRATEGIASEl modelado de los requerimientos, llamada anlisis 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 cmo transforman los datos cuando los objetos de datos fluyen por el sistema. Un segundo enfoque del modelado de anlisis, llamado anlisis orientado a objetos, se centra en la definicin de clases y en el modo en el que colaboran una con otra para cumplir con los requerimientos del cliente.7.1 MODELADO ORIENTADO AL FLUJOEl DFD adopta un punto de vista del tipo entrada-proceso-salida para el sistema. Es decir, los objetos de datos entran al sistema, son transformados por elementos de procesamiento y los objetos de datos que resultan de ello salen del software.El propsito de los diagramas de flujo de datos es proveer un puente semntico entre los usuarios y los desarrolladores de sistemas.CREACIN DE UN MODELO DE FLUJO DE DATOS

El diagrama de flujo de datos permite desarrollar modelos del dominio de la informacin y del dominio funcional.El modelado del flujo de datos es una actividad fundamental del anlisis estructurado.DFD en el nivelde contexto parala funcin deseguridad deCasa Segura.CREACIN DE UN MODELO DE FLUJO DE CONTROLPara ciertos tipos de aplicaciones, el modelo de datos y el diagrama de flujo de datos es todo lo que se necesita para obtener una visin significativa de los requerimientos del software. Sin embargo, como ya se dijo, un gran nmero de aplicaciones son motivadas por eventos y no por datos, producen informacin de control en lugar de reportes o pantallas, y procesan informacin con mucha atencin en el tiempo y el desempeo. Tales aplicaciones requieren el uso del modelado del flujo de control, adems de modelar el flujo de datos.LA ESPECIFICACIN DE CONTROLUna especificacin de control (CSPEC) representa de dos maneras distintas el comportamiento del sistema (en el nivel desde el que se hizo referencia a l). La CSPEC contiene un diagrama de estado que es una especificacin secuencial del comportamiento. Tambin puede contener una tabla de activacin del programa, especificacin combinatoria del comportamiento.

Diagrama de estado para la funcin de seguridad de Casa SeguraLA ESPECIFICACIN DEL PROCESOLa especificacin del proceso (PSPEC) se utiliza para describir todos los procesos del modelo del flujo que aparecen en el nivel final de la mejora. El contenido de la especificacin del proceso incluye el texto narrativo, una descripcin del lenguaje de diseo del programa del algoritmo del proceso, ecuaciones matemticas, tablas o diagramas de actividad UML.7.2 CREACIN DE UN MODELO DE COMPORTAMIENTOEl modelo de comportamiento indica la forma en la que responder el software a eventos o estmulos externos. Para generar el modelo deben seguirse los pasos siguientes:1. Evaluar todos los casos de uso para entender por completo la secuencia de interaccin dentro del sistema.2. Identificar los eventos que conducen la secuencia de interaccin y que entienden el modo en el que stos se relacionan con objetos especficos.3. Crear una secuencia para cada caso de uso.4. Construir un diagrama de estado para el sistema.5. Revisar el modelo de comportamiento para verificar la exactitud y consistencia.IDENTIFICAR LOS EVENTOS CON EL CASO DE USOEl caso de uso representa una secuencia de actividades que involucra a los actores y al sistema. En general, un evento ocurre siempre que el sistema y un actor intercambian informacin.Un caso de uso se estudia para efectos del intercambio de informacin.REPRESENTACIONES DE ESTADOEl estado de una clase tiene caractersticas tanto pasivas como activas. Un estado pasivo es sencillamente el estado actual de todos los atributos de un objeto.El estado activo de un objeto indica el estado actual del objeto conforme pasa por una transformacin o procesamiento continuos.

Diagrama de estado para la clase Panel de Control7.3 PATRONES PARA EL MODELADO DE REQUERIMIENTOSLos patrones de software son un mecanismo para capturar conocimiento del dominio, en forma que permita que vuelva a aplicarse cuando se encuentre un problema nuevo. En ciertos casos, el conocimiento del dominio se aplica a un nuevo problema dentro del mismo dominio de la aplicacin. En otros, el conocimiento del dominio capturado por un patrn puede aplicarse por analoga a otro dominio de una aplicacin diferente por completo.7.4 MODELADO DE REQUERIMIENTOS PARA WEBAPPSEl anlisis de los requerimientos lleva tiempo, pero resolver el problema equivocado toma an ms tiempo. La pregunta que debe responder todo desarrollador en web es sencilla: ests seguro de que entiendes los requerimientos del problema? Si la respuesta es un s inequvoco, entonces tal vez sea posible omitir el modelado de los requerimientos, pero si la respuesta es no, entonces sta debe llevarse a cabo.CUNTO ANLISIS ES SUFICIENTE?El grado en el que se profundice en el modelado de los requerimientos para las webapps depende de los factores siguientes: Tamao y complejidad del incremento de la webapp. Nmero de participantes (el anlisis ayuda a identificar los requerimiento conflictivos que provienen de distintas fuentes). Tamao del equipo de la webapp. Grado en el que los miembros del equipo han trabajado juntos antes (el anlisis ayuda a desarrollar una comprensin comn del proyecto). Medida en la que el xito de la organizacin depende directamente del xito de la webapp.ENTRADA DEL MODELADO DE LOS REQUERIMIENTOSEl proceso de software general que puede aplicarse cuando se hace la ingeniera de las webapps. El proceso incorpora una actividad de comunicacin que identifica a los participantes y las categoras de usuario, el contexto del negocio, las metas definidas de informacin y aplicacin, requerimientos generales de webapps y los escenarios de uso, informacin que se convierte en la entrada del modelado de los requerimientos.SALIDA DEL MODELADO DE LOS REQUERIMIENTOSEl anlisis de los requerimientos provee un mecanismo disciplinado para representar y evaluar el contenido y funcionamiento de las webapp, los modos de interaccin que hallarn los usuarios y el ambiente e infraestructura en las que reside la webapp.Cada una de estas caractersticas se representa como un conjunto de modelos que permiten que los requerimientos de la webapp sean analizados en forma estructurada. Si bien los modelos especficos dependen en gran medida de la naturaleza de la webapp, hay cinco clases principales de ellos: Modelo de contenido: identifica el espectro completo de contenido que dar la webapp. El contenido incluye datos de texto, grficos e imgenes, video y sonido. Modelo de interaccin: describe la manera en que los usuarios interactan con la webapp.

Modelo funcional: define las operaciones que se aplicarn al contenido de la webapp y describe otras funciones de procesamiento que son independientes del contenido pero necesarias para el usuario final. Modelo de navegacin: define la estrategia general de navegacin para la webapp. Modelo de configuracin: describe el ambiente e infraestructura en la que reside la webapp.MODELO DEL CONTENIDO DE LAS WEBAPPSEl modelo de contenido incluye elementos estructurales que dan un punto de vista importante de los requerimientos del contenido de una webapp. Estos elementos estructurales agrupan los objetos del contenido y todas las clases de anlisis, entidades visibles para el usuario que secrean o manipulan cuando ste interacta con la webapp.El contenido puede desarrollarse antes de la implementacin de la webapp, mientras sta se construye o cuando ya opera.

rbol de datos para el componenteMODELO DE LA INTERACCIN PARA WEBAPPSLa gran mayora de webapps permiten una conversacin entre un usuario final y funcionalidad, contenido y comportamiento de la aplicacin. Esta conversacin se describe con el uso de un modelo de interaccin que se compone de uno o ms de los elementos siguientes: 1) CASOS DE USO 2) DIAGRAMAS DE SECUENCIA 3) DIAGRAMAS DE ESTADO 4) PROTOTIPOS DE LA INTERFAZ DE USUARIO.MODELO FUNCIONAL PARA LAS WEBAPPSMuchas webapps proporcionan una amplia variedad de funciones de computacin y manipulacin que se asocian directamente con el contenido (porque lo utilizan o porque lo producen) y es frecuente que sean un objetivo importante de la interaccin entre el usuario y la webapp.Por esta razn, deben analizarse los requerimientos funcionales y modelarlos cuando sea necesario.El modelo funcional enfrenta dos elementos de procesamiento de la webapp, cada uno de los cuales representa un nivel distinto de abstraccin del procedimiento: 1) funciones observables por los usuarios que entrega la webapp a stos y 2) las operaciones contenidas en las clases de anlisis que implementan comportamientos asociados con la clase.MODELOS DE CONFIGURACIN PARA LAS WEBAPPSEn ciertos casos, el modelo de configuracin no es sino una lista de atributos del lado del servidory del lado del cliente. Sin embargo, para webapps ms complejas, son varias las dificultadesde configuracin (por ejemplo, distribuir la carga entre servidores mltiples, arquitecturas cach,bases de datos remotas, distintos servidores que atienden a varios objetos en la mismapgina web, etc.) que afectan el anlisis y diseo. El diagrama de despliegue UML se utiliza ensituaciones en las que deben considerarse arquitecturas de configuracin compleja.MODELADO DE LA NAVEGACINPara modelar la navegacin se considera cmo navegar cada categora de usuario de un elemento de la webapp (como un objeto de contenido) a otro. La mecnica de navegacin se define como parte del diseo. En esa etapa debe centrarse la atencin en los requerimientos generales de navegacin.Deben considerarse las preguntas siguientes: Ciertos elementos deben ser ms fciles de alcanzar (requieren menos pasos de navegacin)que otros? Cul es la prioridad de presentacin? Debe ponerse el nfasis en ciertos elementos para forzar a los usuarios a navegar en esa direccin?Cmo deben manejarse los errores en la navegacin? Debe darse prioridad a la navegacin hacia grupos de elementos relacionados y no hacia un elemento especfico?

La navegacin debe hacerse por medio de vnculos, acceso basado en bsquedas o por otros medios? Debe presentarse a los usuarios ciertos elementos con base en el contexto de acciones de navegacin previas? Debe mantenerse un registro de usuarios de la navegacin?POR SU ATENCION.GRACIAS.