You are on page 1of 34

FACULTAD DE INGENIERÍA ELECTROMECÁNICA

Memoria de Práctica Profesional

SISTEMA DE CONTROL DE EQUIPOS

CORPORATIVO MACIAS Y ASOCIADOS S.C

Presenta

Luis Manuel Perez Herrera

Asesor (es)

ING. JOSE LUIS AGUAYO PEREYDA

ING. JUAN PABLO MARTINEZ VARGAS

Manzanillo, Col., México, 12 de Junio de 2019

1
ÍNDICE
Introducción ..............................................................................................................................4
Presentación de la institución...............................................................................................5
2.1 Generalidades ................................................................................................................5
2.2 Misión ..............................................................................................................................7
2.3 Visión ...............................................................................................................................7
2.4 Ubicación de la empresa .............................................................................................7
Desarrollo del trabajo .............................................................................................................9
3.1 CodeIgniter .....................................................................................................................9
3.2 Navicat.............................................................................................................................9
3.3 Instalación y configuración del framework CodeIgniter ................................9
3.3.1 Requisitos de servidor ....................................................................................9
3.3.2 Descarga de CodeIgniter ..............................................................................10
3.3.3 Instalación de CodeIgniter en 4 pasos ......................................................10
3.4 Controlador de versiones ....................................................................................10
3.4.1 Bitbucket ..........................................................................................................10
3.4.2 Sourcetree .......................................................................................................10
3.5 Examen practico dentro de las instalaciones de la empresa ...........................11
3.11 Modelo Relacional de la base de datos del sistema WAS ..............................14
3.13 Procedimientos almacenados en MySQL ...........................................................15
3.17 Segundo examen práctico aplicando procedimientos almacenados en
MySQL 17
3.17.1 Introducción ....................................................................................................17
3.17.2 Diseño y desarrollo del sistema .....................................................................18
3.17.4 Diccionario de datos .........................................................................................19
3.17.3 Diseño de vistas .................................................................................................21
Sistema de Control de Equipos ..........................................................................................24
4.1 Introducción ............................................................................................................24
4.2 Análisis y diseño ....................................................................................................24
4.6 Diseño de Vistas y desarrollo .............................................................................26
Conclusiones ..........................................................................................................................32
Referencias ................................................................................................................................33

2
3
Capítulo 1

Introducción

Este documento describe la experiencia obtenida durante el tiempo


establecido en el que se desarrollaron las actividades en la empresa
Corporativo Macías y Asociados S.C en el área de sistemas durante el
periodo del 05 de febrero del 2019, cubriendo un total de 400 horas.

La realización de estas prácticas se enfocó en conocer las actividades que


realiza un desarrollador web, que va desde analizar, diseñar, desarrollar y
realizar mantenimientos a los diferentes sistemas web con los que cuenta
la empresa, así también como realizar modificaciones a la misma si se
presentará algún problema.

El principal motivo por el cual decidí seleccionar dicha empresa para


realizar mis actividades como practicante de la carrera de ingeniería en
sistemas computacionales fue el desarrollo de aplicaciones web, además
también de la recomendación de un amigo que ya se encontraba trabajando
para la empresa Accessa Logistic como desarrollador web.

Durante mi estancia como practicante, adquirí conocimientos sobre el


manejo de un framework, la manera en cómo se trabaja con un equipo de
desarrollo en el ámbito laboral y habilidades que competen en el mercado
laboral. También pude aplicar algunos otros conocimientos aprendidos
durante la carrera de ingeniería en sistemas computacionales.

4
Capítulo 2

Presentación de la institución
2.1 Generalidades
El lugar donde se llevó a cabo las prácticas profesionales fue en el
Corporativo Macias y Asociados S.C, donde desarrolle mis habilidades
como desarrollador web para la misma empresa, con un horario de Lunes
a Viernes de 9:00 am a 13:00 pm y Sábados de 9:00 am a 14:00 pm.

