You are on page 1of 29

Arquitectura de Software

Fundamentos de Ingeniera de Software Por: Liliana Pacheco . Tutor: Danilo Jaramillo

Diseo en el contexto de la ingeniera de software


El diseo del software siempre debe empezar con en el anlisis de los datos, pues son los fundamentos de todos los dems elementos del diseo.

Lineamientos y atributos de la calidad del software


Caractersticas que funcionan como gua para un buen diseo:
Debe implementar todos los requerimientos contenidos en el modelo de requerimientos.

Debe ser una gua legible y comprensible para quienes generan el cdigo y para quienes lo prueban.

Lineamientos de Calidad
Debe tener una arquitectura que:
Se haya creado con el empleo de estilos arquitectnicos reconocibles. Est compuesta de componentes con buenas caractersticas de diseo. Se implementen en forma evolutiva

Debe ser modular: dividido lgicamente en elementos y subsistemas. Debe contener distintas representaciones arquitectura, interfaces y componentes. Debe llevar componentes funcionales independientes. que tengan de datos

caractersticas

Debe representarse con una notacin que comunique con eficacia su significado

Atributos de la Calidad
Funcionabilidad Caractersticas y Capacidades

Usabilidad Factor Humano

Confiabilidad Exactitud de los resultados

Rendimiento Velocidad

Mantenibilidad Capacidad de Ampliacin

Conceptos de diseo
Abstraccin 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 ms alta para una inversin 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 ncleo de la solucin de ese problema, en forma tal que puede usarse sta un millos de veces sin repetir lo mismo ni una sola vez.

Divisin de problemas Cualquier problema complejo puede manejarse con mas facilidad si se subdivide

Modularidad Es la manifestacin mas comn de la divisin de problemas, cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes.

Ocultamiento de la Informacin Es esconder los detalles de las estructuras de datos y el procesamiento tras una interfaz de modulo.

Rediseo Proceso de cambiar un sistema de software en forma tal que no se altera el comportamiento externo del cdigo (diseo), pero si mejora la estructura interna.

Definicin 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 construccin del software para un sistema de informacin.

Importancia de la Arquitectura
Permiten la comunicacin entre las partes interesadas en el desarrollo de un sistema basado en un sistema de computadora.

Resalta las primeras decisiones que tendrn un efecto profundo en todos los trabajos de IS siguiente.

Constituye un modelo relativamente pequeo y asequible por la va intelectual sobre como esta estructurado el sistema y la forma en que sus componentes trabajan juntos

Gneros Arquitectnicos
Inteligencia artificial Industrial Comerciales y no Legal lucrativos Mdicos Comunicaciones Militares Contenido de autor Sistemas Operativos Dispositivos Plataformas Entretenimiento y Cientficos deportes Herramientas Financieros Transporte Juegos Utilidades Gobierno

Estilos arquitectnicos
Son una transformacin que se impone al diseo de todo el sistema. El objetivo es establecer una estructura para todos los componentes del sistema.

Taxonoma de estilos de arquitectura


Arquitecturas:
Centradas en los datos De flujo de datos De llamar y regresar En capas

Arquitectura centrada en datos


Como parte central en esta arquitectura aparece un almacn de datos es cual es accedido frecuentemente por otros componentes que actualizan aaden y borran dichos componentes. El software cliente accede a un repositorio vaco.

Las arquitecturas centradas en datos proporcionan integridad, es decir los componentes existentes pueden cambiar y pueden aadirse nuevos componentes a la arquitectura sin que afecte a otros clientes.

Ejemplo

Arquitectura de flujo de datos


Se basa en un patrn tuberas y filtros. Este consta de un conjunto de componentes denominados filtros conectados entre si por tuberas que transmiten los datos desde un componente al siguiente. Cada filtro trabaja de manera independiente de los componentes que se encuentren situados antes o despus de ella

obtiene como resultado datos de salida en un formato especifico

Ejemplo

Arquitectura de llamar y regresar


Permite a los diseadores de software conseguir estructuras relativamente fciles de modificar y escalar. Podemos encontrar diferentes estilos dentro de este tipo: Programa principal/subprograma Descompone las funciones en una jerarqua 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.

Ejemplo

Arquitectura Orientada a Objetos

Los componentes del sistema encapsulan datos y operaciones que deben de utilizarse para manipular dichos datos.

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 solucin aunque menos eficiente facilita la portabilidad en los diseos.

Ejemplo

Diseo arquitectnico
Muchas notaciones y lenguajes existen para representar el diseo de artefactos de software. Algunos describen un diseo estructural organizado, otros representan el inicio del software. Estas notaciones son generalmente usadas durante un diseo natural y se pueden usar durante ambos casos.

Una representan notaciones que son usadas en el contexto de especficos mtodos en las estrategias de diseo y mtodos de sub reas, pero estas categoras son categorizadas en notaciones para describir la estructura esttica y la dinmicas vistas.

Representacin del sistema en el contexto


El contexto arquitectnico representa la manera en la que el software interacta con las entidades externas a sus fronteras. (fig. 9.6)

Arquetipos
Son bloques constructivos de un diseo arquitectnico. Sirven de base para la clasificacin y establece caridad.

Mtodo de la negociacin para analizar la arquitectura


1. Escenarios de la investigacin caso de uso 2. Obtencin de los requerimientos y restricciones requerimientos 3. Descripcin de los estilos o patrones de arquitectura elegidos para abordar los escenarios y requerimientos.
Perspectiva modular Perspectiva de proceso Perspectiva de flujo

4. Evaluacin de los atributos de calidad por separado. 5. Identificacin de la sensibilidad de los atributos de calidad de varios atributos arquitectnicos para un estilo de arquitectura especifico. 6. Crtica de las arquitecturas candidatas.

Lenguaje de descripcin arquitectnica (LDA)

Provee la semntica y sintaxis para describir una arquitectura de software.

Mapeo de la Arquitectura con el uso del flujo de datos. Mapeo de transformacin


Paso1: Revisin del modelo del sistema fundamental. Paso2. Revisar y mejorar los diagramas de flujos de datos para el software Paso3. Determinar si el DFD transformacin o de transaccin. tiene caractersticas de flujo de

Paso4. Asle el centro de transformacin, especificando las fronteras de entrada y salida del flujo. Paso5. Realizar el rediseo de primer nivel Paso6. Realizar el rediseo de segundo nivel Paso7. Refinar la arquitectura de primera iteracin con el empleo de heursticos de diseo para mejorar la calidad del software.

Bibliografa

http://www-oei.eui.upm.es/Asignaturas/BD/BD/docbd/tema/Arquitectura.pdf http://es.scribd.com/doc/11757858/Arquitecturas-Del-Desarrollo-de-Software

http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/fuentes_k_jf/capitulo2.p df

You might also like