Está en la página 1de 22

Proyecto Final

Sistema de Gestión para la Organización de Ayuda Comunitaria (OAC)

Integrantes:

Jonnathan Paúl Bueno Neira

Christian Patricio Crespo Ortega

Jhudyt Ximena Gaona Alvarado

Miriam Lisseth Medina Tenesaca

Fecha Entrega: Lunes 26 de Septiembre del 2022


ÍNDICE

ÍNDICE......................................................................................................................... 2
1. Aspectos generales del sistema. ............................................................................ 3
1.1. Título del Proyecto ................................................................................................ 3
1.2. Objetivo general .................................................................................................... 3
1.3. Objetivos específicos ............................................................................................. 3
1.4. Antecedentes ......................................................................................................... 3
1.5. Justificación del proyecto. .................................................................................... 3
2. Especificación de requisitos del sistema ............................................................... 4
2.1. Requisitos del sistema. .......................................................................................... 4
3. Desarrollo de la estructura del programa ............................................................. 6
3.1. Cronograma de actividades ................................................................................... 6
4. Diagramas ........................................................................................................... 10
4.1. Casos de Uso ....................................................................................................... 10
4.2. Diagrama de Clases .............................................................................................. 11
Figura 2: Diseño del Diagrama de Clases .......................................................................................... 11
4.3. Entidad relación .................................................................................................. 12
Figura 3: Diseño del Diagrama ER ..................................................................................................... 12
4.4. Modelo Relacional............................................................................................... 13
Figura 4: Diseño del Diagrama Relacional ........................................................................................ 13
4.5. Diseño de interfaz ............................................................................................... 14
Figura 5: Boceto de la vista de Inicio al sistema ................................................................................ 14
Figura 6: Boceto de la vista de Inicio de Sesión ................................................................................ 15
Figura 7: Boceto de la vista administrativa según el ingreso por rol ................................................ 15
5. Instrucciones y reglas del juego ...........................................................................15
6. Herramienta y Lenguaje ..................................................................................... 16
Figura 8: Metodología Scrum ............................................................................................................. 17
Figura 9: Lenguaje de programación JAVA ....................................................................................... 17
Figura 10: Servidor de Base de Datos Oracle 18 ................................................................................ 18
Figura 11: Java Persistence API (JPA) ............................................................................................... 18
Figura 12: Driver de conexión OJDBC7 ............................................................................................. 18
Figura 13: Jaspersoft Studio-6.20.0 ................................................................................................... 19
Figura 14: LogMeIn Hamachi ............................................................................................................. 19
Figura 15: GitHub Desktop ................................................................................................................. 19
7. Conclusiones. ...................................................................................................... 20
8. Bibliografía ......................................................................................................... 21
Firmas de Integrantes: ............................................................................................... 22
1. Aspectos generales del sistema.

1.1. Título del Proyecto

Sistema de Gestión para el direccionamiento de ayuda humanitaria para la


Organización de Ayuda Comunitaria (OAC).

1.2. Objetivo general

Desarrollar e implementar un software de gestión para cooperación e


interacción social de benefactores y beneficiarios que permita direccionar la
ayuda humanitaria a estos últimos, a la vez que permita el registro y el
procesamiento de información para la Organización de Ayuda Comunitaria
(OAC).

1.3. Objetivos específicos

1.3.1. Levantar y establecer los requerimientos funcionales y no funcionales,


junto con la información necesaria para el desarrollo del software.

1.3.2. Diseñar los diagramas UML de comportamiento y estructurales, la


interfaz gráfica y el modelado de la base de datos.

1.3.3. Enlazar la información adquirida de los registros o datos previos


obtenidos y almacenados por los mecanismos del software.

1.3.4. Realizar las pruebas de funcionalidad e implementar el software en la


Organización de Ayuda Comunitaria (OAC).

1.4. Antecedentes

El proyecto que se describe a lo largo de este documento, fue


