PROYECTO_FINAL

51
Profesor: Edwin Maravi Integrantes: Juan Carlos Ramos T. Magaly Luna Carlos Rodifguez Israel Jauregui Jesus Ruiz S. Proyecto : LIBRO ELECTRONICO VIRTUAL Bloque: ABRIL 2015

description

PROYECTO LIBRO DE RECLAMACIONES

Transcript of PROYECTO_FINAL

Profesor:Edwin MaraviIntegrantes:

Juan Carlos Ramos T.

Magaly Luna

Carlos Rodifguez

Israel Jauregui

Jesus Ruiz S.

Proyecto : LIBRO ELECTRONICO VIRTUAL

Bloque: ABRIL 2015Objetivo del proyecto:

El proyecto tiene como objetivo principal evidenciar y enumerar el desarrollo de un proyecto ante un caso de un requerimiento real , pudiendo aplicar todo los conocimiento adquiridos en clase.

Datos del proyecto :

Nombre: Libro Reclamaciones Virtual

Empresa: Dolce Peccato .

Descripcin de la empresa : Empresa dedicada al rubo de la cocina gourmet.

Situacin actual:

La Empresa DP presenta al da de hoy la solicitud de mejorar el servicio que brindan con respecto al Libro de reclamaciones . Ya que considera que desea hacer mas rpida la generacin de reclamos que puedan tener en su local as como tambin el poder tener acceso a estar informacin .Por otro lado la empresa DP ha realizado las consultas del caso y ah llegado a la decisin de implementar un libro electrnico virtual , pudiendo as hacer que sus cliente , puedan acceder de una manera mas sofisticada y mas acorde con el ambiente del loca para presentar un reclamo.Por lo que se pacto una reunin con el administrador de la tienda , para poder identificar las necesidades y verificar el estado actual del servicio.A continuacin pasaremos a realizar los pasos y las gestiones correspondientes para llevar a cabo el desarrollo de un proyecto que pueda cumplir con las expectativas y satisfacer las necesidades de la empresa DPGestin de Alcance Requerimientos: luego de la primera entrevista con el administrador de la tienda , pudimos obtener las siguientes necesidades

1. Desea incorporar un sistema de gestin de reclamos en su tienda.

2. Desea poder contar con la informacin de manera rpida.

3. No desea que sea de uso exclusivo para una persona ( desea que pueda ser usado por usuarios que sean asignados).

4. Desea que los usuarios puedan acceder de una manera rpida y amigable.

5. Desea poder contar con reportes que lo ayuden a tener la informacin lista para ser enviada cuando esta sea solicitadas por los entes reguladores.

observacin : en la actualidad la tienda cuenta con el libro de reclamacin que es indicado por ley . El administrador quiere mejorar este servicio tanto para el uso de los clientes como para el control por la parte de la administracin

Alcance:luego de analizar los requerimientos del administrador de la tienda , pudimos definir cual seria el alcance del proyecto.

El proyecto tendr el desarrollo de los siguientes mdulos

Modulo de acceso:

es modulo permitir a tanto usuarios como administrador acceder a la plataforma.

Modulo de Registro :

el modulo de registro permitir generar un reclamo a los usuarios por alguna mala prestacin del servicio dentro del local (se habra contemplado el formato emitido por INDECOPI anexo 1).

Desde este modulo el usuario ingresa la informacin correspondiente y requerida para realizar un solicito de reclamo de manera formal.

Tambin contara con la opcin de poder realizar el seguimiento de su reclamo y poder ver cual es la respuesta.

adems el modulo de registro le brindara un cdigo de seguimiento para que el usuario pueda realizar el seguimiento de su reclamo como lo indica INDECOPI.

Modulo Administracin

el modulo de administracin permitir al administrador acceder a la informacin registrada y podr evaluar la misma , mediante listado con los diferentes tipos de filtro establecidos.

Los filtros establecidos son: filtro por fecha, filtro por estado, filtro por das,por cdigo.

Para la representacin de mencionado anteriormente se muestra el siguiente cuadro (EDT):

Requisitos:para la elaboracin de una solucin ante las necesidades especificadas anteriormente se detalla los siguientes requisitos:

