7.1 Arquitectura de clases



Documentos relacionados
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Capitulo III. Diseño del Sistema.

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Casos de uso UML. Miguel Vega Granada, octubre de 2010 LSI - UGR

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Entidad Formadora: Plan Local De Formación Convocatoria 2010

DCU Diagramas de casos de uso

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable

EJ_SA. Ejemplo Sistema de Acceso

UML, ejemplo sencillo sobre Modelado de un Proyecto

Patrones de Diseño Orientados a Objetos 2 Parte

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Ingeniería de Software I

Análisis y diseño del sistema CAPÍTULO 3

Modelo de Proceso: Ciclo de Vida Estructurado

Elementos requeridos para crearlos (ejemplo: el compilador)

Especificación de Requerimientos Funcionales y No Funcionales. Sistema Reservación Hotelera

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

ANÁLISIS DE LA SITUACIÓN ACTUAL DEL SISTEMA DE CONTROL DE RECLAMOS DE LA EMPRESA PROTOTIPO

Figura 4.1 Clasificación de los lenguajes de bases de datos

TEMA 7: DIAGRAMAS EN UML

CAPÍTULO 3 Servidor de Modelo de Usuario

Modelo Entidad-Relación

Orientación acerca del enfoque basado en procesos para los sistemas de gestión de la calidad

Project Ing. Christian Ovalle

Patrones de software y refactorización de código

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

CAPITULO 3 DISEÑO. El diseño del software es el proceso que permite traducir los requisitos

Informática I Notas del curso

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

En este capítulo se describe las herramientas, así como los procesos involucrados en el análisis y desarrollo de sistemas de información, por otro

NORMA ISO Estos cinco apartados no siempre están definidos ni son claros en una empresa.

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

METODOLOGÍA PARA LA MEJORA Y DIGITALIZACIÓN DE TRÁMITES. Etapa 1: Diagnóstico Cómo es mi proceso actual?

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

Soporte y mantenimiento. Generalidades

Manual de usuario Software PC Editor de Rutas. inled

Análisis y Diseño de Soluciones de Software

Capítulo V. Implementación

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Unidad 5. Modelo de objetos del dominio del problema. Trimestre 10-I. Universidad Autonomía Metropolitana. Unidad 5

2 EL DOCUMENTO DE ESPECIFICACIONES

CAPITULO V. HERRAMIENTA CASE (Rational Rose, C++)

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Solución de No conformidades

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS

Configuración factura electrónica. construsyc instasyc

Master en Gestion de la Calidad

El Software. Es lo que se conoce como el ciclo de vida del software.

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Gestión de la Configuración

CENTRO DE CONTACTO CON EL CLIENTE MÓDULO DE GESTIÓN DE ACTIVIDADES E INTERACCIONES

El inventario preciso de todos los recursos técnicos. Todas sus características serán almacenados en una base de datos.

+ Cómo ahorrar dinero con Software Quality

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

6. Gestión de proyectos

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

LiLa Portal Guía para profesores

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Capítulo 5. Análisis del software del simulador del sistema de seguridad

ADMINISTRACION DE PROYECTOS

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

INGENIERÍA DEL SOFTWARE I. Univ. Cantabria Fac. de Ciencias. Especificación de Requisitos. Práctica 2

Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

La ventana de Microsoft Excel

Diseño orientado al flujo de datos

SINAUTO. (Captura Requirimientos) GRUPO 03

Capítulo 4 Análisis y diseño del software de los Robots

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Instructivo para la elaboración de un Manual Técnico

Soporte y mantenimiento. Generalidades

Microsoft PowerPoint

PREPARADO POR: FECHA DE EMISIÓN: FECHA DE VALIDACIÓN:

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

Sistema para Gestión Hotelera Visión

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS

ANÁLISIS DE RIESGOS EN LA GESTIÓN DE PROYECTOS. Los riesgos son eventos o condiciones inciertas que, si se producen, tienen un

Anexo 4 Documento de Arquitectura

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

SISTEMA DE BECAS AL EXTERIOR

Intranet del Estado Uruguay Algunas ideas básicas

CONTROL DE ASISTENCIA DE PERSONAL

Poder Judicial de Costa Rica

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

BPMN Business Process Modeling Notation

Guía paso a paso para la cumplimentación del formulario de candidatura

DOCUMENTO DE CONSTRUCCIÓN SOLUCIÓN DE NO CONFORMIDADES ISO 9000 Bizagi Process Modeler

Figure 7-1: Phase A: Architecture Vision

Transcripción:

