DOCUMENTO DE ARQUITECTURA



Documentos relacionados
ASIGNATURA Modelamiento III CAID CÓDIGO NIVEL 3 MODALIDAD P PROYECTUAL TECNOLÓGICA X TEÓRICA PLAN COMÚN INDUSTRIAL X GRÁFICO

LA INTEGRACIÓN DE SISTEMAS

Curso Implementing Data Models and Reports with Microsoft SQL Server 2014 (20466)

Tienda Online: WebCine. Jose Luis Del Hoyo Fernández Consultor: Antoni Oller Arcas 13/01/2014

Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) como una colección de datos relacionados entr

Lenguajes de Cuarta Generación (4GL)

METODOLOGÍA COMMONKADS.

Framework Atlas. Introducción. Unidad de Arquitectura y Soporte de Aplicaciones Área de Aplicaciones Especiales y Arquitectura de Software DIAS

IFCT0610 Administración y Programación en Sistemas de...

MS_20467 Designing Business Intelligence Solutions with Microsoft SQL Server 2014

MICROSOFT ACCESS 2007

Mantener una base de datos de Microsoft SQL Server 2008 R2

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO HUAYCÁN (Decreto Supremo No ED y Resolución Directoral No ED)

Desarrollo de Software a gran escala. Sesión 2: Administración de Proyectos de Software

Objetivos y Temario CURSO SQL SERVER 2012

MICROSOFT ACCESS 2013 (COMPLETO)

MANUAL DE SEGURIDAD. Definiciones. Objetivos. Proceso de elaboración de un manual de seguridad

Microsoft Access 2003 (Completo)

1 Sistema de información de ejemplo.

PERFIL COMPETENCIA ANALISTA DESARROLLADOR DE APLICACIONES DE SOFTWARE (TIC-PROG)

PLIEGO DE CONDICIONES TÉCNICAS PARA LA CONTRATACIÓN DEL SERVICIO DE MANTENIMIENTO Y DESARROLLO DEL PORTAL Y SITIOS WEB DE RTPA EXPTE:

Toda copia en PAPEL es un "Documento No Controlado" a excepción del original.

Introducción al desarrollo de Software

Sistemas de Información para la Gestión

Microsoft Visual Studio.NET 2010 desarrollador y diseñador. Fabricante: Microsoft Grupo: Desarrollo Subgrupo: Microsoft Visual

Overview GeneXus Qué es y para qué sirve GeneXus? Principales características y beneficios.

Soporte a la toma de decisiones

Introducción a los Sistemas Gestores de Bases de Datos

Techniks es una empresa comprometida con el desarrollo de sistemas de. información de calidad y requiere de la recomendación o desarrollo de un método

Nombre de la asignatura : Análisis y Diseño Orientado a Objetos. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-

descripción del argumento identificador tipo longitud condición restricción

8 horas semanales 32 horas semestral. Suficientable

LAS ETAPAS DE LA METODOLOGIA METRICA

Bloque 1. La sociedad de la información y el ordenador

Robert A. Hanneman. Departmento de Sociología de la Universidad de California Riverside

Monitoring and Operating a Private Cloud with System Center 2012

Técnico en Seguridad Informática. Informática, Diseño y Programación

ROLES DEL PROYECTO Tomayko

Análisis y Diseño de Sistemas Departamento de Sistemas - Facultad de Ingeniería

2.2 Campos de Aplicación de XML

APP TrailsSport. Alejandro Aguilar Baena. Entrega Final TFC. Consultores: Helena Boltà Torrell. Jordi Almirall López.

Análisis de problemas

E-learning Tecnico en formacion

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

Curso JAVA EE

CICLO DE VIDA DE LOS PROYECTOS

Licitación Servicios de Desarrollo y Mantención de Aplicaciones AS400 y WEB. Bases Técnicas

20487 Desarrollo de Windows Azure y Servicios Web

INTRODUCCIÓN...11 CAPÍTULO 1. ELEMENTOS, ESTRUCTURA Y FUNCIONES DE UN SISTEMA OPERATIVO...13

Ministerio de Educación, Cultura y Deporte. Moodle

Anexo 5. ESTRATEGIAS DE ACCIÓN PARA LA IMPLEMENTACIÓN DEL PIGA

EVS. Estudio de Viabilidad del Sistema

Algoritmos y Diagramas de flujo

Gestión del Mantenimiento de Sistemas de Radiocomunicaciones de Redes Fijas y Móviles. Certificados de profesionalidad

CLASIFICACIÓN DE SERVICIOS EN SOA CONTENIDO

GUIA PARA ELABORAR UN PLAN INSTITUCIONAL DE ATENCION DE EMERGENCIAS.

Introducción a Extreme Programming

LVM2: administración de volúmenes lógicos en Linux