concebido por la necesidad de alcanzar un sueño o visión de una
Organización en expandir sus alcances y dar un paso al solicitar el
desarrollo de un software que permita llegar a personas vulnerables,
con dicho sistema dar a conocer la aplicación de este software y que
las personas que realmente necesitan ayuda puedan tener acceso a
un registro y que la ayuda pueda ser direccionada ya que como
recientemente se constituyó no tenía este tipo de sistema.

1.5. Justificación del proyecto.

Las organizaciones que surgen de estas iniciativas, se enfrentan al reto


de obtener recursos sin un producto convencional, actúan externamente
en un contexto capitalista y por tanto es fundamental que sus esfuerzos
sean bien dirigidos ya que estos se convertirán en el principal insumo
para recibir aportes y financiamiento de su operación.

Esta Organización Benéfica es una entidad que se constituyó para la


ayuda de familias en estado de vulnerabilidad, con bajos recursos,
personas sin hogar, o víctimas de catástrofes, etc. Con el fin de poder
ayudar en conjunto, a incentivar el desarrollo de una mejor comunidad
y sociedad.

Junto con la coordinación del equipo de trabajo se nos hizo posible


realizar un análisis amplio y mediante la información captada se nos
permitirá determinar la forma que podría tornar el programa y en base
a ello desarrollar el software apto para sus actividades generales y
cumplir los requerimientos.

Los motivos que nos llevan a desarrollar este software son objetivamente
simples, unir y coordinar el esfuerzo y talento de personas con
disponibilidad de sumarse al apoyo humanitario ya que se trata de una
organización de ayuda.

Implementando este sistema esperamos mantener la información


actualizada y disponible para su consulta sobre benefactores,
beneficiarios, administradores, entre otros, todo esto con la finalidad de
otorgar la facilidad y eficiencia necesaria al momento de disponer de la
información.

El sistema será capaz de enlazar el registro tanto de benefactores como


beneficiarios, cumpliendo así nuestro objetivo planteado anteriormente.

Finalmente, los datos manejados en el sistema se conservarán seguros y


accesibles en el momento de llevar a cabo su uso. Por otro lado, el
sistema tendrá una interfaz moderna, agradable y sencilla para que el
usuario que la utilice, pueda navegar plenamente dentro de esta.

2. Especificación de requisitos del sistema

2.1. Requisitos del sistema.

2.1.1. Funcionales

● Al nuevo sistema entregado a la organización se le asignará un usuario


y clave al administrador general, con el cual se implementará los
usuarios específicos para los empleados de la organización, donde
cumplirán sistemáticamente con los procesos propiamente
determinados.

● Para el acceso al software (Sistema de Información) será necesario


iniciar sesión con las credenciales previamente definidas por cada rol
de empleado.

● Se permitirá a los usuarios autorizados registrar otros tipos de usuarios,


como beneficiarios, benefactores y voluntarios.
● El sistema permitirá eliminar, cambiar o actualizar registros de
usuarios.

● El sistema permitirá elaborar reportes de los proyectos realizados.

● Se notificará a los usuarios el momento de ingreso al sistema, mediante


correo electrónico proporcionado previamente al realizar el registro de
la persona.

● El campo de monto acepta únicamente valores numéricos con dos


decimales.

● El campo fecha de creación de proyecto acepta únicamente fechas


posteriores al día de hoy (día actual).

● El campo nombre acepta caracteres alfabéticos únicamente.

● El campo dirección acepta caracteres alfabéticos, numéricos y


especiales.

● El campo país consistirá en una lista de preselección. El país asociado a


una dirección debe ser previamente registrado en el sistema.

2.1.2. No Funcionales

● Seguridad

○ Confiabilidad, seguridad y el desempeño del sistema a los


diferentes usuarios. Seguridad del sistema con respecto a la
información y datos que se manejan

○ Disponibilidad

El sistema debe estar disponible para los usuarios de acuerdo a