Inicio sus labores en 2001, por su fundador el Lic. José Luis Macías de la
Mora; como despacho de consultoría, con su nombre comercial Consultores
Macías y Asociados ofreciendo servicios en:

• Consultoría organizacional, administrativa, financiera y comercial.


• Capacitación y asesoría a la micro, pequeña y mediana empresa.
• Administración de la nómina.
• Derecho laboral, civil y mercantil.
• Bolsa de trabajo.
• Centro evaluador certificado por la ANACE para la competencia
laboral.
• Certificación a empresas en SGC ISO 9001-2008.

Conserva la mayoría de estos servicios, mismos que presta a clientes


externos e internos.

Nuestra fuerza:

Administrativo; 20 colaboradores.

Operaciones; 6 colaboradores.

Infraestructura:

Oficinas corporativas, mobiliario y equipo propio.

5
Corporativo Macias y Asociados S.C es una empresa generadora de
empleos donde el principal objetivo es la colocación de personal en los
diferentes ámbitos laborales.

Como corporativo es tan sólido que formo vínculos con otras empresas
que actualmente engloba y respalda, en diferentes áreas especializadas,
con el fin de ofrecer un mejor y amplio servicio, formando un conjunto de
ocho sociedades.

• Corporativo Macías y Asociados S.C


• Transportes Accessa SA De CV
• International Commercializer SA De CV
• Maquinaria y Equipo JLBL SA De CV
• HPYC Inmobiliario SA De CV
• Maniobrista Minera SA De CV
• Accessa Logistic SA De CV
• Maniobristas y Operadora Portuaria Integral SA De CV

Sin dejar de lado el buen servicio a clientes externos, los servicios


prestados son básicamente como se plasman a continuación:

Figura 2.1: Servicios que presta el corporativo

6
2.2 Misión
Ser el despacho de consultoría y capacitación más actualizado en cuanto
a temas de desarrollo empresarial, contando con tecnología de punta,
además de asesores éticos, profesionales y leales en el trato con nuestros
clientes, ayudándoles a desarrollar todas sus facultades empresariales al
máximo, basando nuestro éxito en su éxito empresarial.

2.3 Visión
Nos vemos como una empresa en la que a través de cada intervención
se logre superar el cumplimiento de los objetivos de nuestros clientes, así
como la alta rentabilidad, funcionalidad y excelente nivel de servicio en la
misma. Todo esto a través de un equipo de asesores altamente capacitados
y comprometidos con usted.

2.4 Ubicación de la empresa


El desarrollo de las prácticas profesionales se realizó en AV. DEL
TRABAJO S/N COL. TAPEIXTLES MANZANILLO, COLIMA.

Figura 2.5: Mapa del sitio

7
Figura 2.6: Instalaciones de la empresa.

8
Capítulo 3

Desarrollo del trabajo


3.1 CodeIgniter
CodeIgniter es un potente framework de PHP (preprocesador de
hipertexto) muy liviano, construido para desarrolladores que necesitan un
kit de herramientas simple y elegante para crear aplicaciones web
completas.

CodeIgniter ocupa tan sólo 2MB, incluyendo una guía de usuario


bastante sencilla, la cual contiene una introducción, un tutorial, una serie de
guías y una documentación de referencia para los componentes que
conforman el framework.

3.2 Navicat
Navicat es un administrador de base de datos rápido, fiable y asequible.
Especialmente diseñada para simplificar la gestión de base de datos y
reducir los costes de administración. Con una interfaz gráfica del usuario
intuitiva, Navicat le proporciona una manera más fácil de gestionar, diseñar
y manipular datos en MySQL, MariaDB, SQL Server, SQLite, Oracle y
PostgreSQL.

3.3 Instalación y configuración del framework CodeIgniter

3.3.1 Requisitos de servidor


