Smart Diary

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Smart Diary

Programacin 3 (Semestre sep/2016 - feb/2017)


Escuela de Ingeniera de Sistemas
Universidad de Cuenca
17 noviembre de 2016

Mateo Quizhpi
mateo.quizhpi@ucuenca.ec

Temario
1.Enlaces
2.Introduccin
2.1.Presentacin
2.2.Descripcin del Proyecto
2.3.Motivacin y Novedad
3.Estructura del Proyecto
3.1. Estructura de Datos empleadas
3.2. Programacin por Capas o Niveles
3.3. UML
3.4. Gestin de Base de Datos
3.5. Gestin de agenda tipo calendario
3.6. Resultados
3.7. Conclusiones
3.8. Tutorial
3.9. Bibliografa

1.

Enlaces
Link de la presentacin(.pptx):
http://es.slideshare.net/MateoQuizhpi1/smart-diary-agenda-de-actividades-en-java
Link descarga de proyecto:
https://github.com/mateoquizhpi/SmartDiary
Link de tutorial (YouTube):
https://www.youtube.com/watch?v=YeIX5LzWAWY

2.

Introduccin

2.1.

Presentacin

Smart Diary nace como un proyecto integrador de estructura de datos en lenguaje Java de la asignatura
de Programacin 3 dentro de la Escuela de Ingeniera de Sistemas de la Universidad de Cuenca. El
proyecto consiste en la creacin de una agenda personal de actividades, esta contendr informacin
personal de cada actividad cotidiana de un usuario y permitir gestionar clasificndola por
determinados parmetros para llevar control sobre sus actividades apegado al calendario gregoriano.
Objetivo de Aprendizaje:
Adquirir y desarrollar destrezas en la creacin de un proyecto de escritorio en lenguaje Java utilizando la
POO, la divisin en niveles o capas y herramientas de gestin de bases de datos, para un mayor
portabilidad y extensibilidad del mismo.
Resultados Especficos. Al termino del proyecto tentativamente se alcanzar los siguientes objetivos
especficos:
- Desarrollar una aplicacin interactiva y til para la gestin de una agenda personal de actividades
nica
para
un
usuario.
- Gestionar una GUI sustentable e intuitiva para las necesidades del usuario en el registro, consulta,
control
y
eliminacin
de
cada
actividad
personal.
- Identificar estructuras de datos idneas para el desarrollo lgico del proyecto.
- Disear de forma efectiva una base de datos para la gestin y extensibilidad de la informacin de cada
usuario, y sus actividades.
- Dividir por niveles o capas el proyecto para su modulacin y con ello la generacin de independencia
de
cada
subsistema.
- Tomar de conciencia sobre la importancia del manejo de excepciones y con ello adquirir experiencia
en
el
tratamiento
de
las
mismas,
en
todos
los
niveles
del
proyecto.

2.2.

Descripcin del Proyecto

En un mundo globalizado la necesidad de organizar nuestro tiempo en relacin con las diferentes
actividades cotidianas que realizamos es primordial para la consecucin de tareas o compromisos que
se adquieren en nuestra rutina diaria, eh aqu necesidad que intenta solventar y con ello la razn del
surgimiento de Smart Diary como una aplicacin de escritorio realizada en el entorno de NeatBeans
(Versin 8.1) implementndola en lenguaje Java con el paradigma de POO, programacin por capas y
con la utilizacin de PHPmyAdmin con servidor local para la gestin de bases de datos SQL. Ya en s el
proyecto estar estructurado por el registro y posterior acceso de un usuario, quin gestionar una
agenda personal de actividades diarias, estas estarn clasificadas en 4 tipos: Laborales/acadmicas:
Actividades que estn relacionadas con tareas escolares o compromisos laborales asumidos.
Ocio: Actividades que estn ligadas al asistimiento de compromisos o lugares de distraccin personal de
cada usuario.
3

Emergencia: Actividades que estn relacionadas con revisiones o asistencia mdicas del usuario.
Social: Actividades que estn ligadas al cumplimiento de compromisos o reuniones sociales o familiares.
Estos tipos de actividades estarn denotados por un ttulo, que ser un campo obligatorio, y una breve
descripcin, un campo opcional, adems tendrn una prioridad que podr ser inmediata, mediana o
baja y estos servir para alertar al usuario sobre las actividades a priorizar durante el da.

2.3.

Motivacin y Novedad

La motivacin en la realizacin de Smart Diary es la unin de diversos tipos de actividades de nuestra


rutina diaria en una agenda que permite gestionar todas estas actividades, de aqu deriva su principal
novedad ya que actualmente existen muchas agendas escolares, sociales, memos, etc. Pero existen muy
pocas que alberguen todas estas actividades adems le brinda una experiencia nueva con la inclusin de
prioridades, lo que permitir mantener alerta al usuario en su rutina diaria.

3.

Estructura del Proyecto


3.1. Estructura de Datos empleadas
La estructura de datos que se emple en la realizacin del proyecto fue un ArrayList, una coleccin
propia de Java (API Collection Java).
Motivo:
El principal motivo relacional fue en la utilizacin dentro de las alertas al usuario que estn
determinadas por la prioridad elegida dentro de cada actividad. Estas prioridades estn clasificadas en
tres tipos: Inmediata, Mediana y Baja, por lo que contamos con tres ArrayList que albergan un objeto de
tipo actividad, con ello podemos generar una alerta clasificada desplegable diaria dentro de la GUI para
el usuario. Y por ltimo sealar que escogimos desde la parte lgica esta estructura ya que nos permite
indexar sus datos, lo que ahorra en memoria en procesos como la eliminacin y agregacin de
actividades.

