Seminario de Arquitectura de Software

Slides:



Advertisements
Presentaciones similares
* Es el proceso de organizar, planear, dirigir y controlar; actividades y recursos con el fin de lograr un objetivo.
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.
UNIVERSIDAD AUTONOMA DE SAN FRANCISCO DISEÑO Y DISTRIBUCIÓN DE PLANTA 2016 – I Ing. Maria del Pilar Vera Prado.
CONCEPTO INGENIERÍA DE SOFTWARE  Analiza, diseña y desarrolla productos de sistemas software, proponiendo la plataforma tecnológica más apropiada. Domina.
NORMA ISO DIS 9001:2015 Draft International Standard.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
Análisis de Proyecto de Software.
GESTIÓN DEL RIESGO E INGENERÍA DE SOFTWARE BASADO EN COMPONENTES
Metodología de Implementación de Sistemas ERP
SISTEMAS DE INFORMACION GERENCIAL
Ciclo de vida del producto y decisiones de selección del proceso
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Ingeniería de Software
CC4401 – Ingeniería de Software I
Herramienta de Gestión de Inventario de Activos
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
U.T. 11: Introducción A Las Bases De Datos
CICLO DE VIDA DEL SOFTWARE
Cualidades del Software
Seminario de Arquitectura de Software
Conceptos y definición básicos
Customer Relationship Management
Caracterización de los Procesos de Negocio
Cualidades del Software
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Ingeniería en Sistemas de Información
MEJORA EN LA TOMA DE DECISIONES
«SIETE FASES DEL CICLO DEL DESARROLLO DE SISTEMAS.»
Ingeniería de Sistemas Requerimientos
Tema 3. Lenguaje unificado de modelado UML
CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Definición de un Sistema Distribuido
INGENIERÍA DE MÉTODOS Iván R. Coronel, PhD 2016.
Metodología de la programación
Ingeniería del Software
Principales desafíos: adaptabilidad y agilidad empresarial
Ciclo de Vida del Software
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
ARQUITECTURA DE SOFTWARE Y SUS COMPONENTES Integrantes: Luis Morel Braulio Jiménez Yeuris Ossers Rawel Lauciano
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
DEPARTAMENTOS DE SI/TI EN LAS ORGANIZACIONES
Ciclo de vida del Software
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.
Análisis y diseño de aplicaciones. Introducción Crisis del software - conferencia organizada en 1968 por la Comisión de Ciencias de la OTAN en Garmisch.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
METODOLOGIAS AGILES VS TRADICIONALES SCRUM - RUP FABIO ARNOBY BEJARANO Q. UNIREMINGTON BUGA (V) INGENIERIA DE SOFTWARE II SEPTIEMBRE 2018.
CICLO DE VIDA DE SOFTWARE
DISEÑO DE SOFTWARE 1ª. Parte
Identificación y Clasificación de los Componentes Reutilizables.
Identificación y Clasificación de los Componentes Reutilizables.
INTRODUCCIÓN A LA INVESTIGACIÓN DE MERCADOS. 1. CONTROL E IMPORTANCIA DE LA MERCADOTECNIA MERCADOTECNIA: Mercadotecnia es el proceso social y administrativo.
Planes del Proyecto.
Tema: Administración de la configuración de software UNIVERSIDAD TECNOLÓGICA ISRAEL CALIDAD DE SOFTWARE.
Norma IEC 1131 Norma IEC 1131 en STEP 7 NORMA IEC 1131 EN STEP 7
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
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.
Fundamentos del analisis de sistemas de Información Integrantes: Cavero Parraguez, Jesús Espinoza Paz, Julio Daniel Sandoval Chanamé, Kazuo Santisteban.
IEEE-STD PRÁCTICA RECOMENDADA PARA LA ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
MODELO EN CASCADA Integrantes: Felipe Alemán Lester Blandón.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
TEMA: Funciones, Roles y Procesos Docente: Jesús Ulloa Ninahuamán.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
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:

Seminario de Arquitectura de Software Otoño 2008 Profesor: Cecilia Bastarrica cecilia@dcc.uchile.cl Auxiliar: Julio Ariel Hurtado jhurtado@dcc.uchile.cl