7.1 Arquitectura de clases El modelo de analisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diserio del sistema. Como se discutio en el capitulo 3, dependiendo del tipo de aplicacion existen cliversas arquitecturas que se pueden utilizar, en este libro nos centraremos en aquellas arquitecturas especialmente disenaclas para el mane jo de los sistemas de information, las cuales involucran la manipulacion de la informacion guardada en bases de datos a partir de interfaces de usuario. Las arquitecturas se distinguen segun la organizacion de los objetos de acuerdo a su funcionalidad. Esto es tambien conocido como la dimension de la arquitectura. For ejemplo, si existe un grupo de objetos para el manejo de la funcinalidad cle la aplicacion y otro para interactuar con las entidades externas de la aplicacion, como el usuario y las bases de datos, entonces se considera que la arquitectura es de dos dimensiones. For el contrario, si existe un solo grupo de objetos que maneja de manera inclistinta la funcionalidad junto con la interaccion externa, entonces se considera que la arquitectura es de una sola dimension. En general, una arquitectura puecle incluir cualquier numero de dimensiones, algo que depencle del tipo de aplicacion que se desee desarrollar. En general, el planteamiento es: si se diseria un sistema con cierto ncimero de dimensiones, ^;se obtendna un sistema mas estable y facil de extender que con un numero menor o mayor? La respuesta clepende de que tan indepencliente sean los objetos de un eje de funcionalidad con los demas. Si se cuenta con ejes de funcionalidad completamente ortogonales, algo que es dificil de lograr, el efecto de cambios en una dimension no deberia afectar a las demas dimensiones. Sin embargo, si los grupos de objetos no son lo suficientemente independientes, aun se puede limitar el efecto de los posibles cambios. En el caso de los sistemas de informacion, una cle las arquitecturas mas utilizadas es la de Modelo, Vista, Control (MVC - Model, View, Control)? popularizada por los ambientes de desarrollo para los lenguajes de programacion de Smalltalk (ver capitulo 2). Esta arquitectura se basa en tres dimensiones principales: Modelo correspondiente a la informacion, Vista correspondiente a la presentation o interaccion con el usuario y Control correspondiente al comportamiento, como se ilustra en la figura 7.2. Figura 7.2 Diagrama de tres dimensiones correspondiente a la arquitectura Modelo, Vista, Control (MVC). 254 CAP. 7 MODELO DE ANALISIS

La vista o presentacion de la informacion corresponde a las interfaces que se le presentan at^usuario para el manejo de la informacion, donde por lo general pueden existir multiples vistas sobre un mismo moclelo. Tipicamente la informacion representa el dominio del problema y se almacena en una base cte clatos. Por otro lado, el control corresponde a la manipulacion cle la informacion a traves de sus cliversas presentaciones. Aunque existe cierta depenclencia entre estas tres dimensiones, se considera que la manera de presentar la informacion es independiente de la propia informacion y de como se controla esta. Sin embargo, cacla una de ellas probablemente experimente cambios a lo largo del ciclo cle vida del sistema, donde el control es el mas propenso a ser modificado, seguido cie la vista y, finalmente, del moclelo. En el moclelo de analisis descrito aqui utilizaremos como base la arquitectura MVC para capturar estos tres aspectos cle la funcionaliclad, como se muestra en la figura 7.3. Figura 7.3 Diagrama de tres dimensiones correspondiente a la arquitectura del modelo de analisis, basado en el modelo de casos de uso. En correspondencia con el modelo MVC, la arquitectura para el modelo de analisis se basara en tres tipos o estereotipos de objetos corresponclientes a las tres dimensiones anteriores. Es importante notar la correspondencia con las tres dimensiones utilizadas durante el modelo cle requisites (ver figura 6.2). 7.1.1 Clases con estereotipos El tipo cle funcionalidad o "la razon cle ser" cle un objeto clentro de una arquitectura se conoce como su estereotipo. Siguienclo la metodologia de casos de uso, la arquitectura del sistema para el modelo de analisis se basara en tres estereotipos: El estereotipo entidad (entity) para los objetos que guardan informacion sobre el estado interno del sistema a corto y largo plazo. Estos objetos corresponden al clominio del problema. Un ejemplo de objeto entidad es un registro de usuario con sus clatos y comportamiento asociados. El estereotipo horde (boundary) para objetos que implementan las interfaces del sistema con el munclo externo, correspondientes a todos los actores, incluyendo a aquellos que no son humanos. Un ejemplo de objeto borde es una interface cle usuario o pantalla para insertar o modificar informacion en el registro de usuario. Otro ejemplo es un objeto que se comunica con una base cle clatos externa al sistema. ARQUITECTURA DE CLASES 255

