Profesor : Andrs Rice M Profesor : Andrs Rice M. .
Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica CONCEPTOS Y PRINCIPIOS DEL CONCEPTOS Y PRINCIPIOS DEL ANLISIS ANLISIS Triste poca la nuestra. Es mas fcil desintegrar un tomo que superar un prejuicio. Albert Einstein Albert Einstein Arlow y Neustadt sugieren varias reglas prcticas para crear el modelo de anlisis: Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica REGLAS PRCTICAS DEL ANLISIS REGLAS PRCTICAS DEL ANLISIS El modelo debe centrarse en los requisitos visibles dentro del problema o dominio del negocio. El grado o Gestin de proyectos Gestin de proyectos dentro del problema o dominio del negocio. El grado de abstraccin debe ser alto, no no se se debe debe perder perder tiempo tiempo en en detalles detalles que que tratan tratan de de explicar explicar cmo cmo funcionar funcionar el el sistema sistema.. Arlow y Neustadt sugieren varias reglas prcticas para crear el modelo de anlisis: Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica REGLAS PRCTICAS DEL ANLISIS REGLAS PRCTICAS DEL ANLISIS Debe Debe postergarse postergarse hasta hasta el el diseo diseo la la construccin construccin de de la la infraestructura infraestructura yy otros otros modelos modelos no no funcionales funcionales. Por ejemplo, es posible que se requiera una base de datos, pero las o Gestin de proyectos Gestin de proyectos ejemplo, es posible que se requiera una base de datos, pero las clases necesarias ara la implementarla, las funciones que se requieren para acceder a ella y el comportamiento que se exhibir cuando se utilice debe considerarse slo despus de que se haya completado el anlisis de dominio del problema. Arlow y Neustadt sugieren varias reglas prcticas para crear el modelo de anlisis: Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica REGLAS PRCTICAS DEL ANLISIS REGLAS PRCTICAS DEL ANLISIS Se Se debe debe minimizar minimizar el el acoplamiento acoplamiento de de todo todo el el sistema sistema. Es importante representar las relaciones entre clases y funciones. Sin embargo, si el nivel de interconexin es extremadamente alto se deben hacer esfuerzos para reducirlo. o Gestin de proyectos Gestin de proyectos deben hacer esfuerzos para reducirlo. Arlow y Neustadt sugieren varias reglas prcticas para crear el modelo de anlisis: Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica REGLAS PRCTICAS DEL ANLISIS REGLAS PRCTICAS DEL ANLISIS Se Se debe debe tener tener la la seguridad seguridad de de que que el el modelo modelo de de anlisis anlisis proporciona proporciona valor valor aa todos todos los los interesados interesados. Cada circunscripcin tiene su propio uso del modelo. Por ejemplo, los o Gestin de proyectos Gestin de proyectos circunscripcin tiene su propio uso del modelo. Por ejemplo, los interesados relacionados con los negocios deben utilizar el modelo para validar los requerimientos; los diseadores, como base para el diseo; la gente de aseguramiento de calidad, como ayuda para planear pruebas de aceptacin. Arlow y Neustadt sugieren varias reglas prcticas para crear el modelo de anlisis: Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica REGLAS PRCTICAS DEL ANLISIS REGLAS PRCTICAS DEL ANLISIS El El modelo modelo debe debe mantenerse mantenerse tan tan simple simple como como sea sea posible posible. No se debe agregar diagramas adicionales cuando stos no ofrezcan informacin nueva. No se deben utilizar formas de notaciones nuevas cuando basta con una simple lista. o Gestin de proyectos Gestin de proyectos nuevas cuando basta con una simple lista. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica ENFOQUES DE MODELADO DEL ANLISIS ENFOQUES DE MODELADO DEL ANLISIS Enfoques Anlisis Estructurado Considera que los datos y los procesos que transforman los datos son entidades separadas. Los objetos de datos se modelan en una forma que definen sus atributos y relaciones. Los procesos que manipulan los objetos de los datos muestran cmo transforman los Gestin de proyectos Gestin de proyectos Anlisis Orientado a Objetos los datos muestran cmo transforman los datos a medida que stos fluyen por el sistema. Se centra en la definicin de clases y en la manera que stas colaboran entre ellas para efectuar los requerimientos del cliente. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO DE ANLISIS MODELADO DE ANLISIS El cuestionamiento en el anlisis no debe ser cul es el mejor, sino, qu combinacin de representaciones le proporcionar a los interesados el mejor puente entre el modelo de requisitos y el diseo de software El modelado del anlisis puede diferir de proyecto en proyecto. Slo se deben utilizar aquellos elementos que agreguen valor al modelo. Elementos basados en escenarios Casos de Uso, texto Elementos orientados al flujo Diagramas de flujo de datos Gestin de proyectos Gestin de proyectos Modelo Modelo de de Anlisis Anlisis Casos de Uso, texto Casos de Uso, diagramas Diagramas de actividad Diagramas de carril Diagramas de flujo de datos Diagramas de flujo de control Narrativa de procedimientos Elementos de comportamiento Diagramas de estado Diagramas de secuencia Elementos basados en clases Diagramas de clases Paquetes de anlisis Modelos CRC Diagramas de colaboracin Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica DIAGRAMA DE CONTEXTO DIAGRAMA DE CONTEXTO Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica Dominio de Dominio de contexto contexto Frontera del Frontera del Dominio del Dominio del software software ANLISIS DE DOMINIO ANLISIS DE DOMINIO Gestin de proyectos Gestin de proyectos Software Software Frontera del Frontera del Dominio Dominio Sondeos a los clientes Modelos funcionales Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica ANLISIS DE DOMINIO ANLISIS DE DOMINIO Fuentes del Fuentes del conocimiento conocimiento Modelo de Modelo de anlisis del anlisis del Anlisis de Estndares de reutilizacin Modelos funcionales o Gestin de proyectos Gestin de proyectos conocimiento conocimiento del dominio del dominio anlisis del anlisis del dominio dominio de dominio Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica DIAGRAMA DE CONTEXTO DIAGRAMA DE CONTEXTO Sistema de contabilidad de la sucursal Base de Datos de cuentas Sistema de proteccin o Gestin de proyectos Gestin de proyectos Sistema de Sistema de cajero cajero automtico automtico Sistema de mantenimiento Sistema auxiliar de la sucursal Base de datos de uso comn Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica DIAGRAMA DE CONTEXTO DIAGRAMA DE CONTEXTO El modelo muestra que el cajero est conectado a una base de datos de cuentas, a un sistema de contabilidad de la sucursal, a un sistema de seguridad y otros. o Gestin de proyectos Gestin de proyectos Los modelos de contexto describen el entorno del sistema. Sin embargo, no muestran las relaciones entre otros sistemas del entorno y el sistema que se est especificando. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica DIAGRAMA DE CONTEXTO DIAGRAMA DE CONTEXTO Los modelos de contexto se complementan con otros modelos, tales como modelos de proceso (muestran las actividades de los procesos soportadas por o Gestin de proyectos Gestin de proyectos los procesos soportadas por el sistema), los modelos de flujo de datos que muestran la transformacin y transferencia de datos desde un punto a otro Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELO ENTIDAD MODELO ENTIDAD--RELACIN RELACIN--ATRIBUTO (ERA) ATRIBUTO (ERA) Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELO ENTIDAD RELACIN MODELO ENTIDAD RELACIN ATRIBUTO (ERA) ATRIBUTO (ERA) DIAGRAMA DE ENTIDAD RELACIN (DER) DIAGRAMA DE ENTIDAD RELACIN (DER) Cardinalidad Cardinalidad : es la especificacin del nmero de ocurrencias de un [objeto] que puede relacionarse con el nmero de ocurrencias de otro [objeto]. Tambin define el nmero mximo de objetos que puede participar en una relacin Modalidad Modalidad : indica si un [objeto] particular de datos participa o no en la relacin. Si es 0 no hay una necesidad explicita para que ocurra la relacin o la relacin es opcional. Si es 1 indica que la relacin es obligatoria. oor Gestin de proyectos Gestin de proyectos Si es 1 indica que la relacin es obligatoria. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELO ENTIDAD RELACIN MODELO ENTIDAD RELACIN ATRIBUTO (ERA) ATRIBUTO (ERA) DIAGRAMA DE ENTIDAD RELACIN (DER) DIAGRAMA DE ENTIDAD RELACIN (DER) Este ejemplo muestra un modelo para un sistema de biblioteca que entrega copias de artculos con derecho de autor que han sido publicados en revistas y peridicos y para registrar el pago de estos artculos. El modelo de datos incluye informacin oor Gestin de proyectos Gestin de proyectos sobre el artculo, el poseedor de los derechos de autor y el comprador del artculo. Aqu se supone que los pagos se hacen a travs de agencias nacionales de derechos de autor. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELO ENTIDAD RELACIN MODELO ENTIDAD RELACIN ATRIBUTO (ERA) ATRIBUTO (ERA) DIAGRAMA DE ENTIDAD RELACIN (DER) DIAGRAMA DE ENTIDAD RELACIN (DER) Un Artculo tiene atributos que representan el ttulo, los autores, el nombre del archivo PDF del artculo y el honorario a pagar. Fuentes contiene los datos donde se public el artculo y con la agencia de derecho de autor, estas dos se oor Gestin de proyectos Gestin de proyectos relacionan por medio del pas de publicacin donde los derechos de autor varan segn las leyes del pas. Los compradores emiten Ordenes de Compra de artculos. Al igual que todos los modelos grficos, a los modelos de datos le faltan detalles y para incluir ms detalles deber complementarlo con un repositorio o diccionario de datos. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica DIAGRAMA DE FLUJOS DE DATOS (DFD) DIAGRAMA DE FLUJOS DE DATOS (DFD) El modelado de datos orientado a flujos es una notacin de anlisis y sus diagramas se conocen como Diagrama de Flujos de Datos (DFD). El DFD tiene una visin del sistema del tipo Entrada-Proceso-Salida y representa el flujo de la Informacin y las transformaciones que se aplican a los datos al moverse desde la entrada hasta la salida. El DFD se presenta en forma jerrquica. El primer modelo de flujo de datos se conoce como DFD de nivel 0 o diagrama de contexto y representa el sistema como un todo. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS de contexto y representa el sistema como un todo. Los DFD subsecuentes refinan el diagrama de contexto mostrando una cantidad creciente de detalles con cada nivel subsiguiente. El DFD no es procedimental. No permite representar con su notacin grfica tratamientos condicionales n bucles. Simplemente muestra el flujo de datos. El propsito de los DFD es proporcionar un puente semntico entre los usuarios y los desarrolladores de sistemas. Gestin de proyectos Gestin de proyectos Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica DFD DFD NOTACIN DE YOURDON NOTACIN DE YOURDON PROCESO ENTIDAD EXTERNA El rectngulo representa una entidad externa entidad externa, esto es, un elemento del sistema (por ejemplo, un elemento hardware, una persona, otro programa) u otro sistema que produce informacin para ser transformada por el software , o recibe informacin producida por el software. El crculo se conoce, en el DFD, como burbuja y representa un proceso proceso o transformacin que es aplicado a los datos y los modifica. Gestin de proyectos Gestin de proyectos ALMACEN DE DATOS FLUJO DE DATOS a los datos y los modifica. La flecha representa uno o ms elementos de datos elementos de datos (objetos de datos). Toda flecha de un DFD debe estar etiquetada. Dos lneas paralela representa un almacenamiento almacenamiento informacin almacenada que es utilizada por el software. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS Diagrama de Flujos de Datos Diagrama de Flujos de Datos El primer modelo de flujo de datos se conoce como Modelo Fundamental Modelo Fundamental Diagrama Diagrama de contexto de contexto DFD de nivel 0 DFD de nivel 0 y representa el sistema como un todo. Entidad externa C Entidad externa A Diagrama de Gestin de proyectos Gestin de proyectos Entidad externa D Software Entidad externa B Los DFD subsecuentes refinan refinan el diagrama de contexto mostrando una cantidad creciente de detalles con cada nivel subsiguiente. Diagrama de contexto Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica Informacin de entrada Proceso N 1 Datos intermedios Entidad Externa C Informacin de salida Datos intermedios Proceso N 3 Entidad Externa A MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS Diagrama de Flujos de Datos Diagrama de Flujos de Datos DFD Conceptos y principios del anlisis Conceptos y principios del anlisis Proceso N 4 Entidad Externa D Informacin de salida salida del almacenamiento Almacenamiento Entrada en almacenamiento Datos intermedios Entidad Externa B Proceso N 2 Informacin de entrada DFD Nivel 1 El DFD no es procedimental. No permite representar con su notacin grfica tratamientos condicionales n bucles. Simplemente muestra el flujo de datos. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS Ejemplo de Refinamiento de un DFD Ejemplo de Refinamiento de un DFD F A B f 2 f 6 V X Z 1 Z 2 Modelo fundamental del sistema F Entrada principal A Salida final B Salida final B Refinamiento del modelo F en las transformadas f 1 a f 7 Entrada X Conceptos y principios del anlisis Conceptos y principios del anlisis f 1 f 3 f 4 f 5 f 7 A B W Y Z Z 3 f 41 f 42 f 43 f 44 f 45 X Y Z X 1 X 2 Y 1 Y 2 Entrada principal A Entrada Y Salida Z Entrada X Entrada Y Salida Z Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS Ejemplo (Hogar Seguro) Ejemplo (Hogar Seguro) El software HogarSeguro permite al propietario de la vivienda configurar configurar el sistema el sistema de seguridad al instalarlo; supervisar todos los sensores sensores conectados al sistema de seguridad e interacta con el propietario a travs de un teclado numrico y unas teclas de funcin que se encuentran en el panel de control panel de control de HogarSeguro. Durante la instalacin, se usa el panel de control de Hogar Seguro para programar y configurar el sistema. Cada sensor tiene asignado un nmero y un tipo, existe una contrasea maestra para activar y desactivar el sistema, y se introduce(n) un(os) telfono(s) con los que se contacta cuando se produce un suceso detectado por un sensor. Conceptos y principios del anlisis Conceptos y principios del anlisis Cuando el software detecta un suceso, invoca una alarma alarma audible audible que est incorporada en el sistema. Tras un retardo, especificado por el propietario durante la configuracin del sistema, el programa marca un nmero de telfono de un servicio de monitorizacin servicio de monitorizacin, proporciona informacin sobre la situacin e informa sobre la naturaleza del suceso detectado. Cada 20 segundos se volver a marcar el nmero de telfono hasta que consiga establecer la comunicacin comunicacin. Toda la interaccin con HogarSeguro est gestionada por un subsistema de interaccin con subsistema de interaccin con el usuario el usuario que lee la informacin introducida a travs del teclado numrico y de las teclas de funcin, muestra mensajes de peticin muestra mensajes de peticin en un monitor LCD monitor LCD y muestra informacin sobre el estado del sistema en el monitor LCD. La interaccin por el teclado toma la siguiente forma . R. Pressman - Ingeniera de software. Quinta edicin pg. 212 Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS Ejemplo (Hogar Seguro) Ejemplo (Hogar Seguro) Monitor del panel Diagrama de contexto De acuerdo con el anlisis gramatical, comienza a aparecer un patrn. a) Todos los verbos son procesos (burbujas). b) Todos los nombre son o entidades externas (rectngulos), objetos de datos o de control (flechas) o almacn de datos (lneas dobles). Conceptos y principios del anlisis Conceptos y principios del anlisis HogarSeguro Software HogarSeguro Panel de control Sensores Lnea telefnica Alarma de control Tipo de alarma El anlisis gramatical no es seguro, pero facilita una excelente plataforma si ests empezando a definir objetos de datos y su transformacin. Ahora se debe refinar el Diagrama de contexto Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS Ejemplo (Hogar Seguro) Ejemplo (Hogar Seguro) Al dividir el DFD de nivel 0 para mostrar ms detalles, aparecen representado procesos y flujo de informacin adicionales. Panel de control rdenes y datos del usuario Configurar el sistema Activar/ Informacin de configuracin Datos de configuracin La descomposicin de un nivel de DFD en su siguiente nivel debera seguir una aproximacin al ratio 1:5, reduciendo las futuras descomposiciones. Conceptos y principios del anlisis Conceptos y principios del anlisis Interactuar con el usuario Procesar la contrasea Activar/ desactivar el sistema Visualizar mensajes y estado Monitor del panel de control Alarma Lnea telefnica Monitorizar sensores Sensor Estado del sensor Tonos del nmero de telfono Informaci n a visualizar configuracin Datos de configuraci n descomposiciones. Se pueden refinar en posteriores niveles los proceso representados en el DFD de nivel 1. Por ejemplo, se puede refinar el proceso monitorizar sensores al DFD de nivel 2. Ingeniera de Software Ingeniera de Software Profesor : Andrs Rice M Profesor : Andrs Rice M. . Facultad de Facultad de Ingeniera Ingeniera Departamento de Ingeniera Informtica Departamento de Ingeniera Informtica MODELADO ORIENTADO A FLUJOS MODELADO ORIENTADO A FLUJOS Ejemplo (Hogar Seguro) Ejemplo (Hogar Seguro) Refinamiento del proceso monitorizar sensores al DFD de nivel 2. Dar formato de la visualizacin Informacin de configuracin Informacin del sensor El refinamiento Conceptos y principios del anlisis Conceptos y principios del anlisis Leer sensores Comprobar los valores iniciales Generar seales de alarma Marcar nmero Tonos del nmero de telfono Tipo de alarma El refinamiento contina hasta que cada burbuja (proceso) represente una funcin sencilla.