1 Servidor Web Plataforma Windows (IIS)

BD Mysql

Gestin de RRHHPara la gestin de RRHH se ha considera el equipo de desarrollo para la elaboracin del proyecto en donde se definen los siguientes roles

1 Jefe de proyecto 1 Analista de QA 2 Analista programador 1 Programador tester 1 Trabajador del restaurantDescripcin de los Roles:

Jefe de proyecto:

Encargado del proyecto y gestor de los procesos y cada una de las etapas del proyecto.

Requisitos:

Experiencia mnimo de 03 aos en proyectos similares.

Manejo de Moldeamiento de datos

Manejo de PMBOK para la gestin de proyectos

Costo estimado : 2800

horas de trabajo : 48hrs semanales

Analista de QA:

Encargado de verificar la Calidad de proyecto y poder garantizar que el proyecto

cumple al 100% con los requerimientos establecidos por parte del cliente.

Requisitos:

Experiencia mnima de 02 aos.

Manejo en la elaboracin de pruebas unitarias y funcionales de sotfware,

Costo estimado : 2000

horas de trabajo : 48hrs semanales

Analista programador:

Encargados del desarrollo del codigo para la plataforma .

Requisitos:

Experiencia mnima de 01 aos en desarrollo similares

Conocimientos en JAVA EE , programacin en capas

Conocimiento en BD Mysql

Conocimiento de html5 + css3 +Javascrip

Conocimiento en servidores e instalaciones

Manejo de Framework (Kendo ui Jquery Bootsptrap)

Costo estimado : 1500

horas de trabajo : 48hrs semanales

Programador tester:

Encargado de elaborar las pruebas de rendimiento de la plataforma (modulo). Capaz de identificar comportamiento anmalos y realizar la documentacin correspondiente.

Costo estimado : 1200

horas de trabajo : 48hrs semanales

Requisitos:

Experiencia mnima de 01 aos en desarrollo similares,

Conocimientos Test de stress

Conocimiento de documentacin de resultados

Trabajador del restauran

Encargado de brindar y asesora al jefe de proyecto sobre el flujo del registro de reclamos.

Requisitos:

Experiencia mnima de 03 meses en su cargado,

conocer el flujo de registro de reclamos,

Gestin de la Comunicacindentro del proyecto lo mas importante es la comunicacin , por lo tanto para poder definir el tipo y las personas a la cual debemos mantener informados , se realizo como primer paso la identificacin de los Stakeholders.

Stakeholders

Administrador de la tienda

Gerente de la tienda

para nuestros stakeholder que influyen de manera alta en el desarrollo del proyecto , se han programador los siguientes canales de comunicaciones

canales de comunicacin:

Reuniones Semanales

Reuniones Semanales :

Mediante las reuniones semanales El jefe de proyecto informara a los stakeholder sobre los avance del proyecto , as como tambin de las incidencias presentadas y/o se debatirn sobre algunos posibles cambios por parte de los stakeholder,

para realizar una comunicacin dentro del grupo del proyecto se han definido los siguientes canales:

canales de comunicacin:

Via Email

Reuniones Semanales

Via Emal :

Mediante los correos se comunicaran de manera masiva sobre algunos cambios o inconvenientes que se puedan presentar en el desarrollo , para que as se puedan mitigar los inconvenientes presentados.

Reuniones Semanales :

Mediante las reuniones semanales El jefe de proyecto informara al grupo del proyecto sobre el avance alcanzando y sobre posibles retrasos .

Por otro lado estas reuniones servirn para recibir indicaciones de alguna mejora o cambio en el desarrollo del proyectos

Gestin del Tiempopara el desarrollo del proyecto se ha realizado un diagrama en donde se contemplan las tareas a realizar y los encargados de las mismas

Elaboracin de la BDpara la elaboracin de la base de datos se contemplaron las siguientes entidades.

Tablas

User

Descripcin: se registraran los datos de los usuarios que puedan acceder a la seccin

de administraron de la aplicacin

Tienda

Descripcin : en esta tabla se guardara la informacin correspondiente a la

informacin del local en donde se realiza la operacin (Reclamo)

