Sunteți pe pagina 1din 8

AGENDA TELEFONICA (JAVA)

Luis David Cutiopala1), John Ponce (2)


Facultad de Ingeniera en Sistemas e Informtica (DEEC)
Universidad de las fuerzas Armadas (ESPE)
Campus Sangolqui,Av Rumiahui
Sangolqui. , Ecuador
ldCutiopala@espe.edu.ec (1), jPonce@espe.edu.ec(2)
Universidad de las Fuerzas armadas (ESPE) (3), MSc (3), efSoliz@espe.edu.ec(3)
Resumen
2.2. Objetivos Especficos

El.proyecto consisti en la implementacin de una Desarrollar un mdulo que permita ingresar y


aplicacin desktop. , para el uso independiente de eliminar a los clientes de la agenda.
quien la desee. A su vez se tiene un registro con Crear un mdulo para que se pueda ver los
informacin bsica de los clientes. datos de sus contactos por medio de un men
Como estudiantes de la universidad de las fuerzas de opciones.
Armadas ESPE, se nos propuso elaborar una Elaborar un mdulo que permita buscar un
aplicacin en el entorno de desarrollo Java. El contacto deseado.
objetivo principal de nuestra aplicacin es, mantener Desarrollar un mdulo que permita a los
la informacin almacenada y segura en un registro de clientes, reducir el tiempo de bsqueda.
archivos para llevar un seguimiento de los ingresos e Crear un mdulo, que permita informarle al
informacin necesaria de los contactos. cliente toda la informacin requerida.

Palabras Claves: reservacin de citas, publicacin de


anuncios, proceso. 2.3. Anlisis y Especificaciones

Analizaremos la parte terica del sistema a


Abstract desarrollar, haremos una descripcin del
funcionamiento del sistema y se detallaran los
The project consisted of the implementation of a requisitos funcionales y no funcionales.
desktop application. , For the independent use of who
wants it. In turn you have a record with basic 2.3.1. Anlisis y diseo
information of the clients.
As students of the ESPE Armed Forces College, we Esta aplicacin est diseada para cualquier persona
were proposed to develop an application in the Java Forma una parte importante en os conocimientos que
development environment. The main purpose of our deberan tener los estudiantes que estudiasen la
application is to keep the information stored and secure carrera de Sistemas e Informtica Nosotros escogimos
in a log file to keep track of the income and necessary a una persona indistinta ya nos brinda su punto de
information of the contacts. vista y nos aporta con conclusiones y
recomendaciones acerca de la aplicacin desarrollada
1. Introduccin en java.

El siguiente proyecto se ha desarrollado pensando en la 2.3.2. Anlisis de Requerimientos Funcionales


necesidad de almacenar contactos con la que cada una
de ellos almacenara informacin La aplicacin es una Los requerimientos funcionales que se
agenda telefnica detectaron para implementar en nuestro
Con este sistema vamos a facilitarle el trabajo al usuario sistema son los siguientes:
de manera que organice su lista de contactos y tambin El sistema debe poder registrar un contacto en
va estar enfocado el sistema para algunos beneficios del el archivo .txt.
cliente como el ahorro de tiempo. El sistema debe poder eliminar un contacto del
Como ltimo aspecto importante, se explica al inicio archivo txt.
mismo los pasos previos que cualquier informtico debe El sistema debe poder modificar un cliente.
realizar antes de comenzar la implementacin, y
concluyendo con las ideas y reflexiones obtenidas tras
El sistema debe permitir consultar la
informacin de un contacto.
su finalizacin tanto sobre la aplicacin como a nivel
personal como estudiante. El sistema debe permitir que los usuarios
registrados puedan ingresar un nmero
telefnico.
2. Descripcin del Proyecto
El sistema debe validar que el nmero
2.1. Objetivo General ingresado sea de 10 dgitos
El sistema debe validar que el nombre y
Desarrollar una aplicacin informtica para controlar y apellido no contengan nmeros ni otros
gestionar el proceso de datos con el fin de fortalecer el caracteres
aprendizaje y la realizacin de proyectos formativos El sistema debe generar un correo electrnico
involucrando el entorno de desarrollo java. a cada uno de los contactos ingresados
El sistema debe vaciar la Agenda de contactos web que no funcionarn a menos que tenga Java
El sistema debe contener un men de opciones instalado y cada da se crean ms. Java es rpido,
El proyecto debe tener un botn de ayuda seguro y fiable. Desde porttiles hasta centros de datos,
El proyecto debe contar con un instalador. desde consolas para juegos hasta sper computadoras,
El sistema debe generar 4 claves para su desde telfonos mviles hasta Internet, Java est en
licencia todas partes.
El sistema debe borrar toda la informacin y
consultarla antes de borrarla del txt. Que har La descarga de Java es gratuita?
de base de datos para obtener la indistinta S, la descarga de Java es gratuita. Puede obtener la
informacin que se requiera. ltima versin en java.com.