Ilustracin 1 Ventana - Alerta de actividad

3.2. Programacin por Capas o Niveles


La utilizacin de la programacin por capas en este proyecto est principalmente motivada por su
extensibilidad para futuros cambios ya que al estar dividida en tres diferentes mdulos los cambios que
eventualmente se podrn realizar y sern independientes entre cada mdulo. Adems, me permitir
clasificar los diferentes procesos a travs de sus alcances, algo que genera portabilidad del cdigo. Los
niveles que est divido el proyecto es el siguiente.

Capa Lgica: Tambin conocida como lgica de negocio, es la que se encarga de procesar las peticiones
del GUI o usuario, y genera mensajes en el contexto de la peticin antes mencionada.
Dentro de Smart Diary existen dos clases Actividad y Usuario:
Actividad: Esta clase es la encargada de gestionar los atributos de cada actividad cotidiana que
el usuario registra. En la gestin permite almacenar, consultar y eliminar las actividades de la
rutina diaria de un usuario.
Usuario: Esta clase permite gestionar los usuarios que utilizarn nuestra aplicacin, dentro de
este gestiona miento se albergar los atributos del usuario que se registre en la base de datos
de nuestro proyecto. Aclarar que este registro, debe ser previo para poder utilizar la agenda de
actividades tipo calendario.
Capa SmartDiary (GUI): Esta capa es la de presentacin y como reza su nombre es la que brinda la
informacin de manera dinmica para que el usuario recepte o emita mensajes a ser procesados en
nivel de la lgica de negocios.
En el proyecto existen tres clases dentro del nivel de presentacin, y son los siguientes:
login: Esta clase es la puerta de acceso a la agenda de actividades, en donde necesita el usuario
y contrasea para su validacin, estos son atributos de la clase usuario, en donde si no existe
registracin previa ofrece la opcin para su registracin en la clase CheckIn.
CheckIn: Esta clase contiene 4 campos obligatorios: nombre, apellido, usuario y contrasea, los
cuales son atributos de la clase Usuario. Esta GUI ofrece la opcin de registrar dichos datos en
una base de datos de servidor local, para su validacin en el posterior acceso a la agenda de
actividades. Adems, permite la opcin de regresar a la venta de presentacin login.
Capa Base de Datos: Este nivel alberga la clase que gestiona la conexin, registro y ejecucin de
consultas a una base de datos en este proyecto, pero en lineamientos generales es la capa que permite
acceder a los datos.
Dentro de Smart Diary en su capa de datos existe una sola clase, ya que se trata de un gestiona miento
de datos pequeo y simple:
Conectar: Esta clase permite registrar los usuarios y sus actividades ligadas a su vida cotidiana,
adems permite consultar actividades de determinado usuario para su eliminacin o
visualizacin dentro de la capa de presentacin.

3.3. UML
En la diagramacin UML, en la siguiente ilustracin visualizaremos el diagrama de clases que permite
relacionar o esquematizar lgicamente nuestro proyecto y las diversas comunicaciones entre las clases
de Smart Diary.

3.4. Gestin de Base de Datos


Dentro de la capa de datos utilizamos una herramienta gestora de base de datos SQL, llamada
PHPmyAdmin y una librera externa para su conexin a travs de lenguaje Java:
-MySQL: No es ms un sistema de gestin de base de datos relacional, una de los ms utilizados en la
informtica por su extensibilidad y soporte.
-PHPmyAdmin: Esta es una herramienta escrita en lenguaje PHP con motivo de manejar la
administracin de MySQL a travs de dos tipos: servidor local (wampserver) o a travs de una pgina
web. Para la realizacin de este proyecto se ha utilizado la opcin de wampserver en su versin 3.0.6
que es la interfaz para la administracin de base de datos MySQL entre otros.
-mysql-conector.jar: Es una librera externa que permite conectar la base de datos a travs de
sentencias SQL, para registro, eliminacin o consultas de datos dentro del BD creada en PHPmyAdmin.

3.5. Gestin de agenda tipo calendario


Para la creacin y soporte de una agenda tipo calendario, y el trabajo con fechas reales del sistema
operativo se ha utilizado la siguiente librera externa:
-jcalendar.jar: Es una librera que permite obtener diferentes swings (objetos) para el trabajo con tipo
de datos fechas dentro del entorno GUI de Java.

3.6. Resultados
Link de la presentacin(.pptx):
http://es.slideshare.net/MateoQuizhpi1/smart-diary-agenda-de-actividades-en-java
Link descarga de proyecto:
https://github.com/mateoquizhpi/SmartDiary

3.7. Conclusiones

Creacin de un proyecto confortable e intuitivo a la necesidad del usuario en gestionar sus


actividades de su rutina cotidiana en todos los mbitos sociales.
Utilidad de la base de datos en la gestin y enlace de datos del proyecto, lo que permiti
obtener un calendario til para un usuario, de acuerdo a sus necesidades.
Complicaciones en la construccin de un calendario dinmico, ya que no existen mtodos
predefinidos para su elaboracin. Y dicha implementacin es larga a nivel de cdigo o gestin
de memoria, vara de acuerdo al enfoque.

3.8. Tutorial
Link de tutorial (YouTube):
https://www.youtube.com/watch?v=YeIX5LzWAWY

3.9. Bibliografa

Joyanes Aguilar L. Zahoner Martnez I., (2008), Estructura de Datos en Java, Madrid Espaa,
Blanca Pecharromn.

También podría gustarte