Tipo

Descripcin: en esta tabla se registraran los tipos de acciones que se puedan dar o

incorporar posteriormente (actualmente pueden ser de tipo Reclamo / Queja)

Bien

Descripcin: en esta tabla se registraran los tipos de servicios para presentar el

reclamo/queja (actualmente pueden ser de tipo Bien / Servicio)

Reclamo

Descripcin: en esta tabla se guardara la informacin correspondiente al reclamo

presentado por los usuarios , donde se guardaran los datos del cliente , como un

detalle de lo sucedi , y un cdigo de seguimiento.

Seguimiento

Descripcin: en esta tabla se guarda la informacin correspondiente al estado del

reclamo , como el cdigo de seguimiento , y el estado de la solicitud.

para realizar el moldeamiento de las tablas se utilizo la herramienta MySQL Workbench en su versin 6.0a continuacin se adjunta las imgenes con la creacin de las tablas en mencionado.

DIAGRAMA DE LA BASE DE DATOS

Tabla User

Tabla Tienda

Tabla Bien

Tabla Tipo

Tabla Reclamo

Tabla Seguimiento

Procedimientos almacenados

se procedieron a crear los procedimientos almacenados necesarios parar aplicar un CRUD a nuestras entidades.

Script tabla User/* sp_ ingreso de user */

CREATE PROCEDURE sp_ingreso_user(in parUser VARCHAR(45),in parPass VARCHAR(45))

insert into user (user,pass) values(parUser,parPass);

set @p01 = 'admin';

set @p02 = '123/*-';

call sp_ingreso_user(@p01,@p02);

/* SP eliminar user */

CREATE PROCEDURE sp_eliminar_user(in parId int)

DELETE FROM user WHERE id_user=parId;

set @p01 = '1';

call sp_eliminar_user(@p01);

/** SP update USER **/

CREATE PROCEDURE sp_update_user(in parId int , in parUser VARCHAR(45), in parPass VARCHAR(45))

UPDATE user SET user=parUser , pass=parPass WHERE id_user=parId;

/** cambio de informacion **/

set @id = '2';

set @p01 = 'cambio';

set @p02 = '2222';

call sp_update_user(@id,@p01,@p02);

/** restauracion de informacion **/

set @id = '2';

set @p01 = 'admin';

set @p02 = '123/*-';

call sp_update_user(@id,@p01,@p02);

/** listar user **/

CREATE PROCEDURE sp_listar_user()

select * from user;

call sp_listar_user();

/** buscar user **/

CREATE PROCEDURE sp_buscar_user(in parId int)

select * from user where id_user=parId;

set @p01 = '2';

call sp_buscar_user(@p01);Script tabla Tienda

/**** TABLA TIENDA *****/

SELECT * FROM lre_db.tienda;

/* sp_ ingreso de tienda */

CREATE PROCEDURE sp_ingreso_tienda(in parRuc VARCHAR(11),in parRazonSocial VARCHAR(255),in parDireccion VARCHAR(255),in parTelefono VARCHAR(10),in parEncargado VARCHAR(60))

insert into tienda (ruc,razon_social,direccion,telefono,encargado) values(parRuc,parRazonSocial,parDireccion,parTelefono,parEncargado);

set @p01 = '14545671951';

set @p02 = 'Razon Social 1';

set @p03 = 'Direccion';

set @p04 = '2660910';

set @p05 = 'Juan Perez';

call sp_ingreso_tienda(@p01,@p02,@p03,@p04,@p05);

/* SP eliminar tienda */

CREATE PROCEDURE sp_eliminar_tienda(in parId int)

DELETE FROM tienda WHERE id_tienda=parId;

set @p01 = '2';

call sp_eliminar_tienda(@p01);

/** SP update tienda **/

CREATE PROCEDURE sp_update_tienda(in parId int ,in parRuc VARCHAR(11),in parRazonSocial VARCHAR(255),in parDireccion VARCHAR(255),in parTelefono VARCHAR(10),in parEncargado VARCHAR(60))

UPDATE tienda SET ruc=parRuc ,razon_social=parRazonSocial , direccion=parDireccion , telefono=parTelefono ,encargado=parEncargado WHERE id_tienda=parId;

