Arquitectura de Software

Documentos relacionados
Arquitectura de Proyectos de IT. Atributos de Calidad. Ing. Gustavo Andrés Brey

Evaluación de Arquitecturas

Comunicación de la Arquitectura de Software

Arquitectura de Proyectos de IT

Atributos de Calidad / Tácticas

Rol del Arquitecto de Software

Estilos Arquitectónicos

Ingeniería de Software II

Introducción a los patrones de Software

Patrones Arquitectónicos de Software

A continuación se describe con mayor detalle cada una de tales unidades:

ARQUITECTURA EMPRESARIAL ESTRATEGIA DE ACOMPAÑAMIENTO 2016

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

Diseño y Evaluación de Arquitecturas de Software. Software con calidad

Estilos Arquitectónicos

3.5 MODELOS ISO/IEC

ARQUITECTURAS DE SOFTWARE

Bases de datos 1. Teórico: Introducción

Escuela Técnica Superior de Ingeniería. Informática. Grado en Ingeniería Informática

Curso: PRUEBAS DE SOFTWARE utilizando Integración Contínua

RIESGO TECNOLÓGICO EN LA ACTIVIDAD ASEGURADORA

Tema 2. Gestión por Procesos. Soporte de Tecnología

ARQUITECTURA DE SOFTWARE

Arquitectura de Software

Arquitectura de Empresa. Herramienta de gobierno para el alineamiento de las TI con la estrategia de negocio

DISEÑO Y CONSTRUCCION DE MODELOS WEB

30/04/2015. Ejemplo Diagrama de un sistema tal como aparece en ejecución (alto nivel)

PROGRAMA INSTRUCCIONAL

Sistemas Operativos. Curso 2016 Sistema de Archivos

Norma Técnica de Administración por Procesos y Prestación de Servicios. Registro Oficial Nro. 739

Requerimientos de Software

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Sistema de Asignación de Turnos y Cálculo de Nómina para los empleados de una empresa prestadora de servicios temporales

Arquitecturas de Software

FACULTAD DE INGENIERÍA

Desarrollo de Líneas de Productos de Software

Programa del curso IC Diseño de Software. Escuela de Computación Carrera de Ingeniería en Computación, Plan 410

Aseguramiento de Calidad en el Desarrollo de Software Libre

Diagramas De Casos De Uso

Gestion y Modelación de Datos Introducción

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP

Architectural Driven Design - ADD

Modelado y Diseño de Arquitectura de Software

Tema II: Metodología para la construcción de programas

<NOMBRE DE LA UNIVERSIDAD, Y NOMBRE DE LA COMUNIDAD>. <TITULO PROYECTO>

Principios de Análisis Informático. Tema 3: Fase de inicio

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

TEMA 4. PROCESO UNIFICADO

Administración de Recursos Informáticos Unidad II: Unidad de Tecnologías de Información y Comunicaciones La Generación de Proyectos

Alejandro J Bianchi. Software Architecture Professional Certficate Software Engineering Institute, CMU University.

BPMS ESCM CMMI COBIT EFQM ISO IT MARK ITIL PMI TOGAF TSP. Arquitectura empresarial Integrado. del sector TIC. de Información Tecnologías relacionadas

TEMA 6: INTRODUCCIÓN A UML

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

HISTORIAL DE CAMBIOS

Diseño arquitectónico 1ª edición (2002)

SILABO DE LA ASIGNATURA INGENIERIA DEL SOFTWARE

TablOVA: Herramienta generadora de OVA para las consultas SQL

ORGANISMO COORDINADOR DEL SISTEMA ELÉCTRICO NACIONAL INTERCONECTADO DE LA REPÚBLICA DOMINICANA

Del Modelo Conceptual a los Diagramas de Clases

El Ciclo de Vida del Software

Rational Unified Process

Descripción del Curso

Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE ADMINISTRACIÓN DE PROYECTOS DE T.I.

Guía docente de la asignatura

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ

Programación Avanzada. Requerimientos de Software

Aseguramiento de la calidad y pruebas de software. 2- Estándares y Modelos para la mejora del proceso de software

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC:

Firma Electrónica. Ministerio Secretaría General de la Presidencia

Software Architecture Assesment. Rosa Virginia Icedo Ojeda Jorge Moisés Trejo Vargas Mayo 2003

SEMINARIO. Los 8 Principios de ISO

Tema 1: Patrones Arquitectónicos

Guía del Curso Analista Programador Java: Business Apps Expert

Calidad y Reutilización de Software. Dr. Cuauhtémoc Lemus Olalde. Centro de Investigación en Matemáticas (CIMAT) Febrero, 2003

El proceso de diseño. Análisis de tareas

Ingeniería de Software II

Anexo 10. Pruebas verificadas

Control de Calidad del Software

23/04/2015. El Rol del Arquitecto de Softaware. Actividades del Arquitecto de Software. Architectus Reloadus. Architectus Oryzus

Regional Distrito Capital Sistema de Gestión de la Calidad GUIA DE APRENDIZAJE DIAGRAMAS DE FLUJO. Control del Documento

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

Transcripción:

Arquitectura de Software Ing. Gustavo Andrés Brey Ing. Nicolas Passerini 2005

Agenda # 1 2 3 4 5 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs Influencias y Entradas de la Arquitecturas Primera solución técnica y primera percepción de la arquitectura Duración 40 min 20 min 30 min 30 min 40 min 20 min 2

Agenda # 1 2 3 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs 4 5 Influencias y Entradas de la Arquitecturas Primera solución técnica y primera percepción de la arquitectura 3

Introducción - Arquitectura de Software Una arquitectura es el conjunto de decisiones significativas sobre la organización de un sistema de software que define los principios que guían el desarrollo, los componentes principales del sistema, sus responsabilidades y la forma en que se interrelacionan 4

Introducción - Arquitectura de Software Es el diseño de más alto nivel, es diseño de nivel estratégico. No es sólo lógico sino también físico y organizacional. Contempla tanto decisiones funcionales como técnicas. Contiene las estrategias para resolver los atributos no funcionales. Consideramos arquitecturales a las decisiones que: Afectan a muchas partes del sistema. Le dan estructura al sistema. Suelen ser difíciles de cambiar. Muchas de ellas deben tomarse en forma temprana. 5

Introducción Características de la Arq. Debe ser correctamente comunicada y entendida por cada stakeholder según sus propias necesidades. Debe ser capaz de evolucionar a lo largo del proyecto de la mano del testing y otras evaluaciones. Debe permitir el análisis de medidas cuantitativas y de evaluar el cumplimiento de los atributos cualitativos. Debe ser la arquitectura más simple posible que cumpla con los puntos anteriores. 6

Introducción Principios de la Arquitectura Abstracción Encapsulamiento Separación de responsabilidades Acoplamiento y Cohesión No Duplicación Parametrización y Configurabilidad Claridad y simplicidad Separación de interfaz e implementación 7

Introducción Tipos de arquitectura de IT Otros - Arquitectura de procesos y arquitectura de negocios. 8

Introducción Que no es una arquitectura La arquitectura es sólo un documento La arquitectura es la estructura La arquitectura es el diseño La arquitectura es una ciencia La arquitectura es un arte La arquitectura es la infraestructura <mi tecnología favorita> es arquitectura Una buena arquitectura es el trabajo de un solo arquitecto La arquitectura puede ser presentada en un solo diagrama La arquitectura no se puede medir ni evaluar 9

Agenda # 1 2 3 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs 4 5 Influencias y Entradas de la Arquitecturas Primera solución técnica y primera percepción de la arquitectura 10

Actividades y Flujos dentro de la arquitectura Entendimiento del problema Evaluación Toma de Decisiones Comunicación Construcción y/o prototipado Medición y validación de la arquitectura Construcción de la Aplicación Aseguramiento Testing 11

Agenda # 1 2 3 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs 4 5 Influencias y Entradas de la Arquitectura Primera solución técnica y primera percepción de la arquitectura 12

Estructuras y Vistas Arquitectónicas - Intro Las estructuras son el conjunto de elementos y relaciones en si mismo implementadas en software y hardware (asignaciones) Las vistas son las representaciones de las estructuras descriptas en un lenguaje que permita un entendimiento del stakeholder al cual se dirige Por ejemplo, la estructura de módulos permite definir el conjunto de módulo del sistemas y su organización, y la vista de módulo permite la representación de esta estructura. 13

Estructuras - Elementos Módulos Son las unidades conceptuales de primer orden que guían el desarrollo. Cada módulo ataca un conjunto de concerns relacionados, que pueden ser funcionales o técnicos. Permite alocar responsabilidades. Componentes Los componentes son los bloques técnicos que permitirán llevar a cabo la funcionalidad de los módulos. Pueden existir componentes desarrollados internamente, de terceros, contenedores y software de base. Conectores Cada uno de estos necesita interacción con los demás, a través de conectores (interacciones) y como se va a establecer esa interacción, pueden existir diferentes maneras. 14

