Vous êtes sur la page 1sur 69

Universidad Mariano Glvez

ANLISIS, DISEO E IMPLEMENTACIN DE UN SISTEMA WEB B2E


PARA PYMES

Rolando Jos Garca Escobar


0905-068714
Ingeniera en Sistemas

ndice
Introduccin .....................................................................................................................................6
Antecedentes del Tema ....................................................................................................................7
Supuestos y expectativas del tema ..................................................................................................8
Justificacin del Tema ......................................................................................................................8
Planteamiento del problema ............................................................................................................9
Alcances y Limites.......................................................................................................................... 10
Alcances: .................................................................................................................................... 10
mbito Geogrfico: ................................................................................................................... 10
mbito Institucional: ................................................................................................................. 10
Limites: .......................................................................................................................................... 10
Definicin de Muestra ................................................................................................................... 11
Diseo o tipo de investigacin ...................................................................................................... 12
Variables e Indicadores ................................................................................................................. 12
Variable Independiente: ............................................................................................................ 12
Variables dependientes: ............................................................................................................ 12
Objetivos de la Investigacin ......................................................................................................... 13
Objetivo General ....................................................................................................................... 13
Objetivos Especficos ................................................................................................................. 13
ndice Propuesto............................................................................................................................ 14
CAPITULO 1 .................................................................................................................................... 14
1. Antecedentes del Tema ......................................................................................................... 14
1.2 Planteamiento del problema ............................................................................................... 14
1.3 Objetivos de la Investigacin ............................................................................................. 15
1.3.1 Objetivo General........................................................................................................... 15
1.3.2 Objetivos Especficos .................................................................................................... 15
1.4 Hiptesis .............................................................................................................................. 16
1.5 Supuestos: .......................................................................................................................... 17
1.6 Indicadores: ........................................................................................................................ 18
1.7 Alcances .............................................................................................................................. 19
1.7.1 Definicin Conceptual: ................................................................................................. 19
1.7.2 Definicin Operacional: ................................................................................................ 19
1.7.3 Sujetos del Problema .................................................................................................... 19

1.7.4 Instrumentos a utilizar en el estudio del problema ..................................................... 19


1.7.5 Anlisis Estadstico........................................................................................................ 19
Cap. 2 Anlisis ............................................................................................................................... 20
2.2 Identificacin de Requerimientos ....................................................................................... 20
2.2.1 Requerimientos funcionales ......................................................................................... 21
2.2.2 Requerimientos no Funcionales ................................................................................... 23
2.3 Especificaciones de Casos de Uso........................................................................................ 24
2.4 Diagrama de clases .............................................................................................................. 36
Captulo 3: Diseo ......................................................................................................................... 40
3.2 Definicin de la arquitectura ............................................................................................... 40
3.3Patrn de Arquitectura......................................................................................................... 40
3.4 Arquitectura Lgica de N Capas ........................................................................................ 42
3.4.1 Capa de presentacin ................................................................................................... 43
3.4.2 Capa de negocio ........................................................................................................... 43
3.4.3 Capa de acceso a datos ................................................................................................ 43
3.4.4 Vista de Implementacin .............................................................................................. 43
3.5 Framework Symphony ......................................................................................................... 43
3.6 Patrones de Diseo Utilizados ............................................................................................. 44
3.6.1 Decorator ...................................................................................................................... 44
3.6.2 Faade........................................................................................................................... 45
3.6.3 Command ..................................................................................................................... 46
3.6.4 Observer ....................................................................................................................... 47
3.7 Caractersticas subsistema de Diseo ................................................................................. 48
3.8 Diseo de interfaz de usuario .............................................................................................. 49
3.8.1 Diseo de Interfaz Grfica ............................................................................................ 49
3.8.2 Principios Bsicos.......................................................................................................... 49
3.8.3 Ser consistente ........................................................................................................... 50
3.8.4 Ser simple ................................................................................................................... 50
3.8.5 Ser atractiva ................................................................................................................ 50
3.8.6 Diseo en General ........................................................................................................ 50
Captulo 4 Implementacin .......................................................................................................... 53
4.1 Herramientas de Desarrollo ................................................................................................ 53
4.1.2PHP ................................................................................................................................ 53

4.1.3 Gestor de Base de Datos Mysql .................................................................................... 54


4.1.4 Framework Symfony .................................................................................................... 54
4.2 Requisitos para la implementacin del sistema B2E en Internet. ....................................... 55
4.2.1 Dominio de Internet .................................................................................................... 55
4.2.2 Alojamiento Web .......................................................................................................... 55
4.2.3 Certificados de Seguridad SSL...................................................................................... 57
4.3 Realizando Pruebas ............................................................................................................. 57
4.3.1 CentOS 6.5 .................................................................................................................... 57
4.4 Requisitos previos para la realizacin de las pruebas: ........................................................ 58
4.4.1 Instalacin Firefox en Centos 6.5 ................................................................................. 58
4.4.2 Instalacin Mysql .......................................................................................................... 58
4.4.3Instalacin phpMyadmin .............................................................................................. 58
4.4.4 Instalacin de Apache................................................................................................... 59
4.4.5 Instalacin de PHP 5 ..................................................................................................... 59
4.4.6 Instalacin Framework Symfony Centos 6.5 .............................................................. 60
4.5 Funcionamiento del patrn MVC. ....................................................................................... 60
4.5.2 Las capas de la arquitectura MVC ................................................................................ 61
4.5.3 Separando la presentacin ........................................................................................... 61
4.5.4 Separando la manipulacin de los datos ...................................................................... 61
4.5.5 Abstraccin de la base de datos ................................................................................... 62
4.5.6 Los elementos de la vista.............................................................................................. 64
CAPITULO 5 ................................................................................................................................... 67
5.1 APORTE DEL PROYECTO....................................................................................................... 67
Bibliografa..................................................................................................................................... 68
Webgrafa ...................................................................................................................................... 69

Donde hay una empresa de xito, alguien tom alguna vez una
decisin valiente
Peter Drucker

Introduccin
El presente proyecto consiste en el anlisis, diseo e implementacin de un sistema
Web B2E (Business-to-employee)

Que permita a pequeas y medianas empresas

(pymes) establecer una relacin comercial entre una empresa y sus propios empleados. El
B2E es una nueva demostracin de las muchas aplicaciones que ofrece el comercio
electrnico.
El sistema web B2E va dirigido a los Propios empleados de la empresa, que ofrece sus
propios productos o servicios a estos con ventajas comerciales justificadas por su relacin
laboral. La plataforma on-line en este caso es una evolucin de las iniciales intranets de
las empresas hacia webs corporativas. Aunque realmente este concepto de B2E es mucho
ms amplio en cuanto a su finalidad, sus aspectos comerciales son secundarios, y posee
como objetivos principales otros relacionados con la forma de trabajo como son reducir el
tiempo de muchos procesos administrativos y sus costos (teniendo como posible
desarrollo futuro la famosa y an infrautilizada oficina en casa). Algunas empresas
tecnolgicas estn Encabezando el desarrollo de este concepto de B2E, como es el caso
de Microsoft

La propuesta de este sistema surge como consecuencia del anlisis del


Estado del comercio electrnico en Guatemala, con el incremento de la popularidad del
internet, el comercio electrnico ha empezado a abarcar tanto consumidores individuales
como negocios de todo tamao.

El internet ha cambiado de forma en que muchas empresas conducen sus negocios


conforme esa influencia crece, y ms compaas lo usan, las posibilidades para conducir
el comercio a travs de l se expanden grandemente, teniendo a convertirse en parte de la
rutina diaria de lo que el comercio es hoy impactando de una forma u otra nuestro sistema
econmico.

El sistema propuesto ser altamente configurable y adaptable a los diferentes rubros de


negocio la aplicacin es categora Web Service las empresas que deseen adquirid este
servicio tienen la opcin de ponerse en contacto con los proveedores de la aplicacin.

Antecedentes del Tema


El comercio electrnico ha ido de manera exponencial en los ltimos aos en Guatemala.
El porcentaje de la poblacin que accede a internet en el ao 2006 y 2011 nos da una
cifra de un 9% de internautas en el ao 2006 y un crecimiento para el 2011[1] de 5%
Guatemala en 2013 prcticamente ha duplicado sus ventas en lnea con respecto al 2011.
Sin embargo, estas ventas slo representan un 1.2% del total de ventas en la regin, lo
que nos demuestra que el comercio electrnico en Guatemala tiene un largo camino por
recorrer.
La compra de productos por medio de Internet en Guatemala alcanz los Q125.8
millones (US$15.5 millones) entre enero y mayo ltimos, en comparacin con el mismo
perodo de 2009, una recuperacin de 2.9 por ciento.
Unos de los factores que ha retenido el crecimiento del comercio electrnico en el pas,
que solo tenemos un mximo de 16% de la poblacin conectada a internet segn eReadiness Visa.

Fig. 1.1 Censo Online por Amrica Economa Intelligence

Supuestos y expectativas del tema


Se espera que con el presente estudio mostrar las ventajas de implementar un sistema
web, utilizando las herramientas que ofrece el comercio electrnico como lo es B2E
para que las pequeas y medianas empresas tengan una mejor comunicacin entre el
personal que labora en la empresa, haciendo que aumente la productividad mediante la
comunicacin en la Organizacin.

Justificacin del Tema


