jueves, 14 de julio de 2011

Patrones de diseño

Patrones de Diseño


Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado suefectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias


Categorias de Patrones:



Según la escala o nivel de abstracción:
  • Patrones de arquitectura: Aquellos que expresan un esquema organizativo estructural fundamental para sistemas de software.
  • Patrones de diseño: Aquellos que expresan esquemas para definir estructuras de diseño (o sus relaciones) con las que construir sistemas de software.
  • Dialectos: Patrones de bajo nivel específicos para un lenguaje de programación o entorno concreto.
Además, también es importante reseñar el concepto de "antipatrón de diseño", que con forma semejante a la de un patrón, intenta prevenir contra errores comunes de diseño en el software. La idea de los antipatrones es dar a conocer los problemas que acarrean ciertos diseños muy frecuentes, para intentar evitar que diferentes sistemas acaben una y otra vez en el mismo callejón sin salida por haber cometido los mismos errores.

Patrones creacionales

  • Object Pool (Conjunto de Objetos): (No pertenece a los patrones especificados por GoF) Se obtienen objetos nuevos a través de la clonación. 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 clonación. El proceso de clonación se inicia instanciando un tipo de objeto de la clase que queremos clonar.
  • Abstract Factory (Fábrica 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.
  • Builder (Constructor virtual): Abstrae el proceso de creación de un objeto complejo, centralizando dicho proceso en un único punto.
  • Factory Method (Método de fabricación): Centraliza en una clase constructora la creación de objetos de un subtipo de un tipo determinado, ocultando al usuario la casuística para elegir el subtipo que crear.
  • Prototype (Prototipo): Crea nuevos objetos clonándolos de una instancia ya existente.
  • Singleton (Instancia única): Garantiza la existencia de una única instancia para una clase y la creación de un mecanismo de acceso global a dicha instancia 

Patrones estructurales

  • Adapter (Adaptador): Adapta una interfaz para que pueda ser utilizada por una clase que de otro modo no podría utilizarla.
  • Bridge (Puente): Desacopla una abstracción de su implementación.
  • Composite (Objeto compuesto): Permite tratar objetos compuestos como si de uno simple se tratase.
  • Decorator (Envoltorio): Añade funcionalidad a una clase dinámicamente.
  • 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 idéntica información.
  • Proxy: Mantiene un representante de un objeto.

Patrones de comportamiento

  • Chain of Responsibility (Cadena de responsabilidad): Permite establecer la línea que deben llevar los mensajes para que los objetos realicen la tarea indicada.
  • Command (Orden): Encapsula una operación en un objeto, permitiendo ejecutar dicha operación sin necesidad de conocer el contenido de la misma.
  • Interpreter (Intérprete): Dado un lenguaje, define una gramática para dicho lenguaje, así como las herramientas necesarias para interpretarlo.
  • Iterator (Iterador): Permite realizar recorridos sobre objetos compuestos independientemente de la implementación de estos.
  • Mediator (Mediador): Define un objeto que coordine la comunicación entre objetos de distintas clases, pero que funcionan como un conjunto.
  • Memento (Recuerdo): Permite volver a estados anteriores del sistema.
  • Observer (Observador): Define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objeto cambie de estado se notifique y actualicen automáticamente todos los objetos que dependen de él.
  • State (Estado): Permite que un objeto modifique su comportamiento cada vez que cambie su estado interno.
  • Strategy (Estrategia): Permite disponer de varios métodos para resolver un problema y elegir cuál utilizar en tiempo de ejecución.
  • Template Method (Método plantilla): Define en una operación el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos, esto permite que las subclases redefinan ciertos pasos de un algoritmo sin cambiar su estructura.
  • Visitor (Visitante): Permite definir nuevas operaciones sobre una jerarquía de clases sin modificar las clases sobre las que opera.
Los Patrones de Diseño que utiliza nuestro Proyecto son: Chain of Responsibility
MementoCommand
Interpreter
Iterator
Proxy
Observer
State
Template Method
Adapter
Facade
Abstract Factory
Factory Method
Prototype
Singleton 


Utilizamos estos ya que son los que se hacen con mayo referencia de nuestro diseño en el software de nuestro proyecto de Registrador electrónico...  para poder buscar las soluciones de algún error al generar los reportes de asistencia para el personal que labora en alguna empresa... 

Referencias:

miércoles, 13 de julio de 2011

Bueno se le hizo un comentario a mi compañero Ricardo... y se avazo en el proyecto pero todavia no es publicado.. gracias...

lunes, 11 de julio de 2011

TRABAJO EN EQUIPO

BUENOS DIAS DOCTORA...

Por medio de este presente le informo que durante este fin de semana mi compañero y yo estubimos trabajando en equipo hacerca de nuestro proyecto...

De antemano gracias..

atte:
ANDRES GARCÍA GZZ 1439631
ISSLEM X. CERVANTES RIZO 1379173

DOCUMENTACIÓN TECNICA.

DOCUMENTACIÓN TECNICA


Un proceso define las distintas etapas o pasos que se deben seguir para elaborar un producto, entonces el PROCESO es la organización de un conjunto de variables que interactúan a los efectos de lograr el producto.
Es necesario tener la siguiente información:
  • Plano del producto,
  • Tipo de producto,
  • Calidad requerida,
  • Costo requerido,
  • Cantidad a fabricar,
  • Proceso de fabricación.

La hoja de proceso es una hoja sumaria de todas las operaciones involucradas, en consecuencia, cuando nos referimos a la Hoja de Procesos estamos diciendo: Hoja de Procesos más Hoja de Operaciones. Debe haber una Hoja de Operaciones por cada operación que resuma la hoja de procesos.
Para diseñar el proceso se debe tener conocimientos de:
  • Procesos industriales,
  • Materiales,
  • Maquinas,
  • Herramientas, Utiles,
  • Calibres, Instrumentos de medición,
  • Condiciones de manufactura,
  • Calculo de tiempos tecnológicos,
  • Tolerancias de fabricación,
  • Dibujo, Normas, ISO, DIN, IRAM,
  • Secuencia de fabricación, etapas, operaciones,
  • Calculo de costos.
Según el tipo de producción, será el tipo de documentación que mejor se adapte a tal fin.

Proceso Tentativo:

En primer lugar se prepara una planilla de todas las operaciones necesarias para llegar a la pieza terminada:
Monografias.com
Esta planilla de proceso se analiza posteriormente para optimizar las operaciones a realizar, orden de las operaciones, tipo de máquina, cantidad de maq/eq, maq especiales,/convencionales/automáticas/CNC.

HOJA DE PROCESO / HOJA DE OPERACIONES:

Producción en serie:
  • Hoja de Proceso: es un resumen de las operaciones que deben realizarse,
  • Hoja de Operaciones: debe haber una hoja de operaciones por cada operación que resuma la hoja de procesos.
Monografias.com
La Hoja de Operaciones, contiene el máximo de información necesaria y posible y detalla todos los elementos de la operación como sean necesarios.
Las Hojas de Operaciones, necesitan de una hoja de resumen de proceso.
En la producción seriada, siempre se realizan las mismas operaciones, entonces es fácil que el operario aprenda rápidamente la operación en cuestión, aunque no sea especialista o experto en el tema.
En la producción en serie las maquinas son especiales o universales especializadas con algún tipo de dispositivos.
Monografias.com
En las industrias continuas prácticamente no se utilizan las hojas de operaciones u hojas de ruta, puesto que se trata de procesos continuos, con instalaciones fijas que ya están determinadas por su proceso, lo que cabe hacer es hojas de instrucciones de trabajo o mejor aun diagrama de flujo de materiales.


DOCUMENTACION TECNICA

Para la documentación tecnica de nustro proceso es de suma importacia registrar todo loq ue se esta utilizando para la realizacion de este programa.
Este programa sirve para marcar la hora de entrada y salida de una Empresa. el sistema consta de de una pantalla y una tarjeta electronica la cual al deslizarla por la pantalla graba la hora de entrada o salida.
Este programa también tiene la capacidad de generar una lista de los Empleados que llegaron puntual mente y otra de los empleados que llegaron tarde.
También tiene la capacidad que generar los premios de puntualidad y las penalizaciones de faltas y llegadas tarde.
En la pantalla de programador puede consultar :
* Los dias que has llegado puntual mente
* Los dias que has llegado tarde
* El numero de faltas
* El rebaje por faltas
* El sueldo a cobrar
* Fecha y Hora del dia actual
* Puesto de empleado
* Horario de trabajo

PRUEBAS UNITARIAS

PRUEBAS DE UNITARIAS
Es una forma de probar el verdadero funcionamiento del código sirve para verificar que los módulos sean claros y puedan funcionar correctamente por separado...


Registrador electrónico

TARJETA CRC

TARJETA CRC
Las tarjetas CRC (clase, responsabilidad y colaboración) son una metodología para el diseño de software orientado por objetos creada por Kent Beck y Ward Cunningham.
  • Es una técnica para la representación de sistemas OO, para pensar en objetos.
  • Son un puente de comunicación entre diferentes participantes.


DIAGRAMA DE CLASES…
 

EVENTOS ERRORES Y EXCEPCIONES

EVENTOS ERRORES Y EXCEPCIONES

Dentro de los eventos que pueden ocurrir para nuestro programa con el registrador electrónico suceden varias situaciones desde poder interactuar correctamente y que no allá errores a la hora de registrar al personal ya que esto influye en su pago de nomina y en su incorrecta captura acerca del historial que se genera semanalmente…

Los errores más comunes que pueden ocurrir dentro de la interfaz son causados por el hombre ya que el registro de su hora de entrada es producto de su interacción con el sistema, si el empleado llega a fallar con la registrar correctamente su entrada es probable de que su pago no se efectué correctamente, y de que su historial sea gravemente afectado por este tanto la pérdida de sus premios de asistencia así como el ser capaz o acreedor de un bono de premiación.

El error de equivocarse en base a la interfaz es muy poco probable pero puede suceder es que el registro no se lleve adecuadamente y que no se genere el reporte de premiación así como la falta de historial en el empleado, pero se puede detectar el día del pago de nomina, para que allá algún tipo de corrección por medio de los reportes que se generan diariamente por el personal es necesario que se pueda comprobar que el empleado en realidad haya asistido ese día a laborar correctamente en sus operaciones de trabajo.

Dentro de la interfaz es sencilla de utilizar y el único acceso público que se podrá generar será la fecha, hora de entrada/salida asi como los datos generales del empleado. Para todo lo demás existe la privacidad ya que solo el departamento que genera los bonos es capaz de corregir cualquier tipo de error ocurrente en el sistema.

                                                                                                                   

En caso de un sistema fallido en el registro del empleado, se manejara a base de un permiso especial para poder entrar a modificar su historial ya que la interfaz cuenta con un programa sencillo de estructuración el modificar su entrada es una interacción casi aprueba de errores.