Mostrando entradas con la etiqueta Extras Poo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Extras Poo. Mostrar todas las entradas

domingo, 10 de julio de 2011

Patrones de disenio

Patrones de disenio o conocidos como "Design Patterns" son soluciones simples a problemas especificos, revolucionando el disenio orientado a objetos, estos son basados en su demostracion de funcionalidad.
Una vez entendido el funcionamiento de los patrones, los disenios seran mucho mas flexibles, modulares y reutilizables.

Los patrones se dividen en tres tipos:
*De creacion* * Estructurales* *De comportamiento*


Patron de Creacion:
Factory Method.- Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan que clase instaciar. Permite que una clase delegue en sus subclases la creacion de objetos.

Patron Estructural:
Decorator.- Aniade dinamicamente nuevas responsabilidades a un objeto proporcionando una alternativa flexible a la herenca para extender la funcionalidad.

Patron de Comportamiento:
Memento.- Representa y externaliza el estado interno de un objeto sin violar la encapsulacion, de forma que este puede volver a dicho mas tarde.



*Referencias :
http://www.ingenierosoftware.com/analisisydiseno/patrones-diseno.php *

jueves, 30 de junio de 2011

POO

Herencia:
-Mecanismo fundamental para implementar la reutilización y extensibilidad del software
-Característica muy potente que permite definir una clase tomando como base a otra clase ya existente. Esto es una de las bases de la reutilización de código.
-Incremental
-Visibilidad Protegida

Ejercicio.- Identificar Herencia en * SIASE

Estos son las clases y casos de usos correspondientes al SIASE
De acuerdo a esas clases y casos encontramos las herencias correspondientes .
referencias:

Extras POO


Interfaces en Java

Las interfaces en Java son los métodos que pueden llevar acabo determinados objetos, en los cuales se especifica que se debe hacer pero no como implementarlos.

Una Definición:
~*Una interfaz en Java es una colección de métodos abstractos y propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la logica del comportamiento de los métodos.*~

Un interface es parecido a una clase abstracta en Java , pero con las siguientes diferencias:

-Todo método es abstracto y público sin necesidad de declararlo. Por lo tanto un interface en Java no implementa ninguno de los métodos que declara.

- Las varibles del interface serán las variables miembro de la clase .

- Un interface se implementa (implements) no se extiende (extends) por sus subclases.

El uso de interfaces proporciona las siguientes ventajas:

  • Organizar la programación(IAJU).
  • Obligar a que ciertas clases utilicen los mismos métodos (nombres y parámetros).
  • Establecer relaciones entre clases que no estén relacionadas.

Referencias:

miércoles, 29 de junio de 2011

POO

Ejercicio.-

Identificar las Clases, Atributos y Métodos para:
-iTunes -SIASE -Angry Birds

1.- iTunes
En este cas0, como vimos en la clase:
Una clase puede ser atributo de otra clase, por ejemplo las clases Musica, video, fotos, etc.. serian atributos de la clase biblioteca :)

2.-SIASE
3.- Angry Birds

Casos de Uso

Buscaminas
Descripción:
Encontrar todas las minas lo antes posible sin descubrir ninguna.

lunes, 27 de junio de 2011

Extras POO

-Sistemas Fallidos de Software
-Metodologías de Análisis y Diseño de software

Desde el inicio de la creación de software han existido problemas en cuanto a su implementacion, ya que se pedía una cosa y los resultados no eran los esperados o bien el costo de estos era muy elevado a lo del presupuesto original.
Una definición de lo que es crisis de software es:
*La crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios.*

...ej...

Para nuestra desgracia muchos de los sistemas existentes hoi en dia presentan fallas en alguna parte de su uso y no brindan las soluciones adecuadas a los problemas que se presentan y para el principal *por el cual fueron creados*.


Referencias:



Existen diferentes estrategias para desarrollar software de una manera ordenada e incremental, que capturan desde el principio y durante la construcción de un sistema, los requerimientos deseados por los posibles usuarios.
Los métodos de desarrollo de software pueden dividirse en dos grupos: función/dato y orientados a objetos.
La metodología orientada a objetos permite desarrollar software fácilmente extensible y reusable.


Referencias