Está en la página 1de 29

Universidad de Concepción

Facultad de Ingeniería
Departamento de Ingeniería Informática y Ciencias de la Computación

Informe Final
“Desarrollo de Software para gestión de
Voluntariado”

Integrantes:

 Luis Bustamante
 Pedro Herrera
 Jorge Miranda
 Karin Oxa
 Rodrigo Troncoso

Profesor:

 Gonzalo Rojas Duran

Ayudante:

 Carlos Valdebenito

1
Índice
Introducción ....................................................................................................................................................... 3
Descripción Empresa .......................................................................................................................................... 4
Descripción del problema ................................................................................................................................... 5
Motivación.......................................................................................................................................................... 5
Objetivos ............................................................................................................................................................ 5
Descripción de la solución .................................................................................................................................. 6
Restricciones ...................................................................................................................................................... 6
Plan de Trabajo ................................................................................................................................................... 7
Diagrama de Casos de Uso ................................................................................................................................. 8
Documentación .................................................................................................................................................. 9
Caso de Uso: Registrar Voluntario ............................................................................................................. 9
Caso de Uso: Registrar por Facebook ...................................................................................................... 11
Caso de Uso: Crear Evento....................................................................................................................... 13
Caso de Uso: Inscribir Evento .................................................................................................................. 15
Caso de Uso: Crear Equipos ..................................................................................................................... 17
Diagramas de Secuencia de Sistema de Gestión de Voluntariado ................................................................... 19
Registrar Voluntario ................................................................................................................................. 19
Registrar por Facebook ............................................................................................................................ 20
Crear Evento ............................................................................................................................................ 21
Inscribir Evento ........................................................................................................................................ 22
Crear Equipos ........................................................................................................................................... 23
Diagrama de Clases Sistema de Gestión de Voluntariado ................................................................................ 24
Diagramas de Comunicación ............................................................................................................................ 25
Registrar Voluntario ................................................................................................................................. 25
Voluntarios inscritos a un evento ............................................................................................................ 25
Número de grupos por Evento ................................................................................................................ 26
Enviar mail de notificación....................................................................................................................... 26
Inscribir a Evento ..................................................................................................................................... 27
Crear Evento ............................................................................................................................................ 27
Cierre Inscripciones (Determinar rango y labores) .................................................................................. 28
Conclusión ........................................................................................................................................................ 29

2
Introducción

El primer paso al comenzar el desarrollo de un proyecto, es realizar un


análisis de los detalles que este posee. La información reunida se utilizara como
guía para crear las estrategias de diseño según los requerimientos suministrados
por el cliente que solicita nuestros servicios.

Durante el semestre, aprendimos distintas técnicas para el diseño de


sistemas informáticos, siendo capaces de diseñar de buena manera el sistema
escogido por nosotros.

Alcanzando la última etapa de diseño de nuestro sistema de gestión de


voluntariado para Un Techo para Chile, hemos llegado a la instancia de
presentación de los diagramas de colaboración. Se consideraron los diagramas
más relevantes de nuestro sistema.

En este informe recopilaremos todo el trabajo del semestre, presentando el


diseño completo de nuestro sistema de Gestión de Voluntariado y los diagramas
de colaboración correspondientes a la última entrega del mismo.

3
Descripción Empresa

Un Techo Para Chile (UTPCh) es una organización no gubernamental


(ONG), sin fines de lucro, orientada a la entrega de ayuda a las personas sin
hogar. Creada en 1997, cuando un grupo de jóvenes inquietos por la situación de
pobreza existente en el país, encabezados por el sacerdote jesuita Felipe Berríos
S.J., deciden organizar actividades al sur del país, convocando a jóvenes de
distintas carreras y universidades.

En la actualidad, Un Techo Para Chile trabaja con voluntarios desde Arica a


Chiloé, involucrándolos con la pobreza, comprometiéndolos para trabajar en
campamentos en la construcción de mediaguas, investigando, apoyando y
capacitando a los pobladores y a sus comunidades para entregarles las
herramientas necesarias para mejorar su situación y así cumplir un sueño país:
“Un Bicentenario sin Campamentos”.

