jueves, 16 de diciembre de 2010

ARQUITECTURA DE SOFTWARE:MODELOS, MARCOS DE TRABAJO Y PATRONES DE DISEÑO.

ARQUITECTURA DE SOFTWARE

Es el diseño del software de mas alto nivel de estrutura de un sistema, tambien es denominada "Arquitectura Logica el cual consiste en un cojunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la contruccion del software para un sistema de información.

Establece los fundamentos para que analistas, diseñadores, programadores, etc., trabajen en una línea común que permita alcanzar los objetivos del sistema de información, cubriendo todas las necesidades.

Tambien define, de manera abstracta, los componentes que llevan acabo alguna tarea de computacion, sus interfaces y la comunicacion entre ellos., debe ser implementable en una arquitectura fisica, este a su ves se se diseña con base a objetivos y restricciones.

CARACTERISTICAS
  • Parte del diseño de software.
  • Nivel de diseño de software donde se definen la estructura y propiedades globales del sistema.
  • Incluye sus componentes, las propiedades observables de dichos componentes y las relaciones que se establecen entre ellos.
  • Un aspecto critico.
  • Representacion de alto nivel de la estructura del sistema describiendo las partes que lo integran.
  • Puede incluir patrones que supervisan la composicion de sus componentes y las restricciones al aplicar los patrones.
  • Trata aspectos del diseño y desarrollo que no pueden tratarse adecuadamente dentro de los modulos que forman el sistema.

OBJETIVOS

  • Comprender y mejorar la estrutura de las aplicaciones complejas.
  • Reutilizar dicha estrutura para sesolver probles similares.
  • Planificar la evolucion de la aplicacion identificando las partes mutables e inmutables de la misma asi como los costes de los posibles cambios.
  • Analizar la correccion de la aplicacion y su grado de cumplimiento respecto a los requisitos iniciales.
  • Pêrmitir el estudio de algunas propiedades especifica del dominio.

ARQUITECTURAS MAS COMUNES

  • Monolitica.
  • Cliente-servidor.
  • Arquitectura de 3 niveles.
  • En pipeline.
  • Entre pares.
  • En pizarra.
  • Orientada a servicios.
  • Maquinas virtuales.

MODELOS

Son aquellos aspectos que describen de una manera mas comprensibles el software., es importante destacar que cada uno de ellos constituye una descripcion parcial de una misma arquitectura y es deseable que exista cierto solapamiento entre ellos.

Cada paradigma de desarrollo exige diferente numero y tipo de vistas o modelos para describir una arquitectura de software:

  • La vision estatica: describe que componentes tiene la arquitectura.
  • La vision funcional: describe que hace cada componente.
  • La vision dinamica: describe como se comportan los componentes al paso de tienpo.

Estos a su ves se pueden expresar mediante uno o varios lenguajes (diagramas de estado, de flujo de datos, etc..).

CLASIFICACION DE LOS MODELOS

  1. Modelos estruturales.
  2. Modelos framework.
  3. Modelos dinamicos.
  4. Modelos de proceso.
  5. Modelos Funcionales.

MARCOS DE TRABAJO

Definen una arquitectura adaptada a las particularidades de un determinado dominio de aplicacion definiendo de una manera abstracta una serie de componentes y sus interfaces y estableciendo las reglas y mecanismos de interaccion y estableciendo reglas y mecanismos de interaccion entre ellos.

Basicamente se presentan como un diseño reutilizable de todo o parte de un sistema, representado por un conjunto de componentes y la forma en que los componentes se relacionan, tambien define el patron arquitectonico que relaciona los componentes de un sistema.

Presenta 2 niveles: Especificacion de la arquitectura marco e implementacion del marco de trabajo.

DEPENDIENDO DE LA EXTENCION TENEMOS:

  • Marcos de trabajo de caja blanca.
  • Marcos de trabajo de caja de cristal.
  • Marcos de trabajo de caja gris.
  • Marcos de trabajo de caja negra.

DEPENDIENDO DE SU APLICABILIDAD TENEMOS:

  • Marcos de trabajo horizontales.
  • Marcos de trabajo verticales.
  • Marcos de trabajo pra componentes

PATRONES DE DISEÑO

Es una solución probada que se puede aplicar con exito a un determinado tipo de problemas que aparecen repetidamente en algun campo.

Son utiles para cualquier fase de diseño:

Patrones estructurales para el diseño de bajo nivel.

Patrones arquitectonicos para el diseño de alto nivel.

DESCRIPCION DE PATRONES DE DISEÑO

  • Name y classification.
  • Also Known as.
  • Motivation.
  • Applicability.
  • Struture.
  • Participants.
  • Collaborations.
  • Implementation.
  • Sameple code.
  • Known Uses.
  • Related Pattrns.

VENTAJAS Y DESVENTAJAS

  • Son soluciones simples y tecnicas.
  • Muy practicos y utiles.
  • Son soluciones concretas a problemas concretos.
  • Libro de recetas.
  • No dejan huella.
  • Facilitan la reutilizacion del diseño pero no tanto la de implementacion.
  • No estan formalizados.

No hay comentarios:

Publicar un comentario