Ingenieria de software - Unidad 3 arquitecturas de software
1,971 views
28 slides
Sep 18, 2016
Slide 1 of 28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
About This Presentation
Ingenieria de software - Unidad 3 arquitecturas de software
Size: 1 MB
Language: es
Added: Sep 18, 2016
Slides: 28 pages
Slide Content
Ingeniería en Sistemas Computacionales Fundamentos de Ingeniería de Software Unidad III: Arquitecturas de Software Este material está desarrollado para la asignatura Fundamentos de Ingeniería de Software, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224 FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Competencia: Identificar y establecer los lineamientos formales para el desarrollo de aplicaciones robustas , tomando decisiones técnicas relacionadas con la arquitectura de la aplicación como guía para el diseño de la misma. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Diseño en el contexto de la ingeniería de software El diseño del software siempre debe empezar con en el análisis de los datos, pues son los fundamentos de todos los demás elementos del diseño. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Lineamientos y atributos de la calidad del software Características que funcionan como guía para un buen diseño: FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Lineamientos de Calidad FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Atributos de la Calidad FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Conceptos de diseño Abstracción: Es uno de los modos fundamentales con los que los humanos luchamos con la complejidad. Arquitectura: Es el producto del trabajo de desarrollo que tiene la rentabilidad más alta para una inversión en cuanto a calidad, secuencia de actividad y costo. Patrones: Describe un problema que ocurre una y otra vez en nuestro ambiente, por lo que describe el núcleo de la solución de ese problema, en forma tal que puede usarse ésta un millos de veces sin repetir lo mismo ni una sola vez . FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
División de problemas: Cualquier problema complejo puede manejarse con mas facilidad si se subdivide. Modularidad: Es la manifestación mas común de la división de problemas, cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes . Ocultamiento de la Información: Es esconder los detalles de las estructuras de datos y el procesamiento tras una interfaz de modulo. Rediseño: Proceso de cambiar un sistema de software en forma tal que no se altera el comportamiento externo del código (diseño), pero si mejora la estructura interna . FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Definición de Arquitectura de Software Una arquitectura software consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Importancia de la Arquitectura FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Géneros Arquitectónicos Inteligencia artificial Comerciales y no lucrativos Comunicaciones Contenido de autor Dispositivos Entretenimiento y deportes Financieros Juegos Gobierno Industrial Legal Médicos Militares Sistemas Operativos Plataformas Científicos Herramientas Transporte Utilidades FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Estilos arquitectónicos Son una transformación que se impone al diseño de todo el sistema. El objetivo es establecer una estructura para todos los componentes del sistema. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Taxonomía de estilos de arquitectura Arquitecturas: Centradas en los datos De flujo de datos D e llamar y regresar En capas FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Arquitectura centrada en datos FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Ejemplo FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Arquitectura de flujo de datos FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Ejemplo FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Arquitectura de llamar y regresar Permite a los diseñadores de software conseguir estructuras relativamente fáciles de modificar y escalar . Podemos encontrar diferentes estilos dentro de este tipo : Programa principal/subprograma Descompone las funciones en una jerarquía de control donde el programa principal invoca a programas subordinados los cual esa su vez invocan a otros . Llamada a procedimiento remoto . Los componentes de la arquitectura son distribuidos entre diferentes ordenadores de la red. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Ejemplo FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Arquitectura Orientada a Objetos FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Arquitectura en capas Se definen como un conjunto de niveles o capas cada nivel interno que se atraviesa se aproxima mas al nivel del conjunto de instrucciones maquina. Sistemas en capas puros. Cada capa solo puede comunicarse con las vecinas. Esta solución aunque menos eficiente facilita la portabilidad en los diseños. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Ejemplo FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Diseño arquitectónico FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Representación del sistema en el contexto El contexto arquitectónico representa la manera en la que el software interactúa con las entidades externas a sus fronteras. (fig. 9.6) Arquetipos Son bloques constructivos de un diseño arquitectónico. Sirven de base para la clasificación y establece caridad. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Método de la negociación para analizar la arquitectura FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Lenguaje de descripción arquitectónica (LDA) FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Mapeo de la Arquitectura con el uso del flujo de datos. Mapeo de transformación FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Bibliografía Pressman , R.S. Ingeniería del Software un Enfoque Práctico. McGraw-Hill. Madrid, España. 2008. Kendall E. K., Análisis y Diseño de sistemas. 1ª. Edición. Prentice Hall. México. 2005. FUNDAMENTOS DE INGENIERÍA DE SOFTWARE