Para este caso con la versión de CodeIgniter 2.x, necesitamos disponer
de un servidor PHP 5 o superior. Las versiones del framework un poco más
antiguas, que soportan PHP 4, son hasta CodeIgniter 1.x.

9
3.3.2 Descarga de CodeIgniter
Podremos descargar diferentes versiones del framework directamente
desde su página web, en la sección de descargas:
https://codeigniter.es/descargar.php

3.3.3 Instalación de CodeIgniter en 4 pasos


1. Descomprimir el archivo de descarga.
2. Subir CodeIgniter a tu servidor, ya sea que tengas XAMPP, WAMP;
en el caso de que tengas un hosting deberás subir por FTP todos los
archivos.
3. Configurar la URL base de tu aplicación web. Esta se encuentra en tu
carpeta application/config/config.php, con cualquier editor de texto y
cambiar la variable de configuración llamada “$config[‘base_url’]”.
4. Configurar la base de datos, ya que tendrás que indicar los datos de
acceso a la base de datos que piensas utilizar con CodeIgniter.

Con esto ya tenemos todo listo para comenzar a crear nuestras aplicaciones
web PHP. Podemos testear CodeIgniter accediendo a la URL donde lo
hemos instalado. Debemos ver el mensaje de bienvenida de CodeIgniter
que nos confirma que está funcionando.

3.4 Controlador de versiones

3.4.1 Bitbucket
Bitbucket es una plataforma de control de versiones similar a GitHub más
orientada a proyectos de pocos colaboradores y con un número ilimitados
de repositorios privados.

3.4.2 Sourcetree
Es un potente GUI (Interfaz Gráfica de Usuario) para gestionar
repositorios ya sean Git o Mercurial. En Sourcetree se pueden crear, clonar,
hacer commit, push, pull, merge y algunas otras cosas más de una forma
bastante fácil.

10
3.5 Examen práctico dentro de las instalaciones de la empresa
Al ingresar a la empresa se me realizó una serie de exámenes utilizando
el framework de PHP CodeIgniter. El examen consistía en desarrollar un
sistema capaz de cumplir con las funciones requeridas por un usuario para
crear y gestionar datos; en pocas palabras un CRUD (Create Read Update
Delete).

Para el examen se me dio la libertad de escoger que características


tendría dicho CRUD, así que yo decidí hacerlo de personas la cual
contendría las siguientes especificaciones.

• El nombre de la persona.
• El apellido de la persona.
• La edad de la persona.

Además de CodeIgniter se me pidió realizarlo utilizando otras


herramientas de desarrollo como lo es JQuery para hacerlo más dinámico.
Me refiero a dinámico como por ejemplo que las operaciones del CRUD se
realicen sin necesidad de recargar la página. Agregando así también un
paginador para mostrar los datos más ordenados. Otro de los objetivos del
sistema para que sea aún más dinámico se me pidió agregar un buscador,
para así encontrar los datos más fácil.

Figura 3.6: Vista principal del sistema CRUD de personas

11
Figura 3.7: Vista para añadir una nueva persona

Figura 3.8: Vista para actualizar los datos de la persona

12
Figura 3.9: Vista para eliminar el registro de la persona

Figura 3.10: Vista mostrando una búsqueda de registro

13
3.11 Modelo Relacional de la base de datos del sistema WAS
El sistema WAS (Warehouse Accessa System), es un sitema de control
de almacen usado por la empresa Accessa Logistic para el manejo y
control de mercancias, transportes locales y foraneos, almacenaje de
contenedores, almacenaje de mercancia, etiquetados, etc.

Aquí se me pidió apoyar a la reestructuración de la base de datos del


WAS con las tablas de entradas de logistica del almacen. Para ello
comence con el diseño relacional de las tablas separando las que son de
entrada con las que son de salida. Este diseño lo realice en la pagina de
https://www.draw.io. El proposito de realizar esto es para que se
comprendiera mejor la estructura de la base de datos del sistema WAS.