A la cabeza de esta fundación se encuentra su gerente general, Juan Pedro


Pinochet y su director social es Gonzalo Cerda. En nuestra región, la directora es
Pía Soto y la gestión de voluntariado de Concepción está bajo supervisión de
Alejandro Romero.

El reciente 27 de Febrero, en la madrugada, Chile fue sacudido


bruscamente por un terremoto de 8,8 grados Richter que dejo una gran parte del
territorio nacional devastado. Debido a estos motivos, UTPCh se ha dedicado a
prestar ayuda a los damnificados de esta catástrofe, ayudando así a la
reconstrucción del país.

Nuestro primer contacto en la institución fue Vicente Guzmán, pero a partir


del lunes será Alejandro Romero, cuyos datos de contacto son:

Mail: alejandro.romero@untechoparachile.org

Teléfono: 76687458

4
Descripción del problema

Actualmente, con el alto nivel de carga al que está sometido “Un Techo
para Chile”, han surgido varios problemas como falta de coordinación de las
distintas plataformas (página oficial, página de Facebook, correo electrónico) que
se usan para captar voluntarios, debido a que estas no se relacionan entre sí;
otros relativos a la distribución eficiente de los voluntarios en los distintos sectores,
según sus capacidades, experiencia y ubicación, lo que lleva a la mala
conformación de grupos de ayuda. Por último la falta de manejo de estadísticas, lo
que permitiría optimizar los recursos con los que cuentan.

Motivación

La principal motivación es mejorar la eficiencia de la institución y que se


reduzca el número de personas sin un hogar que cumpla con condiciones mínimas
necesarias, ya que actualmente se encuentran con muchas tareas por realizar y
plazos impuestos por las autoridades. Antes del terremoto, tenían el objetivo de
terminar con los campamentos en Chile durante este año, lo cual no habrían
logrado incluso si el terremoto no hubiera ocurrido. Con una mejor organización es
más posible lograr una nueva meta de tal magnitud. Otra motivación es disminuir
la carga de trabajo de los voluntarios encargados de la administración.

Objetivos

Entre los objetivos que se quiere llevar a cabo con la realización de nuestro
proyecto se cuenta:

 Hacer más eficiente la administración de recursos, tanto de voluntarios


como de recursos económicos y/o materiales, entre otros.

 Mejorar la comunicación existente entre las diferentes plataformas


existentes por el momento en cuanto a la inscripción de voluntarios

5
Descripción de la solución

En el proceso de solucionar la problemática planteada se realizarán


diferentes acciones como por ejemplo:

 Diseñar aplicaciones que se comuniquen directamente con las plataformas


a cargo de la inscripción (registro) de voluntarios.

 El sistema debe tener una comunicación directa con el voluntario para un


evento determinado.

 Se asignará un valor de experiencia y un porcentaje de asistencia a los


voluntarios. Este valor de Experiencia será útil para asignarle tareas en
eventos posteriores, y eventualmente darle un rol de mayor importancia
dentro de la cuadrilla en la que se encuentra trabajando.

 De acuerdo a los valores de experiencia asignados anteriormente, el


porcentaje de asistencia que cada voluntario tenga, etc., los voluntarios irán
teniendo prioridad al ser llamados para participar en ciertas actividades de
voluntariado. Además, tomando en cuenta la ubicación física de cada
voluntario se le designara a éste el lugar al cual acudirá a ayudar, todo esto
regulado por el sistema.

Restricciones

1.- Este sistema no manejara la base de datos ya existente, solo utilizara sus
datos y agregara datos.

2.- La interacción entre plataformas hacia el sistema dependerá de la autorización


previa de los dueños de esta. Como por ejemplo Facebook.

3.- Se limita a un número limitado personas para la obtención de grupos, los


cuales tratara de crear en un tiempo razonable. Esto quiere decir: Que puede

6
crear grupos de personas en un tiempo razonable pero con un tope en la cantidad
de integrantes.

4.- El sistema dejara de lado la parte financiera de la empresa en cuestión.

