Está en la página 1de 37

UNIVERSIDAD DE MAGALLANES

FACULTAD DE INGENIERIA
DEPARTAMENTO DE COMPUTACIN

DESARROLLO DE SOFTWARE PARA


CONTROL DE INVENTARIO

CHRISTIAN TURINA PREZ


2006
El presente informe ha sido aprobado con la siguiente calificacin:

Christian Turina P.

Informe :
Defensa :
Nota Final :

Sra. Patricia Maldonado


Directora Departamento de
Computacin e Informtica

13 de Marzo de 2006
UNIVERSIDAD DE MAGALLANES
FACULTAD DE INGENIERA
DEPARTAMENTO DE INGENIERA
EN COMPUTACIN

Proyecto de Aplicacin presentado en


conformidad a los requisitos para obtener
el ttulo Tcnico en Computacin e Informtica.

Profesor Gua: Sr. Carlos Arias M.

CHRISTIAN TURINA PREZ


2006
NDICE

ndice i
Resumen ii
Captulo I
o Introduccin 1
Captulo II
o Planteamiento Del Problema 2
Captulo III
o Desarrollo De La Informacin 3
Captulo IV
o Diseo De La Base De Datos 5
Captulo V
o Presentacin De La Interfaz 10
Captulo VI
o Conclusiones 19
Anexos 20
Bibliografa 25
RESUMEN

El siguiente proyecto consiste en el desarrollo de un Software orientado a manejar el


Control de Inventario tanto del hardware como de los accesorios conformantes de los
computadores pertenecientes al Laboratorio de Computadores del Departamento de Ingeniera en
Computacin.

El objetivo de este proyecto es disear e implementar una herramienta gratuita capaz de


mantener el inventario de los componentes bsicos de hardware y accesorios de cualquier
computador. Si bien, esta herramienta ha sido desarrollada en Microsoft Windows, esta debe
ejecutarse en cualquier sistema operativo, ya que en el laboratorio de computadores del
departamento no slo se utiliza dicho sistema, sino que tambin la distribucin de Linux Fedora
Core.

Las Herramientas que se utilizaron son Java j2sdk1.4.2_02 junto con JDBC e iText (dos
API diseados para este lenguaje), adems de MySQL 5.0 y NetBeans 4.1.
CAPTULO I
INTRODUCCIN
INTRODUCCIN

El presente trabajo, fue elaborado pensando en la necesidad de tener una herramienta


capaz de mantener el inventario de las partes y piezas de los computadores pertenecientes al
Departamento de Ingeniera en Computacin de la Universidad de Magallanes, ya que ste, no
contaba con ninguno.

Lo que se desea es disear e implementar un sistema que sea capaz de realizar un


inventario abarcando las caractersticas bsicas de un computador y que a la vez, pueda ser
ejecutado en cualquier sistema operativo, por lo tanto fue perentorio la utilizacin de un lenguaje
capaz de correr en ambos sistemas, lo que llev a la eleccin de Java, el cual apoyado de JDBC
(Java Database Connectivity), es capaz de crear aplicaciones robustas y de gran calidad.

Otro aspecto importante, fue que este sistema debera ser capaz de generar reportes
especficos y en un formato portable, como lo es actualmente PDF, siendo estos de gran ayuda
para la toma de decisiones al momento de realizar actualizaciones o mantencin a un equipo.

La metodologa para el desarrollo de este trabajo se estructura de la siguiente forma:

Planteamiento del problema


Desarrollo del sistema de informacin
Diseo de la base de datos
Presentacin de la interfaz
CAPTULO II
PLANTEAMIENTO DEL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA

Se requiere desarrollar una aplicacin que sea capaz de generar los informes semestrales
que deben ser realizados por los ayudantes del laboratorio de computadores del Departamento de
Ingeniera en Computacin, ya que est actualmente posee un sistema que utiliza una plantilla en
formato Microsoft Exel o OpenOffice, la cual debe ser llenada manualmente por cada integrante.

Estos informes, contemplan la informacin del estado y caractersticas ms importantes


tanto de hardware (placa madre, procesador, disco duro etc.) como de los accesorios (Gabinete,
Mouse, teclado etc.) de los computadores que le son asignados a cada uno.

Finalmente, la idea del sistema es una herramienta que sea capaz de facilitar el manejo de
esta informacin y de generar reportes de esta misma.
CAPTULO III
DESARROLLO DEL SISTEMA DE INFORMACIN
DESARROLLO DEL SISTEMA DE INFORMACIN

Como ya se mencion anteriormente, entre los aspectos importantes para el desarrollo de


la aplicacin y para la generacin de reportes, fue la utilizacin de un lenguaje de programacin
que fuera compatible con cualquier sistema operativo, esto conllev a la eleccin de Java para la
programacin y de PDF para los reportes, ya que ambos poseen cierto grado de portabilidad con
respecto a otros lenguajes como lo es por ejemplo Visual Basic y Cristal Report. El mismo
problema tambin se hizo presente al momento de elegir un motor de base de datos, ya que
tendran que descartarse entre Microsoft Acces y Microsoft MySQL Server, por esto, se eligi
MySQL 5.0.

Todo esto llev a la interrogante de encontrar una forma para combinar todas las
tecnologas mencionadas, lo que finalmente concluy en el uso de JDBC, un API de Java que
presta servicios para la conexin a distintos motores de Bases de Datos. El API JDBC consiste de
un conjunto de clases e interfaces que permiten a cualquier programa Java acceder a sistemas de
bases de datos de forma homognea. En otras palabras, con el API JDBC no es necesario escribir
un programa para accesar a Sybase, otro programa para accesar a Oracle, y otro programa para
accesar a MySQL; con esta API, se puede crear un slo programa en Java que sea capaz de enviar
sentencias SQL a la base de datos apropiada.

A continuacin se ejemplifica con un fragmento de cdigo el funcionamiento de JDBC,


este cdigo slo comprueba que exista conexin con una base de datos, no obstante es la base
para el funcionamiento de cualquier sentencia SQL:
import java.sql.*;
public class TestConnection
{
static String bd = "agendita";
static String login = "bingo";
static String password = "holahola";
static String url = "jdbc:mysql://localhost/"+bd;
public static void main(String[] args) throws Exception
{
Connection conn = null;
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url,login,password);
if (conn != null)
{
System.out.println("Conexin a base de datos "+url+" ... Ok");
conn.close();
}
}
catch(SQLException ex)
{
System.out.println(ex);
}
catch(ClassNotFoundException ex)
{
System.out.println(ex);
}
CAPTULO IV
DISEO DE LA BASE DE DATOS
DISEO DE LA BASE DE DATOS

Para el proceso de implementacin de la Base de Datos, se utiliz la planilla Microsoft


Exel u OpenOffice mencionada anteriormente, ya que en esta estn todos los componentes
referentes a Hardware y Accesorios que el Laboratorio de Computadores del Departamento de
Ingeniera en Computacin ha considerado importantes.

Si bien la base de Datos no es muy compleja ni extensa, esta es capaz de almacenar toda
la informacin referente al problema.

A continuacin se presentan y describen cada una de las tablas:

Tabla pc:

La tabla PC es la encargada de almacenar la informacin referente a la identificacin un


computador, algunos de los datos que se almacenan en ella los son por ejemplo: cdigo del
PC, nombre del PC, ayudante encargado (en el caso que existiese).

A continuacin se presentan y explican cada uno de los campos de la tabla.

Field Type Null Key Extra


Codpc Int(11) No Pri Auto_increment
Nompc Varchar(20) No Null
Estado Int(1) No Null
Ayudante Varchar(10) Yes Null
1. Campo codpc: corresponde a un identificador nico para cada pc, este es declarado como
auto_increment para evitar su duplicacin, adems es de carcter numrico y est
definido como clave principal.