Figura 3.12: Proceso de entradas de logística

14
3.13 Procedimientos almacenados en MySQL
Los procedimientos almacenados son funciones, que se utilizan para
realizar transacciones u operaciones como insertar o modificar registros.

Los procedimientos almacenados son pequeños programas


desarrollados en código SQL, como un comando que se almacena junto con
la base de datos.

La ventaja de un procedimiento almacenado es que es ejecutado por el


motor de base de datos y no es accesible a los usuarios sino solo al
administrador, ya que este envía sus resultados a una aplicación para que
este los muestre en pantalla evitando sobrecargar el servidor.

Figura 3.14: Procedimiento almacenado para hacer operaciones en


diferentes tablas parte 1

15
Figura 3.15: Procedimiento almacenado para hacer operaciones en
diferentes tablas parte 2

Figura 3.16: Procedimiento almacenado para hacer operaciones en


diferentes tablas parte 3

16
3.17 Segundo examen práctico aplicando procedimientos almacenados
en MySQL

3.17.1 Introducción
Para esta ocasión se me pidió realizar otro sistema CRUD, pero en esta
ocasión tenía que agregar nuevas características al sistema como:

• El uso de procedimientos almacenados.


• Un Login.

Para el desarrollo de este examen se utilizaron distintas herramientas,


como lo es el framework de CodeIgniter, JQuery, JavaScript y MySQL.

Este segundo examen tenía con fin poner en práctica el uso de


procedimientos almacenados, para que yo pudiera hacer modificaciones si
se requerían, al sistema WAS.

En dicho examen se me pidió que lo hiciera de registro de equipos de


cómputo, el cual contendría 4 tablas:

• La tabla del login: esta controlaría el acceso al sistema.


• La tabla de servicios: esta tabla controlaría las acciones de del CRUD
en las otras dos tablas por medio de un folio generado
automáticamente.
• La tabla de solicitudes: esta tabla mostraría las solicitudes de
equipos.
• La tabla de mantenimientos: esta tabla mostraría los mantenimientos
a los equipos solicitados.

17
Figura 3.17.1: Tablas de la Base de datos de Firetest

3.17.2 Diseño y desarrollo del sistema


Después de hacer el análisis para saber qué datos se iban a necesitar para
el sistema, se diseñó la base de datos que se necesitaría para que el sistema
funcione correctamente.

Figura 3.17.2: Base de datos “Firetest”

18
3.17.4 Diccionario de datos
A continuación, se muestra a detalle la estructura de cada una de las
tablas de la base de datos que se realizó para almacenar los datos del
sistema.

Campo Tipo Tamaño PK FK Descripción


eCodUsuarios Int 20 Si No Campo llave,
autoincrementado
Usuario Varchar 50 No No Nombre de
usuario
Password Varchar 50 No No Contraseña del
usuario
Tabla 3.17.4: Estructura de la tabla pro_usuarios

Campo Tipo Tamaño PK FK Descripción


eCodFolio Int 20 Si No Campo llave,
autoincrementado
fhFechaRegistro Datetieme 0 No No Fecha de registro
tCodEstatus Varchar 20 No No Campo que
define el estado
del registro
Tabla 3.17.5: Estructura de la tabla pro_servicios

19
Campo Tipo Tamaño PK FK Descripción
eCodSolicitud Int 20 Si No Campo llave,
autoincrementado
eCodFolio Int 20 No Si Llave foránea de
pro_servicios
tMarca Varchar 50 No No Tipo de marca de
PC
tColor Varchar 50 No No Descripción de
color de la PC
tSo Varchar 50 No No Sistema operativo
de la PC
tProcesador Varchar 50 No No Tipo de
procesador de la
PC
tMemoria_interna Varchar 100 No No Cantidad de
almacenamiento
RAM
tAlmacenamiento Varchar 100 No No Cantidad de
almacenamiento
de la PC
tTarjeta_video Varchar 100 No No Tipo de tarjeta de
Vídeo
Tabla 3.17.6: Estructura de la tabla pro_solicitudes