Plan de Trabajo

Nuestro plan de trabajo se basa en un continuo acercamiento con las partes


involucradas, aunque dada la alta carga que tiene actualmente la organización, no
podemos programar reuniones semanales, pero si mantener contacto por correo,
para consultas directas y coordinar reuniones con el encargado del área de
gestión de voluntariado cada vez que esto sea posible.

Las reuniones serán efectuadas entre el cliente y 2 o más miembros del


grupo, para que puedan haber 2 visiones como mínimo de lo que el cliente
plantea. Además se impondrán metas semanales a cada integrante del grupo, con
el fin de que todos los integrantes aporten al proyecto, siendo el jefe de grupo el
encargado de ver que se cumplan.

Semanalmente el grupo realizará reuniones con el fin de debatir los nuevos


requerimientos, los problemas y las soluciones, también se presentarán y
debatirán las tareas asignadas. Estas reuniones serán el medio a través del cual
se progresará con el desarrollo del informe.

7
Diagrama de Casos de Uso

Sistema de Gestión de Voluntariado

Registrar por
Facebook
<<extend>>

Registrar
Voluntario

<<include>>
Usuario Seleccionar Sector
<<extend>>

<<include>>

Incribir a Evento

<<extend>>
Enviar mail
Crear Evento
Notificación <<include>>

Crear Equipos
<<include>>
Voluntario

<<include>>
Enviar Confirmación Asignar Grupos

<<include>> <<include>> Coordinador

Asignar Rango Asignar Labor

Actualizar Estado
Voluntario

8
Documentación

Caso de Uso: Registrar Voluntario

Caso de Uso Registrar Voluntario

Actor Principal Usuario

Personal Cliente: Desea registrarse en el sistema para convertirse


Involucrado e en voluntario
Intereses

Precondiciones

Postcondiciones El usuario es registrado correctamente en el sistema


pasando a ser un voluntario con poder para hacer uso del
sistema

Escenario 1. El usuario solicita la creación de un nuevo voluntario


Principal de Éxito
2. El sistema despliega el formulario a completar

3. El usuario llena el Formulario de inscripción (id,


nombre, fecha_nac, correo, dirección, cuidad,
comuna, RUT, etc.) y envía la solicitud de registro

4. El sistema acepta el formulario de registro y pide


al usuario seleccionar el sector en que este se
desempañara

5. El usuario selecciona su sector

6. El sistema confirma el sector y envía mail de


confirmación para completar el registro

7. El usuario confirma el registro a través de su


Correo

8. El sistema completa el registro ingresando al


usuario a la base de datos y da acceso al nuevo
voluntario

9
Extensiones 4’. El formulario no aceptado
- El sistema pide al usuario rellenar campos no
completos o incorrectos (la cantidad de veces
que sea necesario)

7’. Usuario no confirma solicitud de registro


- El sistema no dará acceso al usuario hasta
completar el registro en el mail

1’- 7’. Cancelar


- En cualquier momento el usuario puede cancelar
su registro

10
Caso de Uso: Registrar por Facebook

Caso de Uso Registrar por Facebook

Actor Principal Usuario

Personal Cliente: Desea registrarse en el sistema a través de la


Involucrado e plataforma Facebook para convertirse en voluntario
Intereses

Precondiciones Usuario identificado correctamente en la red social


Facebook

Postcondiciones El usuario es registrado correctamente en el sistema a


través de la red social Facebook pasando a ser un
voluntario con poder para hacer uso del sistema

Escenario 1. El usuario ingresa a la aplicación existente en


Principal de Éxito Facebook para el registro en el sistema de
gestión de voluntariado

2. Facebook ejecuta la aplicación mostrando la


pantalla de inicio y solicitando al usuario la
lectura y aprobación de las condiciones de uso

3. El usuario acepta las condiciones e ingresa a la


aplicación, permitiéndole a la aplicación extraer
los datos presentes en Facebook

4. Facebook ejecuta la aplicación, la cual solicita la


recolección de los datos necesarios en el sistema
de gestión de voluntariado

