Arquitectura de Software. Contenido 1. Introducción 2. Características de la arquitectura 3. Los casos de uso y la arquitectura 4. Descripción de la arquitectura.

Slides:



Advertisements
Presentaciones similares
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Advertisements

Introducción Framework 3.0. Introducción Junto con Windows Vista se libera al mercado una serie de tecnologías para desarrolladores de software que cambiarán.
Modelo de 2 Capas Cliente/Servidor.  Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
Construyendo soluciones Web con SIU-Toba Juan Bordón Sebastián Marconi
"Si he logrado ver más lejos ha sido porque he subido a hombros de gigantes" Isaac Newton
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
1 Universidad Del Caribe Telemática Sistemas Operativos Distribuidos y de Tiempo Real “Modelos de Sistemas” Profesor: Joel Antonio Trejo Sánchez Integrantes:
FUNDAMENTOS DEL ANÁLISIS DE SISTEMAS Un sistema es un conjunto de componentes que se unen e interactúan entre si para formar un todo en base a un mismo.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
¿Qué es y cómo se clasifica?. El software es un conjunto de programas y aplicaciones que forman el sistema informático (datos y programas de la computadora),
Informática Empresarial Docente – Carlos Andrés Bonil Mariño INFORMATICA EMPRESARIAL  CARLOS ANDRES BONIL MARIÑO  INGENIERO DE SISTEMAS.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
La Plataforma Holmes Irisel Consulting 2016.
Herencia Multiple en Java
Arquitectura y Patrones de diseño.
CLIENTE - SERVIDOR INTEGRANTES: JORGE MORA ERICK SALTOS FREDDY SERNAQUE ANGGIE REYES.
El Lenguaje de Modelación Unificado
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
U.T. 11: Introducción A Las Bases De Datos
Gestión de Riesgos Corporativos
MODELO CLIENTE -SERVIDOR
ARQUITECTURA DE COMPUTADORES
Customer Relationship Management
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
METODOLOGÍA DE SISTEMAS
UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Definición de un Sistema Distribuido
PROVEEDOR DATA WAREHOUSE TERADATA
Ingeniería del Software
Principales desafíos: adaptabilidad y agilidad empresarial
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
ARQUITECTURA DE APLICACIONES WEB.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
Comprensión y obtención de los requerimientos
Desarrollo de Software (SIG) Estudiante: Alejandro Milan Villarroel Hidalgo.
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
Servidores web. ¿Cómo funciona la web? Internet Cliente Web ( Netscape, Internet Explorer, Firefox, etc.) Servidor Web Servidor de nombres (DNS) 2.
Java Enterprise edition
Arquitectura cliente/servidor 2008
Unidad 1. Introducción a las Bases de Datos FUNDAMENTOS DE BASE DE DATOS.
Conceptos relacionados con la interfaz gráfica Taller de diseño página Web.
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
PARÁMETROS PARA LA PRESENTACIÓN DE PROYECTOS EN LA ESCUELA DE TECNOLOGIAS E INNOVACION. ING. Hugo de Jesús Peláez Giraldo Líder Escuela de Tecnologías.
BASE DE DATOS (Parte N°1) Docente: Lic. David I. López Pérez.
1 Introducción al proceso unificado de desarrollo de software.
Fundamentos del analisis de sistemas de Información Integrantes: Cavero Parraguez, Jesús Espinoza Paz, Julio Daniel Sandoval Chanamé, Kazuo Santisteban.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
INTEGRACIÓN DE SISTEMAS DE GESTIÓN MTO. LUIS EDUARDO ROCHA MAGAÑA Integración de Sistemas de Gestión.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE SISTEMAS OPERATIVOS - ROY CANEPA JUAN FABIO
Estructura de los Sistemas Operativos
SISTEMAS OPERATIVOS Estudiante: Rojas De la Cruz Jesus Manuel. Ciclo: VI. Turno: Noche.
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Arquitectura de Software

Contenido 1. Introducción 2. Características de la arquitectura 3. Los casos de uso y la arquitectura 4. Descripción de la arquitectura 5. Vistas de la arquitectura 6. Estilos arquitectónicos