set @id = '3';

set @p01 = '0000';

set @p02 = '000000';

set @p03 = '0000';

set @p04 = '00000';

set @p05 = '0000000';

call sp_update_tienda(@id,@p01,@p02,@p03,@p04,@p05);

/** listar tienda **/

CREATE PROCEDURE sp_listar_tienda()

select * from tienda;

call sp_listar_tienda();

/** buscar tienda **/

CREATE PROCEDURE sp_buscar_tienda(in parId int)

select * from tienda where id_tienda=parId;

set @p01 = '3';

call sp_buscar_tienda(@p01);

Script Bien /* sp_ ingreso de Bien */

CREATE PROCEDURE sp_ingreso_bien(in parDescripcion VARCHAR(45))

insert into bien (descripcion) values(parDescripcion);

set @p01 = 'Producto';

set @p02 = 'Servicio';

call sp_ingreso_bien(@p01);

call sp_ingreso_bien(@p02);

/* SP eliminar bien */

CREATE PROCEDURE sp_eliminar_bien(in parId int)

DELETE FROM bien WHERE id_bien=parId;

set @p01 = '6';

call sp_eliminar_bien(@p01);

/** SP update Bien **/

CREATE PROCEDURE sp_update_bien(in parId int , in parDescripcion VARCHAR(45))

UPDATE bien SET descripcion=parDescripcion WHERE id_bien=parId;

/** cambio de informacion **/

set @p01 = '7';

set @p02 = 'cambio';

call sp_update_bien(@p01,@p02);

/** restauracion de informacion **/

set @p01 = '7';

set @p02 = 'Producto';

call sp_update_bien(@p01,@p02);

/** listar bien **/

CREATE PROCEDURE sp_listar_bien()

select * from bien;

call sp_listar_bien();

/** buscar bien **/

CREATE PROCEDURE sp_buscar_bien(in parId int)

select * from bien where id_bien=parId;

set @p01 = '7';

call sp_buscar_bien(@p01);

Script tipo/**** TABLA TIPO *****/

/* sp_ ingreso de tipo */

CREATE PROCEDURE sp_ingreso_tipo(in parDescripcion VARCHAR(45))

insert into tipo (descripcion) values(parDescripcion);

set @p01 = 'Reclamo';

set @p02 = 'Queja';

call sp_ingreso_tipo(@p01);

call sp_ingreso_tipo(@p02);

/* SP eliminar tipo */

CREATE PROCEDURE sp_eliminar_tipo(in parId int)

DELETE FROM tipo WHERE id_tipo=parId;

set @p01 = '1';

call sp_eliminar_tipo(@p01);

/** SP update tipo **/

CREATE PROCEDURE sp_update_tipo(in parId int , in parDescripcion VARCHAR(45))

UPDATE tipo SET descripcion=parDescripcion WHERE id_tipo=parId;

/** cambio de informacion **/

set @p01 = '2';

set @p02 = 'cambio';

call sp_update_tipo(@p01,@p02);

/** restauracion de informacion **/

set @p01 = '2';

set @p02 = 'Queja';

call sp_update_tipo(@p01,@p02);

/** listar tipo **/

CREATE PROCEDURE sp_listar_tipo()

select * from tipo;

call sp_listar_tipo();

/** buscar tipo **/

CREATE PROCEDURE sp_buscar_tipo(in parId int)

select * from tipo where id_tipo=parId;

set @p01 = '2';

call sp_buscar_tipo(@p01);

Script ReclamoSELECT * FROM lre_db.reclamo;

/**** TABLA RECLAMO *****/

SELECT * FROM lre_db.reclamo;

/* sp_ ingreso de Reclamo */

drop PROCEDURE sp_ingreso_reclamo;

CREATE PROCEDURE sp_ingreso_reclamo(

in parNroReclamo VARCHAR(45),

in parIdTienda INT,

in parFechaRegistro date,

in parNombres VARCHAR(60),

in parApellidos VARCHAR(60),

in parDni VARCHAR(10),

in parTelefono VARCHAR(10),

in parEmail VARCHAR(10),

in parTutor VARCHAR(45),

in parIdBien INT,

in parDesReclamo VARCHAR(600),

in parIdTipo INT,

in parEstado INT,

in parAccionProveedor VARCHAR(600)

)

