Smart Diary

Smart Diary Programación 3 (Semestre sep/2016 - feb/2017) Escuela de Ingeniería de Sistemas Universidad de Cuenca 17 nov

Views 632 Downloads 9 File size 663KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Smart Diary Programación 3 (Semestre sep/2016 - feb/2017) Escuela de Ingeniería de Sistemas Universidad de Cuenca 17 noviembre de 2016

Mateo Quizhpi [email protected]

Temario 1.Enlaces 2.Introducción 2.1.Presentación 2.2.Descripción del Proyecto 2.3.Motivación y Novedad 3.Estructura del Proyecto 3.1. Estructura de Datos empleadas 3.2. Programación por Capas o Niveles 3.3. UML 3.4. Gestión de Base de Datos 3.5. Gestión de agenda tipo calendario 3.6. Resultados 3.7. Conclusiones 3.8. Tutorial 3.9. Bibliografía

1.

Enlaces ● Link de la presentación(.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

2.

Introducción

2.1.

Presentación

Smart Diary nace como un proyecto integrador de estructura de datos en lenguaje Java de la asignatura de Programación 3 dentro de la Escuela de Ingeniería de Sistemas de la Universidad de Cuenca. El proyecto consiste en la creación de una agenda personal de actividades, esta contendrá información personal de cada actividad cotidiana de un usuario y permitirá gestionar clasificándola por determinados parámetros para llevar control sobre sus actividades apegado al calendario gregoriano. Objetivo de Aprendizaje: Adquirir y desarrollar destrezas en la creación de un proyecto de escritorio en lenguaje Java utilizando la POO, la división en niveles o capas y herramientas de gestión de bases de datos, para un mayor portabilidad y extensibilidad del mismo. Resultados Específicos. Al termino del proyecto tentativamente se alcanzará los siguientes objetivos específicos: - Desarrollar una aplicación interactiva y útil para la gestión 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 eliminación de cada actividad personal. - Identificar estructuras de datos idóneas para el desarrollo lógico del proyecto. - Diseñar de forma efectiva una base de datos para la gestión y extensibilidad de la información de cada usuario, y sus actividades. - Dividir por niveles o capas el proyecto para su modulación y con ello la generación 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.

Descripción del Proyecto

En un mundo globalizado la necesidad de organizar nuestro tiempo en relación con las diferentes actividades cotidianas que realizamos es primordial para la consecución de tareas o compromisos que se adquieren en nuestra rutina diaria, eh aquí necesidad que intenta solventar y con ello la razón del surgimiento de Smart Diary como una aplicación de escritorio realizada en el entorno de NeatBeans (Versión 8.1) implementándola en lenguaje Java con el paradigma de POO, programación por capas y con la utilización de PHPmyAdmin con servidor local para la gestión de bases de datos SQL. Ya en sí el proyecto estará estructurado por el registro y posterior acceso de un usuario, quién gestionará una agenda personal de actividades diarias, estas estarán clasificadas en 4 tipos: Laborales/académicas: Actividades que estén relacionadas con tareas escolares o compromisos laborales asumidos. Ocio: Actividades que estén ligadas al asistimiento de compromisos o lugares de distracción personal de cada usuario. 3

Emergencia: Actividades que estén relacionadas con revisiones o asistencia médicas del usuario. Social: Actividades que estén ligadas al cumplimiento de compromisos o reuniones sociales o familiares. Estos tipos de actividades estarán denotados por un título, que será un campo obligatorio, y una breve descripción, un campo opcional, además tendrán una prioridad que podrá ser inmediata, mediana o baja y estos servirá para alertar al usuario sobre las actividades a priorizar durante el día.

2.3.

Motivación y Novedad

La motivación en la realización de Smart Diary es la unión 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 además le brinda una experiencia nueva con la inclusión 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 realización del proyecto fue un ArrayList, una colección propia de Java (API Collection – Java). Motivo: El principal motivo relacional fue en la utilización dentro de las alertas al usuario que están determinadas por la prioridad elegida dentro de cada actividad. Estas prioridades están 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 señalar que escogimos desde la parte lógica esta estructura ya que nos permite indexar sus datos, lo que ahorra en memoria en procesos como la eliminación y agregación de actividades.

Ilustración 1 Ventana - Alerta de actividad

3.2. Programación por Capas o Niveles La utilización de la programación por capas en este proyecto está principalmente motivada por su extensibilidad para futuros cambios ya que al estar dividida en tres diferentes módulos los cambios que eventualmente se podrán realizar y serán independientes entre cada módulo. Además, me permitirá clasificar los diferentes procesos a través de sus alcances, algo que genera portabilidad del código. Los niveles que está divido el proyecto es el siguiente.

4

Capa Lógica: También conocida como lógica de negocio, es la que se encarga de procesar las peticiones del GUI o usuario, y genera mensajes en el contexto de la petición 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 gestión permite almacenar, consultar y eliminar las actividades de la rutina diaria de un usuario.  Usuario: Esta clase permite gestionar los usuarios que utilizarán nuestra aplicación, 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 presentación y como reza su nombre es la que brinda la información de manera dinámica para que el usuario recepte o emita mensajes a ser procesados en nivel de la lógica de negocios. En el proyecto existen tres clases dentro del nivel de presentación, y son los siguientes:  login: Esta clase es la puerta de acceso a la agenda de actividades, en donde necesita el usuario y contraseña para su validación, estos son atributos de la clase usuario, en donde si no existe registración previa ofrece la opción para su registración en la clase CheckIn.  CheckIn: Esta clase contiene 4 campos obligatorios: nombre, apellido, usuario y contraseña, los cuales son atributos de la clase Usuario. Esta GUI ofrece la opción de registrar dichos datos en una base de datos de servidor local, para su validación en el posterior acceso a la agenda de actividades. Además, permite la opción de regresar a la venta de presentación login. Capa Base de Datos: Este nivel alberga la clase que gestiona la conexión, registro y ejecución 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 pequeño y simple:  Conectar: Esta clase permite registrar los usuarios y sus actividades ligadas a su vida cotidiana, además permite consultar actividades de determinado usuario para su eliminación o visualización dentro de la capa de presentación.

3.3. UML En la diagramación UML, en la siguiente ilustración visualizaremos el diagrama de clases que permite relacionar o esquematizar lógicamente nuestro proyecto y las diversas comunicaciones entre las clases de Smart Diary.

5

6

3.4. Gestión de Base de Datos Dentro de la capa de datos utilizamos una herramienta gestora de base de datos SQL, llamada PHPmyAdmin y una librería externa para su conexión a través de lenguaje Java: -MySQL: No es más un sistema de gestión de base de datos relacional, una de los más utilizados en la informática por su extensibilidad y soporte. -PHPmyAdmin: Esta es una herramienta escrita en lenguaje PHP con motivo de manejar la administración de MySQL a través de dos tipos: servidor local (wampserver) o a través de una página web. Para la realización de este proyecto se ha utilizado la opción de wampserver en su versión 3.0.6 que es la interfaz para la administración de base de datos MySQL entre otros. -mysql-conector.jar: Es una librería externa que permite conectar la base de datos a través de sentencias SQL, para registro, eliminación o consultas de datos dentro del BD creada en PHPmyAdmin.

3.5. Gestión de agenda tipo calendario Para la creación y soporte de una agenda tipo calendario, y el trabajo con fechas reales del sistema operativo se ha utilizado la siguiente librería externa: -jcalendar.jar: Es una librería 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 presentación(.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   

Creación 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 gestión y enlace de datos del proyecto, lo que permitió obtener un calendario útil para un usuario, de acuerdo a sus necesidades. Complicaciones en la construcción de un calendario dinámico, ya que no existen métodos predefinidos para su elaboración. Y dicha implementación es larga a nivel de código o gestión de memoria, varía de acuerdo al enfoque.

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

3.9. Bibliografía 

Joyanes Aguilar L. Zahoner Martínez I., (2008), Estructura de Datos en Java, Madrid – España, Blanca Pecharromán.

7