Vous êtes sur la page 1sur 10

PRUEBAS DE SOFTWARE

Principios:

Niveles de Pruebas:


















Tipos de Pruebas:

Mtodos de Pruebas:























PATRONES DE DISEO

Los patrones de diseo son la base para la bsqueda de soluciones a problemas
comunes en el desarrollo de software y otros mbitos referentes al diseo de interaccin
o interfaces.
Un patrn de diseo resulta ser una solucin a un problema de diseo. Para que una
solucin sea considerada un patrn debe poseer ciertas caractersticas. Una de ellas es
que debe haber comprobado su efectividad resolviendo problemas similares en
ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable
a diferentes problemas de diseo en distintas circunstancias.
Objetivos de los patrones
Los patrones de diseo pretenden:
Proporcionar catlogos de elementos reusables en el diseo de sistemas
software.
Evitar la reiteracin en la bsqueda de soluciones a problemas ya conocidos y
solucionados anteriormente.
Formalizar un vocabulario comn entre diseadores.
Estandarizar el modo en que se realiza el diseo.
Facilitar el aprendizaje de las nuevas generaciones de diseadores
condensando conocimiento ya existente.
Asimismo, no pretenden:
Imponer ciertas alternativas de diseo frente a otras.
Eliminar la creatividad inherente al proceso de diseo.
No es obligatorio utilizar los patrones, solo es aconsejable en el caso de tener el mismo
problema o similar que soluciona el patrn, siempre teniendo en cuenta que en un caso
particular puede no ser aplicable. "Abusar o forzar el uso de los patrones puede ser un
error".







Categoras de patrones
Segn la escala o nivel de abstraccin:
Patrones de arquitectura: Aquellos que expresan un esquema organizativo
estructural fundamental para sistemas de software.
Patrones de diseo: Aquellos que expresan esquemas para definir estructuras
de diseo (o sus relaciones) con las que construir sistemas de software.
Dialectos: Patrones de bajo nivel especficos para un lenguaje de programacin
o entorno concreto.
Adems, tambin es importante resear el concepto de "antipatrn de diseo", que con
forma semejante a la de un patrn, intenta prevenir contra errores comunes de diseo
en el software. La idea de los antipatrones es dar a conocer los problemas que acarrean
ciertos diseos muy frecuentes, para intentar evitar que diferentes sistemas acaben una
y otra vez en el mismo callejn sin salida por haber cometido los mismos errores.
Estructuras o plantillas de patrones
Para describir un patrn se usan plantillas ms o menos estandarizadas, de forma que
se expresen uniformemente y puedan constituir efectivamente un medio de
comunicacin uniforme entre diseadores. Varios autores eminentes en esta rea han
propuesto plantillas ligeramente distintas, si bien la mayora definen los mismos
conceptos bsicos.
La plantilla ms comn es la utilizada precisamente por el GoF y consta de los siguientes
apartados:
Nombre del patrn: nombre estndar del patrn por el cual ser reconocido en
la comunidad (normalmente se expresan en ingls).
Clasificacin del patrn: creacional, estructural o de comportamiento.
Intencin: Qu problema pretende resolver el patrn?
Tambin conocido como: Otros nombres de uso comn para el patrn.
Motivacin: Escenario de ejemplo para la aplicacin del patrn.
Aplicabilidad: Usos comunes y criterios de aplicabilidad del patrn.
Estructura: Diagramas de clases oportunos para describir las clases que
intervienen en el patrn.
Participantes: Enumeracin y descripcin de las entidades abstractas (y sus
roles) que participan en el patrn.
Colaboraciones: Explicacin de las interrelaciones que se dan entre los
participantes.
Consecuencias: Consecuencias positivas y negativas en el diseo derivadas
de la aplicacin del patrn.
Implementacin: Tcnicas o comentarios oportunos de cara a la
implementacin del patrn.
Cdigo de ejemplo: Cdigo fuente ejemplo de implementacin del patrn.
Usos conocidos: Ejemplos de sistemas reales que usan el patrn.
Patrones relacionados: Referencias cruzadas con otros patrones.

Relacin de principales patrones GoF (Gang Of Four)

Patrones creacionales
Corresponden a patrones de diseo software que solucionan problemas de creacin de
instancias. Nos ayudan a encapsular y abstraer dicha creacin:
Object Pool (no pertenece a los patrones especificados por GoF): se obtienen
objetos nuevos a travs de la clonacin. Utilizado cuando el costo de crear una
clase es mayor que el de clonarla. Especialmente con objetos muy complejos.
Se especifica un tipo de objeto a crear y se utiliza una interfaz del prototipo para
crear un nuevo objeto por clonacin. El proceso de clonacin se inicia
instanciando un tipo de objeto de la clase que queremos clonar.
Abstract Factory (fbrica abstracta): permite trabajar con objetos de distintas
familias de manera que las familias no se mezclen entre s y haciendo
transparente el tipo de familia concreta que se est usando. El problema a
solucionar por este patrn es el de crear diferentes familias de objetos, como por
ejemplo la creacin de interfaces grficas de distintos tipos (ventana, men,
botn, etc.).
Builder (constructor virtual): abstrae el proceso de creacin de un objeto
complejo, centralizando dicho proceso en un nico punto.
Factory Method (mtodo de fabricacin): centraliza en una clase constructora la
creacin de objetos de un subtipo de un tipo determinado, ocultando al usuario
la casustica, es decir, la diversidad de casos particulares que se pueden prever,
para elegir el subtipo que crear. Parte del principio de que las subclases
determinan la clase a implementar. A continuacin se muestra un ejemplo de
este patrn:

Prototype (prototipo): crea nuevos objetos clonndolos de una instancia ya
existente.
Singleton (instancia nica): garantiza la existencia de una nica instancia para
una clase y la creacin de un mecanismo de acceso global a dicha instancia.
Restringe la instanciacin de una clase o valor de un tipo a un solo objeto. A
continuacin se muestra un ejemplo de este patrn:

Model View Controler (MVC) En espaol: Modelo Vista Controlador. Es un patrn
de arquitectura de software que separa los datos y la lgica de negocio de una
aplicacin de la interfaz de usuario y el mdulo encargado de gestionar los
eventos y las comunicaciones. Este patrn plantea la separacin del problema
en tres capas: la capa model, que representa la realidad; la capa controler , que
conoce los mtodos y atributos del modelo, recibe y realiza lo que el usuario
quiere hacer; y la capa vista, que muestra un aspecto del modelo y es utilizada
por la capa anterior para interaccionar con el usuario.

Patrones estructurales
Son los patrones de diseo software que solucionan problemas de composicin
(agregacin) de clases y objetos:
Adapter o Wrapper (Adaptador o Envoltorio): Adapta una interfaz para que pueda
ser utilizada por una clase que de otro modo no podra utilizarla.
Bridge (Puente): Desacopla una abstraccin de su implementacin.
Composite (Objeto compuesto): Permite tratar objetos compuestos como si de
un simple se tratase.
Decorator (Decorador): Aade funcionalidad a una clase dinmicamente.
Facade (Fachada): Provee de una interfaz unificada simple para acceder a una
interfaz o grupo de interfaces de un subsistema.
Flyweight (Peso ligero): Reduce la redundancia cuando gran cantidad de objetos
poseen idntica informacin.
Proxy: Mantiene un representante de un objeto.
Mdulo: Agrupa varios elementos relacionados, como clases, singletons, y
mtodos, utilizados globalmente, en una entidad nica.

Vous aimerez peut-être aussi