Estructuras - Alocaciones Despliegue Se definen las alocaciones de los Módulo, Componentes y Conectores y su relación con su unidad de despliegue y manera de hacerlo. Ej. Compilación, Empaquetado, Distribución o Instalación Ejecución Se definen las alocaciones entre las unidades de despliegue y los nódos, zonas de red, contenedores, cantidad de replicas, etc Implementación Se definen las unidades de desarrolla y como van a ser alocadas a los Team de Desarrollo, o sea como van a ser construidas. 15

Vistas Perspectivas/ViewPoints Vistas Stakeholders SAD Frameworks de Arquitectura Model 4+1 Zachman TOGAF 16

Agenda # 1 2 3 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs 4 5 Influencias y Entradas de la Arquitectura Primera solución técnica y primera percepción de la arquitectura 17

Agenda # 1 2 3 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs 4 5 Influencias y Entradas de la Arquitecturas Primera solución técnica y primera percepción de la arquitectura 18

Entradas de la Arquitecturas de Software Influencias Experiencia del Arquitecto Tecnología Disponible Enterprise Architecture Requerimientos Funcionales No Funcionales (Atributos de Calidad) Patterns y Activos Arquitectura de Software Restricciones Negocio Arquitectura Futuros Requerimientos 19

Requerimientos Funcionales Requerimientos funcionales son las capacidades o funcionalidades que son necesitadas por el usuario para completar su trabajo. En otras palabras, lo que el sistema de proveer. Estos definen lo que el usuario necesita. Es el que, no el como. Los requerimientos son especificados en detalle: Procesos de Negocio Los procesos de negocios permiten especificar como un proceso se lleva a cabo a través de la organización, ya que requiere intervención de diferentes actores y áreas, en diferentes lugares y tiempos. Casos de Uso Los caso de uso definen una interacción entre un actor y el sistema, para lograr un objetivo de negocio especifico en un lugar y momento especifico. 20

Requerimientos No Funcionales (Atributos de Calidad ) Los atributos de calidad, no funcionales, son los aspectos del sistemas, que en general, no afectan directamente a la funcionalidad necesitada, sino que definen la calidad y las características que el sistemas debe soportar. Pueden ser determinísticos o probabilísticos, generalmente poseen números. Estos son: Performance Availability (Disponibilidad) Security (Seguridad) Testability (Testeabilidad) Modifiability (Modificabilidad) Usability (Usabilidad) 21

Restricciones De negocio Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems De Arquitectura Conceptual integrity Correctness and completeness Buildability Robustness 22

Influencias Stakeholders Organización Entorno Técnico Experiencia del Arquitecto Enterprise Architecture 23

Agenda # 1 2 3 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs 4 5 Influencias y Entradas de la Arquitecturas Primera solución técnica y primera percepción de la arquitectura 24

Diagrama de Arquitectura Es un diagrama esquemático que representa las ideas prestablecidas y los módulos/componentes candidatos de un sistema o arquitectura. Provee un resumen de los elementos conceptuales y sus relaciones en una arquitectura. Toda solución técnica debe tener al menos los siguientes elementos: Actores o Roles Principales Los módulos/componentes principales Los Nodos principales Repositorios de Datos Como fluye la información Las zonas de red 25

Ejemplo 1 i-atracos Software Estado del y tránsito Recolección y Procesamiento del Estado de la Ciudad Internet Interfaz Web y Notificación de Usuarios Sincronización Transito de la Ciudad Simulado Motor de Tomas de Decisiones en tiempo real para la Optimización (Inteligencia Artificial) Optimización y del Transito 26

Ejemplo 2 27

Referencia [SAinPractice] Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, Second Edition. Addison Wesley, 2003, ISBN 0-321-15495-9. [TheArtSA] Stephen T. Albin, The Art of Software Architecture: Design Methods and Techniques, John Wiley & Sons, 2003, ISBN 0-471-22886-9. [POSA] Buschmann, F.,Meunier, R.,Rohnert, H.,Sommerlad, P.,Stal, M. 1996. Pattern-Oriented Software Architecture: A System of Patterns. Chichester: John Wiley and Sons, 1996, ISBN 0-471 95889-7 28