2.3.3. Anlisis de Requerimientos NO Funcionales Por qu debera actualizarme a la versin ms reciente


de Java?
Los requerimientos no funcionales que se La versin ms reciente de Java contiene importantes
detectaron para implementar en nuestro mejoras para el rendimiento, estabilidad y seguridad de
sistema son los siguientes: las aplicaciones Java que se ejecutan en su equipo. La
El sistema debe presentar mensajes de error instalacin de la actualizacin gratuita garantiza que sus
que permitan al usuario identificar el tipo de aplicaciones Java sigan ejecutndose de forma segura y
error. eficaz.
El sistema debe visualizarse y funcionar
correctamente sin producirse excepciones.
El sistema no debe tardar mucho tiempo en
mostrar resultados de una bsqueda.
Garantizar confiabilidad, y seguridad de los
datos de los clientes.
Establecer una interfaz grfica amigable con el
usuario
El sistema debe ser de fcil uso por parte de
los usuarios.
El sistema no debe permitir el cierre de una
operacin hasta que todos sus procesos hayan Figura 1: mascota de java
sido terminados y cerrados satisfactoriamente.
El sistema debe contar con una interfaz de 3.2. Programacin Orientada a Objetos
administracin que incluya: Nombre, apellido, Introducimos para los ms profanos las bases
nmero, telefnico, direccin correo sobre las que se asienta la Programacin Orientada
electrnico. a Objetos.
La programacin Orientada a objetos (POO) es
El acceso al sistema debe estar restringido por
una forma especial de programar, ms cercana a
el uso de claves asignados por el creador o
creadores de la aplicacin.
como expresaramos las cosas en la vida real que
El sistema debe validar la informacin otros tipos de programacin.
contenida en los formularios de ingreso. Se
toma en cuenta aspectos tales como: longitud Con la POO tenemos que aprender a pensar las
de caracteres permitidos por campo, manejo de cosas de una manera distinta, para escribir
tipos de datos. nuestros programas en trminos de objetos,
propiedades, mtodos y otras cosas que veremos
rpidamente para aclarar conceptos y dar una
pequea base que permita soltarnos un poco con
este tipo de programacin.

3.3. JDK, JRE, JVM


3. Marco terico y especificaciones
La JVM (Java Virtual Machine) es la aplicacin
3.1. Qu es la tecnologa Java?
donde corren los programas hechos en Java, es nativa
del sistema operativo y usualmente viene cargada por
Para qu la necesito?
default en este. Con esta herramienta no es posible
Java es un lenguaje de programacin y una plataforma
desarrollar, solo pude desplegarse aplicaciones. (El
informtica comercializada por primera vez en 1995 por
concepto de JVM lo tacamos ms a fondo en nuestro
Sun Microsystems. Hay muchas aplicaciones y sitios
primer Por qu Java?). Recuerden Write once, run PrintWriter: Es el objeto que utilizamos para escribir
anywhere esto se lo debemos a JVM una mquina directamente sobre el archivo de texto.
virtual de proceso nativo, es decir, ejecutable en una
plataforma especfica, capaz de interpretar y ejecutar Simplicidad:
instrucciones expresadas en un cdigo binario especial Por qu no utilizar un archivo de texto plano como
(el Java bytecode), el cual es generado por el base de datos? Esto nos ahorra todo el trabajo
compilador del lenguaje Java. relacionado con el servidor de base de datos. Adems
permite trabajar directamente con un archivo editable
La JVM es como un reproductor. Para que quede ms por una persona.
claro qu tal si lo ponemos as, para Windows es una
cassetera, Mac un tocadiscos y Linux un reproductor de Habilita a los usuarios para que tomen decisiones
cd,en todos se reproducir msica pero cada uno basadas en informacin relevante proporcionando
necesita su fuente distinta dicho informacin a todos los usuarios mediante
Microsoft Office.
El JRE (Java Runtime Environment) es un conjunto
de utilidades de Java contiene la JVM, imaginemos que Microsoft SQL Server 2008 proporciona una
este es el material necesario para configurar e instalar la plataforma productiva e inteligente en la cual puede
JVM. Con esta herramienta tampoco es posible el confiar que le permite controlar la demanda crtica de
desarrollo. Proceso del sistema operativo que permite aplicaciones, reduce el tiempo y costos de desarrollo,
correr la aplicacin tanto como el manejo de aplicaciones y posibilidad de
tener un foco global de toda la empresa.
El JRE es el cassete de Windows, el acetato de Mac y el
cd de Linux, las interfaces para reproducir la msica. 3.4. Detalle de las herramientas utilizadas