El estereotipo control (control) para objetos que implementan el comportamiento o control de la logica de los casos de uso, especificando cuando y como el sistema cambia de estado. Los objetos control modelan la funcionalidad que no se asocia naturalmente con un solo objeto. Un ejemplo tipico de objeto control es validar un usuario existente o insertar uno nuevo. Este comportamiento requiere la interaccion de multiples objetos y actores. La notacion de UML para un estereotipo se muestra en la figura 7.4. Figura 7.4 Diagrama de clase con estereotipo utilizando la notacion de UML. Los tres estereotipos, Entidad, Borde y Control, correspondientes a las tres dimensiones de la arquitectura de analisis, se ilustran en la figura 7.5. Figura 7.5 Diagrama de clase para los tres estereotipos. Los tres estereotipos de la arquitectura de analisis se pueden describir a traves de diagramas de iconos en lugar de rectangulos, se muestran como iconos en la figura 7.6. Figura 7.6 Diagrama de clases mostrando los tres estereotipos como iconos: entidad, borde y control, respectivamente. Es dificil lograr una ortogonalidad completa de estereotipos en los objetos. En general, es comun que un objeto tenga cierta inclinacion hacia una de las dimensiones, como se muestra en la figura 7.7. 256 CAP. 7 MODELO DE ANALISIS

Figura 7.7 Diagrama que ilustra el traslape en las dimensiones de los objetos correspondientes a sus estereotipos. 7.1.2 Clases para casos de uso Cuando se desarrolla el modelo de analisis, normalmente se trabaja con un caso de uso a la vez. En cada caso de uso se identifican los objetos necesarios para su implementacion. Los objetos se identifican segun sus estereotipos de manera que correspondan con la funcionalidad ofrecida en cada uno. Se define explicitamente que objeto es responsable de cual comportamiento dentro del caso de uso. Se comienza identificando los objetos borde necesarios, continuando con los objetos entidad y, finalmente, los objetos control. Este proceso se continua a los demas casos de uso. Dado que los mismos objetos pueden participar en varios casos de uso, durante este proceso es necesario identificar aquellos objetos comunes. Esto significa que cuando un conjunto de objetos ya existe, estos pueden modificarse para ajustarlos al nuevo caso de uso. La meta es formar una arquitectura que reutilice el mayor numero de objetos posible. De tal manera, la descripcion original de los casos de uso se transforma en una descripcion con base en los tres tipos de objetos, como se muestra en la figura 7.8. Figura 7.8 La funcionalidad de cada caso de uso se asigna a objetos distintos y de acuerdo con sus estereotipos. ARQUITECTURA DE CLASES 257

La asignacion de objetos a cada caso de uso se hace de acuerdo con los siguientes principios: La funcionalidad de los casos de uso que depende directamente de la interaccion del sisterna con el mundo externo se asigna a los objetos borde. La funcionalidad relacionada con el almacenamiento y manejo de informacion del dominio del problema se asigna a los objetos entidad. La funcionalidad especifica a uno o varios casos de uso y que afecta a multiples objetos a la vez, o que no se relaciona naturalmente con ningun objeto borde o entidad, se asigna a los objetos control. En general, se asigna un solo objeto control por caso de uso. Si el caso de uso es muy complejo, se pueden asignar objetos control adicionales. 7.2 Identification de clases segun estereotipos Para llevar a cabo la transicion del modelo de requisites al modelo de analisis se deben identificar los objetos necesarios para implementar todos los casos de uso. La arquitectura de objetos debe considerar los tres tipos de estereotipos de objetos como se discutio anteriormente. Para ello, se deben identificar primero las clases borde, luego las clases entidad y, finalmente, las de control. En general, se desea asignar la funcionalidad general del caso de uso, correspondiente a la "politica" de la aplicacion, a los objetos control. Esta funcionalidad depende y afecta al resto de los objetos dentro del caso de uso. Por otro lado, los objetos entidad y borde deben contener funcionalidad local, limitando su efecto en los demas objetos. El trabajo del analista consiste en distribuir de la mejor manera posible el comportamiento especificado en el modelo de requisites entre los diferentes tipos de objetos de la arquitectura de analisis. La asignacion de funcionalidad es bastante dificil en la practica, y afecta en gran medida la calidad y mantenimiento del sistema. Los buenos analistas consideran desde un principio los posibles cambios futuros al sistema. En general, los cambios mas comunes a un sistema son los de funcionalidad y bordes. Los cambios de las interfaces deben afectar solo a los objetos borde. Los cambios a la funcionalidad son mas dificiles de administrar, ya que esta puede abarcar todos los tipos de objetos. En las siguientes secciones se describira con mayor detalle el proceso de identificacion de los tres tipos de objetos, identificando las clases para cada caso de uso segun sus estereotipos. El desafio principal en dicho proceso, es decidir cuantas y cuales clases deben asignarse por caso de uso. 7.2.1 Borde Toda la funcionalidad especificada en las descripciones de los casos de uso que depende directamente de los aspectos externos del sistema, se ubica en los objetos borde, pues a traves de ellos se comunican los actores con el sistema. La tarea de una clase borde es traducir los eventos generados por un actor en eventos comprendidos por el sistema, y traducir los eventos del sistema en una 258 CAP. 7 MODELO DE ANALISIS