La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seminario de Arquitectura de Software

Presentaciones similares


Presentación del tema: "Seminario de Arquitectura de Software"— Transcripción de la presentación:

1 Seminario de Arquitectura de Software
Otoño 2008 Profesor: Cecilia Bastarrica Auxiliar: Julio Ariel Hurtado

2 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

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

4 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

5 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

6 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

7 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

8 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

9 ¿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

10 ¿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

11 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

12 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

13 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

14 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

15 ¿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

16 ¿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

17 ¿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

18 ¿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

19 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

20 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

21 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

22 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


Descargar ppt "Seminario de Arquitectura de Software"

Presentaciones similares


Anuncios Google