TEMA 5: INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Definición de Ingeniería del Software

Participantes ÍNDICE

ANEXO 1. ANEXO TÉCNICO

Metodología para el proceso de Diseño

Arquitectura y Diseño de Software

CONSULTORÍA EMPRESARIAL EN TECNOLOGÍAS DE LA INFORMACIÓN

Universidad Nacional del Nordeste Facultad de Humanidades

Manual para Alumnos del Campus Virtual

Sus socios en ISO Manual de Calidad

Proyecto El sitio web: protagonista de la era digital

INFORME TÉCNICO SOBRE ESTUDIO DE SATISFACCIÓN UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA INFORME GLOBAL ESTUDIANTES DE PRIMER INGRESO.

FICHA CASE. NOMBRE DE LA CASE Visible Analyst (32 bit) Bersión PROVEEDOR VISIBLE SYSTEMS CORPORATION COSTO

TECNOLOGÍA 4º ESO ORIENTACIÓN PROFESIONAL BLOQUES DE CONTENIDOS PROYECTOS PRÁCTICAS VISITAS Y CHARLAS

Arquitectura de Software

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

TEMA 10: Metodologías de desarrollo de aplicaciones. El ciclo de vida según Métrica.

IBM Rational Rhapsody V7.5 ofrece un ágil entorno de desarrollo de software para la creación rápida de software, documentación, requisitos y pruebas

Fundamentos de Estadística y Simulación Básica

Creación de modelos de procesos Empresariales

Transcripción:

DOCUMENTO DE ARQUITECTURA Aplicativo/Proyecto (template) Fecha Versión Descripción de Cambios Autor 29/04/2009 1.0 Primera versión Ricardo Di Pasquale Autor Grupo Página 1

Indice 1. Contexto del proyecto 3 2. Requerimientos de Arquitectura 4 a. Descripción breve de los objetivos clave 4 b. Casos de uso de arquitectura 5 c. Requerimientos de arquitectura de los actores 6 d. Restricciones 7 e. Requerimientos no funcionales 8 f. Riesgos 9 3. Solución 10 a. Patrones arquitectónicos relevantes 10 b. Breve descripción de la arquitectura 11 c. Vistas Estructurales 12 d. Vistas de comportamiento 13 e. Temas de implementación 14 4. Análisis de la arquitectura 15 a. Análisis de escenarios 15 Página 2

1 - Contexto del proyecto En este apartado debe describirse el contexto tecnológico y funcional del proyecto, incluyendo restricciones en tiempo, costos y recursos de cualquier tipo. Página 3

2 - Requerimientos de Arquitectura 2.1 - Descripción breve de los objetivos clave Se deben documentar los objetivos principales de la arquitectura de la aplicación del proyecto en cuestión, por ejemplo: El objetivo primario de la arquitectura de la aplicación xxx es proveer una infraestructura que soporte una interfaz programática de herramientas cliente de terceros (proveedores) para acceder al almacenamiento de datos. Debe ofrecer: Flexibildad en terminus de plataforma, deployment y configuración de cara a las herramientas cliente a desarrollar por terceros. Un framework que permita que las herramientas se acoplen (tipo plug-in) al entorno de modo de obtener feedback inmediato de las actividades del usuario de la aplicación, y proveer información útil para su posterior análisis. Proveer acceso al data store de lectura y escritura en forma simple y conveniente. El objetivo secundario es evolucionarla arquitectura (respecto de la primera version productiva) que pueda escalar para soportar deployments de 100 a 150 usuarios. Este objetivo debiera ser alcanzado sin alterar los bajos costos que hoy prove la plataforma. El enfoque utilizado debe ser consistente con las necesidades del cliente y las restricciones y requirimientos no funcionales descriptos en el presente documento. Página 4

2.2 - Casos de uso de arquitectura Describir con un enfoque funcional los casos de uso básico referentes a la arquitectura, por ejemplo: Se registran dos casos de uso básicos referents a la API a desarrollar que se relevaron en reunions con los principales proveedores que van a desarrollar las herramientas cliente : Acceso a datos: Los queries de las herramientas clients se enfocan en las actividades de un usuario en particular. Una secuencia de consultas comienza obteniendo información sobre la asignación de trabajo de un usuario en particular, que es básicamente el proyecto al que está asignado. La navegación luego perfora (drill down) datos detallados sobre la actividad del usuario en forma cronológica. Almacenamiento de datos: Las herramientas cliente necesitan tener disponible la posibilidad de almacenar información la base de datos del sistema, de manera que puedan compartir datos sobre sus actividades. Se necesita un mecanismo de notificación para que las herramientas cliente comuniquen la disponibilidad de nuevos datos. Los datos son diversos en estructura y contenido, por lo que se supone que deben tener algún mecanismo descubrible de meta-data incluido. Página 5

