ing. informatica

Páginas: 8 (1819 palabras) Publicado: 24 de julio de 2013
4.- Diseño del sistema.
Comenzaremos la parte del diseño citando a G. Booch :

"El propósito del diseño es de crear una arquitectura para la naciente implementación, [...] el diseño arquitectural sólo puede comenzar una vez que el equipo tenga un entendimiento razonable de los requerimientos del sistema. [...] El diseño, como el análisis, nunca termina realmente hasta que elsistema final es entregado. Durante esta fase, se alcanza un cierto grado de culminación al poner en su lugar la mayoría de las decisiones estratégicas de diseño y al establecer políticas para diversos problemas tácticos. [...] El diseño se enfoca en la estructura, estática y dinámica, su propósito principal es de crear el 'esqueleto' concreto del sistema sobre del cual todo el resto de laimplementación se basa."

Estas palabras definen claramente qué es el diseño, la creación de la estructura básica del sistema es la tarea clave, aunque también se buscan otras cosas, en particular patrones que simplifiquen el diseño y posibilidades de reuso entre otras.

Durante la etapa de diseño vamos a refinar las partes fundamentales para la aplicación. Para lograrlo, es conveniente comenzar abuscar patrones de diseño, a continuación describimos esto de manera más detallada.

4.1 Patrones de diseño.

De acuerdo con el libro 'Design Patterns' , un patrón es una "solución simple y elegante a problemas específicos dentro del diseño de aplicaciónes orientadas a objetos, los patrones capturan soluciones que han sido desarrolladas y han evolucionado a lo largo del tiempo, de ahí quenormalmente no son el tipo de soluciones que se tienden a generar de manera inicial, reflejan el trabajo de los desarrolladores que han luchado por obtener una mayor posibilidad de reuso y flexibilidad en su software. Los patrones de diseño capturan estas soluciones de una manera fácil de aplicar."

Una vez que se ha terminado con el análisis, conviene detenerse a estudiar el resultadoprincipal de esa etapa, es decir el diagrama de clases de análisis. Es importante buscar que partes pueden ser mejoradas mediante el uso de algún patrón de diseño. Para ello es útil consultar algun catálogo de patrones y mediante sus descripciones tratar de encontrar alguno que se ajuste o que provea alguna solución al problema que se tiene.

En nuestro caso particular, buscamos en el libro'Design Patterns' y al leer las descripciones nos encontramos con la siguiente:

Estrategia (315) Define una familia de algoritmos, encapsula cada uno, y los hace intercambiables. La estrategia permite que los algoritmos varien independientemente de los clientes que los utilizan.

Al mirar de manera más detallada su descripción, vemos que se recomienda aplicar este patrón entre otras cosascuando:


Varias clases relacionadas difieren sólo en su comportamiento. La estrategia provee una forma de configurar una clase con uno o más comportamientos.
Se necesitan multiples variantes de un algoritmo.
Un algoritmo usa datos que los clientes no deben conocer. El patrón puede ser utilizado para evitar exponer complejas estructuras de datos específicas al algoritmo.
Si recordamos losrequerimientos de la aplicación, nos viene a la mente el hecho de que es importante poder aplicar algoritmos diversos, y se deben poder agregar más posteriormente. Este patrón parece ofrecer una solución adecuada al problema que se nos presenta. Continuemos estudiandolo con más detalle.
El diagrama de clases del patrón es el siguiente:



Los participantes son:

Estrategia - Declarauna interfase común a todos los algoritmos soportados. El Contexto usa esta interfase para llamar al algoritmo definido por una EstrategiaConcreta.
EstrategiaConcreta - Implementa el algoritmo usando la interfase de estrategia.
Contexto - Se configura con un objeto EstrategiaConcreta, mantiene una referencia al objeto Estrategia y puede definir una interfase que permita que Estrategia tenga...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ing informatica
  • Ing. Informatica
  • Ing. Informático
  • Ing. Informatico
  • Ing informatica
  • ING INFORMATICA
  • Ing. Informatico
  • Ing. Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS