miércoles, 7 de octubre de 2009

Diagrama de Clases

A continuación se presenta el diagrama de Clases de la Gasolinera:




Espero sus comentarios y sugerencias, y espero poder haber ayudado a la comprensión de diagramas de Clases

Diagramas de Clases

Ahora vamos a realizar un diagrama de Clases de las entradas antes vistas:

Empezaremos con el caso del Control de alarma

:

Esta es la manera en la que se presentarian el diagrama de clases.



Diagramas de Casos de Uso

Esta vez seguiremos hablando de Diagramas de Casos de Uso, para esto nos enfocaremos en el funcionamiento de una gasolinera.
Como ya sabemos antes que nada tenemos que conocer el problema, y este será de la siguiente manera:

Llega el cliente a la gasolinera, pide ya sea en litros o en costo, un controlador interno es el que controla lo que el cliente (automóvil) esta recibiendo, así como el precio que va marcando. También es necesario tomar en cuenta los dias en los que las máquinas son recargadas, en este problemas se supondrá que será una vez por semana. Además debemos considerar que el cliente pueda necesitar otros productos tales como aceites, y demás.

Empezaremos el diagrama poniendo los requerimientos:

- Recarga a gasolinera.
- Cargar gasolina a automóvil.
- Venta de productos extra.
- Pago del cliente.

A continuación tendremos los detalles del problema:

La recarga de máquina se hace una vez por semana, para esto un controlador mide la recarga de combustible, además de que controla la venta de productos extras, asi como la gasolina que va saliendo de la máquina al automóvil.

Con estos requerimientos el diagrama de casos de uso quedaría de la siguiente manera:



El controlador es el encargado de llenar la máquina (tanque), además de llenar el tanque del autoy vender productos extra y vender la gasolina. El cliente solo se encarga de pagar el importe de la gasolina.

Espero que esta explicación les aclare algunas dudas sobre la creación de Diagramas de Casos de uso.

miércoles, 30 de septiembre de 2009

Diagramas de Casos de Uso

Lo que veremos a continuación va a ser la manera en que podemos hacer uso de un programa llamado UML para poder facilitar un poco el análisis para la creación de algún problema.
Para poder entender mejor esto primero tendremos que conocer algunos conceptos:
Diagramas de Casos de Uso: Es una descripción generalizada de como será usado el sistema, además de que ofrece una visión desde fuera para poder entender el proposito de la funcionalidad del sistema.

Diagrama de Clases: Muestra una estructura estática del objeto, asi como su estructura interna y sus relaciones entre si.

Lo primero que tenemos que hacer es marcar los requerimientos que nos pide el problema, en este caso haremos el diagrama de casos de uso para un control de carro, el cual debe manejar las siguientes funciones: activar/desactivar alarma, poner/quitar seguros, abrir/cerrar cajuela, y responder al botón de pánico, através de los botones del mismo control.

Para empezar nuestro problema tenemos que partir desde saber como es nuestra interfaz, que en este caso sería el control del auto:



A continuación se presentan los requerimientos del problema:
- Activar/desactivar alarma
- Poner/quitar seguros
-Abrir/Cerrar cajuela
-Activar el panic

Cuando ya hemos extraido esto, vamos a conocer la funcionalidad de cada botón y hacer un detallamiento de cada caso (botón):

1 botón:
- 1clic; pone seguros
- 2 clic; alarma en espera

2 botón:
- 1 clic; tiene la función de desactivar la alarma, ya sea que este en espera o haya sido activada (sonido)
- 2 clic; quita seguros
- 3 clic; agregamos un tercer clic en caso de que el botón de panic haya sido activado

3 botón:
- 1 clic; Abre cajuela
- 2 clic; cierra cajuela

4 botón:
- 1 clic; A este botón sólo se le dará la función de activar panic



Esta es la forma en la que se veria siguiendo el diagrama de casos de uso; el controlador tiene 4 opciones, pero para no hacer muchas designamos una clase que se va a llamar "botones" y ya de ahi salen las caracteristicas para los otros 4.

La diferencia va a ser el funcionamiento de estos, pues cada uno de ellos tiene una tarea en específico que cumplir, sin embargo caen de la misma clase.

Hay que tomar en cuenta que las funcionalidades van a ser distintas y además debemos contar con una memoria que nos permita controlar el número de veces que ha sido apretado ese botón para así poder evitar un problema futuro.

Espero que esto les facilite un poco la manera de ver y análizar los problemas y poderlos ver como diagramas de casos de uso.

sábado, 26 de septiembre de 2009

Análisis

FUERAS DE SERIE
Malcom Gladwell


¿Cuál es el secreto para poder lograr triunfar en la vida?, ¿Realmente, solo el talento es necesario?, ¿Cuáles son las oportunidades que nos puede dar la vida?, pero sobre todo, ¿Cómo reconocerlas?

Actualmente vivimos en una sociedad muy competitiva, en la que es muy dificil ser reconocido por las demas personas, claro, a menos que seamos el mejor, pero ahora la incógnita es ¿Cómo lograr ser el mejor en lo que hacemos?. Este capitulo nos presenta casos de como lograron triunfar personas que ahora son importantes, como Bill Joy, Bill gates, The Beatles, entre otros.

Nadie nace naciendo excelente cantante, o siendo experto en la programación, sino que la gente que se dedica ha esto ha trabajado arduamente para ser el mejor de su clase, los cientificos señalan que han dedicado exactamente 10,000 horas.