El JDK (Java Development Kit) es el kit para 3.4.1. BIBLIOTECA JAVA.UTIL.ARRAYLIST;


desarrolladores, contiene entre otras cosas el JRE y la
JVM. l JRE actua como un intermediario entre el Esta clase pertenece a la biblioteca java.util. Por
sistema operativo y Java. Cuando utilizamos un IDE tanto, para emplearla en nuestras clases o programas
(Que como usualmente se empieza a programar) no escribiremos como cdigo en cabecera import
vemos en que momento nuestra mquina instalo el java.util.ArrayList (o de forma ms genrica import
JDK, esto se debe a que usualmente nuestro IDE java.util.*).
descarga por si solo uno y se encarga de instalarlo en
muestra mquina. Como mtodos para operar con listas podemos
sealar: aadir un objeto en una posicin determinada,
El JDK como nos permite grabar sonidos en nuestro aadir un objeto al final de la lista, recuperar un
dispositivo y escucharlos. objeto situado en determinada posicin, etc. Los
objetos de un ArrayList tienen un orden, que es el
Por ejemplo si quisiramos desarrollar para Android orden en el que se insertaron en la lista.
tendramos que bajar el SDK y configurarlo en nuestro
IDE eclipse .El SDK es para android lo que es el JDK Un aspecto a tener muy presente: hablamos de
para Java, solo que como explicamos arriba estamos tan colecciones de objetos. Por tanto, un ArrayList no
acostumbrados a que el IDE lo descarga y configura por puede ser una lista de enteros como tipo primitivo
nosotros que usualmente no le ponemos atencin. (int) pero s de objetos Integer.

3.3.1. Archivos.txt
3.4.2. Clases BufferedReader y BufferedWriter para
Ser necesario el uso de 4 clases especiales para poder ficheros de texto en Java
escribir, la clase File, FileWriter, BufferedWriter y
PrintWriter, cada una hace lo siguiente: Las clases BufferedReader y BufferedWriter las
podemos encontrar en java.io.
File: esta clase es la escencia de crear un nuevo archivo,
si un archivo con el mismo nombre ya existe podramos Estas clases tienen la misma funcin que FileReader y
sin querer escribir contenido sobre el mismo. FileWriter, leer y escribir en ficheros, pero
FileWriter: es un objeto que tiene como funcin escribir BufferedReader y BufferedWriter optimizan estas
datos en un archivo. funciones.
BufferedWriter: objeto que reserva un espacio en
memoria donde se guarda la informacin antes de ser Se crean igual que FileReader y FileWriter, pero como
escrita en un archivo. parmetro insertaremos un objeto FileReader para
BufferedReader y un objeto FileWriter para Tabla 3.4 diagrama UML agenda telefnica
BufferedWriter. UML no debe confundirse con un lenguaje de
La mayor ventaja de los buffered es con el programacin lineal. Se trata de un lenguaje de
BufferedReader que nos permite leer una linea modelado de sistemas, til para el diseo y desarrollo
completa, en lugar de carcter a carcter como hacia de proyectos reales.
FileReader, cuando el fichero termina, devuelve null,
no un -1 como en FileReader.
4.1. Diagrama de Casos de Uso
Con BufferedWriter tambin podemos aadir una
linea, como si pulsramos un Enter En esta seccin dividimos los casos de uso para un
mayor entendimiento de los roles que se desarrollan en
3.4.3 Cdigos QR nuestro sistema.
Los cdigos QR o cdigos de respuesta rpida es un
sistema para almacenar informacin en una matriz de
puntos o un cdigo de barras bidimensional. Estos 4.1.1. Casos de uso del Cliente.
cada vez son ms populares, su cantidad de
informacin (desde 1,817 hasta 7,089 caracteres) y la Ingreso de contacto
facilidad para difundirla es algo que simplemente ha Mostrar Contactos
cautivado a las empresas e incluso a los particulares.
Eliminar Contacto
3.4.4 librera Barcode.jar Visualizar contactos guardados en txt
Nos apoyaremos en la librera: barcode.jar: Vaciar la agenda telefonica
http://www.barcodelib.com/java_barcode/download.p
hp
5. Implementacin
3.4.5 Power Designer
Es un nico conjunto de herramientas de 5.1. Descripcin General
modelamiento que combina distintas tcnicas estndar
de modelamiento: modelamiento de aplicacin a Daremos a continuacin un breve anlisis de las
travs de UML, tcnicas de Modelamiento de tecnologas que estamos utilizando en nuestro
Procesos Empresariales y tcnicas tradicionales de proyecto, un detalle para entender el porqu de estas
modelamiento de base de datos. tecnologas y su importancia hoy en da puesto que
hay que estar a la vanguardia en las nuevas tendencias
tecnolgicas que se presenta en este medio.

