miércoles, 23 de noviembre de 2011

Sistemas Distribuidos


Nombre del Proyecto: Sistema de Administración de Almacén.

Objetivo: Diseñar y desarrollar un Sistema de Información que gestione todas las operaciones en un Departamento de  Almacén de Artículos.

Justificación: La idea de desarrollar un Sistema de Información, que gestione las operaciones de un departamento de almacén, está dada por la actual problemática de las pequeñas y medianas empresas, donde no existe un control automatizado para gestionar dichas operaciones. Normalmente en dichas organizaciones, se utilizan métodos tradicionales, que a un mediano y largo plazo, se  generan problemas por el volumen de documentos que se llegaran a manejar.
Este Sistema, tiene como principal finalidad:
-Automatizar todas las tareas que se efectúan en el departamento de almacén.
-Llevar un registro histórico, de todos los movimientos efectuados en el departamento, es decir: compas de artículos, altas, existencias, salidas de material, bajas de material, modificaciones, consultas de información.
-Reducir las pérdidas y extravió de material en la empresa.
-Reducir los tiempos en todas las operaciones antes mencionadas.

Alcance: El alcance de este Sistema, abarca cualquier tipo de Organización, es decir tanto pública como privada, así como instituciones, en donde se requieran metodologías, para automatizar y controlar todas las operaciones en un almacén, donde el personal que labora puede ser susceptible a cometer errores, si realiza su trabajo de forma manual y mecánica.
El diseño de este Sistema de Información, se adecua perfectamente a las necesidades cualquier Pequeña o Mediana Empresa, por lo que su alcance puede repercutir aun más, ya que si se requiere implementar a otro tipo de negocio, solo se realizan mínimas modificaciones al diseño original y así adecuarlo a las necesidades de cada empresa.

domingo, 20 de noviembre de 2011

Documentación Técnica

Hola saludos, en esta entrada mostrare como generar documentación técnica con javadoc, que fue el que yo utilice.

Existen varias herramientas que nos permiten auto-generar la documentación técnica, están: Javadoc, Doxygen, Sandcastle, Sphinx entre otros.

Bien yo utilizare javadoc, primero desde el símbolo del sistema buscamos el directorio donde tenemos el proyecto, después una vez encontrado tecleamos javadoc *.java y damos enter.
Escribir *.java quiere decir que incluiremos todos los archivos con dicha extensión.



Después nos vamos al directorio donde están los archivos y abrimos el documento html que se llama "index" el cual nos mostrara toda la información generada con esta herramienta.




Subí la documentación completa del proyecto para descargar:
Documentación Técnica

Les dejo también estos links muy buenos sobre la documentación:

Subestimada Javadoc
Javadoc

martes, 1 de noviembre de 2011

Patrones de diseño

Hola, en esta entrada hablare de los Patrones de diseño.

Primero ¿que es un patrón de diseño?
Es una solución ya especificada para resolver problemas de programación comunes.
Esto hace el código mas flexible, también es una buena manera de implementar organización en el código, si existen uniones entre clases esto lo hace mas diferenciable y fácil de encontrar.

Algunos patrones de diseño son (pueden dar clic en cada uno son enlaces):

Algunos patrones de diseño

Delegado
Compuesto
Decorador
Mediador
Iterador
Observador
Modelo-vista-controlador
Factoria
Data Access Object (DAO)
Proxy

Los patrones de diseño describen las clases y las instancias colaboran entre si. Cada patron puede ser adaptado a algún problema, para describir alguno debemos especificar:

  • El nombre
  • Cual es el propósito
  • Si existen algunos otros que coincidan
  • Cual problema se esta aplicando
  • El diagrama de clases
  • Diagrama de interacciones
  • Algunas notas extras
  • Otros patrones con los que pudiera estar relacionado.
Un Patrón de diseño es un esquema que se supone puede o debe resolver el problema ya que se muestra de manera mas simple toda  la información de las clases osea el programa en si. Pero un patrón es en escala pequeña y sirve para resolver problemas, no confundirlo con los esquemas que se elaboran para diseñar el programa, ya que estos son en escala mucho mayor.

Aqui un ejemplo del Patrón que queremos seguir para nuestro proyecto, es la clase Seguridad de la cual ya mostre su funcionamiento anteriormente:


Aquí utilizamos el patrón Observador y el Decorador, trataremos de seguirlos usando en todo lo demás, solo muestro esta parte por ahora porque seguimos puliendo las demás.


Referencias:
Patrones de Diseño PDF
Descripcion de patrones

Eventos y excepciones

Hola saludos, en esta entrada hablare de eventos que ocurren y errores que se pueden presentar en el programa.

Primero que es un evento o excepción, un evento puede ser algún problema que se puede presentar debido a que el usuario de alguna manera no ha ejecutado correctamente el programa, o lo ha llevado hasta los extremos que puede tolerar este.
Un error es cuando el programa en si, ha tenido problemas al iniciar, ejecutarse o para finalizar debido a que algún archivo fue eliminado, movido de directorio o editado incorrectamente. Cuando esto pasa el usuario puede encontrarse con que ha descubierto un error irreparable por el, amenos que sepa exactamente la causa, por estas razones debemos especificar al usuario mediante cuadros de dialogo que algo pasa, para que el usuario no se espante y tenga alguna idea de que pudo haber ocurrido al menos.