horarios que implemente la organización y garantizar el
desarrollo del mismo.

● Fiabilidad

○ El sistema debe tener una interfaz de uso intuitiva y sencilla. La


interfaz de usuario debe ajustarse a las características de la
organización.

● Mantenimiento

○ La interfaz debe estar complementada con un buen sistema de


ayuda.
3. Desarrollo de la estructura del programa

3.1. Cronograma de actividades

Cronograma de Actividades.

TAREAS
Plazo S1 S2 S3 S4 S
5

TAREA 1

Planificación de la
propuesta del
100%
proyecto

TAREA 1.1

Objetivos del
3 días
proyecto

Inicio:
TAREA 1.2

01/08/2022
Justificación de la
implementación
Fin:
TAREA 1.3
03/08/202
2
Resultados
Esperados

TAREA 1.4

Aprobación del
proyecto

TAREA 2

Análisis de
requerimientos
2 días 100%

Inicio:
TAREA 2.1

03/08/202
Descripción
2
general de los
requerimientos
Fin:
TAREA 2.2
05/08/202
2
Clasificación y
priorización de
requerimientos

TAREA 3

Elaboración de
diagramas
5 días 100%

TAREA 3.1

Creación del
diagrama de Casos
Inicio:
de Uso

08/08/202
TAREA 3.2
2
Creación del
Fin:
Diagrama de Clases

12/08/2022
TAREA 3.3

Creación del
diagrama E-R
TAREA 4

Estructuración de
la base de Datos
12 días 100%

TAREA 4.1

Desarrollo del
Diagrama
Relacional

Inicio:
TAREA 4.2

15/08/2022
Normalización del
diagrama
Fin:
relacional

02/09/202
TAREA 4.3
2
Obtención de
herramientas para
el desarrollo de la
base de datos

TAREA 4.4

Implementación
del esquema a la
base de datos
TAREA 5

Desarrollo de
Código
16 días 100%

TAREA 5.1

Inicio:
Implementación
del patrón MVC
02/09/202
2
TAREA 5.2

Fin:
Implementación
JPA para
22/09/2022
visualización de las
clases

TAREA 5.3

Establecer las
interfaces gráficas
(Vistas)

TAREA 5.4

Interrelación
jerárquica

TAREA 5.5

Desarrollo de
métodos y
funcionalidades

TAREA 6
100%
Testeo del sistema
2 días
TAREA 6.1

Validaciones
Inicio:
TAREA 6.2
23/08/2022
Pruebas Unitarias
Fin:
TAREA 6.3
26/08/2022
Pruebas de
Aceptación
4. Diagramas

4.1. Casos de Uso

Los diagramas de casos de uso nos sirven para especificar la comunicación y


el comportamiento de un sistema mediante su interacción con los usuarios
y/u otros sistemas. Es decir, muestra la relación entre los actores y los casos
de uso en un sistema.
4.2. Diagrama de Clases

Nos permite trazar claramente la estructura del sistema al modelar sus clases, atributos, operaciones y relaciones entre objetos.
Para tomar decisiones acerca de las abstracciones del sistema y de la finalidad del programa.

Figura 2: Diseño del Diagrama de Clases


4.3. Entidad relación

Este diagrama nos ayuda a representar de manera simplificada los componentes que participan en este proceso de sistema para la
“OAC” y el modo en el que estos se relacionan entre sí. Además, nos ayudará más adelante para modelar la base de datos.

Figura 3: Diseño del Diagrama ER


4.4. Modelo Relacional

En este diagrama representamos los datos de nuestro sistema por medio de tablas relacionadas cuyas filas se llaman tuplas y las
columnas variables, y así formamos nuestra base de datos, que luego la representamos en el servidor Oracle.

Figura 4: Diseño del Diagrama Relacional


4.5. Diseño de interfaz

En esta etapa nos enfocamos en el entorno gráfico del proyecto como el