2. Campo nompc: corresponde al nombre por el cual es identificado cada pc del laboratorio,
esta declarado como varchar para evitar el mal uso de espacio en el caso de que el nombre
fuera menor que 20 caracteres.

3. Campo Estado: este campo describe el estado de ingreso de cada pc, es decir, tiene dos
valores nicos, estos pueden ser 1 o 0. En este caso el 0 indica que no se han ingresado
datos para un equipo y el 1, que el equipo ya tiene datos ingresados.

4. Campo ayudante: Este campo no es de carcter obligatorio, ya que no todos los


computadores tienen un ayudante asignado, sin embargo, en caso que este lo tuviera, ac
se ingresa el login del encargado de su mantencin.

Tabla hardware:

La tabla hardware es la encargada de almacenar todo lo referente al Hardware perteneciente a


un computador, en ella, se encuentran las marcas y descripciones de cada una de estas partes.
A continuacin se presentan y explican cada uno de los campos de la tabla.

Field Type Null Key Extra


Codpc Int(11) No Pri
Codhw Int(11) No Pri
Marca Varchar(100) No
Descripcin Varchar(100) No

1. Campo codpc: corresponde al cdigo del computador al cual corresponde la informacin


de los campos restantes, es de carcter numrico.

2. Campo codhw: corresponde a un cdigo numrico encargado de diferenciar el hardware.

3. Campo marca: corresponde a la marca del Hardware al cual se le estn ingresando datos.
Ej.: marca Asus.

4. Campo descripcin: corresponde a la descripcin del hardware.


Tabla accesorios:

La tabla accesorios es la encargada de almacenar todo lo referente a los componentes de un


computador que no son hardware, como por ejemplo, Mouse, teclado, cables de red, etc.,

En ella se encuentran las marcas y estados de cada una de estas partes.

A continuacin se presentan y explican profundamente cada uno de los campos de la


tabla.

Field Type Null Key Extra


Codpc Int(11) No Pri
Codac Int(11) No Pri
Marca Varchar(100) No
Estado Varchar(8) No

1. Campo codpc: corresponde al cdigo del computador al cual corresponde la informacin


de los campos restantes, es de carcter numrico.

2. Campo codac: corresponde a un cdigo numrico encargado de diferenciar el accesorio.

3. Campo marca: corresponde a la marca del Accesorio al cual se le estn ingresando datos.
Ej.: marca: Genius.
4. Campo estado: describe el estado fsico del accesorio, este puede tener tres valores:
ptimo, Regular o Malo.

Finalmente, para dar por concluido este captulo, se presenta el diagrama entidad relacin
correspondiente a la base de datos presentada.

Fig. 4.1

Como se ve en la fig.4.1, el campo pc de la tabla pc, se relaciona con los campos pc de las tablas
restantes y el campo codac de accesorios, se relaciona con codhw de hardware.
CAPTULO V
PRESENTACIN DE LA INTERFAZ
PRESENTACIN DE LA INTERFAZ

La interfaz esta diseada para ser ejecutada bajo una resolucin de 800 x 600. Esta consiste
en un men principal desde el cual se llaman las distintas secciones de la aplicacin. Las
opciones disponibles para el usuario son:

1. Ingresar Datos
2. Modificar Datos
3. Generar / Ver Informes
4. Crear, Modificar Eliminar PC
5. Salir

Fig. 5.1
i) Ingresar Datos: Este formulario es el encargado de ingresar la informacin a la
base de datos. Ac existe un selector en la parte superior donde se debe
seleccionar el PC al cual se le van a ingresar sus caractersticas. Es preciso
destacar que en dicho selector, slo estarn disponibles aquellos computadores
a los cuales an no se les han ingresado datos. En el caso de que no existan
PCs carentes de datos, se visualizar el mensaje: No existen registros nuevos

Una vez ingresada toda la informacin, est disponible el botn ingresar, el


cual, al ser presionado, transferir los datos respectivos datos a la base de
datos.
Fig. 5.2