El comercio electrnico es un concepto de negocio, de cambios de procesos en las
Organizaciones, de nuevas formas de abordar las relaciones comerciales y de nuevas
estrategias para que las empresas incrementen su creatividad, eficiencia y productividad.
No es solo tecnologa, es una forma diferente de comercializar, en la que para tener xito
es necesario conocer su entorno y las estrategias de desarrollo a seguir. Por lo expuesto,
la investigacin tiene la finalidad de proveer un marco de referencia que otorgue una
visin general de todos los aspectos involucrados en esta nueva forma de negocio, entre
los que se incluyen Reduccin de costos y tiempo en actividades burocrticas, Formacin
en lnea, Mejoramiento de la informacin interna una nueva modalidad de colaboracin
en un entorno web, agilizacin de la integracin del nuevo profesional en la empresa.
Servicios intuitivos de gestin de la informacin, soporte para gestin del conocimiento.
Comercio electrnico interno, Motivacin para el Empleado y Fidelizacin del empleado.

Planteamiento del problema


La falta

de tecnologa en pequeas y medianas empresas crea una distorsin en la

comunicacin interna del personal; en este estudio se enfoca en una aplicacin que
ofrece el comercio electrnico que lleva por nombre B2E, el concepto se ampla a la
propia gestin remota por parte del empleado, de parte de sus responsabilidades dentro de
los procesos de negocio de la empresa. Esto podra incluir facturacin de comisiones de
ventas, introduccin de gastos de desplazamiento, etc. Es en definitiva un pequeo portal
para la utilizacin de algunos recursos de la empresa por parte de los empleados de la
misma, tanto en su quehacer cotidiano, como en la vida privada.

Alcances y Limites
Alcances:
Gestin de Empresas Afiliadas y la configuracin de parmetros de operacin para
mejoramiento de la comunicacin interna
Capacitacin del personal mediante la plataforma web
Comercio electrnico interno
Equipos de colaboracin en el entorno web
Mayor calidad en la informacin interna
Integracin ms gil del profesional en la empresa

mbito Geogrfico:
La investigacin ser realizada en el departamento de Jutiapa.
mbito Institucional:
El estudio se realizara con las pequeas y medianas empresas del Departamento
de Jutiapa.

Lmites:
La investigacin se realizar

en base de una aplicacin que ofrece el comercio

electrnico que se denomina B2E (business to employee, empresa ha empleado) este


estudio es enfocado para pequeas y medianas empresas (pymes)

de todo Jutiapa, al

momento de su implementacin el sistema ser adaptable y configurable.

Definicin de Muestra
La muestra es definida por las pequeas y medianas empresas afiliadas entidad estatal
descentralizada, que tiene competencia y jurisdiccin en todo el territorio de la Repblica
de Guatemala SAT (Superintendencia de Administracin Tributaria de Guatemala)
E=Empresas Afiliadas
N= Poblacin Territorial
P= Porcentaje de empresas con respecto a la poblacin territorial
P=E/N
El resultado de la muestra es el porcentaje total de las empresas afiliadas que entran en la
categora PYMES con respecto a la poblacin
El aplicacin web B2E es categora Web service por lo tanto las empresas que deseen
adquirir el sistema tambin tienen la opcin de realizaran solicitud de este servicio va
web.

Diseo o tipo de investigacin


La presente investigacin ser un estudio descriptivo. Los estudios descriptivos pretender
medir o recoger informacin de manera independiente o conjunta sobre los conceptos o
las variables a los que se refieren. Desde luego, pueden integrar las mediciones o
informacin de cada una de dichas variables o conceptos para decir como es y cmo se
manifieste el fenmeno de inters; su objetivo no es indicar como se relacionan las
variables medidas. Los estudios descriptivos pueden ofrecer la posibilidad de
predicciones o relaciones aunque sean poco elaboradas. Algunas de esas predicciones se
plasmaran en las conclusiones de esta tesis.

Variables e Indicadores
Variable Independiente:

Conocimiento clave para la gestin e implementacin de componentes


Organizacionales Tecnolgicos

Variables dependientes:
Conocimiento para manejo de personal online
Estructura organizacional de las empresas
Planeacin estratgica

Objetivos de la Investigacin
Objetivo General
El objetivo del presente proyecto es realizar el anlisis, diseo e Implementacin de un
sistema Web B2E para pequeas y medianas empresas
Objetivos Especficos
El presente proyecto tiene los siguientes objetivos:

Analizar empresas con diversas lneas de negocio y recopilar sus necesidades con
respecto al proceso de compartir informacin con sus empleados.

Modelar una base de datos relacional para almacenar la informacin del sistema:
empresas, productos, empleados.

Disear la arquitectura de la solucin que sea soportada en una plataforma Web.

Integrar la solucin proporcionndole un usuario y contrasea al empleado para


acceder a la plataforma donde se le asignara el cargo y sus funciones.

Implementar una solucin que cumpla con los requerimientos identificados.

ndice Propuesto
CAPITULO 1
1. Antecedentes del Tema
El comercio electrnico ha ido de manera exponencial en los ltimos aos en Guatemala.
El porcentaje de la poblacin que accede a internet en el ao 2006 y 2011 nos da una
cifra de un 9% de internautas en el ao 2006 y un crecimiento para el 2011[1] de 5%
Guatemala en 2013 prcticamente ha duplicado sus ventas en lnea con respecto al 2011.
Sin embargo, estas ventas slo representan un 1.2% del total de ventas en la regin, lo
que nos demuestra que el comercio electrnico en Guatemala tiene un largo camino por
recorrer.
La compra de productos por medio de Internet en Guatemala alcanz los Q125.8
millones (US$15.5 millones) entre enero y mayo ltimos, en comparacin con el mismo
perodo de 2009, una recuperacin de 2.9 por ciento.
Unos de los factores que ha retenido el crecimiento del comercio electrnico en el pas,
que solo tenemos un mximo de 20% de la poblacin conectada a internet segn eReadiness Visa.
1.2 Planteamiento del problema
La falta

de tecnologa en pequeas y medianas empresas crea una distorsin en la

comunicacin interna

del personal

como otro tipo de desventajas por la falta de

tecnologa, en este estudio se enfoca en una aplicacin que ofrece el

comercio

electrnico que lleva por nombre B2E el concepto se ampla a la propia gestin remota
por parte del empleado de parte de sus responsabilidades dentro de los procesos de
negocio de la empresa. Esto podra incluir facturacin de comisiones de ventas,
introduccin de gastos de desplazamiento, etc. Es en definitiva un pequeo portal para la
utilizacin de algunos recursos de la empresa por parte de los empleados de la misma,
tanto en su quehacer cotidiano, como en la vida privada.

1.3 Objetivos de la Investigacin


1.3.1 Objetivo General
El objetivo del presente proyecto es realizar el anlisis, diseo e Implementacin de un
sistema Web B2E para pequeas y medianas empresas

1.3.2 Objetivos Especficos


El presente proyecto tiene los siguientes objetivos:

Analizar empresas con diversas lneas de negocio y recopilar sus necesidades con
respecto al proceso de compartir informacin con sus empleados.

Modelar una base de datos relacional para almacenar la informacin del sistema:
empresas, productos, empleados.

Disear la arquitectura de la solucin que sea soportada en una plataforma Web.

Integrar la solucin proporcionndole un usuario y contrasea al empleado para


acceder a la plataforma donde se le asignara el cargo y sus funciones.

Implementar una solucin que cumpla con los requerimientos identificados.

1.4 Hiptesis
Teniendo en cuenta el anlisis realizado, planteamos los siguientes factores:

Analizar a medida que han evolucionado los factores primordiales del xitos para
las empresas entorno adoptar las tendencias tecnolgicas de los sistemas.
Determinacin
en la cual los sistemas
facilitan la adopcin de modeles
organizacionales flexibles bajo las condiciones de su entorno.

Un sistema de Negocio a Empleado permitir una comunicacin a travs de un sistema


cliente servidor el usuario ingresa por medio de una navegador web acatando los
protocolos HTTPS estableciendo conexin de forma gil rpida y sencilla realizando
procesos de comunicacin

habituales entre las organizaciones privadas y pblicas

sistema enfocado en trmites administrativos


El Portal web Integra

los servicios basados en arquitectura SOA ( Orientada a servicios

Web) que independiza los sistemas operacionales de gestin de personal y nminas, La


implementacin se realizara utilizando cdigo PHP bajo el patrn de arquitectura MVC
( Modelo vista Controlador) que permitir dividir en 3 capas desacoplando la capa de
acceso a datos de la capa lgica del negocio y capa de presentacin

creando una

aplicacin escalable, reutilizable y robusta creando una arquitectura de fcil


mantenimiento.
A partir de aqu nos planteamos las siguientes hiptesis de investigacin.
H1: Las empresas que perciben la innovacin como la capacidad de aprendizaje y de
renovacin como factores primordiales del xito tienden a adoptar un sistema ms
adaptable.
H2: La aplicacin y las tecnologas del comercio electrnico

pueden contribuir

positivamente a la adopcin del modelo flexible y adaptable en las organizaciones.

1.5 Supuestos:
Identificar una lista de clientes que estaran interesados en sus productos o
servicios.

Crear modelos de respuesta para ayudar a disminuir los costos de correo a travs
de la identificacin solo de clientes con mayor probabilidad de responder a su
campaa.

Dar seguimiento al desarrollo de la campaa y crear reportes de tendencias


interactivos para evaluar los resultados.