construir ventanas, botones, menús, etc. que con el objetivo de crear una
interfaz amigable para nuestro cliente. Nuestro sistema cuenta con una vista de
login, que según el ingreso por un rol específico habilitará la vista
administrativa, es decir, dependiendo del tipo de rol con el que se inicie, las
funcionalidades de ciertos campos se habilitarán permitiendo así realizar su
labor dentro del sistema.

Figura 5: Boceto de la vista de Inicio al sistema


Figura 6: Boceto de la vista de Inicio de Sesión

Figura 7: Boceto de la vista administrativa según el ingreso por rol

5. Instrucciones y reglas del juego

El desarrollo del software aplicativo fue realizado con el sistema operativo Windows
10, la base de datos Oracle y el lenguaje de programación Java junto con la ayuda del
IDE Apache Netbeans.

Por lo tanto, si se desea comprobar la funcionalidad de este aplicativo el usuario deberá


contar con los siguientes requisitos básicos de software y hardware:

Requisitos de software:

La versión actual de este aplicativo requiere, para su correcto funcionamiento


cualquiera de los siguientes sistemas operativos instalados en el equipo:

● Windows 10
● Linux Ubuntu

También deberá contar con java 8.0 o superior instalado previamente, a la par con el
sistema gestor de base de datos Oracle 18c.

Requisitos de hardware

La versión actual de este aplicativo necesita, para su correcto funcionamiento el


siguiente hardware:

Mínimo

● Procesador Intel/AMD a 1.5 GHz


● 2 GB de memoria RAM
● 1 GB libre en el disco duro
● Resolución de pantalla de 1.024 × 768

Recomendado

● Procesador Intel/AMD a 2.6 GHz


● 4 GB de memoria RAM
● 4 GB libres en el disco duro
● Resolución de pantalla de 1.280 × 1.024 o superior

Respecto al sistema o programa en sí, su funcionalidad se basa en roles, es decir cada


usuario gestionará su trabajo iniciando sesión con sus credenciales, lo cual le permitirá
visualizar sus respectivos permisos y accesos.

De acuerdo a nuestro planteamiento los roles quedaron de la siguiente manera:

- Administrador:

o Se encargará del control de reportes de las distintas operaciones


dentro del sistema, así como también la asignación de roles y
creación de usuarios y personas.

o En su totalidad el Administrador tiene el acceso a todas las opciones


disponibles dentro del sistema.

- Jefe de operaciones:

o Se encargará de la gestión de los proyectos para la organización, de


la misma manera, controlará las acciones realizadas por su
asistente.

o Direccionará la ayuda a las personas beneficiarias a través de los


proyectos.

- Asistente:

o Se encargará del registro de todos los benefactores y beneficiarios, a


estos últimos se le dirigirá a un proyecto en el cual recibirán ayuda.

o Contará con la creación y consulta de voluntarios, los cuales podrán


participar en un proyecto

6. Herramienta y Lenguaje

SCRUM: Su objetivo principal es controlar y planificar de forma ágil los proyectos que
tienen gran cantidad de cambios. Para ello se trabaja en base a sprints o iteraciones:
cada parte del proyecto es planificado con anticipación. Con este método de trabajo lo
que se pretende es alcanzar el mejor resultado de un proyecto determinado.

- Fomenta y mejora mucho la colaboración entre los miembros del equipo


de desarrollo. Además, se tiene un alto grado de transparencia, ya que el cliente
sabe en todo momento en que está trabajando en equipo, cuánto está tardando
y los resultados que se tienen en cada momento.
- La autoorganización: enfocado a que los equipos sean capaces de
organizarse, de auto gestionarse, de saber llevar la carga de trabajo en todo
momento, de que se tenga el control del tiempo y así gestionar los flujos de
trabajo y mejorar la productividad.
- La priorización: saber qué trabajos son los más importantes y cuáles son los
primeros que hay que desarrollar.