5.2. Implementacin
4. Diagrama UML Agenda Telefnica
-Primer prototipo:

Permite ver toda la informacin del usuario


(Gestor).Esto es en el men principal de la aplicacin
el cual se compone de una pantalla: Ingresar Usuario,
Mostrar agenda telefnica, eliminar contacto, Buscar
contacto Vaciar agenda telefnica.
Salir
-Segundo Prototipo:

En el ingreso de clientes el usuario puede ingresar el


nombre apellido nmero telefnico, direccin adems
de que el correo electrnico se lo genera
automticamente.

-Tercer Prototipo:

En el caso de que el usuario digite mal el nombre


apellido, ms concretamente con algn signo o
numero este volver a solicitar los datos.
-Cuarto Prototipo
Aqu el usuario podr seleccionar las
diferentes opciones del men en la cual
puede eliminar vaciar, el programa lanzara
un mensaje el cual dir Seguro desea
eliminar los contactos (SI o No)
-Quinto Prototipo

El usuario podr hacer uso de Qr. para


visualizar los datos seleccionados

Adems al indicar que quiere vaciar la


agenda telefnica el programa
automticamente vaciara el archivo .txt

5.2. Estructura de clases

5.4. Mtodos implementados en cada Clase


hardware. Se encarga de todo lo que influya en el xito
y la satisfaccin del usuario.

Vamos aplicar el concepto de usabilidad para nuestro


sistema, enfocndonos a una mejor interfaz que le
permita al usuario ser intuitivo, tener un ambiente
amigable, confortable y funcional as evitndole
inconvenientes y frustracin de no poder hacer
diferentes tareas.

5.2. Desarrollo de Plan de Prueba

Los alcances de estas pruebas lo vamos a dividir en dos


partes y va a ser dirigido para los dos tipos de usuarios
que hay en nuestro sistema.

El alcance que se desea llegar para el administrador van


hacer las siguientes tareas:

Realizar un registro de un contacto.


Verificar validaciones.
Realizar ingreso de nuevos contactos.
Realizarla eliminacin de un contacto ingresado.
Realizar el vaciado de la agenda.
Realizar el ingreso de otro tipo de teclas
Realizar la bsqueda de un contacto por nombre
Realizar la bsqueda de un contacto por apellido
Verificar que email no se repita
Realizar la bsqueda de un contacto por nombre y
apellido
Realizar la bsqueda de un contacto por el nmero
de telfono celular
Realizar la validacin de un nmero celular (que
tenga 10 dgitos)
5.5. Diagrama de Bloques El alcance que se desea llegar para el cliente van hacer
las siguientes tareas:

Ingreso Realizar un registro xito.


Validaciones Realizar una bsqueda exitosa.

5.3. Propsito de las pruebas de usabilidad


Agenda EL propsito de las pruebas de usabilidad es para
Telefonica probar si nuestro sistema es fcil de manejar,
comprendido, elegante, y fcil de usar cumpliendo
Procesos Archivos estndares, para poder alcanzar los objetivos
dependiendo el rol.
6. Conclusiones

5. Usabilidad La retroalimentacin que los usuarios


brindaron tras las pruebas del sistema
ayudaron a agregar nuevas ideas de valor, la
5.1. Concepto de Usabilidad
cuales durante la etapa de desarrollo del
proyecto no fueron concebidas.
Es la medida de la facilidad de uso de un producto o
servicio, tpicamente una aplicacin de Software o Registro exitoso
Eliminacin exitosa
Validacin exitosa
Satisfaccin del usuario exitosa
Se concluye que el entorno de desarrollo Java
nos permite utilizar diferentes mtodos los
cuales dan ms facilidad al momento de
programar.
7. Recomendaciones
La autenticacin de usuarios va ayudar para
diferenciar de forma correcta los contactos ya
ingresados
Se recomienda hacer pruebas de usabilidad
para entregar un sistema de calidad que cumpla
con todas las necesidades que selo solicito.
8. Referencias

Microsoft Corporation,
ComboBoxDemonstration
The Jquery Proiect, JQuery Framework de
JavaScript http://jquery.com, [En lnea][Citado el:
17 de Agosto de 2010].
JayeshPatel, Bryan Acker, Robert
McGovern,Administrative
https://www.google.com.ec/search?
q=comunicacion+archivos+con+java&tbm=isch&s
ource=lnms&sa=X&ved=0ahUKEwiRo7yqj57UA
hWDeCYKHY7XCCkQ_AUIBygC&biw=1163&b
ih=537
http://dis.um.es/~bmoros/Tutorial/parte13/cap13-
6.html
Wikipedia,
XHTMLhttp://en.wikipedia.org/wiki/Web_2,[En
lnea][Citado el: 22 de Agosto de 2010].
https://jarroba.com/arraylist-en-java-ejemplos/