¿Alguien tiene ejemplos de programas POO?

Juan Carlos Rodrigo jrodrigog en gmail.com
Jue Nov 30 02:36:59 CET 2006


> Me gustaría que me explicaseis que debería de hacer desde que leo el
> enunciado de un problema hasta que todo está bien.

Busca los casos de uso en el enunciado, redacta una tabla con la
descripcion de cada caso de uso, los actores implicados,
precondiciones, postcondiciones, pseudocodigo que refleje lo
que hace el caso de uso. Esto sirve para tener bien claro lo que 
nos piden que haga la aplicacion.

Realiza un diagrama de casos de uso, esto permite reutilizar y
heredar casos de uso. Si existen varios actores tal vez puedas hacer 
un caso de uso Login que usa el actor abstracto Persona y otros
actores como Secretaria y Directivo heredaran la funcionalidad del
actor Persona. Lo que te permite no codificar dos logins.
Tambien veras otras cosas... Tienes un caso de uso BuscarCliente y
un caso de uso ListarClientes, combinandolos mediante uso o herencia
podrias hacer un caso de uso BuscadorDeClientes (Reutilizando).

Subraya los nombres en el enunciado, seran candidatos para ser clases;
realiza un diagrama UML estatico de clases, usa patrones para
resolver los problemas de diseño que se presenten.

Para probar tu sistema sin implementarlo puedes realizar algunos
diagramas de colaboracion, haciendolos veras rapidamente si tu diseño
funciona; porque te ves forzado a representar la interaccion entre
objetos. Este diagrama es muy parecido a lo que haces programando
la aplicacion... Te encontraras con los mismos problemas que te 
encuentras mientras programas (Sin mas) pero sobre el papel.

Considera la arquitectura requerida... Si vas a hacer un Cajero podrias
usar una estructura de aplicacion distribuida en tres capas:

Presentacion (El cajero)
Negocio (La chicha de lo que hace el cajero) **Patron Facade
Integracion (Clases persistentes que abstraen la base de datos)

El negocio deberia ser un objeto remoto, ya que los cajeros estan
distribuidos. Podrias considerar que la capa de Negocio e Integracion
estan juntas en la central del banco.

Cuando tengas la certeza de que tu diseño es correcto, puedes pasar 
a codificarlo. La codificacion es una mera representacion de las clases 
y si, tu programa deberia ser perfecto en este punto. :)

Saludos.

PD: Lo mas importante es tener bien clara la arquitectura requerida;
si te atienes a una arquitectura conocida y usas patrones todo sera
mas facil ya que las soluciones han sido probadas mil veces
y funcionan.

PD2: Sobre los ejemplos... UML es independiente del lenguaje de
programacion. Yo me centraria mas en practicar UML y dejaria de lado
la codificacion o los ejemplos de programas.




Más información sobre la lista de distribución Python-es