insert into reclamo (

nro_reclamo ,

id_tienda,

fecha_registro,

nombres,

apellidos,

dni,

telefono,

email,

tutor,

id_bien,

descripcion_reclamo,

id_tipo,

estado,

accion_proveedor

)

values(

parNroReclamo ,

parIdTienda,

parFechaRegistro ,

parNombres ,

parApellidos ,

parDni ,

parTelefono ,

parEmail ,

parTutor ,

parIdBien ,

parDesReclamo ,

parIdTipo ,

parEstado ,

parAccionProveedor

);

set @p01 = '1';

set @p02 = '1';

set @p03 = '2015-03-01';

set @p04 = 'Juan Carlos';

set @p05 = 'Ramos T.';

set @p06 = '45160470';

set @p07 = '2660910';

set @p08 = 'correo';

set @p09 = 'no aplica';

set @p10 = '7';

set @p11 = 'Descripcion de reclamo';

set @p12 = '2';

set @p13 = '1';

set @p14 = 'pendiente';

call sp_ingreso_reclamo(@p01,@p02,@p03,@p04,@p05,@p06,@p07,@p08,@p09,@p10,@p11,@p12,@p13,@p14);

/* SP eliminar reclamo */

CREATE PROCEDURE sp_eliminar_reclamo(in parId int)

DELETE FROM reclamo WHERE id_reclamo=parId;

set @p01 = '2';

call sp_eliminar_reclamo(@p01);

/** SP update reclamo **/

drop PROCEDURE sp_update_reclamo;

CREATE PROCEDURE sp_update_reclamo(

in parIdReclamo INT,

in parNroReclamo VARCHAR(45),

in parIdTienda INT,

in parFechaRegistro date,

in parNombres VARCHAR(60),

in parApellidos VARCHAR(60),

in parDni VARCHAR(10),

in parTelefono VARCHAR(10),

in parEmail VARCHAR(10),

in parTutor VARCHAR(45),

in parIdBien INT,

in parDesReclamo VARCHAR(600),

in parIdTipo INT,

in parEstado INT,

in parAccionProveedor VARCHAR(600)

)

UPDATE reclamo SET

nro_reclamo=parNroReclamo ,

id_tienda=parIdTienda,

fecha_registro=parFechaRegistro,

nombres=parNombres,

apellidos=parApellidos,

dni=parDni,

telefono=parDni,

email=parEmail,

tutor=parTutor,

id_bien=parIdBien,

descripcion_reclamo=parDesReclamo,

id_tipo=parIdTipo,

estado=parEstado,

accion_proveedor=parAccionProveedor

WHERE id_reclamo=parIdReclamo;

/** cambio de informacion **/

set @p01 = '3';

set @p02 = '3';

set @p03 = '1';

set @p04 = '2015-03-01';

set @p05 = 'Jua000n Carlos';

set @p06 = 'Ramos 00T.';

set @p07 = '4510070';

set @p08 = '2600010';

set @p09 = 'cor00o';

set @p10 = 'no 00lica';

set @p11 = '7';

set @p12 = 'Descripcion de reclamo';

set @p13 = '2';

set @p14 = '1';

set @p15 = 'pendiente';

call sp_update_reclamo(@p01,@p02,@p03,@p04,@p05,@p06,@p07,@p08,@p09,@p10,@p11,@p12,@p13,@p14,@p15);

/** listar reclamo **/

CREATE PROCEDURE sp_listar_reclamo()

select * from reclamo;

call sp_listar_reclamo();

/** buscar reclamo **/

CREATE PROCEDURE sp_buscar_reclamo(in parId int)

select * from reclamo where id_reclamo=parId;

set @p01 = '3';

call sp_buscar_reclamo(@p01);

Script Seguimiento/**** TABLA SEGUIMIENTO *****/

/* sp_ ingreso de Seguimiento */