Hitos del Curso 5 tareas incrementales acerca de un proyecto 2 controles de materia 2 controles de lectura Eximición: Promedio mayor o igual a 5.5 en tareas Promedio mayor o igual a 5.5 en controles (Control I + Control II + (Lectura I + Lectura II) / 2) / 3

Distribución del Costo del Software Arquitectura de Software - Introducción

Costos de Mantenimiento del Software Test y depuración Implementar cambios Rastrear lógica Definir Analizar documentos Actualizar Más del 50% del tiempo del programador encargado de mantenimiento está dedicado a comprender el código y la documentación del sistema. Arquitectura de Software - Introducción

Arquitectura en el proceso de desarrollo Requisitos Diseño Arquitectura Reducir los costos de mantenimiento directa e indirectamente. Aclarar intenciones. Hacer explícitas las decisiones. Permitir análisis a nivel de sistemas. Diseño Detallado Programación Test Mantenimiento Arquitectura de Software - Introducción

Arquitectura de Software La arquitectura de un programa o sistema computacional es la estructura o estructuras de ese sistema, y comprende las componentes del software, sus propiedades externamente visibles, y las relaciones entre las mismas. Arquitectura de Software - Introducción

Arquitectura de Software La arquitectura de software es un nivel de diseño diferente de los algoritmos y las estructuras de datos: el diseño y la especificación de la estructura del sistema como un todo es entonces un nuevo problema. Los elementos estructurales incluyen: la organización y el control globales, los protocolos de comunicación, la distribución física, la composición de elementos de diseño, la escalabilidad y el rendimiento, y la elección entre distintas alternativas de diseño. Arquitectura de Software - Introducción

Arquitectura de Software es: Un diseño de alto nivel. La estructura del sistema. Las componentes de un programa o sistema, sus relaciones, y principios que gobiernan su diseño y su evolución en el tiempo. Componentes y conectores. Componentes, conectores, configuración y restricciones. No hay una definición única Arquitectura de Software - Introducción

¿Para qué la Arquitectura de Software? Las personas necesitan pensar, diseñar, codificar, y comunicarse en términos de grandes bloques conceptuales. Abstracción Es necesario escapar de los desarrollos excesivamente personalizados y estandarizar el diseño. Reutilización de patrones de arquitectura Es necesario diseñar sistemas de larga vida. Reutilización de componentes particulares Arquitectura de Software - Introducción

¿Para qué más? Productividad en el desarrollo: actualmente solamente se reutiliza el código y las estructuras de datos. Atacar otros problemas del ciclo de vida del software: Modificabilidad, portabilidad, escalabilidad, seguridad. A medida que el tamaño del sistema crece, las soluciones a estos problemas radican más en la arquitectura. Tener un lenguaje común para diseñadores, desarrolladores y usuarios. Arquitectura de Software - Introducción

Ciclo de Vida de la Arquitectura Los objetivos de la organización influencian los requisitos. Los requisitos nos llevan a un diseño de arquitectura. La arquitectura da como resultado un sistema. Los sistemas construidos sugieren nuevas oportunidades para la organización y nuevos requisitos. Arquitectura de Software - Introducción

Influencias sobre el Arquitecto de Software Administrador de la organización desarrolladora Bajos costos, mantener a la gente ocupada Encargado de Marketing Elementos atractivos, corto tiempo para poner en el mercado, bajos costos, comparable con productos de la competencia Usuario Final Comportamiento apropiado, performance, seguridad, confiabilidad Organización encargada del mantenimiento Mantenibilidad Cliente Bajos costos, entrega a tiempo, sin cambios frecuentes Arquitecto Arquitectura de Software - Introducción

Influencias sobre la Arquitectura Influencias del Arquitecto Cliente y usuario final Organización desarrolladora Ambiente técnico Experiencia del arquitecto Requisitos (cualidades) Arquitecto Arquitectura Sistema Arquitectura de Software - Introducción