Demostrar que el Correo Directo es un complemento eficaz en la efectividad de la


tecnologa contempornea que sustenta la rentabilidad de su Empresa.

Experiencia en el mercado concreto.

La oferta debe ser un valor aadido.

Evitar fallos de produccin, logstica y distribucin.

1.6 Indicadores:
Reducir el tiempo de muchos procesos administrativos y sus costos.
Incrementar la eficiencia del empleado, su satisfaccin y mejorar el sentido de la
comunidad dentro de la organizacin.
Dispersin geogrfica de las organizaciones y personas.
Centralizar la informacin para su gestin.

Compatibilidades entre sistemas y software.


Redundancias de mquinas y datos.

Simplificacin del acceso a la informacin y optimizacin de caudales para la


transmisin de esta.
Sistemas escalables y tcnicos especialistas.

Reducir el nmero de transacciones para evitar errores.

1.7 Alcances
La presente investigacin se iniciar como descriptiva es decir con trminos cuantitativos
y cualitativos. Se medirn atributos del fenmeno descrito, para

este proyecto

se

recolectaran datos sobre este y su contexto tal como la estructura organizacional de las
pequeas y medianas empresas.
1.7.1 Definicin Conceptual:
Teniendo en cuenta que existen varias empresas de tipo PYMES en Guatemala
analizaremos una muestra

de una cierta cantidad de empresas y en base a la muestra

recopilaremos informacin sobre la forma de establecer comunicacin con las sucursales


de dicha empresa.
1.7.2 Definicin Operacional:
La evolucin de la tecnologa da a da exige una adaptacin de manera positiva
productiva a las empresas que deseen evolucionar utilizando herramientas que brinda el
comercio electrnico.
1.7.3 Sujetos del Problema
Se tomara en Cuenta una muestra de empresas categora pymes.
1.7.4 Instrumentos a utilizar en el estudio del problema
Para la obtencin de la muestra a evaluar se tomara un porcentaje de empresas
tipo pymes, nos ayudaremos de una encuesta va de una herramienta Web, para evaluar
resultados obtenidos con dicha encuesta.
1.7.5 Anlisis Estadstico
Ser un cuestionario a base de votacin va Web o en lnea, del cual se obtendrn
los resultados estadsticos de nuestra encuesta, con lo cual nos llevar a obtener nuestras
conclusiones y recomendaciones del tema en estudio.

Cap. 2 Anlisis
El siguiente Capitulo est enfocado en el desarrollo del anlisis de una solucin que se
implementar en el siguiente proyecto.

Se listaran los requerimientos

de manera

detallada, como la identificacin de clases fundamentales para la implementacin de


dicho proyecto.
2.2 Identificacin de Requerimientos
Los requerimientos son las propiedades que el proyecto de tesis debe cumplir. Para
identificar los requerimientos

nos basamos en las caractersticas comunes de las

soluciones de comercio electrnico B2E, adems se incluyen otros requerimientos que


diferencian nuestra solucin de las ya existentes.
A continuacin se presenta una serie

de requisitos del sistema que incluye

requerimientos funcionales como los no funcionales.


Escalas Utilizadas:
Prioridad
Valor

Descripcin

Dificultad
Valor

Descripcin

Alta

Alta

Media

Media

Baja

Baja

2.2.1 Requerimientos funcionales


Para poder acceder al sistema los colaboradores (usuarios) tendrn que disponer de los
datos de validacin de usuario y contrasea referentes al mdulo (Login/Password)
La siguiente tabla presenta la lista de requerimientos funcionales.
Cdig
o

Descripcin

Priorida
d

Dificulta
d

Requerimientos
Multilenguaje
RF01

La aplicacin implementa multilenguaje en la mayora de


sus funciones. El usuario podr elegir el lenguaje que
desee para utilizar la aplicacin.
Ayuda en lnea

RF02

La aplicacin tendr disponible la funcionalidad de ayuda


en lnea permitiendo ingresar desde cualquier seccin de
la aplicacin.
Capacitacin en lnea

RF03

La aplicacin tendr disponible un mdulo dedicado a la


capacitacin en lnea.

Historial de usuario
RF04

RF05

RF06

La aplicacin permitir mantener el historial de los


avances realizados por el usuario con respecto al mdulo
capacitacin en lnea.
Aviso Legal
.
Funcionalidad que se encarga de visualizar una serie de
condiciones de uso del portal que han de seguir los
usuarios del sistema.
Manual de Ayuda
Funcin que permite guardar en el equipo el archivo que
contiene el Manual de Usuario de la aplicacin. En
formato PDF.

Informacin de Contacto
RF07

RF08

Funcionalidad en la que se mostrar las veces que


frecuenta el usuario al portal como tambin los
movimientos en el mismo.

Perfil de Usuario
Funcionalidad permitir visualizar los datos personales del
colaborador como tambin el currculo vitae.

Consulta de Nomina y datos Econmicos

RF09

RF10

RF11

Funcin que permitir hacer consultas entre las nminas


del colaborador, permitiendo aplicar filtros de bsqueda en
un intervalo de fechas. Permitir acceder a la informacin
detallada de la nmina del colaborador, la nmina tendr
la opcin para imprimirla.

Consulta de Permisos y Ausencias


.
Esta funcionalidad brinda un listado con el historial de los
permisos y ausencias laborales del colaborador, aplicando
diferentes filtros de bsqueda.
Solicitud de Cambio de Datos Personales
.
Funcin que permite actualizar los datos personales del
usuario.

2.2.2 Requerimientos no Funcionales


Cdigo
Descripcin

Prioridad Dificultad

Requerimientos
Ser necesario la verificacin con respecto al tiempo de
RNF01 respuesta del sistema como tambin los diferentes tipos de
conexin.

El sistema es un entorno web que permitir acceso a travs


de un navegador web. La arquitectura para su desarrollo es
MVC Utilizando framework Symphony para el avance de
RNF03 la aplicacin, el patrn utilizado para la implementacin es
de arquitectura MVC en el que se basar para el diseo de
la aplicacin.

RNF04

Acceso a la Intranet requiere de Usuario y Contrasea El


protocolo que se utilizar para la comunicacin entre cliente
RNF02 servidor es http. Si el acceso es a travs de internet se
requiere el protocolo de seguridad HTTPS.

Se utilizar el servidor gestor de base de datos Mysql

2.3 Especificaciones de Casos de Uso


Ingreso al Portal
Para Ingresar al sistema es necesaria la autenticacin, proporcionando su usuario y
contrasea correspondientes a la cuenta validada en el dominio. El proceso de validacin
se llevar a cabo en el directorio Activo. El resultado de la verificacin de los datos
proporcionados por el usuario determinar si se concede el acceso o se deniega el acceso
al sistema.

Fig. 2 Caso de uso Acceso al Portal B2E

A continuacin se presenta el diagrama de actividad, que corresponde al caso de uso para


acceder al sistema.

Fig. 3 Diagrama Actividad para Acceder al Sistema

Actores:
Colaborador
Utiliza
Introducir Usuario y Contrasea

Validacin de ingreso al portal

Pre-condiciones
Disponibilidad de la Aplicacin

Usuario enva solicitud para ingresar al portal

Post-condiciones
Condicionamiento de ingreso al sistema permitido o denegado

Flujo de eventos

El colaborador solicita el ingreso al sistema


La aplicacin solicita al usuario el ingreso de sus datos para acceder al sistema.
La aplicacin realiza el proceso de validacin del usuario en el Active Directory
La aplicacin recupera el Cdigo personal de la cuenta del usuario mientras
localiza al usuario en el sistema.

Acceso concedido:

Validacin en el Active Directory correcta


El Usuario dispone de DPI en el objeto usuario del Active Directory
El empleado es localizado en el sistema a partir del cdigo personal

Acceso denegado:

Validacin en el Active Directory incorrecta: usuario o contrasea incorrectos


El objeto usuario (Login) no dispone de Cdigo personal
No es posible localizar al usuario en el sistema a partir del Cdigo personal
Si el acceso es correcto se recuperan las opciones de men del colaborador y se
muestra la pgina principal del sistema.

Cambio de Idioma

El usuario tiene la opcin de cambiar el


predeterminado

idioma para establecer otro como

Actores

Colaborador

Utiliza

Solicitud de cambio de idioma a la aplicacin

Pre-condiciones

Disponibilidad de la aplicacin
El usuario ingresa al portal
Ir a la pestaa idioma y predeterminar otro idioma para la aplicacin

Post-condiciones

La Aplicacin predetermina el idioma seleccionado

Flujo de eventos

El usuario selecciona el idioma


La aplicacin se actualiza para establecer el idioma seleccionado

Ayuda en Lnea
La aplicacin dispondr de la funcin ayuda en lnea
en la cual se detallar la
funcionalidad con referente a la seccin que se encuentra el usuario actualmente.
Actores

Colaborador.

Utiliza

Localizar ayuda en lnea para la seccin en la cual se encuentra.

Pre-condiciones

Disponibilidad de la aplicacin
El usuario Ingresa al portal
El usuario selecciona la opcin de ayuda en lnea para la funcionalidad actual

Post-condiciones

Se muestra la ventana de ayuda en lnea con respecto a la seccin actual.

Flujo de eventos

El usuario selecciona la opcin de ayuda en lnea


Abre una nueva ventana para la ayuda disponible de la seccin actual

Aviso Legal

El usuario selecciona la opcin de aviso legal

Actores

