Diseño y Evaluación de Arquitecturas de Software. Meta-modelos de diseño

Documentos relacionados
QUÉ SON EL ANÁLISIS Y EL DISEÑO?

DISEÑO ARQUITECTURA DEL SOFTWARE

Consultoría Santa Cruz. Buscador Web de Restaurants Software Architecture Document. Version 1.0

Arquitectura de Software

octubre de 2007 Arquitectura de Software

Ingeniería de Software: Metodologías

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008

Obligatoria asignatura Programa elaborado por:

Programa Educativo: PROGRAMA DE ESTUDIO Área de Formación : Horas teóricas: Horas prácticas: Total de Horas: Total de créditos:

Fecha de elaboración: Julio de 2010 Fecha de última actualización:

Diseño de Software basado en Patrones. Métodos de Diseño

Documento de Arquitectura

Lenguaje de Modelamiento Unificado.

Oscar Alberto, Custodio Izquierdo Carlos Arturo, Hernández Torruco José Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

SDD SIGS: Sistema Integral para la Gestión de Servicios de consultoría. Pontificia Universidad Javeriana Yenny Natalia Salamanca Torres

Ingeniería de Requisitos

DOCUMENTO DE ARQUITECTURA DE SOFTWARE JAVIER FELIPE VASQUEZ ROLDAN PABLO ROBAYO RODRIGUEZ

Architectural Driven Design - ADD

CALIDAD DE SISTEMAS DE INFORMACIÓN WEB. Introducción a los métodos de evaluación de arquitecturas

El Proceso Unificado Rational para el Desarrollo de Software.

Proceso Unificado de Desarrollo de Software. 13 de sep de 2006

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Unidad 7. Ingeniería de Requisitos y Análisis OO. M.C. Martín Olguín

Introducción a Rational Unified Process (RUP)

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

Ingeniería del Software

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez

Tema 9: Método de Craig Larman

Comunicación de la Arquitectura de Software

Introducción al Unified Process. Curso IIC 2143 Ingeniería de Software Rodrigo Sandoval 2010

Maestría en Ingeniería

CICLOS DE VIDA Y METODOLOGIAS

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FUNDAMENTOS DE LA METODOLOGIA RUP RATIONAL UNIFIED PROCESS JUAN PABLO GOMEZ GALLEGO ING JORGE GALVES

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UML. Unified Modeling Language. Prof. Daniel Riesco

Software Design Description. Versión /Enero/2012 TBA. Christian R. Lemus G. Pontificia Universidad Javeriana

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

Enterprise Architect y UML Basic

Ingeniería de Software: Metodologías

Horas Contacto. Objetivos Se pretende que el estudiante asimile los conceptos fundamentales de análisis y diseño orientado a objetos

15/05/2015. Exponer sólo lo que los usuarios de la interfaz necesitan conocer.

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES

Fase de inicio de RUP

Análisis y Diseño Orientado a Objetos. 2 - Análisis

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco

METODOLOGÍAS ÁGILES. Proceso Unificado Ágil (AUP) Ingeniería del Software II Análisis de Sistemas

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

Ingeniería de Software: Parte 2

Arquitectura de un modulo I/O para objetos 3D

Ingeniería de Software: Metodologías

Horas Contacto. Modelar gráficamente la solución de problemas con un enfoque Orientado a Objetos, usando un lenguaje de modelado, en este caso UML.

Unidad de Competencia I Elementos de Competencia Requerimientos de información

MODULO III. Análisis y Diseño de Sistemas de Información INF-162 III. RUP. 3.1 Introducción. Facilitador: Miguel Cotaña 26 de Abril

ESCUELA: UNIVERSIDAD DEL ISTMO

ZoomTI++ Documentación de Arquitectura de Software. Versión 2.0

Diseño y Evaluación de Arquitecturas de Software. Introducción

2.5 DISEÑO ARQUITECTONICO

Especificación de atributos de calidad. Ingeniería de Software I-II 2017-May-18

Contenido. Introducción. Herramientas de apoyo a RUP. Herramientas de apoyo en la captura de requisitos Herramientas de modelado con UML