Adems, estn disponibles las funciones limpiar, la cual limpia el formulario y salir, que cierra el
formulario

ii) Modificar Datos: Este formulario cumple con las mismas caractersticas que el
formulario anterior. Para poder modificar datos, se debe seleccionar un
computador y luego presionar el botn cargar datos, a continuacin, se
modifica libremente y se presiona modificar.
Fig. 5.3

Adems, estn disponibles las funciones limpiar, la cual limpia el formulario y salir, que cierra el
formulario

iii) Generar / Ver Reportes: en esta opcin, el usuario puede acceder a la


informacin ingresada previamente a la base de datos, para esto se debe
seleccionar un pc en la parte superior y a continuacin presionar el botn ver
informe. En caso que el usuario desee generar un reporte en formato pdf,
puede presionar el botn generar informe.
Fig. 5.4

Adems, estn disponibles las funciones limpiar, la cual limpia el formulario y salir, que cierra el
formulario

iv) Crear, Modificar Eliminar PC: Este men permite la creacin, modificacin y
eliminacin de computadores del sistema de inventario.

El formulario esta dividido en tres secciones:


Crear Nuevo PC: Esta opcin permite agregar nuevos computadores al
sistema, para llevar a cabo esta opcin, es necesario especificar un nuevo
nombre de PC y opcionalmente un ayudante encargado para este.

Modificar PC: permite modificar el nombre y el ayudante de un


computador. Para utilizar esta opcin, es preciso cargar los datos del PC
que se desee modificar seleccionando un computador en el selector
nombre y presionando el botn cargar anterior. Una vez cargados los
datos se modifica libremente, al finalizar se debe presionar modificar.

Eliminar PC: elimina permanentemente un computador del sistema. Esta


seccin trabaja de la misma forma que las secciones anteriores.
Fig. 5.5

v) Los Mensajes: La aplicacin cuenta con mensajes de error o aprobacin que le


indican al usuario si han cometido un error o bien, si los datos han sido
ingresados correctamente al sistema. A continuacin se presentan algunos de
estos mensajes.

En el men Crear, Modifica PC:

Si el usuario desea eliminar un computador del sistema, este visualizar el siguiente


dialogo de confirmacin con el fin de dar oportunidad a cancelar la eliminacin:

Fig. 5.6
En el caso de que la eliminacin fuese aprobada, entonces el mensaje que visualizara
ser el siguiente:

Fig. 5.7

En el caso contrario. El usuario no recibir ningn mensaje.

En el caso que al crear un nuevo PC, el usuario no ingrese el nuevo nombre para este
computador, se visualizar el siguiente mensaje de error indicando el problema
ocurrido.

Fig. 5.8
Si el usuario ha completado todos los datos correctamente, el mensaje de aprobacin
ser el siguiente:

Fig. 5.9

Men Ver Generar Reportes:

En esta seccin del sistema, el usuario no se ver invadido de muchos mensajes de


advertencia, ya que las opciones a las que este tiene acceso est extremadamente
limitadas, no obstante, el usuario podr visualizar algunos de los siguientes dilogos.

Al generar un reporte correctamente:


Fig. 5.10

Men Modificar Datos:

En esta seccin entre los mensajes que se podrn visualizar est el siguiente:

Fig. 5.11
CAPTULO VI
CONCLUSIONES
CONCLUSIONES:

Al desarrollarse la aplicacin se pudo descubrir y utilizar las mltiples ventajas que tiene
JAVA, con respecto a otros lenguajes, ya que ste cuenta con extensas posibilidades para
desarrollar distintas cosas, como lo fueron en este caso, la generacin de PDF utilizando el API
de iText o JDBC para conectarse a la base de datos, todas las cuales ya estn desarrolladas, lo que
conlleva a que el usuario que desee utilizarlas solo debe buscarlas y leer sus especificaciones.