Etapas de Desarrollo Basado en Arquitectura Hacer un caso de negocio para el sistema Comprender los requisitos Crear o seleccionar una arquitectura Representar y comunicar la arquitectura Analizar o evaluar la arquitectura Implementar el sistema basado en la arquitectura Asegurar que la implementación se ajusta a la arquitectura Arquitectura de Software - Introducción

¿Cómo se hace una buena arquitectura? La arquitectura debe ser producida por un solo arquitecto o un grupo pequeño. El arquitecto debe disponer de los requisitos técnicos del sistema y una lista priorizada de propiedades cualitativas que se espera que el software satisfaga. La arquitectura debe estar bien documentada usando una notación acordada que todos los interesados puedan comprender con poco esfuerzo. Se debe facilitar la arquitectura a los interesados, los cuales deben estar involucrados activamente en su revisión. Arquitectura de Software - Introducción

¿Cómo se hace una buena arquitectura? La arquitectura debe analizarse para comprobar sus medidas cuantitativas y propiedades cualitativas antes de que sea muy tarde para cambiarla. La arquitectura debe permitir crear un esqueleto de sistema donde se reflejen todas las vías de comunicación pero con mínima funcionalidad. El diseño de la arquitectura debe dar como resultado un conjunto específico de áreas críticas de consumo de recursos, cuya resolución estará claramente documentada y mantenida. Arquitectura de Software - Introducción

¿Cómo es una buena arquitectura? Los módulos deben diseñarse con el principio de separación de intereses distintos grupos de trabajo pueden desarrollarlos independientemente La información oculta incluirá todo aquello dependiente de la infraestructura tecnológica. Cada módulo tendrá una interfaz definida que oculta a los otros módulos los aspectos cambiables. La arquitectura no debe depender de una versión particular de un producto comercial. De ser así, éste debe estar estructurado de modo que sea fácil y barato cambiarlo. Arquitectura de Software - Introducción

¿Cómo es una buena arquitectura? Los módulos que producen y los que consumen datos deben estar separados: esto tiende a aumentar la mantenibilidad porque en general sólo una parte cambia. Cada tarea o proceso debe describirse de modo que su asignación a un procesador específico pueda ser fácilmente cambiada, aún durante su ejecución. La arquitectura debe seguir uno o unos pocos patrones de interacción: mayor comprensión, menor tiempo de desarrollo, mayor confiabilidad, mayor modificabilidad. Arquitectura de Software - Introducción

Importancia de la Arquitectura comunicación entre las personas involucradas, documentación temprana de las decisiones de diseño, restricción de la implementación, la arquitectura dicta la estructura organizacional, facilita o inhibe propiedades del sistema, permite predecir cualidades del sistema, facilita la administración de la evolución, una abstracción transferible del sistema, las líneas de productos comparten arquitectura, pueden usarse COTS, base para el entrenamiento de nuevo personal. Arquitectura de Software - Introducción

Grabadora IP Una empresa desea desarrollar un software de grabación de conversaciones sobre telefonía IP para un centro de llamados. Existen soluciones comerciales para esta funcionalidad, pero tienen altos costos de licencias. La empresa quiere hacer este desarrollo para usarlo en sus instalaciones venderlo a otras empresas Se desea que la aplicación tenga un módulo adicional para oir las conversaciones en tiempo real, eligiendo la operadora a través de una interfaz web. Arquitectura de Software - Introducción

Grabadora IP: Stakeholders y Cualidades Usuarios: operadoras Desean que la grabadora no entorpezca su labor Debe consumir pocos recursos para no constituir un cuello de botella Cliente: dueño del centro de llamadas Bajo costo y rápido desarrollo Flexible para adaptarse a distintos centros de llamados Escalable, portable Marketing: encargado de venderlo Fácil de instalar Desarrolladores Desarrollo en plataforma y tecnología conocida Mantenedores Desarrollo en plataforma y tecnología estándar Arquitectura de Software - Introducción

Grabadora IP Centro de Llamadas Red telefónica exterior Central IP Arquitectura de Software - Introducción Grabadora IP Centro de Llamadas Red telefónica exterior Central IP Operadoras guardar sniffer