Documento que explica la descripción de la arquitectura del sistema SIMGIRIS SOFTWARE ARCHITECT URE DOCUMENT Pontificia Universidad Javeriana Carlos Eduardo Gómez López Contenido 1. Introducción .................................................................................................................................... 2 1.2 Propósito ....................................................................................................................................... 2 1.3 Alcance.......................................................................................................................................... 2 1.4 Definiciones Y Acrónimos ............................................................................................................ 3 1.5 Referencias .................................................................................................................................... 4 2. REPRESENTACIÓN DE LA ARQUITECTURA ......................................................................... 5 2.1 Vista Lógica: ............................................................................................................................. 5 2.4 Vista de Despliegue:.................................................................................................................. 6 3. VISTA DE CASOS DE USO.......................................................................................................... 6 1 1. Introducción El presente documento realiza una descripción de alto nivel de la arquitectura utilizada por el sistema SIMGIRS (Sistema de Información para el Mejoramiento de la Gestión Integral de Residuos Sólidos). SIMGIRS es una aplicación web, que permite a sus diferentes usuarios el poder Registrar y consultar Residuos en línea. Para el desarrollo de este documento y de la arquitectura del sistema, se utilizará el modelo 4+1 de Krutchen En este documento no se especificará el desarrollo de la vista de proceso. 1.2 Propósito Este documento busca especificar un buen diseño de la arquitectura para encontrar de la manera más coherente de llegar a la mejor solución de los requerimientos de los stakeholders. Cumpliendo de ésta manera los aspectos arquitectónicos fundamentales del sistema. 1.3 Alcance El alcance de este proyecto consiste en realizar la completa descripción de la arquitectura, la cual es necesaria para realizar la implementación del sistema SIMGIRS. Esta descripción acoge las representaciones arquitecturales, cada una de las vistas y los casos de uso asociados a los requerimientos que exige el sistema, Adicionalmente se implementará un prototipo . 2 1.4 Definiciones Y Acrónimos A C D E M R S V Arquitectura Física: Reconoce todos los productos y tecnologías que serán usados para detallar el diseño físico y por último el código. Arquitectura Lógica: Representa un paso inicial de llevar los requerimientos a una solución, independientemente de la tecnología utilizada. Caso de Uso: Descripción de los diferentes pasos o actividades que deberán realizarse para llevar a cabo algún proceso. Desempeño: Monto de trabajo ejecutado en unidad de tiempo. Disponibilidad: Medida del tiempo en el que el sistema se usa. Escalabilidad: Que tan bien una solución trabaja, cuando el tamaño del problema se incrementa (carga, conexiones, datos y despliegue). Modificabilidad: Que tan fácil podría ser cambiar una aplicación para enfrentar nuevos requerimientos funcionales y no funcionales. Requerimiento: necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio. Residuo Sólido: Cualquier objeto o material de desecho que se produce tras la fabricación, transformación o utilización de bienes de consumo y que se abandona después de ser utilizado [2] SAD: Software Architecture Document. Provee una visión general del sistema, usando diferentes vistas arquitecturales para representar varios aspectos del sistema. Seguridad: Autenticación, Autorización, Encriptación, Integridad, No repudiación. Stakeholder: Son las personas que tiene relación directa con el sistema, estos pueden ser: gerente, cliente, desarrolladores, diseñadores y demás equipo de trabajo. SIMGIRS: Sistema de Información para el mejoramiento de la gestión integral de Residuos Sólidos Vista: presentación de un modelo, la cual es una descripción completa de un sistema desde una particular perspectiva. (Kruchten, 1995). Tabla 1. Definiciones y Acrónimos 3 1.5 Referencias [1]Kruchten Phillipe Architectural Blueprints—The “4+1” View Model of Software Architecture, Noviembre, 1995, Rational Software Corp.Disponible en: http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/Pbk4p1.pdf [2] http://www.corantioquia.gov.co/docs/LOGROS/GIRS.htm 4 2. REPRESENTACIÓN DE LA ARQUITECTURA Esta sección describe lo que es la arquitectura de software para el sistema SIMGIRS. Detalla cada una de las vistas del modelo 4+1 de Krutchen, los elementos que contiene, los interesados y cómo se representan. 2.1 Vista Lógica: La vista lógica trata con la funcionalidad que el sistema SIMGIRS debe proporcionar a los usuarios finales, soportando los requerimientos funcionales. El sistema es descompuesto en un conjunto de abstracciones claves, tomadas desde el dominio del problema en la forma de objetos o clases, explotando los principios de abstracción, encapsulamiento y herencia. Esta descomposición, no solamente sirve para el análisis funcional, sino sirve para identificar mecanismos comunes y elementos de diseño a través de las diversas partes del sistema. La audiencia de esta vista son los diseñadores del sistema. [1] 2.2 Vista de Proceso Esta vista ayuda a SIMGIRS tomando en cuenta los requerimientos no funcionales acerca del rendimiento y la disponibilidad del software. Maneja problemas se sincronización e integridad del sistema. También como la vista lógica encaja en esta vista y el nivel que los procesos pueden ser controlados. [1] 5 2.3 Vista de Implementación La vista de implementación se centra en el rendimiento, escalabilidad y funcionamiento del sistema, por lo que debe tener en cuenta algunos requerimientos no funcionales. Dentro de esta vista también se especifica cuál es el hilo de control, que va a ejecutar la operación de una determinada clase que se encuentra identificada dentro de la vista lógica. [1] Ilustración 1: Vista de Implementación 2.4 Vista de Despliegue: La vista de despliegue ilustra el sistema desde el punto de vista de un programador, tratando con el manejo del software. Esta vista también es conocida como de implementación. Esta vista se concentra en la organización por módulos del software en un ambiente de desarrollo. El software es empaquetado en librerías o subsistemas, organizado jerárquicamente en capas. Esta vista es representada por diagramas de componentes o paquetes. La audiencia son los gestores de despliegue. [1] 2.5 Vista de Casos de Uso Esta vista integra las demás vistas para instanciar escenarios, los cuales son una representación abstracta de los requerimientos del sistema OPS, aunque esta vista es redundante, permite llevar a descubrir elementos arquitectónicos durante el diseño de la arquitectura. [1] 3. VISTA DE CASOS DE USO La vista de casos de uso o escenarios considera todas las vistas anteriores en el contexto de casos de uso y abarca todos los casos de uso que describen el comportamiento del sistema tal y como lo ven los usuarios y los Stakeholders. 6 Para mayor información acerca de la documentación de los casos de Uso, ver Anexo 1 “Especificación de casos de Uso”. 7