Otro punto destacable, es que al combinar JAVA con distintos API, lo convierte en una
herramienta capas de generar aplicaciones robustas y confiables y a la vez, de gran versatilidad.
En el proceso de desarrollo es importante destacar la utilizacin de NetBeans, un herramienta
IDE que permite la utilizacin de un API llamado null Layout, el cual permite al usuario dibujar
libremente su aplicacin, evitndose prdidas de tiempo en indicar coordenadas como pasa al
utilizar otros layout.

Al programarse esta aplicacin se utiliz un diseo en capas, lo que llev a descubrir las
mejoras que tiene esta forma de programacin con respecto a otras. Un ejemplo de ventaja de
este tipo de diseo podra ser la necesidad de cambiar el motor de la Base de Datos, ya que en el
caso del sistema creado slo hay que cambiar una de las clases y no toda la aplicacin.

Finalmente, para concluir el presente informe, se deja abierta la posibilidad a futuros


programadores la implementacin de servlets para sistema desarrollado, ya que de esta forma se
podra ejecutar la aplicacin en un servidor en vez de localmente. Recordando que gracias al
diseo en capas, se utilizaran las mismas clases ya creadas.
ANEXOS
A continuacin se presenta el resultado final correspondiente a la generacin de documento en
PDF.
A continuacin se presentan algunos ejemplos de cdigos, definiciones y de material utilizado
para el desarrollo del sistema, con el fin de prestar ayuda al que desee desarrollar algn tema
similar.

JDBC:

Qu es JDBC?

JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser
MySQL, Oracle, Infomix, SyBase, etc.

Qu hace JDBC?

1. Establece una conexin con una BD


2. Enva sentencias SQL
3. Procesa los resultados

Connection con = DriverManager.getConnection ( "jdbc:odbc:wombat", "login",


"password");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");

while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b");


float f = rs.getFloat("c"); }
JDBC es una integracin de SQL hacia Java, es decir que las sentencias SQL se puedan
mezclar con Java, por ejemplo, que una variable de Java pueda ser usada en una sentencia
SQL para recibir o dar valores.

Un mapeo directo de las tablas de la Base de Datos hacia las clases de Java, donde cada fila
de la tabla se convierte en una instancia de la clase, y donde cada columna se corresponde a
un atributo de esa instancia.

Generacin de PDF con iText

iText es una librera gratuita que permite a desarrolladores extender las capacidades de sus
aplicaciones java a la creacin de documentos PDF en forma dinmica. Para su utilizacin en
el presente proyecto, se cre una clase PDF que recibe parmetros para utilizarlos en la
creacin de un documento. A continuacin se muestra un fragmento de este cdigo.

/**
* Clase que, haciendo uso de la biblioteca de clases iText 1.3, genera un
archivo PDF con los datos proporcionados
*/
public class GenerarPDF {

/**
* Constructor por defecto de la clase GenerarPFD
*/
public GenerarPDF() {
public void crearPDF(String tituloInforme, Vector hardware, Vector
accesorios, String nombrePDF) {

Document document = new Document();


HW hw;
AC ac;
try {

nombrePDF="c:\\ "+nombrePDF;
PdfWriter.getInstance(document, new FileOutputStream(nombrePDF));
document.open();

Table cabecera = new Table(1);


cabecera.setWidth(100f);
cabecera.setBorderWidth(0);
cabecera.setPadding(8);

Font fontCabecera = new Font(bfArial,16);


fontCabecera.setColor(new Color(255, 255, 255));

Cell cell = new Cell();


cell.add(new Paragraph(tituloInforme, fontCabecera));
cell.setHeader(true);

. . .
Codigo
. . .
BIBLIOGRAFIA

Sergio Alejandro Dos Santos, JAVA La guia total del programador,MP Ediciones, 2005,
Buenos Aires Argentina.

Abraham Otero, JAVA 2, javaHispano, 2003.

Abraham Otero, El ABC del JDBC, javaHispano, 2003.

DECSAI, Construccin de Interfaces grficos de usuario, Noviembre 2005

www.javahispano.com

www.mysql.conclase.net

www.itext.com

www.sun.java.com

También podría gustarte