PROYECTO_FINAL
description
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 )