NOMBRE DEL CURSO: Análisis y Diseño de sistemas 2 CODIGO: 785 CRÉDITOS: 5. ESCUELA: Ciencias y Sistemas AREA: Desarrollo de Software

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Enterprise Architect y UML

Ingeniería a de Software CC51A

Universidad Ricardo Palma

Mejorando las competencias arquitectónicas en una empresa Mexicana de desarrollo de Software

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software

Ciclos desde su nacimiento hasta su muerte. Nacimiento. Muerte

Guía para descripción y documentación de arquitecturas de software utilizando Lenguajes de Descripción de Arquitectura

Tema 4e: Proceso Unificado: Análisis

Ingeniería de Software II

TablOVA: Herramienta generadora de OVA para las consultas SQL

Tecnológico de Estudios Superiores de Coacalco. Instituto Tecnológico Superior de Comalcalco, Fresnillo, Santiago Papasquiaro y Zapopan.

Introducción a la Orientación a Objetos

Maestría en Ingeniería

DEPARTAMENTO DE SISTEMAS. Evaluación de Arquitecturas de Software (ATAM)

Ingeniería de Software II

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software

Arquitectura de Software

PROYECTO: Plataforma inalámbrica para alertar a los conductores de emergencias vehiculares

Personas. Tecnología. Producto. Proceso

Diseño y Evaluación de Arquitecturas de Software. Documentación

Ingeniería de Software. Algunas Metodologías de Desarrollo de Software. Ingeniería de Software. Metodologías de Desarrollo de Software página 0

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

Interacción Persona - Ordenador

Universidad de Los Andes. Propuesta de Metodología de Arquitectura

Planeador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software

Enterprise Architect y UML Básico

Planificaciones METODOS Y MODELOS EN LA INGENIERIA DEL SOFTWARE PLANIFICACIONESI. Docente responsable: VILLAGRA SERGIO GUSTAVO.

R I T. Software Engineering. Architectural Design: Designing before Design. Buenos Aires, Argentina Junio de 2006

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN HORAS SEMANA

Taller de Sistemas de Información 1. Clase 2 Sistemas de información Arquitectura

RUP. Rational Unified Process

Maestría en Ingeniería

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

Introducción al desarrollo de sistemas de información. María Mora Administradora del Nodo GBIF Costa Rica

Seis Sigma y TRIZ: Design for Software Architecture

Transcripción:

Diseño y Evaluación de Arquitecturas de Software Meta-modelos de diseño César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 18/09/2015 1

Arquitectura de Software

Meta-Modelos Se provee un meta-modelo que es una abstracción de varias técnicas de diseño arquitectónico. Este modelo será usado para analizar y comparar las técnicas actuales de diseño.

Meta-Modelos The what The why Architecture Qualities Satisfies System Features Architecture Architecture Representation Constrain S/W Requirements System Quality Attributes The who Produces Technology Defines The how Architect Follows Process Stakeholders Skills Defines role Organization

Sy stem architecture is part of Meta-Modelos Software Architecture is represented by Software Architects are actors in Architecture Design Process has Software Architecture Description produces Logical view relates to has Architectural sty le Architecture Style guide has is made of Architectural view is made of is a constrains Process view Implementation view Deployment view Use case view Architectural Pattern is a Form Component Connection Constraints depicts Requirements satisfies constrains Architectural Blueprint

Meta-Modelos Adaptado de P. Kruchten, B. Selic, W. Kozaczynski. Describing Software Architecture with UML, 2001

Meta-modelos Cliente Conocimiento del Dominio Extraer estructuras de la solución Especificación Requerimientos Abstracción de la solución Capturar Requerimientos Conocimiento del Dominio Artefactos Especificación arquitectura Conocimiento del Dominio Descripción Arquitectura

Dominio Conocimiento del Dominio es-un Dominio del Problema Dominio del Negocio Dominio de la Solución Conocimiento General Sistema/ Producto

Conocimiento del Dominio es-un Dominio del Problema Dominio del Negocio Dominio de la Solución Conocimiento General Sistema/ Producto Se refiere al conocimiento sobre el problema desde una perspectiva del cliente. Incluye documentos de especificación de requerimientos, entrevistas con clientes, prototipos sugeridos por los clientes, etc.