Rendimiento Disponible Fiable Amigable Verificable CalidadSeguro Portable Mantenible ¿Cómo conseguir estos requisitos?

El Arquitecto de Software Posee la responsabilidad técnica más importante. Adapta el sistema a las restricciones. Establece una estructuración correcta del sistema utilizando un conjunto de estrategias, herramientas y patrones de diseño.

¿Qué es la Arquitectura? “… es una descripción de los subsistemas y los componentes de un sistema informático y las relaciones entre ellos (... )” PRESSMAN

“… La arquitectura de un sistema constituye un amplio marco que describe su forma y su estructura, sus componentes y cómo estos interactúan (... )” Jerrold Grochow ¿Qué es la Arquitectura?

La organización del sistema de software. La selección de elementos estructurales y sus interfaces con sus comportamientos. La composición de estos elementos y subsistemas progresivamente mayores. La arquitectura abarca decisiones significativas sobre:

Características esenciales de RUP  Proceso Dirigido por los Casos de Uso  Proceso Iterativo e Incremental  Proceso Centrado en la Arquitectura

Proceso centrado en la arquitectura En el contexto del ciclo de vida del software la arquitectura se usa como artefacto primordial para: – Conceptualización – Construcción – Gestión – Evolución del sistema

Se necesita una arquitectura para: Comprender el sistema Organizar el desarrollo Fomentar la reutilización Hacer evolucionar el sistema

Establecer una arquitectura sólida objetivo

Casos de uso Arquitectura Experiencia Software del sistema Capa intermedia Sistemas heredados Estándares y políticas Requisitos no funcionales Necesidades de distribución Arquitecturas anteriores Patrones de arquitectura

Casos de Uso y Arquitectura La arquitectura y los casos de uso evolucionan en paralelo conduce guía Funcionalidad Forma Arquitectura Casos de Uso

¿Que es primero la Arquitectura o los Casos de Uso? Primero se construye una arquitectura tentativa (básica). Se escogen un par de casos de uso y se adaptan a la arquitectura para que los soporte. Luego se seleccionan otros casos de uso y se construye una arquitectura todavía mejor.

¿Que es primero la Arquitectura o los Casos de Uso? Iteración 1 Iteración 2 Mejora la arquitectura Arquitectura básica

Casos de Uso relevantes para la Arquitectura Los más importantes para los usuarios. Cubren las funcionalidades más significativas. Los de mayor riesgo.

Trabajadores

La arquitectura representa elementos significativos de cada modelo Es una descripción “pequeña” del sistema Se representa mediante vistas del modelo del sistema Descripción de la arquitectura

Vista Lógica Vista de Implementación Vista de Procesos Vista de Despliegue Vistas arquitectónicas Vista de Casos de Uso

Vista de Casos de Uso Presenta los Casos de Uso o escenarios del modelo de Casos de Uso más significativos funcionalmente.

Vista Lógica (funcionalidad) Representa un subconjunto del Modelo de Diseño. Muestra realizaciones de casos de uso, clases (fundamentalmente clases activas), paquetes y subsistemas más significativos arquitectónicamente.

Vista Lógica (funcionalidad) Paquete de alto nivel Subsistemas de diseño e interfaces Representa un conjunto arquitectónicamente significativo de: Paquetes Clases Realizaciones CU

ITransferencia «subsystem» Gestión de Cuentas «subsystem» Transacciones IRetirada IEntrega «subsystem» Interfaz del CA Vista Lógica (funcionalidad)

Vista de Implementación Muestra la organización y dependencia entre componentes. Normalmente cada subsistema de servicio acaba siendo un componente. «subsystem» Transacciones «component» Transacciones

«component» Interfaz del CA «component» Transacciones «component» Gestión Cuentas

Vista de Despliegue Esta vista suministra una base para la comprensión de la distribución física de los objetos activos de un sistema a través de nodos. Suele utilizarse cuando el sistema está distribuido.