5. La aplicación extrae los datos y solicita al usuario


ingresar los datos necesarios por un Techo Para
Chile y que no están presentes en Facebook

6. El usuario ingresa los datos faltantes y envía el


Formulario

7. La aplicación acepta el formulario y pide al


usuario seleccionar el sector en que este se
desempañara

8. El usuario selecciona su sector

11
9. El sistema confirma el sector y envía mail de
confirmación para completar el registro

10. El usuario confirma el registro a través de su


correo

11. La aplicación completa el registro ingresando


finalmente al usuario a la base de datos y da
acceso al nuevo voluntario

Extensiones 1’. La aplicación no se encuentra disponible


- Envió de mensaje de error

3’. El usuario no acepta las condiciones de uso de la


Aplicación
- Cancelación del registro

6’. La aplicación rechaza el formulario


- La aplicación pide al usuario rellenar campos no
completos o incorrectos (la cantidad de veces que
sea necesario)

10’. El usuario no confirma solicitud de registro


- El sistema no dará acceso al usuario hasta
completar el registro en el mail

1’ - 10’. Cancelar
- En cualquier momento el usuario puede cancelar
su registro a través de la aplicación

12
Caso de Uso: Crear Evento

Caso de Uso Crear evento

Actor Principal Coordinador

Personal Coordinador: Desea crear (ingresar) un evento a


Involucrado e realizarse por un Techo Para Chile, esperando así la
Intereses inscripción de los voluntarios en el evento creado

Precondiciones Coordinador identificado correctamente en el sistema

Postcondiciones El evento es creado satisfactoriamente y está listo para


recibir las inscripciones de los voluntarios

Escenario 1. El coordinador selecciona la creación de un


Principal de Éxito nuevo evento en el sistema

2. El sistema devuelve la plantilla a rellenar para la


creación del evento con sus respectivos campos
(id, nombre, fecha, hora, lugar, personal
solicitado, etc.)

3. El coordinador completa la plantilla para la


creación de un nuevo evento y la envía al
sistema

4. El sistema acepta la plantilla enviada e ingresa


los datos al sistema, creando así el nuevo evento

5. El coordinador selecciona un sector

6. El sistema envía un mail de notificación a los


voluntarios del sector seleccionado y a los
voluntarios de sectores aledaños

7. El sistema publica en la página web de Un Techo


Para Chile que hay un nuevo evento que
necesita voluntarios

13
Extensiones 4’. Plantilla no aceptada
- El sistema pide al coordinador llenar campos no
completos o incorrectos (la cantidad de veces
que sea necesario)

1’ - 5’. Cancelar
- En cualquier momento el coordinador puede
cancelar la creación de un evento en el sistema

14
Caso de Uso: Inscribir Evento

Caso de Uso Inscribir evento

Actor Principal Voluntario

Personal Voluntario: Desea inscribirse a un evento a realizarse por


Involucrado e un Techo Para Chile, asegurando así su consideración por
Intereses el sistema para el respectivo suceso

Precondiciones El evento ha sido creado con anticipación por el


coordinador y las inscripciones aún están abiertas
El voluntario se ha identificado en el sistema

Postcondiciones El voluntario logra inscribirse con éxito en el determinado


evento

Escenario 1. El voluntario selecciona la categoría Evento en el


Principal de Éxito sistema

2. El sistema entrega la lista de los todos eventos


disponibles y una pequeña descripción

3. El voluntario selecciona un evento en específico

4. El sistema despliega la ficha técnica de ese


evento

5. El voluntario solicita la inscripción a ese evento

6. El sistema solicita al voluntario la confirmación a


su inscripción

7. El voluntario confirma la inscripción

8. El sistema agrega al voluntario al evento


satisfactoriamente

15
Extensiones 1’ - 7’. Cancelar
- En cualquier momento el voluntario puede
cancelar su inscripción al evento

16
Caso de Uso: Crear Equipos

Caso de Uso Crear equipos

Actor Principal Coordinador

Personal Coordinador: Quiere formar grupos de voluntarios y