En mi proyecto también manejamos eventos y excepciones aquí algunos ejemplos:

En la primera ventana la cual le pedimos al usuario que ingrese su cuenta y contraseña:



Si el usuario es incorrecto el programa lo detectará entonces le mandara un mensaje para que el usuario sepa que se ha equivocado al teclear su cuenta:


También hay un mensaje si el usuario introduce una contraseña invalida, para que se entere que se ha equivocado:


Y aquí el código que es el responsable de que esto ocurra y evite que el usuario se desespere al no poder acceder y no saber que esta tecleando mal los datos:


Cuando el usuario ingresa correctamente sus datos y presiona aceptar el programa abrirá la ventana del menú para que pueda acceder a trabajar.
Si no es así, el código podemos apreciar como hay una parte donde declaramos un cuadro de mensaje que le avisa al usuario su error.


Material de Apoyo:


Información sobre eventos y excepciones

sábado, 29 de octubre de 2011

Interfaz Gráfica

Hola saludos, en esta entrada mostrare las ventanas que tenemos contempladas en el proyecto.

Primero Aparece la ventana de Acceso, que sera la que permitirá o no la entrada del usuario al programa mediante la captura de un usuario y una contraseña.



Si se desea cambiar la contraseña se da clic en el botón y aparece la siguiente ventana de cambio de contra:


Si se accede directamente en la de seguridad o ventana de acceso al menú, que obviamente se debe tener correctos los campos de usuario y contraseña, aparecerá la ventana del menú de opciones con la cual el usuario podrá manejar y trabajar con la información.


Y de esta manera poder acceder a cualquier campo de las opciones mostradas o terminar el programa si asi lo desea.

Ventana de Alta de Almacén:


Ventana de Alta de Cliente:


Ventana de Alta de Proveedor:


Ventana de Compras:



Bien estas son las ventanas que tenemos para usar, si contemplamos alguna otra la subiré en otra entrada.

También les dejo algunos tutoriales para crear interfaces gráficas, para que se den alguna idea de como hacer las ventanas de sus proyectos:

Links para los tutoriales:

Video de interfaz en NetBeans:
Video de Interfaz

Bibliotecas que contienen la interfaz:
Bibliotecas de la interfaz

Pdf de Interfaces graficas de usuario:
Pdf de GUI


sábado, 15 de octubre de 2011

Ejercicios en SQL

Hola saludos, en esta entrada mostraré algunos de los comandos que podemos practicar en SQL, como los que practicamos en clase de taller.

SQL es un lenguaje declarativo que se utiliza para hacer consultas a bases de datos relacionales, una de sus características es que utiliza el álgebra y el calculo relacional permitiendo efectuar consultas para recopilar información de manera sencilla.

Primero vamos a la base de datos que esta en  linea. que se encuentra en la siguiente pagina:


http://www.w3schools.com/sql/sql_tryit.asp


Primero vamos a tratar de que nos muestre la siguiente tabla:


Para lograr esto escribimos el código siguiente:
SELECT * FROM customers
en:


Ahora escribimos donde mismo lo siguiente:

SELECT CompanyName, ContacName
FROM customers




Debemos revisar la ortografía ya que es posible que sea la primer causa de que no   nos muestre correctamente la información deseada.


Bueno estos primeros dos ejemplos solo estamos pidiendo que nos muestre las columnas que le pedimos.
En el primero le pedimos que nos muestre la tabla completa,en el segundo que solo muestra las tablas "CompanyName" y "ContactName" de la tabla "customers".


Bien ahora escribimos la siguiente consulta:
SELECT*
FROM customers
WHERE CompanyName LIKE 'e%'
En esta pedimos que nos muestre la tabla "customers" en la columna "Company Name" todo lo que empieze con "e".
Debe quedar algo asi:




Ahora el siguiente ejercicio:


SELECT CompanyName, ContactName
FROM customers
WHERE CompanyName > 'd'


Con este pedimos que solo de las columnas "CompanyName" y "ContactName" de la tabla "customers" queremos todas las posibilidades de resultados que sean mayores a la letra "d".


Debe quedar asi:





SELECT Address, Country
FROM customers
WHERE CompanyName > 'f'
AND ContactName > 'f'


Este es parecido pero nos permite ver 2 o mas columnas con condiciones separadas o iguales, debe quedar algo así:

Pues esto son algunos de los muchos ejemplos que podemos hacer en SQL, espero que les aclare sus dudas y les sirva de apoyo.

Referencias:


Que es SQL:
Por Wikipedia


Tutorial de SQL

sábado, 8 de octubre de 2011

Ejemplo en Java

Hola saludos compañeros, en esta entrada haré un ejemplo de un programa en java que genera 4 objetos en un mismo panel.

Bueno para empezar abran su editor favorito y teclean el siguiente código:



Bien una vez que tenemos el código, nos aseguramos de guardar el archivo con el nombre de la clase y la extensión  ".java", si es que lo hicimos manualmente.

Ahora sigue compilar el código:



Y si no marca ningún error de compilación procedemos a ejecutarlo:



Y nos debe mostrar la siguiente ventana:


Y le damos clic al botón para que nos muestre su función:


Y nos queda de esta manera.

Referencias: Libro de Java para Estudiantes.