miércoles, 23 de febrero de 2011

Reporte 5: Especificación técnica

Hola otra vez a todos, para ésta entrada hablaremos un poco más sobre mi proyecto y sobre la especificación técnica y detalles restantes en ésta.

Especificación Técnica:

Introducción:
  • Este es un programa para la creación de organigramas, el cuál esta orientado a objetos, su función principal es la visualización de puestos de una empresa.

Descripción del problema a resolver:
  • Creación de un árbol gerarquico (organigrama) de la empresa u organización:
    • Navegación en el organigrama, para la visualización de éste.
    • Informar sobre los puestos en la empresa u organización.
    • Informar sobre el personal de éste.



Aspecto Funcionales:
  • El programa manejará información del personal que elabora en la empresa u organización.
  • El programa, será una forma de uso fácil y fácil de manejarse o comprenderse.
  • El programa, manejará base de datos, ya que tendrá que guardar información del personal.
  • El programa, podrá desplegar información del personal y una foto de el.
  • El programa, podrá agregar, editar o eliminar registros del personal.


Aspectos Operacionales:
  • El programa estará programado en lenguaje java, ya que se busca que en el programa, se pueda usar en una página web y éste se pueda ser un JSP.
  • El sistema tendrá la plantilla o la forma de presentación del personal, con la información principal del personal.


Aspectos Técnicos:
  • El sistema trabajara en el lenguaje de java.
  • Contendrá XML o algún tipo de estructura para uso de plantilla de información.
  • Manejará una librería para gráficos, ya que se busca una forma fácil para su navegación.
  • Manejará una base de datos, teniendo como principal MySQL.
  • Se buscará que pueda funcionar en cualquier plataforma.




Bibliografía:Aquí ésta el documento con una mejor visualizacion.

Saludos y si tienen alguna duda o pregunta comentenla, y trataré de responderselas

miércoles, 16 de febrero de 2011

Reporte 4: Documentación de un proyecto

Hola, que tal otra vez a todos. Ahora en ésta entrada hablaremos un poco acerca de la documentación de un proyecto de software, su importancia y algunas formas de como hacerla.

¿Porqué hay que documentar un proyecto? o ¿Cuál es su importancia?
La razón de ésta pregunta es que, al documentar un proyecto, un programa ó prácticas de programación nos sirven mucho al momento de poderlo reutilizar, ¿Porqué reutilizarlo?, si nos damos cuenta, en la programación se utiliza muchos códigos que ya habíamos empleado, como por ejemplo, cuando empezabamos a enseñarnos a programar pues vimos algoritmos y en algunas ocaciones programabamos éstas para entender su funcionamiento y tener una idea vaga de como nos serviría o como lo podríamos utilizar, así que le poníamos comentarios para que no se nos olvidara algún detalle o para que o como era una función. Una vez que vamos avanzando y desarrollando software nos vamos dando cuenta de que éstos nos son muy útiles, porque nos van ahorrando pasos y ayuda a hacer las cosas más simples, así que usabamos éste código o si ya habíamos desarrollado algún programa, solo sería necesario ver los comentarios y tomar la parte que nos interesa o es útil, sin tomarnos la molestia de leer todo el código.

Aparte que la documentación nos sirve para cuando le demos el software al cliente o compartamos nuestro código éste sepa como funciona, su instalación, su guía tecnica entre otras.
En pocas pallabras, la documentación es un conjunto de información que nos da detalles del software desarrollado ó que se ésta desarrollando, como sería la forma de trabajo de ésta, saber su proceso, su estructura y/o en alguna ocasión saber donde podría estar un error del programa.



¿Cómo podríamos documentar un código de un programa?
Hay muchas formas muy útiles y de gran ayuda, que nos permiten documentar el código de un programa. Como por ejemplo si queremos documentar un programa en lenguaje java, usamos la utilidad javadoc, la cual, ésta nos permite generar documentos de APIs en formato HTML y que ésta documenta las clases del programa y comentarios que se pongan en éste.
Para python hay varias utilidades, una de ellas es PythonDoc, que hace lo mismo que javadoc, te genera documentos de APIs en formato HTML u algún otro formato que se necesite, otra utilidad podría ser Epydoc que también hace lo mismo que PythonDoc, solo que éste te lo documenta en HTML o pdf.
Para lenguaje como php ésta la utilidad phpDocumentor que también hace exactamente lo mismo que las anteriores utilidades.
Y así podría seguir diciendo varias utilidades que nos pueden servir para documentar, ya que hay varias y para diferentes lenguajes, solo es cuenstión de dar una busqueda en google.

Por lo pronto será todo, si tienen alguna duda o sugerencia, comentenla y será eschuchada.
Saludos

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.