Involucrado e asignarles tareas
Intereses
Voluntario: Quiere recibir información sobre el grupo del
cual va a formar parte

Precondiciones El evento ha sido creado con anticipación por el


coordinador

Coordinador identificado correctamente en el sistema

Postcondiciones El sistema forma los grupos y asigna tareas y rangos a los


Voluntarios

El coordinador recibe la confirmación de todos los


integrantes de los grupos

Los Voluntarios han confirmado su participación


Escenario 1. El coordinador elige la opción “Crear grupos”
Principal de Éxito
2. El sistema muestra el menú de eventos creados

3. El coordinador elige el evento a cerrar

4. El sistema cierra la inscripción al evento


seleccionado

5. El sistema pide al coordinador ingresar el tamaño


de los grupos y labores a repartir y rangos
necesarios

6. El coordinador ingresar el tamaño de los grupos y


labores a repartir

7. El sistema asigna grupos de acuerdo al


Porcentaje de asistencia de los voluntarios

17
8. El sistema asigna los rangos de acuerdo al
Porcentaje de asistencia de los voluntarios

9. El sistema asigna el labor a los voluntarios de


acuerdo a su experiencia

10. El sistema enviar una petición confirmación para


asegurar la asistencia del voluntario, en esta
incluye los labores y rangos que desempeñará,
además de las especificaciones del grupo al cual
pertenecerá

11. El Voluntario confirma su participación

12. El sistema envía un informe al coordinador, que


contiene todos los datos

Extensiones 11’. El voluntario confirma inasistencia al evento


- El sistema aumenta en 1 el número de
inasistencias confirmadas del usuario, luego lo
borra del evento

1’ - 2’. Cancelar
- En estos momento el coordinador puede cancelar
el cierre de un evento en el sistema

6’. Cancelar
- El coordinador puede cancelar el cierre del
evento, el sistema reabre las inscripciones

18
Diagramas de Secuencia de Sistema de Gestión de Voluntariado

Registrar Voluntario

Sistema

Usuario

CreacionNuevoVoluntario()

Despliegue de formulario

IngresoFormulario(id, nombre, fecha_nac, correo, dirección, cuidad, comuna)

Formulario correcto

SeleccionSector()

Sector

ConfirmarRegistro()

Registro completo

19
Registrar por Facebook

Voluntario Sistema

IniciarAplicacion()

Terminos de uso

AceptarTerminos()

Datos voluntario

IngresarDatos(datos faltantes Facebook)

Seleccionar Sector

SelecciónSector()

Formulario correcto, mail confirmacion

ConfirmarRegistro()

CreacionNuevoVoluntario()

registro completo

20
Crear Evento

Sistema

Coordinador
CreacionNuevoEvento()

Despliegue de plantilla

IngresoPlantilla(id, nombre, fecha, hora, lugar, personal solicitado)

Mensaje Seleccionar Sector

SeleeciónSector()

Plantilla correcta

FinalizarCrearEvento()

Mail de notificación

21
Inscribir Evento

Sistema

Coordinador

SeleccionCategoriaEvento()

Lista eventos

SeleccionEvento()

Evento

InscripciónEvento()

ConfirmarInscripcion()

Evento inscrito

22
Crear Equipos

Sistema

Coordinador Voluntario
CrearGrupos()

Despliega los eventos creados

SeleccionEvento()

Ingrese condiciones de los grupos

Condicion(Tam_grupo, Labor, Rango)

Envio de confirmación

Confirmar()

Envio de informe

23
Diagrama de Clases Sistema de Gestión de Voluntariado

Evento
-Fecha
Coordinador
1..* 1..* -Hora
-Lugar_reunion
administra -Direccion 1
-Estado_inscripcion (bool)

0..* 1

es vecino
Usuario
1..* recibe
-Rut
-Nombre se lleva a cabo
-Apellido_P 1..* Sector por
1 se realiza
-Apellido_M
-Sector
-Fecha_Nacimiento
-Direccion
0..*
-Telefono 1
-Sexo Inscripción
-Nacionalidad realiza
-Fecha_inscripcion
pertenece 1..*

