lunes, 14 de febrero de 2011

Presentacion Proyecto Organigrama

Hola a todos otra vez, ahora en esta entrada hablaremos un poco más acerca de mi proyecto.

Aquí también la puedes descargar y/o ver.

Comenten, serán bienvenidas sus comentarios y respondidos.

Saludos

jueves, 3 de febrero de 2011

Reporte 3: Herencia y Polimorfismo en el proyecto

Hola que tal otra vez, ahora lo que vamos a hablar es sobre la herencia y polimorfismo en el proyecto que estoy desarrollando, pero para entender esto, primero hay que saber su definción.

Herencia
Una herencia es un objeto que define aquellas cualidades que se hacen dentro de una clase y que en esta pueden ir conteniendo otras que le siguen.
Ej.: Animales:
-Vivíparos: (1ra generación)
-Caballo (2da generación)
-Perro
-Leon
-Ovíparos: (1ra generación)
-Aves (2da generación)
-Águila (3ra generación)
-Pato
-Reptiles (2da generación)
-Lagarto (3ra generación)
-Cocodrilo

Polimorfismo
Esta es la capacidad del codigo que se esta progrmando para ser usada con diferentes tipos de datos u objetos (es como misma clase pero diferente funcionamiento).
Ej.: (Es el de arriba)


Proyecto

En el proyecto estuve analizando varias cosas y también, lo que la Doctora, me había comentado. Así que hice el siguente diagrama, donde creo que se explica bien la idea:


En el organigrama, tendrá un hijo que será la conexión a la base de datos, ya que para ver la información o hacer otra cosa, tiene que tener algo, sino la creará, así que tendrá ests dos hijos que serán crear autoforma o buscar registro, en el primero tendrá crear registro y en este llenará la información del empleado. En el segundo tendra otros dos hijo que serán Autoforma o empleado (ya que serán esas dos formas de buscar) y tendrá estas dos otro hijo que es editar o eliminar y para finalizar ésta tendrá la de sobreescribir, donde guardará todos los cambios hechos.

Dudas y Correción
Al parecer aún no tenia una idea clara de como sería su funcionamiento del organigrama, así que la Doctora, me ayudo, para aclarar acerca de éste.

Como también muchos de mis compañeros, lo estaban haciendo casi de la misma forma o no entendían como desarrollar, la idea en general es que al programar algo orientado a objetos, se programa apartir de la función que se tendrá éste y no apartir de sus objetos.

Así que corrigiendo mi proyecto, todo vendría empezando apartir de un árbol, ya que lo que yo estoy generando es un árbol, así que éste será un bfs (viendo tambien que pueda agragar o eliminar nodos), ya que estará haciendo recorridos y visitando cada nodo, porque los nodos, serán los puestos que tendremos y en éste mostrará los empleados. Ya una vez tenido el bfs ahora sería cuestión que en cada nodo enlazarlo a una Base de Datos que se tenga, para tener la información de éste y poderlo acomodar apartir de procesos, puestos, etc. Despues de ésta, lo siguiente es interactuar con lo que son los objetos, en esta ya se derivaría ver el tamaño de cada nodo y como será representado, como desplegaría su información y como será replazado al momento de tener mas nodos.

Y ya, ahí sería cuestión de poner algunas cosas como el diagrama anterior, que sería lo que contiene el empleado y sobre como funcionaría el BFS y sobre su herencia, solo que esto, ya lo expliqué en una entrada anterior. Lo demás ya no es tanto su explicación o ver su herencia, ya que el BFS haría esas funciones, como editar, agregar, eliminar, solo que serían ya interactuando con ellas.

Si tienen alguna duda, comenten.
Saludos.

miércoles, 2 de febrero de 2011

Reporte 2: Clases del proyecto (clase)

Hola que tal compañeros, para esta entrada tengo que poner las clases de mi proyecto, pero para entender esto hay que saber ¿qué es una clase?, pero también para poder comprender que es una clase hay que entender lo que es un objeto, un método.

Lo entendemos como:
En la P.O.O hay que entender que es un objeto, clase, método, para enteder esto, les pondré un ejemplo que vendrá siendo el de mi proyecto.