20
Campo Tipo Tamaño PK FK Descripción
eCodMantenimiento Int 20 Si No Campo llave,
autoincrementado
eCodFolio Int 20 No Si Llave foránea de
pro_servicios
tNombreCliente Varchar 50 No No Nombre del
cliente
eTelefono Varchar 50 No No Número de
teléfono
tMarca Varchar 50 No No Tipo de marca de
PC
tDescripcion Varchar 100 No No Descripción del
equipo
eNSerie Varchar 50 No No Número de serie
tObservaciones Varchar 100 No No Observaciones
Tabla 3.17.7: Estructura de la tabla pro_mantenimientos

3.17.3 Diseño de vistas


Se desarrollaron vistas sencillas para que el sistema sea entendible y
fácil de manejar. Para esto se hicieron 3 vistas para identificar las
solicitudes de los mantenimientos.

21
Figura 3.17.3: Diseño del login

Figura 3.17.4: Vista de solicitudes

22
Figura 3.17.5: Vista de mantenimientos

23
Capítulo 4

Sistema de Control de Equipos


4.1 Introducción

Como parte de la reestructuración del sistema WAS, se requiere hacer un


nuevo módulo adicional que pueda llevar el control de los equipos de la
empresa y los resguardos por empleado, así como las características de los
equipos y sus respectivos mantenimientos, dentro de la versión 2 del
sistema WAS.

Para ello se realizarían distintas actividades para desarrollarlo como lo es:

• El análisis del sistema


• Estructuración de la Base de datos
• El diseño de procedimientos almacenados
• Creación de vistas para consultas en MySQL

4.2 Análisis y diseño

Para el análisis de la base de datos se tomaron en cuenta una lista de


requerimiento que iba a contener el sistema algunos de los más
importantes son:

• Fecha de registro
• Fecha de actualización
• Estatus del sistema (si este se encontraba activo o inactivo)
• Observaciones

24
Después de hacer el análisis para saber qué datos se iban a necesitar para
el sistema, se diseñó y se programó el script de base de datos que se
necesitaría para que el sistema funcione correctamente.

Figura 4.2: Base de datos del sistema de control de equipos

Figura 4.3: Script de la tabla CatCorreoEmpleados

25
Figura 4.4: Script de la tabla CatTipoEquipos

Figura 4.5: Script de la tabla CatEquipos

4.6 Diseño de Vistas y desarrollo

Para el diseño de la reestructuración del WASv2 se utilizó un admin


Template para las vistas del sistema cuyo caso se utilizó ColorAdmin
Template.

En base a este se crearon no solo las vistas del sistema de control de


equipos sino otros módulos más de la empresa.

26
Figura 4.6: Dashboard de Color Admin

El sistema consiste en dos partes; la primera es donde se registran los


correos de los empleados, así como sus contraseñas. La segunda es donde
se registran todos los equipos que cuente un empleado junto con sus
características como el tipo de equipo con el que cuenta, marca, modelo,
número de serie, etiqueta, etc.

El sistema fue desarrollado utilizando varias herramientas de desarrollo


web como lo es el framework de PHP CodeIgniter 3, HTML, JavaScript,
JQuery, Bootstrap 4 y MySQL. Primero se desarrolló la vista de los correos;
cuya vista cumpliría los aspectos de un CRUD (Crear, Leer, Actualizar y
Eliminar).

Se diseñaron procedimientos almacenados para los borrados lógicos


para las tablas del sistema que consistía desactivar un registro sin
eliminarlo de la tabla. Después se comenzó a diseñar y programar las vistas
del sistema, así mismo creando las funciones para agregar, actualizar,
desactivar y ver los detalles de los registros.