2.3 - Requerimientos de arquitectura de los actores Se deben estudiar los requerimientos de la arquitectura desde las perspectives de los actors principales de la aplicación, aunque considerando no solamente los actores productivos (usuario, proveedores, clientes, etc), sino teniendo en cuenta también actores de otras fases del proceso de desarrollo, cómo pueden ser el equipo de desarrollo, proveedores y otros actores internos. Los requerimientos desde la perspective de los principales actors se cubren de la siguiente manera: Terceros (proveedores) o Facilidad de acceso a los datos: El esquema relacional de la base de datos posee al rededor de 50 tablas, con algunas relaciones complejas. Por lo que no es trivial la conformación de las consultas. También se prevee que los cambios al esquema relacional durante la evolución de la plataforma no podrán evitarse. Por estas razones, se requiere un mecanismo para facilitar a los terceros el manejo de los datos de manera independiente de la base de datos. o Soporte de plataformas heterogéneas o Notificaciones de enventos instantánea Desarrolladores Desde la perspectiva del desarrollador, la API debiera: 1. Se fácil e intuitiva 2. El código debiera ser fácil de modificar. 3. Proveer un modelo conciso y conveniente para implementer casos de uso comunes (cross) Equipo de desarrollo interno Desde la perspectiva de los desarrolladores internos, la arquitectura debe: o Abstraer completamente la estructura de la base de datos relacional. o Soportar acceso concurrente o Proveer performance escalable: Debiera ser possible escalar el sistema sin cambios a la implementación actual. o No ser innecesariamente caro de testear. Página 6

2.4 - Restricciones Este tipo de restricciones solo refiere a las que tengan que ver con la arquitectura, cómo por ejemplo el ambiente de ejecución, tiempos, etc. Por ejemplo: o o Debe corer en entornoes Linux Debe utilizar el esquema Legacy actual de la base de datos Página 7

2.5 - Requerimientos no funcionales Describe requerimientos no funcionales básicos relacionados con la arquitectura aplicativa. Por ejemplo: Performance: Debiera responder en consultas de hasta 1000 registros en menos de 5 segundos. Confiabilidad: La arquitectura debiera ser defensive de cara a la introducción de errors por parte de los proveedores de herramientas cliente. Se establecerán los mecanismos de trade-off y auditoria necesarios para el caso. Simplicidad: Dado que los requerimientos funcionales todavía son vagos o ambiguous se prefiere la simplicidad en el diseño, quizás resignando complejidad. Página 8

2.6 - Riesgos Se require la enumeración de los riesgos arquitectónicos del proyecto, su estrategia de mitifación, su impacto en el proyecto (en caso de ocurrir) y la posibilidad (estadística o mejor probabilística si es posible) de que el mismo ocurra. Página 9

3 Solución 3.1 - Patrones arquitectónicos relevantes Se describe la utilización de patrones arquitectónicos (y patrones de diseño relevantes) en este proyecto. Página 10

3.2 - Breve descripción de la arquitectura Incluye una descripción de la arquitectura, y los diagramas y modelos que el arquitecto recomiende. El objetivo principal de esta sección es proveer un enfoque de nivel cero a la arquitectura de la aplicación en cuestión: Página 11

3.3 - Vistas Estructurales Describe todos los componentes de relevancia structural de la arquitectura. Se debiera incluir: Logical view (componentes) Deployment view Página 12

3.4 - Vistas de comportamiento Describe los temas de comportamiento referents a la arquitectura. Debe incluir los comportamientos más relevantes o generales de la aplicación. Para esto debe incluir varios diagramas de secuencia, interacciones, actividades, etc (que el arquitecto considere necesarios) Página 13

3.5 - Temas de implementación Incluye todos los issues técnicos relacionados con la elaboración o construcción del proyecto. Típicamente, debiera incluir temas de seguridad, temas transaccionales, temas concretos referents al lenguaje de programación, los frameworks a utilizar y las apis o librerías. Página 14

4 - Análisis de la arquitectura 4.1 - Análisis de escenarios Se deben analizar los escenarios más generales de cara al futuro de la aplicación o del entorno. Por ejemplo: Modificar la organización de la base de datos: Los cambios realizados a la base de datos necesitarán cambios en los componentes EJB del servidor. Mover la arquitectura a otro JEE vendor: Puede que la empresa decida salir de la línea de productos IBM WebSphere. Para esto con poco esfuerzo se tratará de no implementer comportamiento privado (del producto) alguno de forma de independizar lo más possible la arquitectura. Escalar el deployment a 150 usuarios: Este scenario require de una cuidada capacidad de planeamiento basada en la especificación del hardware disponible. Debe ser factible particionar la base de datos sin impactar a la arqutiectura. Página 15