Qué es la Arquitectura del Software?

Documentos relacionados
Modelado arquitectónico con UML

Diagramas De Casos De Uso

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

Lenguaje de Modelamiento Unificado.

DIAGRAMAS DE UML. Prof. Wenceslao Chávez Bedoya

Capacitación adquirida por el alumno al finalizar este modulo

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

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

DISEÑO DEL SISTEMA DE INFORMACION (DSI)

Modelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

TEMA 4. PROCESO UNIFICADO

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

EL DOCUMENTO DE ESPECIFICACIÓN FUNCIONAL

Introducción a la arquitectura de computadores

Arquitecturas de Software

Cristian Blanco

Clase 2: Arquitectura de Software

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

Conceptos Básicos de Ingeniería del Software

Jazmín Hernández Technical Report COMP Abstract

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

Desarrollo Orientado a Objetos en Métrica v. 3

Curso Taller de Arquitectura de Software usando UML

Copyright bizagi

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas

Grado en Ingeniería Informática. Plan de proyecto. Desarrollo de Sistemas de Información Corporativos. Departamento de Informática

Arquitectura de Software

CAPITULO VI. REDES DE DATOS

Documentando la arquitectura de software Principios básicos por Omar Gómez

Gestión de Alumbrado Público con Software Libre

Elementos Diagramas de Clases Clase:

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

Unidad I: Organización del Computador. Ing. Marglorie Colina

GOBIERNO ELECTRÓNICO

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II

ARQUITECTURAS DE SOFTWARE ORIENTADAS A SERVICIOS

Definir los módulos del SI y la manera de interactuar unos con otros, intentando que cada módulo trate total o parcialmente un proceso específico y

Trabajo de Grado Análisis comparativo de Lenguajes Notacionales para Modelado de Procesos

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

UNIVERSIDAD FRANCISCO GAVIDIA FACULTAD DE INGENIERIA Y ARQUITECTURA

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

Fundamentos de Ingeniería de Software [Etapas II]

Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Informe final de pasantía

Interacción Persona - Ordenador

Capitulo III. Diseño del Sistema.

51 Int. CI.: H04N 5/00 ( ) TRADUCCIÓN DE PATENTE EUROPEA. Título: Receptor con guía electrónica de programas multiusuario concurrente

El Sistema Gestor de Base de Datos (DBMS)

Análisis y Diseño de Sistemas

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

Arquitecturas de Software

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

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

Curso Microsoft SharePoint Server 2010 Designing and Developing Applications (10232)

Diagramas de interacción

Diagramas de secuencia

Requerimientos de Software

Arquitectura Cliente/Servidor

Programación orientada a

Tema 4. Diseño arquitectónico.

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

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

Aseguramiento de Calidad en el Desarrollo de Software Libre

Documento de Arquitectura de Software IEEE

Capítulo 16. Diagrama de Clases UML

APLICACIONES DE INTERNET: SOAP

Premios CONTRATOS Y PROYECTOS SMART CITIES 2014

Universidad Autónoma del Perú Ingeniería de Sistemas. Ing. Heyner Ninaquispe Castro Sesión 1

UNIDAD I: INTRODUCCIÓN A LA ARQUITECTURA DE SOFTWARE

Comunicación entre procesos

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Threads, SMP y Microkernels. Proceso

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web

Software Design Description Caracterización de la comunidad. 06/07/2012 Fabián García Ariel López

Objetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva

Deswik.Sched Planificación con Diagramas de Gantt

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

MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa

Descripción del Curso

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Capítulo 2.- Marco Teórico

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

Qué es Internet? Cómo funciona Internet?

Programa de estudios por competencias Arquitectura de computadoras

Proceso Unificado (Iterativo e incremental)

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

CASOS DE USO Exploración de Requerimientos

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

ARQUITECTO DE SOFTWARE ESB TIBCO (CONSULTOR SÉNIOR ESB TIBCO)

Diseño del Sistema de Información

Bases de datos en entorno Internet

UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura

Sistemas Distribuidos: Migración de Procesos

1. Cuál es el objetivo del Diseño del Sistema de Información? del sistema. información. a. 5. b. 4. c. 3. d. 2. c. Diseño de. b.

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

La importancia del desarrollo para el buen diseño del software

ESCUELA COMERCIAL DE LA CIUDAD DE MÉXICO

ARC 101 Architecture Overview Diagram

Transcripción:

Qué es la Arquitectura del Software? 1 Arquitectura del software: definiciones Paul lements 1996 La arquitectura del software es a grandes rasgos, una vista del sistema que incluye los componentes principales del mismo, la conducta de esos componentes según se percibe desde el resto del sistema y las formas en que los componentes interactúan y se coordinan para alcanzar la misión del sistema. Len Bass 1998 La arquitectura del software de un programa o sistema de computación es la estructura o las estructuras del sistema, que contienen componentes de software, las propiedades externamente visibles de dichos componentes y las relaciones entre ellos. IEEE Std. 1471-2000 La arquitectura del software es la organización fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y con el entorno, y los principios que orientan su diseño y evolución. Qué es un componente? 2