27
Figura 4.7: Procedimiento almacenado para el borrado lógico en
CatCorreoEmpleados

Figura 4.8: Vista login de WASv2 Accessa

28
Figura 4.9: Vista de la tabla de los correos del empleado

Figura 4.10: Vista para agregar un empleado y un correo

29
Figura 4.11: Vista para actualizar los datos del empleado

Figura 4.12: Vista para desactivar un registro

30
Figura 4.13: Vista de la tabla de los equipos de los empleados

Figura 4.14: Vista para agregar un nuevo equipo

31
Conclusiones

Las Prácticas profesionales son una de las partes más importantes en el


transcurso de la carrera, ya que es una manera de conocer el ámbito laboral
porque es aquí donde se pone a practica todo lo aprendido en la carrera, y
es donde uno entiende que pueden exigir riesgos y que ya no es lo mismo
que en la escuela donde sino cumples con algo se te regaña, se te baja un
punto o se te reprueba. Pero a diferencia de eso, es que en la escuela te
puedes recuperar fácil, entregar lo que se te pidió haciéndolo un día antes
y haciendo el proyecto o la tarea no tan bien, pero funcionando y sacando
un 6 para pasar. En el trabajo te das cuenta qué eso ya no lo puedes aplicar
ya que un error puede causar muchos problemas desde no entregar algo a
tiempo puede causar que retrases a otros compañeros por incumplimiento
de tu deber; quedas mal con tus compañeros, con tu jefe y con la empresa
donde trabajes. Cosa que puede causar descuento de tu sueldo,
suspensiones o hasta el despido directo.

Las prácticas profesionales se centraron en las actividades cotidianas que


tiene un desarrollador web dentro de una empresa de consultoría, logística
y más.

Durante las practicas pude aprender muchas cosas que no pude aprender
en la facultad; desde aprender un framework nuevo hasta aprender a
entregar cosas a tiempo, ya que fuera del proyecto que se me asignó
también estuve de apoyo con los demás compañeros programadores
desempeñado tareas que se requerían en el área de sistemas

32
Referencias
Docplayer.es. (s.f.). Obtenido de https://docplayer.es/11379597-Av-del-trabajo-s-n-
tapeixtles-manzanillo-colima-cp-28239-tel-314-33-3-38-18-28-314-33-3-62-10-
11.html

Download CodeIgniter. (s.f.). Obtenido de Codeigniter.com:


https://www.codeigniter.com/download

Flowchart Maker & Online Diagram Software. (s.f.). Obtenido de Draw.io:


https://www.draw.io

Gómez, M. (s.f.). CodeIgniter Framework PHP . Obtenido de https://codeigniter.es/

Herramienta de gestión de código Git de Atlassian Bitbucket para equipos. (s.f.).


Obtenido de Atlassian: https://es.atlassian.com/software/bitbucket

Navicat | Administración de Bases de Datos. (s.f.). Obtenido de


https://www.danysoft.com/navicat-administracion-de-bases-de-datos/

Source Tree. (s.f.). Obtenido de jadcode:


https://jadcode.wordpress.com/2014/06/09/source-tree/

Sourcetree | Free Git GUI for Mac and Windows. (s.f.). Obtenido de SourceTree:
https://www.sourcetreeapp.com/

Team, E. (s.f.). Welcome to CodeIgniter : CodeIgniter User Guide. Obtenido de


Codeigniter.es : https://codeigniter.es/userguide2/index.html

33
Firmas Autorizadas

Ing. José Luis Aguayo Pereyda

Gerente del Dpto. de Sistemas

Dr. Miguel Duran Fonseca

Director de la Facultad de ingeniería Electromecánica

Dr. Fernando Rodríguez Haro

Facultad de ingeniería electromecánica

Ing. Juan Pablo Martínez Vargas

Facultad de ingeniería electromecánica

C. Luis Manuel Perez Herrera

Practicante

34

You might also like