Es casi imposible imaginar todo el conjunto de esas horas, pero es algo que es necesario, muchos de nosotros que ahora estamos empezando el nivel universitario nunca imaginamos el tipo de trabajos que encargarian en este nivel, para unos tantos es muy pesado, para otros es demasiado aburrido, unos saben mas que otros, por lo tanto para unos el trabajo es más fácil que para otros, aún asi es casi imposible imaginar dedicar 10,000 solo para ser un experto en lo que se hace.

Creo que la razón por lo que solo algunos cuantos logran triunfar (tanto económico, como profesionalmente) es por todo el esfuerzo que han dedicado, así como las oportunidades que han encontrado, aunque debemos decir que no es fácil, así que también deben tener un gusto exepcional por lo que hacen, sino esta dedicación se volvería fastidiosa.

El capitulo nos hace referencia a que no solo basta el talento que tengamos, si no la dedicación que nosotros pongamos a esto, nos da el ejemplo de Bill Joy, que si la escuela en la que se inscribió no hubiera tenido ese gran centro de cómputo, talvés nunca se hubiera parado por ahí y su camino hubiera sido muy diferente, además de que cuando supo que tenía esa gran oportunidad no la desaprovecho y dedicó todo su tiempo a no hacer nada mas que no fuera la programación.

Para muchos de nosotros es muy difícil dedicar todo ese tiempo, pues es ocupado para otras cosas, como salir con los amigos o con el novio (a), ir con la familia o incluso para hacer tarea de otro tipo, pero hay que rescatar que esto no nos quita el que podamos sobresalir y triunfar en lo que querramos hacer, talvés lo logremos en un poco mas de tiempo, pero si en verdad eso es lo que queremos lo vamos a lograr sin contratiempos. También es necesario marcar que las personas que triunfaron de una modo increíble no eran muy sociables, cabe recordar que Bill Joy se pasaba todo el dia en ese centro informático, incluso pasaba las noches ahí, por eso también para lograr un buen triunfo es necesaria mucha pasión.

Todos sabemos que aquella persona dedicada logra sobresalir en su entorno, sea este un salón de clases, un centro de trabajo, la familia etc, por tanto la fórmula de nuestro triunfo va a ser la dedicación así como la busca de oportunidades. Existen algunas personas con un poco más de suerte que otras y las oportunidades de desarrollo les llegan a sus manos más fáciles pero hay que recordar que esa no es una ley, que vamos a necesitar un poco más de trabajo, pero al final lo vamos a lograr, además de que tenemos que reconocer estas y saber aprovecharlas al máximo sacando el mejor provecho de todas estas situaciones y aprender lo más que podamos, para que así de diferentes maneras podamos completar esas 10,000 horas que son necesarias para un triunfo.


viernes, 18 de septiembre de 2009

1.1 RECONOCIMIENTO DE CLASES Y OBJETOS EN EL MUNDO REAL Y SU INTERACCION ENTRE ELLOS.

En Java, un objeto se define como una estructura que encapsula atributos (características que los describen, ejemplo: nombre, edad, sexo etc) y comportamientos (procedimientos) de una entidad con un papel bien definido en una aplicación.
Cada objeto tiene:
ESTADO: Conjunto de valores de los atributos en una instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este.
COMPORTAMIENTO: Relacionado con su funcionalidad y determina las operaciones que éste puede realizar o a las que puedfe responder ante mensajes enviados por otros objetos.
IDENTIDAD: Es la propiedad que permite a un objeto diferenciarse de otros. Generalmente ésta propiedad es tal, que da nombre al objeto.
Los objetos, concretos y abstractos estan a nuestro alrededor, forman nuestro entorno. Podemos distinguir cada objeto en base a sus caracteristicas y comportamientos.
CLASES: Es la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase. Una clase es la descripción de un conjunto de objetos: consta de datos y datos que resumen características comunes de un conjunto de objetos. Cada vez que se construye un objeto a partir de una clase estamos creando lo que se llama una instancia de esa clase.

1.2 ABSTRACCION Y ENCAPSULAMIENTO COMO UN PROCESO NATURAL


La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. El común denominador en la evolución de los lenguajes de programación ha sido el nivel de abstracción del que cada uno de ellos hace uso. La abstracción ofrecida por los lenguajes de programación se puede dividir en dos categorías: abstracción de datos y abtracción de control.
Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser utilizados por otras personas se creó la POO, que es una serie de normas de realizar cosas de manera que otras personas puedan utilizarlas y adelantar su trabajo, de manera que consigamos que el código se pueda reutilizar.
Por lo tanto la abstracción denota las características esenciales de un objeto, donde se capturan sus comportamientos.

Dentro de las caracteristicas esenciales se encuentran:

Atributos (o datos).
Comportamiento (métodos)

Si nos concentramos en las cosas, podemos encapsular en un objeto nuestro entendimiento acerca de sus características y el comportamiento de ese objeto. Lo tratamos como una entidad definida y su comportamiento no esta disperso en suestro diseño. Es decir, no separamos la viscosidad del aceite de su color sino creamos un objeto aceite y ponemos ambas características como caracterpistica de dicho objeto.

El encapsulamiento nos permite considerar a los objetos como cajas negras: como objetos que podemos utilizar sin enfocarnos en la forma en que trabajan.