Cliente Windows Internet Explorer Página HTML Presentación Internet Explorer Vista de Despliegue ISS Aspx.cs Lógica Presentación Servidor Web > Lógica Negocio > Acceso Datos SQL Server 2K Tablas Procedimientos Almacenados Servidor BD Windows 2K

Vista de Procesos Solo suele usarse cuando el sistema presenta procesos concurrentes o hilos. Esta vista suministra una base para la comprensión de la organización de los procesos de un sistema, ilustrados en el mapeo de las clases y subsistemas en procesos e hilos.

Los estilos de arquitectura guían a la organización del sistema de software. Estos incluyen reglas y líneas a seguir para la organización de un sistema. Estilos y patrones de Arquitectura

¿Qué es un patrón? “una solución a un problema de diseño que aparece con frecuencia”

Patrones de diseño Facade Decoretor Proxy Observer Strategy Visitor Singelton Se implementan de una forma muy directa en los lenguajes orientados a objetos

Patrones de arquitectura Capas Tubería-Filtros Broker Blackboard Horizontal-Vertical Metadata MVC Se manejan en un esquema de sistemas o subsistemas e interfaces *

Interfaz de Usuario Lógica de Interfaz de Usuario Fachada de Negocio Acceso a DatosEntidades del Negocio Acceso a Servicios Patrón de diseño en capas.

Patrones de distribución Cliente/Servidor Tres capas Peer to Peer Definen una estructura para el modelo de despliegue

Origen de datos Servicios Capa de Datos Capa de Presentación Capas Empresariales Usuarios Arquitectura en capas. Componentes separados en capas según sus funciones Servicios de llamadas

Arquitectura Orientada a Servicios (SOA)

Arquitectura sobre J2EE

Plataforma J2EE.

El modelo de desarrollo de J2EE.

Arquitectura J2EE.

Patrón Modelo-Vista-Controlador (MVC)

Arquitectura Struts.

Arquitecturas de servicios sobre.NET

Un servicio es: Bloque de software con una funcionalidad definida, independiente del proceso que lo utiliza, autocontenido, independiente del contexto.

Orígenes Crecimiento de Internet y las tecnologías relacionadas Necesidad de integración de sistemas empresariales entre límites de departamento y organización.

Arquitectura orientada a servicios (AOS)

¿Qué es un servicio Web? “Unidad discreta de la lógica de una aplicación que expone interfaces basadas en mensajes, adecuadas para ser utilizadas a través de una red” [Microsoft02-2]

Ejemplo de AOS

Mensajes sincrónicos Proveedor Consumidor Petición Respuesta Simple

Mensajes asincrónicos Proveedor Consumidor Petición Respuesta Complejo Alta disponibilidad, escalabilidad

Solución basada en servicios

Arquitecturas basas en capas

Diseño de los componentes de una aplicación.

Escenario de ejemplo

Principales componentes

Componentes de Interfaz de Usuario. 1 Procesar y dar formato a los datos de los usuarios, así como adquirir y validar los datos entrantes procedentes de éstos.

2 Componentes de Proceso de IU. Dirigen la forma en que los usuarios interactúan con los sistemas, en los casos en que esta interacción sigue patrones predecibles.

3 Flujos de trabajo empresariales. Gran parte de los procesos empresariales conllevan la realización de varios pasos, los cuales se deben organizar y llevar a acabo en un orden determinado

4 Componentes empresariales. Implementan las reglas empresariales y realizan las tareas empresariales o de negocio

5 Agentes de servicios. Administran la semántica de la comunicación con uno o más servicio

6 Interfaces de servicios. Exponen lógica empresarial como un servicio.

7 Componentes lógicos de acceso a datos. Se encargan de abstarer a los procesos de negocio de las peculiaridades del medio en que se encuentran almacenada la información que es gestionada

8 Entidades empresariales Representan objetos de la vida real y permiten el paso de datos entre distintos componentes

9 Administración del funcionamiento. Para realizar la administración de excepciones, autorizar a los usuarios a que realicen tareas determinadas y comunicarse con otros servicios y aplicaciones.