Un objeto, digamos que es todo lo que engloba su contenido. En el organigrama, es como se vé, porque uno como persona o usuario vé nadamas lo que se nos es agradable o el objetivo que tiene de éste, sin ver todos los cables que hay ó que están conectados para el funcionamiento de éste.

Una clase, son partes de código que interpreta los elementos que hay en éste. Por decir en el organigrama, tendremos, diferentes clases, que serán: búsqueda, edición, eliminar, agregar, data, mostrar, etcétera. Estas ya se van dividiendo en otras o también pueden irse agrupando y en estas, también contendrá todas las características.

Un método, son formas específicas de lo que hace. En el organigrama, puede hacer un recorrido de sus hijos o padres que contiene, ve registros, agrega otros, etcétera.

Idea:
Ya volviendo a la idea principal. Mi preyecto contendrá las siguientes clases y hablando un poco mas de éstas:

Búsqueda: la clase busqueda será importante, porque en esta clase lo que hará, como su nombre indica buscar los registros de los empleados.
Edición: en ésta clase editará algún registro que sea necesario cambiar o modificar.
Eliminar: en ésta glase eliminaremos algún registro.
Agregar: la clase agregar, nos servirá para agregar mas registros al organigrama.
Mostrar: en ésta clase imprimira el resultado.
Data: la clase data, nos será importante porque en esta será en donde se guardará el contenido y esta nos servira para hacer las consultas, ediciones y todo lo anterior.
Y podrá ver otras más clases, por si se quiere hacer mas expecífico en éstas.

Por lo pronto será todo si tienen alguna duda o algo comenten y trataré de responderselas, ya sea del tema o del proyecto.
Saludos.

jueves, 27 de enero de 2011

Proyecto extra: Creación de una aplicación en plataforma móvil

Otra de mi idea y que también me llamaba mucho la atención era la creación de una aplicación en alguna plataforma móvil o como es conocido para el celular.

Pero en sí, mi idea que me gustaba más, era la de crear algo en Android, RIM (SO de los BlackBerry) o iOS ( SO de Iphone/Ipod/Ipad), que son algúnos Sistenas Operativos de celulares.

Pero, se me hizo que sacaría mas provecho al "organigrama", aunque no estaría mal desarrollar algo en estos, para que nos sirva de práctica y aparte en mi punto de vista, hacer una aplicación en algún sistema móvil, será algo importante para el programador, ya que si nos damos cuenta, estos SO, son los que queremos como celular, son los que están dominando el mercado y día a día se van asemejando más y más a un computador.

En mi opinión
Porque, si nos damos cuenta, al igual que las computadoras, un celular antes era como un ladrillo grande, pesado, costoso y aparte feo. Pero fue evolucionando, mejorando y asemejando a la computadora, aunque tiene algunas cosas que la computadora no y que es lo que valoramos un poco más, como es lo de gps, el acelerómetro, que es multitáctil, entre otros aspectos.
Ya sin salirme tanto del tema, en mi opinión la creación de un programa en algún SO móvil sera importante para el programador.

Así que, como meta o reto personal, también será la creación de una aplicación en algun SO móvil.

En otra entrada, hablare un poco mas sobre estas.

Saludos.

Herramientas a usar para el proyecto

En ésta entrada pondré las herramientas, que tengo pensado usar para la elaboración de mi proyecto.
En sí aún no tengo del todo definido que lenguajes emplearé como base para desarrollo de mi programa, ya que me gustaría aprender bien otro lenguaje o aprender bien el lenguaje que empleo más.
Pero mis ideas u opciones son: java (el que quiero aprender bien), python (lenguaje que empleo más) y php (cómo el sistema lo estamos haciendo en línea sería bueno tenerlo ya para usarse en la web). Ya como quiera estube investigando e instalando los lenguajes que podría usar, pero se me hace que emplearé o python o java.

Java
Si queremos usar java, hay que instalar el lenguaje en nuestra máquina. En mi caso ya lo tengo instalado, pero como quiera dire sus pasos, no son tan complicados, basta con abrir la Terminal y poner lo siguiente:

sudo apt-get install openjdk-6-jdk

Y pedirá la contraseña y que aceptes y así, lo mismo que te píde cuando vas a descargar o instalar algo en el equipo.
Para comprobar si ya tenemos java instalado (como es mi caso), solo con que poongamos en la Terminal:

javac


Nos desplegará una información como la siguiente, indicandonos que ya la tenemos instalada.


Python
En sí Python, ya viene cargado en Ubuntu, así que no será necesario instalarlo, lo podemos verficar escribiendo en la terminal:

python

Y se pondrá en la terminal el intérprete de python:


MySQL
Utilizaré MySQL porque está será la base de datos que emplearé para gardar la información de los empleados o registros que se vayan creando.
No explicaré como instalar MySQL (ni php), porque en una entrada anterior ya lo había hecho.
Pero como quiera aquí les dejo el link.

Lo que espero para este proyecto

En realidad lo que espero para este proyecto, es mejorar como estudiante y programador, hacer un buen proyecto, ya que siento, que el proyecto que elegí, será un poco laborioso y/o complicado, así que será una buena prueba para demostrarme.
Como quiera siento que mi elección fue la correcta, porque investigando, me di cuenta que muchas empresas buscan hacer organigramas y los costos que ponen para su elaboración, programadores o compañías dedicadas a esto, cobran entre $125 dls y e visto costos hasta de $1750 dls, me imagino que han de haber más caras, pero por lo que investigué es lo que viene rondando.

Así que espero (cobrar la misma cantidad que esas compañias) hacer un buen proyecto y que me pueda ser útil, pero por lo pronto será todo.
Saludos, y espero que les sirva mi información o que les pueda ser útil.

miércoles, 26 de enero de 2011

Proyecto de POO "Organigrama"


Como les había comentado en la entrada anterior, que para proyecto final de la materia, tengo que desarrollar un software Orientado a Objetos y que éste sea útil, había estado pensando que sería lo ideal para hacer así que le pedí la opinión a la Dra. Elisa Schaeffer y ella me recomendo, qué como estoy trabajando en una plataforma en línea para el departamento de Calidad de la FIME, sería interesante desarrollar algo en ésta.

Así que pensé que sería bueno desarrollar un "Organigrama". Para aquellos que no saben, un organigrama es una forma de interpretar gráficamente las jerarquías en alguna empreasa, donde te muestra también el personal que está en ella y te puede dar información de ellos.

Idea
La idea en sí es que tu mismo vayas creando el organigrama y decidas en que área o departamento estará y al darle clíck a una de estas te mostrara el personal de éste, podría ser algo así como solo el nombre del trabajador para guardar espacio y creo que también la estética porque no se vería del todo agradable que apareciera toda la información y ocupara mucho espacio, así que mejor si le damos clíck al nombre o al marco de este, se desplegue la información que buscas y ya poderte regresar.
Más o menos es así mi idea:


Y que al darle clíck a uno de estos departamentos se abra la información de este:

(Estas imagenes las saqué de ésta página, que la busqué para que se asemejara a mi idea y me ayudase a explicarla mejor)

En si, se escucha un poco fácil, pero mientras vas desarrollando la idea de como lo vas a hacer, como irá enlazado, la verdad si está complicado, porque tiene que llevar un seguimiento de quien va con quien, donde va cada departamento, como será el guardado de este o edición, etc...

En la otra entrada, explicaré las herramientas o lenguajes que usaré.

Bienvenidos POO (Programación Orientada a Objetos)

Hola que tal nuevamente a todos y les comento que llevaré el curso de Programación Orientado a Objetos, en la cuál, se estarán viendo lenguajes oreintado a objetos y que sean útiles para programar.
Así que ya no tendre tantas publicaciones sobre programación en html, seguridad en las redes o algo por el estilo.
El curso lo estaré llevando con la Dra. Elisa Schaeffer los martes y los jueves llevaré el taller.
Para esta materia, lo sobresaliente es que para proyecto final tendré que hacer un software que sea Orientado a Objetos y útil. Mi proyecto lo diré en la proxima publicación.
Saludos.