Figura 8: Metodología Scrum

JAVA: Es un lenguaje de propósito general, de alto nivel, y orientado a objetos. Es


rápido, seguro y fiable. También es un sistema de programación versátil con multitud
de aplicaciones, permite diseñar el software de forma que los distintos tipos de datos
que se usen estén unidos a sus operaciones.

Figura 9: Lenguaje de programación JAVA

Oracle 18c: Es un sistema de gestión de base de datos de tipo objeto-relacional


Figura 10: Servidor de Base de Datos Oracle 18

JPA: La especificación JPA define explícitamente la correlación relacional de objetos,


crea un estándar para la importante tarea de la correlación relacional de objetos
mediante la utilización de anotaciones o XML para correlacionar objetos con una o más
tablas de una base de datos. Para simplificar aún más el modelo de programación de
persistencia:

- La API EntityManager puede actualizar, recuperar, eliminar o aplicar la


persistencia de objetos de una base de datos.
- La API EntityManager y los metadatos de correlación relacional de objetos
manejan la mayor parte de las operaciones de base de datos sin que sea
necesario escribir código JDBC o SQL para mantener la persistencia.
- JPA proporciona un lenguaje de consulta, que amplía el lenguaje de consulta
EJB independiente, conocido también como JPQL, el cual puede utilizar para
recuperar objetos sin grabar consultas SQL específicas en la base de datos con
la que está trabajando.

Figura 11: Java Persistence API (JPA)

JDBC: Es el estándar de conectividad de bases de datos de Java y proporciona un


mecanismo para que los programas Java se conecten a las bases de datos. Para acceder
a las bases de datos mediante JDBC, debe utilizar un controlador JDBC. Los
proveedores de bases de datos ofrecen controladores JDBC a través de descargas
gratuitas.

Figura 12: Driver de conexión OJDBC7


TIBCO-Jaspersoft: es una biblioteca de creación de informes que tiene la habilidad
de entregar contenido enriquecido al monitor, a la impresora o ficheros PDF, HTML,
XLS, CSV y XML. Es decir, esta herramienta ayuda a diseñar y ejecutar plantillas de
informes; crear consultas de informes; escribir expresiones complejas; diseñar
componentes visuales, tipos de gráficos, mapas, tablas, tabulaciones cruzadas y
visualizaciones personalizadas, etc.

Figura 13: Jaspersoft Studio-6.20.0

LogMeIn Hamachi: Hamachi es un software que emula una red local conectados
por WAN, este programa utiliza las redes privadas virtuales o VPN, y cifra los canales
de un extremo a otro. Gracias a esto reduce los saltos de latencia en comparación al
Internet. Además, no exige conexión local, hay mayor seguridad durante la
conexión, se puede enviar y recibir archivos entre diferentes dispositivos, entre
otras características.

Esta herramienta especialmente, nos fue de ayuda al crear una dirección IP estática,
para conectar todos los dispositivos de trabajo a una sola Base de Datos, es decir,
implementamos la arquitectura cliente - servidor.

Figura 14: LogMeIn Hamachi

GitHub Desktop: Es una herramienta de código abierto para interactuar con GitHub
utilizando una GUI en vez de la línea de comandos o de un buscador web. GitHub
Desktop fomentando el trabajo colaborativo utilizando las mejoras prácticas con Git y
GitHub. Estas son algunas de las características que posee:

➔ Añadir cambios a la confirmación de forma interactiva


➔ Añadir coautores rápidamente en a la confirmación
➔ Controlar ramas con solicitudes de extracción y ver los estados de CI
➔ Comparar las imágenes que se han cambiado

Figura 15: GitHub Desktop


7. Conclusiones.