CREATE PROCEDURE sp_ingreso_seguimiento(

in parIdReclamo INT,

in parFechaEmision date,

in parFechaCaducidad date,

in parCodigo VARCHAR(45),

in parEstado Int

)

insert into seguimiento (

id_reclamo,

fecha_emision,

fecha_caducidad,

codigo,

estado

)

values(

parIdReclamo,

parFechaEmision,

parFechaCaducidad,

parCodigo,

parEstado

);

set @p01 = '1';

set @p02 = '2015-03-03';

set @p03 = '2015-04-04';

set @p04 = '124assdef';

set @p05 = '1';

call sp_ingreso_seguimiento(@p01,@p02,@p03,@p04,@p05);

/* SP eliminar seguimiento */

CREATE PROCEDURE sp_eliminar_seguimiento(in parId int)

DELETE FROM seguimiento WHERE id_seguimiento=parId;

set @p01 = '2';

call sp_eliminar_seguimiento(@p01);

/** SP update seguimiento **/

CREATE PROCEDURE sp_update_seguimiento(

in parIdSeguimiento INT,

in parIdReclamo INT,

in parFechaEmision date,

in parFechaCaducidad date,

in parCodigo VARCHAR(45),

in parEstado Int

)

UPDATE seguimiento SET

id_reclamo=parIdReclamo,

fecha_emision=parFechaEmision,

fecha_caducidad=parFechaCaducidad,

codigo=parCodigo,

estado=parEstado

WHERE id_seguimiento=parIdSeguimiento;

set @p01 = '3';

set @p02 = '1';

set @p03 = '2015-01-01';

set @p04 = '2015-01-01';

set @p05 = '0000';

set @p06 = '0';

call sp_update_seguimiento(@p01,@p02,@p03,@p04,@p05,@p06);

/** listar seguimiento **/

CREATE PROCEDURE sp_listar_seguimiento()

select * from seguimiento;

call sp_listar_seguimiento();

/** buscar seguimiento **/

CREATE PROCEDURE sp_buscar_seguimiento(in parId int)

select * from seguimiento where id_seguimiento=parId;

set @p01 = '3';

call sp_buscar_seguimiento(@p01);

Diagrama de Casos de USO Cliente

Diagrama de Casos de USO Administrador

Estructura BASE del Proyecto

Se proceda a Identificar cada paquete del proyectos :

Paquete utilitarios

Paquete Servicios

Paquete Entidades

Paquete DAO

Paquete Controladores

Para el desarrollo de la interfaces con la cual el usuario tendr interaccionan se detalla lo siguiente:

Con el uso de JPA en la integracin y de Controladores , se posibilita el uso de archivos .xhtml

lo que permite tener una integracin con cdigo html5 a un nivel mas amplio por lo que se aplicaran conocimientos de este desarrollo generando una interfaces que permita cumplir con los requerimientos

para el desarrollo se trabajo por separado la estructura html para luego esta ser integrada

se adjunta pantallas de la estructura html que sera utilizada

Opciones Habilitadas para los usuariosIncio : El Usuario puedes Escoger El tipo de Acceso

Inicio Usuario : El Usuario Escoge entre registrar un Reclamo o Realizar el seguimiento de su reclamo

Registro Reclamo:

El usuario puede registrar su reclamo

Reclamos Registrado:

el usuario recibe un codigo de seguimiento de reclamo

Seguimiento de Reclamo:

El usuario puede saber enq ue estado se encuentra su reclamo

Opciones Disponibles para el Administrador:

Login:

El admin deber identificarse:

Opciones de Admin:

Desde aqu el administrador podr buscar los reclamos que han sido generados

Listado / Busqueda

El admin puede visualizar los reclamos generados para realizar acciones de respuesta mediante la opcin ver

Registro Respuesta:

El Admin podra actualizar la respuesta ante el reclamo para que el cliente pueda saber la respuesta de su reclamo

Codigos html

Para el desarrollo se ha utilizado el framework Bootstrap ,

Anexo:

Para el desarrollo del proyecto se contemplaron los campos legales , por lo que se adjunta la informacin brindada por indecopi con respecto a la regulacin del registro de reclamos

Reglamento del Libro de Reclamaciones (Formato: PDF )