Conocimiento del Dominio es-un Dominio del Problema Dominio del Negocio Dominio de la Solución Conocimiento General Sistema/ Producto Se refiere al conocimiento sobre el problema desde una perspectiva del proceso de negocio. Incluye conocimiento sobre el proceso del negocio y también vista de los clientes y reportes de análisis de mercado

Conocimiento del Dominio es-un Dominio del Problema Dominio del Negocio Dominio de la Solución Conocimiento General Sistema/ Producto Se refiere al conocimiento que proveen los conceptos del dominio para resolver el problema y el cual esta separado de los requerimientos específicos y el conocimiento sobre como se producen los sistemas de software. Esta clase de conocimiento esta incluido en libros, revistas científicas, y manuales, entre otros.

Conocimiento del Dominio es-un Dominio del Problema Dominio del Negocio Dominio de la Solución Conocimiento General Sistema/ Producto Se refiere a los antecedentes (background) generales y experiencias del ingeniero de software y también puede incluir reglas generales.

Conocimiento del Dominio es-un Dominio del Problema Dominio del Negocio Dominio de la Solución Conocimiento General Sistema/ Producto Se refiere al conocimiento sobre un sistema, una familia de sistemas o a un producto (J2EE,.NET, )

Métodos de Diseño ABD Quality-driven Artefact-driven Use Case/Scenariodriven --> RUP Pattern-driven Domain-driven Functionality-based ABAS

ABD- Architecture Based Design Diseño Basado en la Arquitectura (Architecture Based Design - ABD) El promotor principal es Bachmann, quien provee una estructura para producir la arquitectura conceptual de un sistema. ABD determina las direcciones arquitecturales para el sistema. Es la combinación de requerimientos del negocio, de calidad y funcionales que influyen en la arquitectura.

ABD (Continue) Elementos: Descomposición funcional usando acoplamiento y cohesión Realización de los requerimientos de calidad y negocio a través de la selección de un estilo arquitectónico Uso de plantillas de software para describir un sistema de software de un tipo particular. Como deben interactuar los elementos...

ABD (Continue) Los pasos del método ABD, luego de haber definido los requerimientos, son los siguientes: 1. Identify architectural drivers. 2. Divide (encapsulate) functionality. 3. Choose architectural style.

ABD (Continue) 4. Allocate functionality to style. 5. Refine templates. 6. Verify functionality. 7. Generate concurrency view. 8. Generate deployment view. 9. Verify quality scenarios.

Quality-driven Esta basado en la utilización de estilos arquitectónicos y patrones como un principio de diseño de arquitecturas de alta calidad. Jan Bosch promueve este método, y considera que el diseño de arquitecturas de software toman ventaja de los requerimientos de calidad desde las etapas tempranas de desarrollo.

Artefact-driven Inicia a partir del texto de los requerimientos Mira tipos de artefactos en el método y trata de identificar artefactos desde la especificación de requerimientos usando reglas heurísticas Agrupa los artefactos relacionados en SUBSISTEMAS, estos son los componentes arquitectónicos Define las relaciones entre los subsistemas

Artefact-driven (Continue) Técnicas que extraen la descripción de la arquitectura a partir del artefacto descripciones del método Ejemplos: Métodos de Análisis y Diseño Orientado a Objetos tales como OMT y OAD

Use Case/Scenario-driven Basado en los casos de uso Extraer los casos de uso Identificar las clases fundamentales a partir de los casos de uso Agrupar las clases en packages, estos son los componentes arquitectónicos Definir las relaciones entre los packages

RUP Esta centrado en las vistas de diferentes modelos del sistema, casos de uso, análisis, diseño, implementación y despliegue Basado en el modelo "4+1" de Krutchen

Pattern-driven Inicia con la especificación de requerimientos Selecciona los patrones apropiados desde una base de patrones Organizar o componer los patrones seleccionados

Functionality-based Jan Bosch propone el método de diseño, verificar el texto 1999

ABAS Estilo Arquitectónico Basado en Atributos (Attribute-Based Architectural Style - ABAS)