Una vez realizado el estudio de factibilidad del presente proyecto, se prosiguió con el
mismo, por lo que al llegar a su etapa final se logró cumplir el objetivo propuesto de la
creación del sistema de gestión para la “Organización de Ayuda Comunitaria”. En él se
abordó el principal aspecto de la empresa como es el direccionamiento de ayuda hacia
las personas necesitadas. Y con la ayuda de diferentes herramientas, sobre todo de la
metodología SCRUM se nos permitió realizar entregas del proceso de manera parcial
y calendarizada, priorizadas por su importancia en el cumplimiento del proyecto.

- Considero que cada etapa o tarea realizada en este proyecto fueron planificadas
correctamente permitiéndonos así dar cumplimiento con nuestros objetivos. El
trabajo colaborativo nos permitió intercambiar información por lo que
contribuyó a mejorar la capacidad creativa del equipo, así como también
aprender unos de otros al aportar sus conocimientos y experiencias en cada
etapa del proyecto.

Miriam Medina

- Junto con la planificación y desarrollo, se nos hizo posible ir a la par del


conocimiento práctico y teórico, disponible para la realización del proyecto que
como objetivo tiene a estar posicionado en ser un sistema de gestión propuesto
para una Organización, en general pude concluir que es muy importante la
organización y el trabajo colaborativo así como la completa implementación de
herramientas que simplifiquen los procesos de organización y del desarrollo de
las etapas técnicas del proyecto.

Christian Crespo

- Se logró elaborar y plantear el objetivo propuesto al principio del proyecto, en


él se abordaron los principales aspectos del sistema a plantear como el correcto
y buen funcionamiento del sistema, además se replanteo y formuló la misión y
visión de la misma, haciéndolo más acorde con los tiempos actuales tan
complejos, globales y competitivos. Un sistema capaz de ser utilizado por
diferentes tipos de organizaciones que utilicen una revisión continua en el
manejo de sus registros.

Jonnathan Bueno

- En base a las metas planteadas en el proyecto, se puede concluir que el sistema


de gestión está alineado con las políticas de la organización y tiene viabilidad
positiva, y la comprensión y correcta aplicación de los lineamientos en estas
áreas de conocimiento, teniendo en cuenta aspectos fundamentales como la
identificación de Stakeholders , definición de alcance , tiempo y calidad de los
entregables, etc., sumándole un completo plan de control y seguimiento para
obtener como resultado un proyecto realizable para cualquier organización.

Jhudyt Gaona
8. Bibliografía

- Estructura organizacional, tipos de estructura y organigramas. (2020, junio 23).


gestiopolis

Estructura organizacional, tipos de estructura y organigramas • gestiopolis

- Overview (Java Platform SE 7 ). (s. f.). Recuperado 19 de abril de 2022, de

Java Platform SE 7 (oracle.com)

- SQLDeveloper: conectar a servidor remoto Oracle

SQLDeveloper: conectar a servidor remoto Oracle - YouTube

- Serializar objetos de una clase escrita por nosotros en Java


En 5 minutos... (más o menos) Serializar objetos de una clase escrita por nosotros en
Java - YouTube

- Diseño de interfaz gráfica y métodos crud


Sistema de venta en Java y MySQL desde cero - YouTube

- Aprendiendo la Api de persistencia de Java JPA


Aprende JPA En 30 Minutos - Java y MySQL - YouTube

- Métodos CRUD MVC


CRUD MVC con Java y MySQL - YouTube

- Crear y subir un proyecto un repositorio compartido


Como crear un Repositorio y Subir Proyecto a GITHUB Paso a Paso - YouTube

NetBeans - GitHub: Subir proyectos a Github 2020 - YouTube

- Solucionar problema de Pushing en el repositorio Git


GIT Cómo corregir el error 'No se puede conectar a ningún URI: - YouTube

- Recursos aprendidos en el aula de clases

- Exportación y uso de librerías proporcionados por la docente de la materia


Firmas de Integrantes:

Medina Miriam Gaona Jhudyt

Estudiante Estudiante

Crespo Christian Bueno Jonnathan

Estudiante Estudiante

También podría gustarte