Noción de componente y dependencia <<component>> A Dependencia A: A requiere la presencia de Los cambios de pueden afectar a A <<component>> B <<component>> Si A depende de B entonces... a) B invoca los servicios que ofrece A, por tanto A no hace nada si no es gracias a B. b) Si se modifica A para que ofrezca un nuevo servicio, probablemente también habrá que modificar B para que esto sea posible. c) B puede ser sustituido por sin necesidad de realizar ningún cambio en A, siempre que ofrezca un conjunto de servicios equivalente a B. d) Es posible añadir nuevos servicios en B sin necesidad de realizar ningún cambio en A.. 3 Interfaces y flujo de información En la interfaz Iostrar del siguiente diagrama de componentes, De qué componente a qué componente se transfiere la información? a) De ista a Usuario. b) De Usuario a ista. c) No se puede asegurar la dirección del flujo de información.. d) Ninguna de las anteriores. Dados dos componentes A y B, donde A proporciona una interfaz que requiere B, es posible que A reciba información de B? a) No es posible, ya que el que realiza peticiones es B. b) Sí es posible, si A proporciona métodos en los que introducir información.. c) Sí es posible, ya que la dependencia inducida A B lo permite. d) No es posible, para lograrlo sería necesario proporcionar una interfaz bidireccional. 4

Recapitulación: nodos y flechas Nodos: típicamente representan osas: objetos, conceptos Acciones: tareas, procesos, (estados), (metas) Flechas: típicamente representan ovimiento: secuencia temporal, transición, flujo de información, flujo de control ausalidad: influencia, implicación física o lógica, dependencia conceptual Flujo de control Flujo de información ómo hacer que llegue información desde A hasta B. Dependencia conceptual Flujo de información Quién conoce a quién? Dependencias inducidas Generalización Asociación estructural : declarada y representada explícitamente Asociación contextual : variable global, variable local, parámetro 5 Ejemplo 1: OS Los bloques representan componentes. Las flechas significan relaciones de dependencia de uso. IU GU GFD GF GOA G GR BD/cfg FD BD/res 6

Ejemplo 2: GDN IU ap Grf Gen Opt FE S4 FG 7 Ejemplo 3: AER IU/Profesional IU/Paciente Actividades Pacientes Transferencia /Profesional Transferencia /Paciente Ejercitador Transferencia Remota BD Datos Servicios Android 8

Arquitectura modelo-vista-controlador (original) Acciones del usuario ontrolador odificaciones en la vista ista Información al usuario onsultas y modificaciones en el modelo odelo onsultas al modelo Adaptado de E. Braude, Software Engineering: An Object-Oriented Perspective 9 Arquitectura modelo-vista-controlador (moderna) omunicación con el usuario ista omportamientos complejos ontrolador onsultas en el modelo odelo onsultas y modificaciones en el modelo odelo-ista-ontrolador original 10

Arquitectura modelo-vista-controlador (en capas) omunicación con el usuario ista omportamientos complejos onsultas en el modelo ontrolador onsultas en el modelo odelo onsultas y modificaciones en el modelo moderno original 11 Para qué sirve la Arquitectura del Software Para qué sirve la Arquitectura del Software D y DT y P Entonces, cuál es la relación que más nos interesa? Aplicación: el culebrón Recapitulación Qué es un componente ( no sólo en la vista de desarrollo!) ómo se relacionan unos componentes con otros Puntos de vista IEEE Std. 1471-2000: La arquitectura del software es la organización fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y con el entorno, y los principios que orientan su diseño y evolución. 12

El modelo de 4+1 vistas arquitectónicas ista lógica (conceptual) ista de desarrollo (implementación) ista de casos de uso ista de proceso (ejecución) ista física (despliegue) 13 aracterísticas de cada vista en el modelo 4+1 ista Lógica (conceptual) Proceso (ejecución) Desarrollo (implementación) Física (despliegue) Aspecto odelo de información oncurrencia y sincronización Organización del software en el entorno de desarrollo orrespondencia software-hardware Stakeholders Usuarios finales Integradores del sistema Programadores Ingenieros de sistemas Requisitos Funcionales Rendimiento Disponibilidad Fiabilidad oncurrencia Distribución Seguridad Gestión del software Reuso Portabilidad antenibilidad Restricciones impuestas por la plataforma o el lenguaje Rendimiento Disponibilidad Fiabilidad Escalabilidad Topología omunicaciones Notación lases y asociaciones Procesos y comunicaciones omponentes y relaciones de uso Nodos y rutas de comunicación 14

Arquitectura vs Requisitos: Twin Peaks Bashar Nuseibeh Weaving Together Requirements and Architectures IEEE omputer 34(3): 115-117, arch 2001, pp. 115-117. 15 Relaciones entre las cuatro vistas minimizar dependencias nuevas clases de diseño ista lógica (conceptual) ista de desarrollo (implementación)? identificar clases activas ista de proceso (ejecución) ista física (despliegue) requisitos no funcionales ale, y en qué orden? 16

ista lógica (conceptual) + ista de proceso (ejecución) 17 ista de desarrollo (implementación) + ista física (despliegue) 18