Colaborador

Utiliza

Cargar informacin de aviso legal del portal

Pre-condiciones

Disponibilidad de la aplicacin.
El usuario Ingresa al portal.
El colaborador selecciona la opcin de aviso legal.

Post-condiciones

Se carga la informacin con el aviso legal.

Flujo de eventos

El usuario selecciona la opcin de Aviso legal.


La aplicacin carga una nueva ventana con la informacin de aviso legal con el
idioma actual.

Consulta de Datos Personales


El siguiente caso de uso hace referencia a la consulta de datos personales del
colaborador, con esta funcionalidad los colaboradores podrn tener acceso a su
informacin personal.
Ficha Personal:

Identificacin de Datos
Informacin de Domicilio
Informacin de Currculo Vitae
Informacin Cuenta Bancaria

Fig. 4 Caso de uso Consulta datos personales


Actores

Colaborador
Sistema

Puntos de extensin

Identificacin de Datos
Informacin de Domicilio
Informacin de Currculo Vitae
Informacin Cuenta Bancaria

Pre-condiciones

Disponibilidad de la aplicacin
El usuario ingresa al portal
El usuario elige la opcin de consulta de datos personales

Post-condiciones

El usuario enva la peticin de datos personales

Flujo de eventos
El colaborador selecciona la opcin de datos personales en la cual se encuentran las
siguientes secciones

Identificacin de Datos
Informacin de Domicilio
Informacin de Currculo Vitae
Informacin Cuenta Bancaria

La aplicacin muestra la informacin personal del colaborador correspondiente a la


seccin seleccionada
Consulta de Datos Econmicos y Nminas
El colaborador selecciona la opcin de consultas de datos econmicos y nminas se
desplegar una serie de opciones donde podra establecer un filtro de bsqueda, con la
opcin de intervalo de fechas el cual tiene la opcin de imprimir nmina.

Fig. 5 Caso de uso Consulta de Datos Econmicos


Actores

Colaborador

Utiliza

Ejecucin de bsquedas
Impresin detallada

Pre condiciones

Disponibilidad de la aplicacin
El colaborador ingresa al portal
El colaborador ingresa a la funcionalidad de consulta de nminas

Post-condiciones

El Colaborador realiza su consulta o impresin de nmina

Flujo de eventos

El colaborador elige la opcin de consulta de nminas


El colaborador selecciona los filtros de bsqueda
El colaborado ejecuta la bsqueda de nminas
El colaborador imprime el listado de nminas
El colaborador selecciona una nmina para acceder al detalle de la misma
La aplicacin muestra en pantalla los datos seleccionados respecto a la nmina
El colaborador imprime el detalle de la nmina

Condiciones de fallo
No se encontr ningn resultado en la bsqueda establecida por el usuario.
Consulta de Permisos y Ausencias
E colaborador selecciona la opcin consulta de historial de permisos y ausencias
laborales. El colaborador podr establecer filtros de bsqueda con respecto al motivo de
ausencia o permiso, con referente al intervalo de fechas.

Fig. 6 Caso de uso Permisos y Ausencias

Actores

Colaborador

Utiliza

Filtro de bsquedas establecidos por el usuario


Ejecucin de bsquedas establecidas por el usuario
Imprimir seleccin

Pre-condiciones

Disponibilidad de la aplicacin
El colaborado ingresa al portal
El colaborador ingresa a la funcionalidad de consulta de permisos y ausencias

Post-condiciones

El colaborador consulta o imprime el listado de permisos y ausencias

Flujo de eventos

El colaborador elige la opcin de consulta de permisos y ausencias


La aplicacin muestra el historial de permisos y ausencias del colaborador
El colaborador predetermina los filtros de bsqueda para su ejecucin
El usuario ejecuta la bsqueda
La aplicacin muestra el resultado en pantalla
El colaborador imprime el resultado de la consulta de permisos y ausencias

Condiciones de fallo

No se encontr ningn resultado en la bsqueda de permisos y ausencias

Solicitud Cambio Datos Personales


El colaborador selecciona la opcin de modificacin de datos personales. Esta
funcionalidad el colaborador puede modificar y actualizar sus datos personales. Las
solicitudes de cambio sern verificadas por el personal encargado del rea de recursos
humanos. Las solicitudes sern almacenadas en la base de datos en la tabla personal y
nminas.

Fig. 7 Caso de uso Solicitud cambio de datos Personales

Actores

Colaborador
RRHH
Sistema

Puntos de extensin

Modificacin de Datos domiciliares


Modificacin de Datos Currculo Vitae
Modificacin de Datos Cuenta Bancaria
Confirmar Solicitud de Cambio

Pre-condiciones

Disponibilidad de la aplicacin
El colaborado ingresa al portal
El colaborador ingresa a la funcionalidad de cambio de datos personales

Post-condiciones

El colaborador enva una peticin de cambio en sus datos personales

Flujo de eventos
El colaborador modifica sus datos personales:

Informacin de Domicilio
Informacin de Currculo Vitae
Informacin Cuenta Bancaria
El colaborador confirmar los cambios realizados
La aplicacin guarda los cambios realizados

Condiciones de fallo

No se confirmaron los cambios realizados

Diagrama de contexto
A continuacin se presenta el diagrama de contexto del sistema, a travs de diagramas de
caso de uso, en esta seccin se detallan las funcionalidades de carcter general
iniciando por la funcionalidad de validacin de usuario para acceder al portal.

Fig. 8 Caso de uso Diagrama Contextual

Los actores que intervienen en el diagrama anterior y sus funciones se describen a


continuacin.
El Colaborador de manera conjunta con los usuarios de la aplicacin que tienen
vinculacin con la Empresa. El usuario con acceso al sistema podrn realizar las
siguientes operaciones:

Validacin de acceso
Los usuarios podrn ingresas al mdulo privado proporcionado (Login/Clave) la
aplicacin se encarga de la validacin en el LDAP, si la cuenta posee estos datos se
localizar al colaborador en el sistema con respecto a la tabla Personal y Nminas, si la
bsqueda es exitosa el colaborador podr ingresar al sistema en caso contrario se
denegara el ingreso indicndole el problema ocurrido.
Consultar Datos Personales
Consulta de la ficha de informacin personal del colaborador que mantiene en sus
sistemas de informacin en la base de datos de los colaboradores (datos de
identificacin, domicilio, CV, datos bancarios)

Consultar Informacin Econmica (Nminas)


Solicitud de la nmina del colaborador; el colaborador puede imprimir el listado de
nminas o acceder a una nmina en particular e imprimir el detalle
Consultar Permisos y Ausencias:
Solicitud del listado de las ausencias y permisos del colaborador; el colaborador puede
imprimir el listado o acceder a un permiso o ausencia en particular e imprimir el detalle
Solicitar Cambio Datos Personales:
El colaborador enva una peticin de cambio de alguno de los datos personales. La
peticin ser almacenada en la base de datos del sistema y enviada por correo electrnico
a Recursos humanos para la verificacin de cambios realizados por el colaborador.
Consultar de Ayuda
Almacenar en disco o visualizar en lnea el manual de usuario de la aplicacin
Cambio de Idioma:
Cambiar el idioma seleccionando en la funcin multilenguaje de la aplicacin

RRHH:
Los colaboradores pertenecientes a la unidad de Recursos Humanos de la organizacin,
encargados de mantener los datos de los diferentes sistemas de informacin, en concreto
los de la aplicacin del Gestin de personal y nminas.
Usuarios encargados de mantener los datos de diferentes sistemas de gestin de personal
y nminas.
Sistemas:
Colaboradores encargados del mantenimiento del Directorio Activo y cuentas de
correo de la organizacin

2.4 Diagrama de clases


Diagrama de Clases correspondiente al Sistema
Subsistema de Acceso
Diagrama subsistema de Acceso

Fig. 9 Diagrama de Clases Sistema de Acceso

Subsistema de Consultas de Datos

Fig. 10 Diagrama de clases consulta de datos

Subsistema de Consulta de Informacin Econmica

Fig. 11 Diagrama de clases consulta de informacin

Subsistema de Solicitudes

Fig. 12 Diagrama de clases Subsistema de Solicitudes

Los diagramas presentados anteriormente realizan la representacin jerrquica del


diagrama de clases a partir de las entidades de negocio, identificadas en el anlisis
funcional del sistema B2E, partiendo de los casos de uso y de los subsistemas; se han
representado 3 diagramas 1 por cada subsistema identificado: acceso, solicitudes y
consulta.

Captulo 3: Diseo
El siguiente captulo describe la solucin planteada para el presente proyecto, los
patrones utilizados el modelo de la arquitectura propuesta y el diseo de la interfaz
grafica

3.2 Definicin de la arquitectura


La Arquitectura de Un Sistema de Software es el diseo de ms alto nivel de la estructura
de Un Sistema, consiste en un conjunto de patrones y abstracciones coherentes que
proporcionan el marco, diseando una base de objetivos y restricciones.
La solucin propuesta en el presente proyecto funciona sobre una plataforma web,
siguiendo el modelo cliente servidor. Los usuarios pueden acceder a un servidor web a
travs de Internet o de una intranet mediante un navegador, la funcin principal del
Sistema

es enviar peticiones al servidor mediante el protocolo HTTPS

y luego

interpretar y mostrar los resultados con respecto a las peticiones solicitadas.


