jueves, 31 de marzo de 2011

Semana 9 Programacion OO - Patrones de Diseño - Clase

Un patrón es algún evento, suceso, objeto, en sí cualquier cosa que se repite en el tiempo.
Por ejemplo, en una fábrica se pueden producir diferentes tipos de artículos, por ejemplo, un jabón. El producto puede ir desde un jabón neutro, hasta uno aromatizado. Para todos se sigue un patrón el cual varía solamente al final, cuando se generan productos concretos desde un producto base. Entonces, se puede decir que el patrón es toda la línea de producción, ya que es un proceso recurrente que tiene como resultado uno o varios productos.

El mundo del software no es la excepción, existen problemas recurrentes a los cuales puede aplicarse un patrón, dichos patrones reciben el nombre de Patrón de Diseño.

"Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software. Son una descripción de clases y objetos comunicándose entre sí adaptada para resolver un problema de diseño general en un contexto particular."

Los patrones nos brindan soluciones (probadas) a problemas en el desarrollo de software los cuales están sujetos a contextos similares. Por ejemplo, un software de llenado se formas, recibos, facturas, cheques, etcétera, todos pueden tener una finalidad diferente, pero todos tienen un patrón parecido para el llenado de información por lo que su codificación puede ser parecida o la misma; a todos los anteriores se les puede aplicar un patrón de diseño igual.

Existen tres clases de patrones de diseño:
  • De creación: conciernen al proceso de creación de objetos.
  • De estructura: tratan la composición de clases y/o objetos.
  • De comportamiento: caracterizan las formas en las que interactúan y reparten responsabilidades las distintas clases u objetos.

Algunas de las ventajas de usar patrones de diseño son:

Indican cómo resolver un problema particular utilizando un pequeño número de clases relacionadas de forma determinada, pero no indican cómo diseñar un sistema completo, sino sólo aspectos puntuales del mismo.
Facilitan la re utilización de las clases y del propio diseño.
La propia estructura del patrón es reutilizada cada vez que se aplica.

A pesar de ser muy útiles, rara vez se nota su efecto sobre el código y es casi imposible saber que patrón fue utilizado en su desarrollo. También suele ser necesario programas más clases que las necesarias y se produce una sobrecarga en el código

En mi proyecto 

Singleton 


El singleton es un patron muy comun ya que al momento de utilizar el programa solo estas realizando un proceso. 

Diagrama del Singleton 
Composite

Este patron me sirve porque funciona como un arbol entre los objetos.

Este patrón se usa cuando los objetos tienen cierta jerarquía en el código y cuando ciertas operaciones se realizan en uno o varios objetos.

un ejemplo del diagrama

Iterator

Bueno este patron se puede usar como un lista.. yo lo entiendo que lo puedo aplicar en la rentas porque el socio puede llevarse varias peliculas.



Bueno esta entrada fue muy complicada por tener que interpretar los patrones. Espero no averme equivocado y si aun puedo usar patrones seria de gran ayuda sus comentarios..

http://es.wikipedia.org/wiki/Patrón_de_diseño
http://es.wikipedia.org/wiki/Iterador_(patrón_de_diseño)
http://es.wikipedia.org/.../Composite_(patrón_de_diseño)
http://es.wikipedia.org/wiki/Singleton

Saludos :p

martes, 29 de marzo de 2011

Semana 8 Programacion OO - Demostraciones de Avance Parcial - Taller

Bueno esta entrada corresponde a la semana 8 del taller.

Esta entrada quedo algo muy simple ya que aun no estoy seguro como voy a manejar la base de datos y aun no he hecho el metodo mas importante que es el de la renta.

La siguiente imagen son los archivos que son parte del proyecto por ahora.



miércoles, 23 de marzo de 2011

jueves, 17 de marzo de 2011

Semana 6 Programacion OO - UML - Clase

Lenguaje Unificado de Modelado es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:
  • Diagrama de clases
  • Diagrama de componentes
  • Diagrama de objetos
  • Diagrama de estructura compuesta (UML 2.0)
  • Diagrama de despliegue
  • Diagrama de paquetes

Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado:
  • Diagrama de actividades
  • Diagrama de casos de uso
  • Diagrama de estados

Los Diagramas de Interacción son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado:
  • Diagrama de secuencia
  • Diagrama de comunicación, que es una versión simplificada del Diagrama de colaboración (UML 1.x)
  • Diagrama de tiempos (UML 2.0)
  • Diagrama global de interacciones o Diagrama de vista de interacción (UML 2.0)
Fuente Wikipedia... http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado

Diagrama de Clases

Este es un ejemplo de diagrama de clases basado en mi proyecto. En este diagrama se muestra como cada clase esta ligada y sus clases hijas.

Para generar esta grafica se importa el codigo al programa de UML en este caso utilize el umbrelo y arrastras las clases a la pantalla.




Diagrama de Secuencia

En este diagrama se muestra el recorrido de una renta.

Para realizar la renta el metodo busca si el socio existe y si tiene adeudos una vez que verifica si existe el socio, pasa a checar si existe la pelicula en el sistemas y si esta disponble una copia. 


Saludos ;]