1
1..*
1..* 1
tiene
Voluntario
-Universidad Grupo
1 1..* forma parte de 0..*
-Año -Num_integrantes
User -Carrera
-E-mail
-Contraseña
1

Asignación
1 -Labor
-Rango
Asistencia
-num_inscripciones
-num_asistencias

Restricciones

- Un voluntario puede pertenecer a un solo grupo por evento

24
Diagramas de Comunicación

Registrar Voluntario

registrarVoluntario(Rut, nombre, apellido_p, apellido_m, fec_nac, 2: anadirVoluntario(u)


direccion, telefono, sexo, nacionalidad, universidad, año, carrera)
: CONTROLADOR :VOLUNTARIO

1: crearUsuario(rut, nombre, apellido_p, apellido_m, fec_nac,


direccion, telefono, sexo, nacionalidad, universidad, año, carrera)

1.1: crearUser(mail, contraseña)


u: USUARIO us: USER

Voluntarios inscritos a un evento

VoluntPorEvento(fecha, hora, lugar_reu, dirección) 2: nv=nro_inscrip()


: COORDINADOR v: EVENTO

1: v = encontrar(fecha, hora, lugar_reu, dirección) 2.1: n = contar()

: EVENTO : INSCRIPCION

25
Número de grupos por Evento

gruposPorEvento(fecha, hora, lugar_reu, dirección) 2: ng = nro_grupos()


: COORDINADOR v: EVENTO

2.1: n = contar()

1: v = encontrar(fecha, hora, lugar_reu, dirección)

: GRUPO

: EVENTO

Enviar mail de notificación

mailNotific() 1: s = encontrar(sector)
Evento :Sector
3:[para cada vecino del sector] s=siguiente()

2: enviar_not()
4: enviar_notVecSec()

2.1*: [para cada] v = siguiente()


4.1*:[para cada] v = siguiente()
s: Sector : Voluntario

2.2: enviar_not()
4.2: enviar_not()

v: Voluntario

26
Inscribir a Evento

InscribirEvento(fecha, hora, lugar_reu, dirección, fecha_ins) 1: Crear(fecha_ins) 2.2: Inscribir()


:Voluntario i: Inscripción e: Evento
2: IncribirE(fecha, hora, lugar_reu, dirección)

3: Agregar(i) 2.1: e=encontrar(fecha, hora, lugar_reu, dirección)

:Inscripción :Evento

Crear Evento

crearEvento(fecha, hora, lugar_reu,


dirección, sector) 1: Crear(fecha, hora, lugar_reu, dirección) 1.1: Crear()
:Cordinador e: Evento :Grupo

2: Agregar(e)

1.2: Crear()
:Inscripción

1.4: enviarNotificación()

1.3: s=Encontrar(sector)

:Evento s: Sector

:Sector

27
Cierre Inscripciones (Determinar rango y labores)

cerrarInscripción(datos_evento) 1: v = encontrar(datos_evento)
:Coordinador :Evento

2:asignarLabRan()

2.1*:[para cada] g= siguiente()


v:Evento :Grupo

2.2:asignarLabRan()

2.2.1:[para cada] vol= siguiente()


g:Grupo :Voluntario

2.2.2: determinarLaborRango()

2.2.2.3:asis=datosAsistencia()

2.2.2.1:[para cada] asig=siguiente()


:Asistencia vol:Voluntario :Asignación

2.2.2.2:lab=obtenerLabores()

asig:Asignación

28
Conclusión

Los diagramas de colaboración permiten especificar las operaciones que se


realizan a partir del diagrama de secuencias y de clases. Dependiendo del nivel en
que se encuentre y de las acciones realizadas antes, varían los datos que se
necesitan para su ejecución y su complejidad .Además, a partir de estos, es fácil
llevar a cabo la implementación ya que es necesario un número mínimo de pasos.

De los diagramas realizados para nuestro proyecto pudimos entender y


explicar mejor la mecánica del sistema a desarrollar, a futuro crear un software
más confiable para el cliente.

29