La peculiaridad de un Sistema web es que no tenemos que descargar ningn instalador
para instalarlo en el Sistema operativo, estos son interpretados a travs de navegadores
web ahorrndonos tiempo, no existen problemas de compatibilidad, no ocupan espacio en
disco y son multiplataforma.

3.3Patrn de Arquitectura
Los patrones de arquitectura ofrecen soluciones a los problemas de arquitectura de
software, expresan un esquema de organizacin estructural de los componentes de un
Sistema, aspectos ms importantes de los patrones arquitectnicos ya que encarnan
diferentes atributos de calidad.
Para el presente proyecto utilizaremos el Modelo Vista Controlador (MVC)
La arquitectura MVC separa la lgica de negocio (el modelo) y la presentacin (la vista)
por lo que se consigue un mantenimiento ms sencillo de las aplicaciones. Si por ejemplo
una misma aplicacin debe ejecutarse tanto en un navegador estndar como un navegador

de un dispositivo mvil, solamente es necesario crear una vista nueva para cada
dispositivo; manteniendo el controlador y el modelo original. El controlador se encarga
de aislar al modelo y a la vista de los detalles Del protocolo utilizado para las peticiones
(HTTP, consola de comandos, email, etc.). El modelo se encarga de la abstraccin de la
lgica relacionada con los datos, haciendo que la vista y las acciones sean independientes
de, por ejemplo, el tipo de gestor de bases de datos utilizado por la aplicacin.
Un modelo mvc consta de tres componentes bsicos, un Controlador, unas Vistas y un
Modelo. Puesto que un entorno web tiene unas particularidades muy marcadas, sobre
todo las limitaciones de la interaccin cliente-servidor es preciso ajustar el patrn MVC
al entorno web.
El funcionamiento del MVC se inicia con una peticin de usuario desde un navegador
web, esta peticin es captada por el Controlador que decide enviar el control a un
Modelo, y finalmente segn las condiciones que se hayan dado se enva a una Vista
resultado o a otra.
La siguiente imagen es una representacin del modelo MVC.

Fig. 13 Modelo MVC

El siguiente ejemplo es para entender la forma de aplicacin del modelo mvc en el


Sistema propuesto. Este consiste en un colaborador que solicita una nmina.

El colaborador realiza una peticin al Sistema de nminas selecciona la opcin


Guardar detalle de nmina (vista) el navegador enva una peticin de registro.

El Controlador recibe la peticin y hace un llamado a los elementos del modelo


encargados de resolver la peticin.

El Modelo registra en la bitcora de la base de datos la informacin de la peticin


y responde al controlador

El controlador enva un mensaje al colaborador

de proceso realizado

