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.

martes, 28 de junio de 2011

Taller de POO

Herramientas de Trabajo.
Las herramientas de trabajo que utilizare para mi proyecto son:
-Ubuntu
-JDK (java)
Para empezar tendré que instalar Ubuntu en mi USB para poderlo usar en cualquier PC que desee, aquí mostrare paso por paso lo que hice para instalarlo y preparar mi usb.

1.- Descargue Ubuntu desde su pagina principal:
2.-Una vez descargado, pasamos al siguiente paso para instalarlo en USB seleccionamos la casilla, así como tambien el sistema operativo desde el cual estamos operando. Despues damos clic en "Show me how". Después de esto habra que descargar el "Universal USB Installer" para poder continuar.



3.- Una vez terminada la descarga d el Universal USB Installer lo abrimos y elegimos la versión de ubuntu que tengamos descargada, después seleccionamos la ubicació
n en donde se encuentra descargado, la dirección en que esta la USB y damos clic en Create.


4.- Instalación en proceso :)
5.- Instalación Terminada :D

Para continuar con el proyecto utilice tambien Mysql (utilizado para crear las bases de datos) el cual lo descargue directo del centro de software de ubuntu
Aqui vemos como la instalacion ha sido satisfactoria :)



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


POO

Primera Actividad .- Proyecto

Mi idea principal para el proyecto es hacer un sistema de ventas en línea en el cual se puedan realizar pedidos, compras, ventas, etc..

Para realizar este sistema primero planteare bien que es lo que quiero, ósea los requerimientos y los procesos que deseo que se realicen.

Mi planteamiento es que : Este sistema consistirá en que para realizar pedidos o compras se necesitara proporcionar algunos datos como usuario y contraseña, los artículos se mostraran en un menú ordenados según el código que tenga cada uno, al realizar un pedido cada producto llevara un código con el cual se registrara y se agregara a una lista y se irá haciendo una suma de lo que se

deberá pagar (añadiendo costos de envío y cosas así), una vez terminada la compra se tendrá la opción de si se desea realizar una factura y si el usuario lo desea, este tendrá que proporcionar algunos datos más con los que le dará forma a su factura.

Aunque esta solo es la idea para iniciarlo espero que conforme vaya desarrollando el sistema, me dé más habilidades en el lenguaje que eh planeado utilizar para su implementación, este lenguaje es java, que aunque no se mucho, espero aprenderlo mejor ya que me parece muy interesante, y así lograr implementar el sistema como lo tengo planeado además de poderle agregar mas cosas y una interfaz gráfica adecuada a lo que necesito y así sea más fácil al manejarlo.

Esta es mas o menos una idea de como quiero que sea, claro que quiero agregarle mas cosas y ver si puedo hacerle algunas mejoras.

La meta de este proyecto es terminarlo en su totalidad como lo tengo pensado en la idea original o bien mejorarlo.

Espero sea de su agrado, Gracias..