satisfactoriamente (vista).
Vista Lgica
3.4 Arquitectura Lgica de N Capas
La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios
niveles y, en caso de que sobrevenga algn cambio, slo se ataca al nivel requerido sin
tener que revisar entre cdigo mezclado, cada nivel se le confa una misin simple, lo que
permite el diseo de arquitecturas escalables (que pueden ampliarse con facilidad en caso
de que las necesidades aumenten.
El diseo ms utilizado actualmente es el diseo en tres niveles (o en tres capas) que se
muestra a continuacin.

Fig. 14 Representacin grfica Modelo de 3 Capas

3.4.1 Capa de presentacin


Esta capa incluye los componentes que permitirn la presentacin de la interfaz al usuario
y la interaccin de este con el sistema. Incluir la lgica que permitir habilita o
deshabilitar algunos controles cuando el usuario seleccione algunas opciones de la
interfaz. Tambin incluye la lgica que validar la informacin ingresada y presentar los
mensajes de error. Adems se encarga de la comunicacin con el servicio de mapas para
obtener la informacin geogrfica requerida.
3.4.2 Capa de negocio
Esta capa incluye los componentes que manejan la lgica del negocio implementada en el
sistema. Estos componentes determinan cmo se debe procesar la informacin ingresada
por el usuario y cmo obtener la informacin solicitada por el usuario. Adems se
encarga de la comunicacin con la pasarela de pagos para procesar los pagos en lnea.
3.4.3 Capa de acceso a datos
Esta capa incluye componentes que permitirn persistir los datos del sistema en una base
de datos. Incluye la lgica necesaria para registrar, actualizar y listar informacin de la
base de datos.
3.4.4 Vista de Implementacin
Esta vista muestra la arquitectura desde el punto de vista de la programacin y nos
permite ver cmo las clases de implementacin estarn organizadas. El siguiente
diagrama muestra la vista de implementacin de la solucin propuesta.
3.5 Framework Symfony
En el presente proyecto el framework symfony nos ayudar a optimizar el desarrollo de las
aplicaciones web basado en el patrn Modelo Vista Controlador. Para empezar, separa la
lgica de negocio, la lgica de servidor y la presentacin de la aplicacin web.
Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo
de una aplicacin web compleja. Adems, automatiza las tareas ms comunes,
permitiendo al desarrollador dedicarse por completo a los aspectos especficos de cada
aplicacin. El resultado de todas estas ventajas es que no se debe reinventar la rueda cada
vez que se crea una nueva aplicacin web.

3.6 Patrones de Diseo Utilizados


3.6.1 Decorator
El patrn Decorator responde a la necesidad de aadir dinmicamente funcionalidad a un
Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera
incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la
primera.

Motivacin
Disponemos de una herramienta para crear interfaces grficas, que permite aadir
funcionalidades como bordes o barras de desplazamiento a cualquier componente de la
interfaz.
Solucin
Encapsular dentro de otro objeto, llamado Decorador, las nuevas responsabilidades. El
decorador redirige las peticiones al componente y, adems, puede realizar acciones
adicionales antes y despus de la redireccin. De este modo, se pueden aadir
decoradores con cualidades aadidas recursivamente.
Aplicabilidad

Aadir objetos individuales de forma dinmica y transparente

Responsabilidades de un objeto pueden ser retiradas

Cuando la extensin mediante la herencia no es viable

Hay una necesidad de extender la funcionalidad de una clase, pero no hay razones
para

extenderlo a travs de la herencia.

Existe la necesidad de extender dinmicamente la funcionalidad de un objeto y


quizs quitar la funcionalidad extendida.

3.6.2 Faade
Proporciona una interfaz unificada para un conjunto de interfaces de un sistema. Define
una interfaz de alto nivel que hace que el subsistema sea ms fcil de usar.

Motivacin
El patrn fachada viene motivado por la necesidad de estructurar un entorno de
programacin y reducir su complejidad con la divisin en subsistemas, minimizando las
comunicaciones y dependencias entre stos.

Simplificar el acceso a un conjunto de clases proporcionando una nica clase


que todos utilizan para comunicarse con dicho conjunto de clases.

Reducir la complejidad y minimizar dependencias

Solucin
Proporcionar una forma flexible de introducir o eliminar funcionalidad de un componente
sin modificar su apariencia externa o su funcin.

Aplicabilidad
Se aplicar el patrn fachada cuando se necesite proporcionar una interfaz simple para un
subsistema complejo, o cuando se quiera estructurar varios subsistemas en capas, ya que
las fachadas seran el punto de entrada a cada nivel. Otro escenario proclive para su
aplicacin surge de la necesidad de desacoplar un sistema de sus clientes y de otros
subsistemas, hacindolo ms independiente, portable y reutilizable (esto es, reduciendo
dependencias entre los subsistemas y los clientes).

3.6.3 Command
Este patrn permite solicitar una operacin a un objeto sin conocer realmente el
contenido de esta operacin, ni el receptor real de la misma. Para ello se encapsula la
peticin como un objeto, con lo que adems se facilita la parametrizacin de los mtodos.
Motivacin
Encapsula una peticin en un objeto, permitiendo as parametrizar a los clientes con
distintas peticiones, encolar o llevar un registro de las peticiones y poder deshacer las
operaciones.

Solucin
Encapsula un mensaje como un objeto, con lo que permite gestionar colas o registro de
mensaje y deshacer operaciones.
Soportar restaurar el estado a partir de un momento dado.
Ofrecer una interfaz comn que permita invocar las acciones de forma uniforme y
extender el sistema con nuevas acciones de forma ms sencilla

Aplicaciones

Facilitar la parametrizacin de las acciones a realizar.

Independizar el momento de peticin del de ejecucin.

Implementar CallBacks, especificando que rdenes queremos que se ejecuten


en ciertas situaciones de otras rdenes. Es decir, un parmetro de una orden
puede ser otra orden a ejecutar.

Desarrollar sistemas utilizando rdenes de alto nivel que se construyen con


operaciones sencillas (primitivas)

3.6.4 Observer
Define una dependencia de uno a muchos entre objetos, de forma que cuando un objeto
cambia de estado se notifica y actualizan automticamente todos los objetos.
Solucin
Definir una dependencia uno-a-muchos entre objetos, de Tal forma que cuando el objeto
cambie de estado, todos sus objetos dependientes sean notificados automticamente. Se
trata de desacoplar la clase de los objetos clientes del objeto, aumentando la modularidad
del lenguaje, creando las mnimas dependencias y evitando bucles de actualizacin
(espera activa o polling). En definitiva, normalmente, usaremos el patrn Observador
cuando un elemento quiere estar pendiente de otro, sin tener que estar encuestando de
forma permanente si ste ha cambiado o no.
Motivacin
Si se necesita consistencia entre clases relacionadas, pero con independencia, es decir,
con un bajo acoplamiento.

Aplicabilidad
Puede pensarse en aplicar este patrn cuando una modificacin en el estado de un objeto
requiere cambios de otros, y no deseamos que se conozca el nmero de objetos que deben
ser cambiados. Tambin cuando queremos que un objeto sea capaz de notificar a otros
objetos sin hacer ninguna suposicin acerca de los objetos notificados y cuando una
abstraccin tiene dos aspectos diferentes, que dependen uno del otro; si encapsulamos
estos aspectos en objetos separados permitiremos su variacin y reutilizacin de modo
independiente.

3.7 Caractersticas subsistema de Diseo


Subsistema control de acceso en esta seccin se engloban las reas de control de gestin
de usuarios acceso, seguridad e historial de registro.
Subsistema General. Funcionalidades

generales para todos los colaboradores la

informacin se obtendr accediendo al sistema de Personal y nminas de RRHH


Subsistema de Consulta. Las consultas sern realizadas por los usuarios de la aplicacin
mdulos consulta datos personales y econmicos
Subsistema de Solicitudes. Las solicitudes

que puedan realizar los colaboradores

desde el sistema (Peticin de cambio de datos personales)

Fig. 15 subsistemas de Solicitudes

El subsistema de control de acceso permite resolver elementos de autenticacin, los


subsistema de consulta y solicitudes resuelven caractersticas especficas del Sistema
ara pymes.

Niveles lgicos en los que se segmenta el Sistema diagrama de componentes:

Fig. 16 Diagrama de Componentes del Sistema

3.8 Diseo de interfaz de usuario


3.8.1 Diseo de Interfaz Grfica
En la siguiente seccin se describir las caractersticas principales de la interfaz grfica
del usuario

se describir la estructura en general

y se presentaran

las pantallas

principales
3.8.2 Principios Bsicos
La interfaz grfica de una aplicacin web

es parte importante

del Sistema

los

elementos que la conforman tienen que ser simples al momento de interactuar con el
usuario. Utilizando un conjunto de imgenes y objetos grficos para representar la
informacin y acciones disponibles en la interfaz. Su principal uso, consiste en
proporcionar un entorno visual amigable para permitir la comunicacin

3.8.3 Ser consistente


La interfaz grfica del proyecto propuesto vinculara estilos visuales interactivos para los
usuarios sern consistentes en la distribucin de los iconos, ubicaciones y nombre de las
opciones permitiendo al usuario familiarizarse con un ambiente amigable del Sistema.

3.8.4 Ser simple


La interfaz ser simple al momento de reconocer las opciones o funcionalidades del
Sistema manejando iconos representativos para las opciones indicando su funcionalidad.

3.8.5 Ser atractiva


Diseo Atractivo amigable

para los usuarios los colores y estilos tendrn como

objetivo llamar la atencin de los usuarios, que el Sistema con respecto a los colores y
distribucin del contenido refleje confort y confianza

3.8.6 Diseo en General


La interfaz a la que accedern los usuarios tendr los siguientes elementos:
Cabecera incluir su respectivo logo a lado derecho y a lado izquierdo el nombre del
usuario que inicio sesin en el Sistema, aviso legal, opcin para cambiar de idioma. El
rea de trabajo incluir

formularios con respecto a las opciones ejecutadas por el

usuario los mensajes Pop up sern mostrados en esta parte.

A continuacin se presentan algunas capturas de la interfaz del sistema B2E.

1
2

6
4
7

8
9
Fig. 17 Interfaz del sistema vista desde el Navegador Web

1. En esta seccin de pgina web se encuentra el nombre del usuario que inicia
sesin con su respectivo Rol.

2. Logo de la Empresa

3. Seccin de configuracin de parmetros, aviso legal y acerca del sistema

4. Seccin Publicitaria para los Cursos de capacitacin Offline o va presencial

5. Men del sistema donde se encuentran los botones para las diferentes solicitudes
del usuario

6. Seccin de Instructores y Motivadores de los Cursos para capacitacin

7. Artculos de Inters

8. Seccin donde se muestran los colaboradores del mes con respecto a su regin y
Gerente del mes de toda la regin

9. Mdulo de Registro de Usuario

Captulo 4 Implementacin
4.1 Herramientas de Desarrollo
En el siguiente apartado se presenta las herramientas utilizadas para el desarrollo de la
aplicacin web B2E
4.1.2PHP
PHP es un lenguaje de programacin de uso general de cdigo del lado del servidor
originalmente diseado para el desarrollo web de contenido dinmico. Fue uno de los
primeros lenguajes de programacin del lado del servidor que se podan incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que
procese los datos. El cdigo es interpretado por un servidor web con un mdulo de
procesador de PHP que genera la pgina Web resultante. PHP ha evolucionado por lo que
ahora incluye tambin una interfaz de lnea de comandos que puede ser usada en
aplicaciones grficas independientes. Puede ser usado en la mayora de los servidores
web al igual que en casi todos los sistemas operativos y plataformas sin ningn costo.
PHP puede ser desplegado en la mayora de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra
instalado en ms de 20 millones de sitios web y en un milln de servidores. El enorme
nmero de sitios en PHP ha visto reducida su cantidad a favor de otros nuevos lenguajes
no tan poderosos desde agosto de 2005. El sitio web de Wikipedia est desarrollado en
PHP.5 Es tambin el mdulo Apache ms popular entre las computadoras que utilizan
Apache como servidor web.

4.1.3 Gestor de Base de Datos Mysql


MySQL es un sistema de administracin de bases de datos. Una base de datos es una
coleccin estructurada de tablas que contienen datos. Esta puede ser desde una simple
lista de compras a una galera de pinturas o el vasto volumen de informacin en una red
corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted
necesita un administrador como MySQL Server. Dado que los computadores son muy
buenos manejando grandes cantidades de informacin, los administradores de bases de
datos juegan un papel central en computacin, como aplicaciones independientes o como
parte de otras aplicaciones.
MySQL es un sistema de administracin relacional de bases de datos. Una base de datos
relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran
archivo. Esto permite velocidad y flexibilidad. Las tablas estn conectadas por relaciones
definidas que hacen posible combinar datos de diferentes tablas sobre pedido.

4.1.4 Framework Symfony


Symfony es un completo framework diseado para optimizar el desarrollo de las
aplicaciones web basado en el patrn Modelo Vista Controlador. Para empezar, separa la
lgica de negocio, la lgica de servidor y la presentacin de la aplicacin web.
Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo
de una aplicacin web compleja. Adems, automatiza las tareas ms comunes,
permitiendo al desarrollador dedicarse por completo a los aspectos especficos de cada
aplicacin. El resultado de todas estas ventajas es que no se debe reinventar la rueda cada
vez que se crea una nueva aplicacin web.
Symfony est desarrollado completamente en PHP 5.3. Ha sido probado en numerosos
proyectos reales y se utiliza en sitios web de comercio electrnico de primer nivel.
Symfony es compatible con la mayora de gestores de bases de datos, como MySQL,
PostgreSQL, Oracle y Microsoft SQL Server. Se puede ejecutar tanto en plataformas *nix
(Unix, Linux, etc.) como en plataformas Windows.

4.2 Requisitos para la implementacin del sistema B2E en Internet.


El presente proyecto para ser utilizado de manera empresarial tendr que disponer de los
siguientes elementos:

Dominio de Internet

Alojamiento Web

Certificado SSL protocolo de seguridad HTTPS

4.2.1 Dominio de Internet


Un dominio de Internet es una red de identificacin asociada a un grupo de dispositivos o
equipos conectados a la red Internet.
El propsito principal de los nombres de dominio en Internet y del sistema de nombres de
dominio (DNS), es traducir las direcciones IP de cada nodo activo en la red, a trminos
memorizables y fciles de encontrar. Esta abstraccin hace posible que cualquier servicio
(de red) pueda moverse de un lugar geogrfico a otro en la red Internet, aun cuando el
cambio implique que tendr una direccin IP diferente. En el actual proyecto propuesto
contaremos de un dominio web con su respectiva url para identificar el sitio web de
manera fcil y sencilla ejemplo: www.b2esystem.com.gt
4.2.2 Alojamiento Web
El alojamiento web (en ingls web hosting) es el servicio que provee a los usuarios de
Internet un sistema para poder almacenar informacin, imgenes, vdeo, o cualquier
contenido accesible va web. Es una analoga de "hospedaje o alojamiento en hoteles o
habitaciones" donde uno ocupa un lugar especfico, en este caso la analoga alojamiento
web o alojamiento de pginas web, se refiere al lugar que ocupa una pgina web, sitio
web, sistema, correo electrnico, archivos etc. en internet o ms especficamente en un
servidor que por lo general hospeda varias aplicaciones o pginas web.

Servicios comunes que ofrecen servidores web


Los servicios ms comunes que se pueden incluidos en un hosting son los siguientes:

Alojamiento de ficheros y acceso va web a los ficheros para subidas, descargas,


edicin, borrado, etc.

Acceso a ficheros va FTP.

Creacin de bases de datos, tpicamente MySQL en el caso de alojamientos


basados en Linux y administracin va web de las base de datos con herramientas
web como phpMyAdmin.

Cuentas de correo electrnico con dominio propio, gestin de listas de correo,


acceso va clientes de sobremesa (tipo MS Outlook, etc.) y acceso va web mail a
estas cuentas. Reenva del correo a otras cuentas (incluso externas).

Discos duros virtuales que se pueden configurar como unidad de red en un equipo
local va protocolos como WebDav

Copias de seguridad

Gestin de dominios y subdominios

Estadsticas de trfico

Asistentes para la instalacin rpida de paquetes software libre populares como


WordPress, Joomla, etc.

4.2.3 Certificados de Seguridad SSL


Son protocolos criptogrficos que proporcionan comunicaciones seguras por una red,
comnmente Internet.
Protocolos HTTPS
El sistema HTTPS utiliza un cifrado basado en SSL/TLS para crear un canal cifrado
(cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el
cliente) ms apropiado para el trfico de informacin sensible que el protocolo HTTP. De
este modo se consigue que la informacin sensible (usuario y claves de paso
normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la
transferencia de datos de la conexin, ya que lo nico que obtendr ser un flujo de datos
cifrados que le resultar imposible de descifrar.
4.3 Realizando Pruebas
Sistema operativo Utilizado:
4.3.1 CentOS 6.5
Este sistema operativo CentOS es una distribucin Linux de clase empresarial derivados
de fuentes libremente ofrecidos al pblico. Es una distribucin de LINUX gratuita que
est basada en la distribucin Red Hat Enterprise Linux (RHEL).muy similar al RHEL,
pero gratuito, aunque no es mantenido por Red Hat. Red Hat Enterprise Linux se
compone de software libre y cdigo abierto, pero se publica en formato binario usable
(CD-ROM o DVD-ROM) solamente a suscriptores pagados. Como es requerido, Red Hat
libera todo el cdigo fuente del producto de forma pblica bajo los trminos de la
Licencia pblica general de GNU y otras licencias. Los desarrolladores de centOS usan
ese cdigo fuente para crear un producto final que es muy similar al Red Hat Enterprise
Linux y est libremente disponible para ser bajado y usado por el pblico, pero no es
mantenido ni asistido por Red Hat. Existen otras distribuciones tambin derivadas delas
fuentes de Red Hat. CentOS usa yum para bajar e instalar las actualizaciones, herramienta
tambin utilizada por Fedora.

4.4 Requisitos previos para la realizacin de las pruebas:


Instalacin de los siguientes paquetes en el sistema operativo Centos:

Firefox

Mysql

PhpMyadmin

Apache

Framework Symfony

4.4.1 Instalacin Firefox en Centos 6.5


Abrir la terminal Escribir el siguiente cdigo

# rpm -Uvh firefox-20.0.1-1.el6.remi.x86_64.rpm

4.4.2 Instalacin Mysql


Escribimos el siguiente cdigo en la terminal
yum install mysql mysql-server

Luego creamos los enlaces de inicio del sistema para MySQL (para que MySQL se inicie
automticamente cuando el sistema arranca) e iniciar el servidor MySQL:
chkconfig - los niveles de 235 mysqld en
/ Etc / init.d / mysqld inicio

4.4.3Instalacin phpMyadmin
Escribimos el siguiente cdigo en la terminal de centos

yum install phpMyAdmin

4.4.4 Instalacin de Apache


Apache ya viene incluido como paquete de centos por lo tanto lo activamos de la
siguiente manera:

yum install httpd

Configurar que inicie de manera automtica al arrancar el sistema centos

chkconfig - los niveles de 235 httpd en

Inicializamos
/ Etc / init.d / httpd start

Con el navegador previamente instalado en este caso Firefox ingresamos la direccin ip


de nuestros servidor local apache http://192.168.0.100 para poder ver el contenido de
nuestro sistema web que se encuentra ubicado la raz / var / www /

4.4.5 Instalacin de PHP 5


Escribimos el siguiente cdigo en la terminal
yum install php
Reiniciamos apache para que los cambios surtan efecto
/ Etc / init.d / httpd restart

4.4.6 Instalacin Framework Symfony Centos 6.5


Paso 1
Descargar Symfony de la pgina oficial http://symfony.com/download and extract
Paso 2
Descomprimir el archivo Symfony en la ubicacin de apache / var / www /
Paso3
Ingresar al navegador y escribir la ubicacin localhost/mysymfony/web/config.php
4.5 El patrn MVC

Symfony est basado en un patrn clsico del diseo web conocido como arquitectura
MVC, que est formado por tres niveles

El Modelo representa la informacin con la que trabaja la aplicacin, es decir, su


lgica de negocio.

La Vista transforma el modelo en una pgina web que permite al usuario


interactuar con ella.

El Controlador se encarga de procesar las interacciones del usuario y realiza los


cambios apropiados en el modelo o en la vista.

4.5 Funcionamiento del patrn MVC.


La arquitectura MVC separa la lgica de negocio (el modelo) y la presentacin (la vista)
por lo que se consigue un mantenimiento ms sencillo de las aplicaciones. Si por ejemplo
una misma aplicacin debe ejecutarse tanto en un navegador estndar como un navegador
de un dispositivo mvil, solamente es necesario crear una vista nueva para cada
dispositivo; manteniendo el controlador y el modelo original. El controlador se encarga
de aislar al modelo y a la vista de los detalles del protocolo utilizado para las peticiones
(HTTP, consola de comandos, email, etc.). El modelo se encarga de la abstraccin de la
lgica relacionada con los datos, haciendo que la vista y las acciones sean independientes
de, por ejemplo, el tipo de gestor de bases de datos utilizado por la aplicacin.

4.5.2 Las capas de la arquitectura MVC


Para poder entender las ventajas de utilizar el patrn MVC, se va a transformar una
aplicacin simple realizada con PHP en una aplicacin que sigue la arquitectura MVC.
Un buen ejemplo para ilustrar esta explicacin es el de mostrar una lista con las ltimas
entradas o artculos de un blog.
4.5.3 Separando la presentacin
Una buena regla general para determinar si la parte de la vista est suficientemente limpia
de cdigo es que debera contener una cantidad mnima de cdigo PHP, la suficiente
como para que un diseador HTML sin conocimientos de PHP pueda entenderla. Las
instrucciones ms comunes en la parte de la vista suelen ser echo, if/endif,
foreach/endforeach y poco ms. Adems, no se deben incluir instrucciones PHP que
generen etiquetas HTML.
Toda la lgica se ha centralizado en el script del controlador, que solamente contiene
cdigo PHP y ningn tipo de HTML. De hecho, y como puedes imaginar, el mismo
controlador se puede reutilizar para otros tipos de presentaciones completamente
diferentes, como por ejemplo un archivo PDF o una estructura de tipo XML.
4.5.4 Separando la manipulacin de los datos
La mayor parte del script del controlador se encarga de la manipulacin de los datos.
Pero, qu ocurre si se necesita la lista de entradas del blog para otro controlador, por
ejemplo uno que se dedica a generar el canal RSS de las entradas del blog? Y si se
quieren centralizar todas las consultas a la base de datos en un nico sitio para evitar
duplicidades? Qu ocurre si cambia el modelo de datos y la tabla artculo pasa a
llamarse articulo_blog? Y si se quiere cambiar a PostgreSQL en vez de MySQL? Para
poder hacer todo esto, es imprescindible eliminar del controlador todo el cdigo que se
encarga de la manipulacin de los datos y ponerlo en otro script, llamado el modelo.

Ahora el controlador es mucho ms fcil de leer. Su nica tarea es la de obtener los datos
del modelo y pasrselos a la vista. En las aplicaciones ms complejas, el controlador se
encarga adems de procesar las peticiones, las sesiones de los usuarios, la autenticacin,
etc. El uso de nombres apropiados para las funciones del modelo hace que sea innecesario
aadir comentarios al cdigo del controlador.
El script del modelo solamente se encarga del acceso a los datos y puede ser reorganizado
a tal efecto. Todos los parmetros que no dependen de la capa de datos (como por
ejemplo los parmetros de la peticin del usuario) se deben obtener a travs del
controlador y por tanto, no se puede acceder a ellos directamente desde el modelo. Las
funciones del modelo se pueden reutilizar fcilmente en otros controladores.
4.5.5 Abstraccin de la base de datos
La capa del modelo se puede dividir en la capa de acceso a los datos y en la capa de
abstraccin de la base de datos. De esta forma, las funciones que acceden a los datos no
utilizan sentencias ni consultas que dependen de una base de datos, sino que utilizan otras
funciones para realizar las consultas. As, si se cambia de sistema gestor de bases de
datos, solamente es necesario actualizar la capa de abstraccin de la base de datos.
El listado A-1 muestra un ejemplo de capa de abstraccin de la base de datos y el listado
A-2 muestra una capa de acceso a datos especfica para MySQL.

Listado A-1 - La parte del modelo correspondiente a la abstraccin de la base de


datos
<?php
function crear_conexion($servidor, $usuario, $contrasena)
{
return mysql_connect($servidor, $usuario, $contrasena);
}
function cerrar_conexion($conexion)
{
mysql_close($conexion);
}
function consulta_base_de_datos($consulta, $base_datos, $conexion)
{
mysql_select_db($base_datos, $conexion);
return mysql_query($consulta, $conexion);
}
function obtener_resultados($resultado)
{
return mysql_fetch_array($resultado, MYSQL_ASSOC);
}
Listado A-2 La parte del modelo correspondiente al acceso a los datos
function getTodosLosArticulos()
{
// Conectar con la base de datos
$conexion = crear_conexion('localhost', 'miusuario', 'micontrasena');
// Ejecutar la consulta SQL
$resultado = consulta_base_de_datos('SELECT fecha, titulo FROM articulo', 'blog_db',
$conexion);
// Crear el array de elementos para la capa de la vista
$articulos = array();
while ($fila = obtener_resultados($resultado))
{
$articulos[] = $fila;
}
// Cerrar la conexin
cerrar_conexion($conexion);
return $articulos;
}

Como se puede comprobar, la capa de acceso a datos no contiene funciones dependientes de


ningn sistema gestor de bases de datos, por lo que es independiente de la base de datos
utilizada. Adems, las funciones creadas en la capa de abstraccin de la base de datos se pueden
reutilizar en otras funciones del modelo que necesiten acceder a la base de datos.

4.5.6 Los elementos de la vista


La capa de la vista tambin puede aprovechar la separacin de cdigo. Las pginas web
suelen contener elementos que se muestran de forma idntica a lo largo de toda la
aplicacin: cabeceras de la pgina, el layout genrico, el pie de pgina y la navegacin
global. Normalmente slo cambia el interior de la pgina. Por este motivo, la vista se
separa en un layout y en una plantilla. Normalmente, el layout es global en toda la
aplicacin o al menos en un grupo de pginas. La plantilla slo se encarga de visualizar
las variables definidas en el controlador. Para que estos componentes interaccionen entre
s correctamente, es necesario aadir cierto cdigo. Siguiendo estos principios, la parte de
la vista del listado A-3 se puede separar en tres partes.
La parte de la plantilla de la vista, en miplantilla.php
<h1>Listado de Artculos</h1>
<table>
<tr><th>Fecha</th><th>Ttulo</th></tr>
<?php foreach ($articulos as $articulo): ?>
<tr>
<td><?php echo $articulo['fecha'] ?></td>
<td><?php echo $articulo['titulo'] ?></td>
</tr>
<?php endforeach; ?>
</table>

La parte de la lgica de la vista


<?php
$titulo = 'Listado de Artculos';
$contenido = include('miplantilla.php');

La parte del layout de la vista


<html>
<head>
<title><?php echo $titulo ?></title>
</head>
<body>
<?php echo $contenido ?>
</body>
</html>
4.5.7 La implementacin del MVC que realiza Symfony

Piensa por un momento cuntos componentes se necesitaran para realizar una pgina
sencilla que muestre un listado de las entradas o artculos de un blog. Son necesarios los
siguientes componentes:

La capa del Modelo


o Abstraccin de la base de datos
o Acceso a los datos
La capa de la Vista
o Vista
o Plantilla
o Layout
La capa del Controlador
o Controlador frontal
o Accin

En total son siete scripts, lo que parecen muchos archivos para abrir y modificar cada vez
que se crea una pgina. Afortunadamente, Symfony simplifica este proceso. Symfony
toma lo mejor de la arquitectura MVC y la implementa de forma que el desarrollo de
aplicaciones sea rpido y sencillo.
En primer lugar, el controlador frontal y el layout son comunes para todas las acciones de
la aplicacin. Se pueden tener varios controladores y varios layouts, pero solamente es
obligatorio tener uno de cada. El controlador frontal es un componente que slo tiene
cdigo relativo al MVC, por lo que no es necesario crear uno, ya que Symfony lo genera
de forma automtica.
La otra buena noticia es que las clases de la capa del modelo tambin se generan
automticamente, en funcin de la estructura de datos de la aplicacin. La librera Propel

se encarga de esta generacin automtica, ya que crea el esqueleto o estructura bsica de


las clases y genera automticamente el cdigo necesario. Cuando Propel encuentra
restricciones de claves forneas (o externas) o cuando encuentra datos de tipo fecha, crea
mtodos especiales para acceder y modificar esos datos, por lo que la manipulacin de
datos se convierte en un juego de nios. La abstraccin de la base de datos es
completamente transparente para el programador, ya que se realiza de forma nativa
mediante PDO PHP Data Objects). As, si se cambia el sistema gestor de bases de datos
en cualquier momento, no se debe reescribir ni una lnea de cdigo, ya que tan slo es
necesario modificar un parmetro en un archivo de configuracin.
Por ltimo, la lgica de la vista se puede transformar en un archivo de configuracin
sencillo, sin necesidad de programarla.
4.5.8 Las clases que forman el ncleo de Symfony

La implementacin que realiza Symfony de la arquitectura MVC incluye varias clases


que se mencionan:

sfController es la clase del controlador. Se encarga de decodificar la peticin y


transferirla a la accin correspondiente.

sfRequest almacena todos los elementos que forman la peticin (parmetros,


cookies, cabeceras, etc.)

sfResponse contiene las cabeceras de la respuesta y los contenidos. El contenido


de este objeto se transforma en la respuesta HTML que se enva al usuario.

El contexto (que se obtiene mediante sfContext::getInstance ()) almacena una


referencia a todos los objetos que forman el ncleo de Symfony y puede ser
accedido desde cualquier punto de la aplicacin.

CAPITULO 5
5.1 APORTE DEL PROYECTO
Los beneficios que aporta un Sistema Empresarial podemos enfocarlos como los
beneficios propios para la empresa en s y beneficios para los empleados el presente
proyecto de tesis uno de los beneficios primordiales que aporta a es la capacitaciones no
presenciales motivando a los empleados para que puedan escalar en conocimiento a
nivel interno en la empresa para en un futuro poder optar para puestos vacantes en la
empresa.

Mejoras en los procesos: la mejora de procesos, documentacin normas, manuales,


organizacin, formacin se traduce en que los elementos estn mejor organizados, todos
saben que tienen que hacer, los inputs de un proceso estn enlazados con los outputs del
proceso precedente, todo ello conlleva a un aumento de la productividad.
Mejoras en la organizacin interna: al establecerse una comunicacin ms fluida, con
responsabilidades y objetivos de calidad establecidos.
Incremento de capacitaciones: los empleados disponen de capacitaciones en lnea,
presenciales y offline motivndolos a realizar avances en sus curriculum a nivel
empresarial
Mejora la motivacin y el trabajo en equipo: lo que da mayores posibilidades de
alcanzar metas y objetivos de calidad propuestos. Es necesario la formacin, el desarrollo
del liderazgo en los directivos, lo que permite una capacidad de cambio y esfuerzo,

Las ventajas de las nuevas tecnologas ya son ms comnmente conocidas. Las


posibilidades que ofrece instaurar una nueva empresa o extender una ya existente, en
soporte virtual resultan cada vez ms atractivas para muchos empresarios. Las empresas
virtuales han acabado con las barreras fsicas, la forma de interactuar con el cliente o
empleados ha cambiado radicalmente. El empleado obtiene diversas facilidades, no est
sujeto a horarios para recabar la informacin.

Bibliografa
Symfony 2.3, el libro oficial Fabien Potencier, Ryan Weaver Traductor: Javier Eguiluz
Libro patrones de diseo Erich gamma
Head First Design Patterns Eric Freeman & Elisabeth Freeman
Professional PHP Design Patterns
Reporte Latinoamrica e-Readiness Visa.

Web grafa
http://es.wikipedia.org/wiki/Aplicaci%C
3%B3n_web ///app web

http://patronesdediseno.blogspot.com/20
09/05/patron-observer.html

http://es.wikipedia.org/wiki/Patrones_de
_arquitectura //patrones de arquitec

http://es.wikipedia.org/wiki/Centos
http://luisa-holguin19.blogspot.com/

http://librosweb.es/symfony_1_2/capitul
o_2/el_patron_mvc.html // mvc
http://es.wikipedia.org/wiki/Programaci
%C3%B3n_por_capas //multicapa

http://enriquemontielmx.blogspot.com/2
013/05/instalar-mozilla-firefox-200-encentos.html

http://librosweb.es/symfony_1_2/capitul
o_1/symfony_en_pocas_palabras.html
//concepto symphony

http://www.howtoforge.com/installingapache2-with-php5-and-mysql-supporton-centos-6.4-lamp

http://es.wikipedia.org/wiki/Symfony
///conceptos

http://enriquemontielmx.blogspot.com/2
013/05/instalar-mozilla-firefox-200-encentos.html

http://es.wikipedia.org/wiki/Patr%C3%B
3n_de_dise%C3%B1o
http://es.wikipedia.org/wiki/Decorator_
%28patr%C3%B3n_de_dise%C3%B1o
%29
http://es.wikipedia.org/wiki/Prototype_
%28patr%C3%B3n_de_dise%C3%B1o
%29
http://patronesdediseno.blogspot.com/20
09/05/patron-facade.html
http://patronesdediseno.blogspot.com/20
09/05/patron-command.html
http://es.wikipedia.org/wiki/Command_
%28patr%C3%B3n_de_dise%C3%B1o
%29
http://es.wikipedia.org/wiki/Symfony
http://es.wikipedia.org/wiki/Observer_%
28patr%C3%B3n_de_dise%C3%B1o%2
9

http://www.krizna.com/centos/howinstall-phpmyadmin-centos-6/
http://librosweb.es/symfony_1_2/capitul
o_2/el_patron_mvc.html
https://es.wikipedia.org/wiki/Php
https://es.wikipedia.org/wiki/Mysql

https://es.wikipedia.org/wiki/Symfony

http://es.wikipedia.org/wiki/Dominio_de
_Internet
http://es.wikipedia.org/wiki/Hosting

http://es.wikipedia.org/wiki/Transport_L
ayer_Security
http://es.wikipedia.org/wiki/HTTPS

Vous aimerez peut-être aussi