Subido por Brayan maldonado garcia

Estancia 2 JHAM (1)

Anuncio
UNIVERSIDAD POLITÉCNICA DEL VALLE DE TOLUCA
INGENIERÍA EN INFORMÁTICA
NOMBRE DEL PROYECTO:
SISTEMA DE TICKETS SOPORTE TECNICO
PRESENTA
JUSTO HUGO ALVAREZ MUCIÑO
MATRÍCULA:
1623INI006
NOMBRE DEL ASESOR ACADÉMICO:
MTRO. EN EDU. PEDRO VALENCIA PÉREZ.
NOMBRE DEL ASESOR EXTERNO:
LEONARDO ARRIAGA ARRIAGA.
ALMOLOYA DE JUAREZ, FEBRERO DE 2020.
Contenido
INTRODUCCIÓN .................................................................................................... 3
JUSTIFICACIÓN DEL PROYECTO ........................................................................ 4
ALCANCES ............................................................................................................ 5
LIMITACIONES ....................................................................................................... 6
OBJETIVO GENERAL ............................................................................................ 6
OBJETIVOS ESPECÍFICOS ................................................................................... 6
CARACTERIZACIÓN DEL AREA QUE SE PARTICIPO ....................................... 7
BASES TEÓRICOS PRACTICAS UTILIZADAS .................................................... 9
ACTIVIDADES REALIZADAS .............................................................................. 43
PRODUCTOS DEL PROYECTO .......................................................................... 58
CONTRIBUCIONES REALIZADAS ...................................................................... 62
CONCLUSIONES ................................................................................................. 64
RECOMENDACIONES ......................................................................................... 65
REFERENCIAS ..................................................................................................... 66
INTRODUCCIÓN
Las estancias son espacios académicos cuyo propósito es incorporar al alumno(a)
al ámbito laboral, a través de la realización de proyectos de cooperación con las
organizaciones, que permitan preparar a los futuros profesionistas con experiencia
profesional, y conscientes de los problemas y necesidades del sector productivo,
además de apoyar el desarrollo tecnológico regional, cubriendo un tiempo de 300
horas.
El proyecto de Estancia II, es un conjunto de actividades que el alumno desarrolla
en una organización de la zona de influencia, relacionado a las competencias
profesionales y orientadas a resolver un problema específico.
En este caso y de acuerdo con el segundo ciclo de formación, corresponde poner
en práctica las competencias de especificar software a través del análisis de los
requerimientos del cliente para satisfacer sus necesidades.
Dichas actividades, serán desarrolladas en Cosmetic Colors S.A. de C.V, cuyo giro
es el desarrollo y la fabricación de cosméticos con una larga historia de innovación
subsidiaria de Schwan Stabilo Cosmetic Network.
En este trabajo se describe la justificación del proyecto, los alcances obtenidos
durante el desarrollo de la estancia II, así como las limitaciones y objetivos que se
plantearon desde un principio, se dará a conocer características del área en la que
se participó, se describen las actividades que fueron encomendadas por la
organización, contribuciones realizadas por el alumno, así como también algunas
bases teóricas involucradas con las actividades, conclusiones correspondientes y
las referencias bibliográficas correspondientes.
JUSTIFICACIÓN DEL PROYECTO
El proceso formativo de Estancia tiene como objetivo que el alumno aplique las
competencias adquiridas, en los sectores productivos y de servicios, ya sean
públicos o privados, mediante el desarrollo de proyectos, asesorados por personal
docente y externo.
En este caso en particular, el proyecto se realizó en el departamento de IT
(information technology), de la organización antes mencionada. En la cual se
presentaba la siguiente problemática:
La organización actualmente no cuenta con un sistema que automatice el registro
de las actividades realizadas de soporte técnico (tickets) en el transcurso del mes,
los cuales por normas de la empresa tienen que ser reportadas mensualmente al
departamento de IT en Alemania por medio del llenado de una hoja de Excel, por lo
que los encargados de realizar los tickets, no tienen un control de las actividades
realizadas al día y al final del mes demora la entrega del reporte ya que lleva tiempo
el escribir manualmente cada actividad.
Por tal motivo, se precisa llevar a cabo actividades de análisis y diseño para
desarrollar el sistema de tickets de soporte técnico para la empresa Cosmetic Colors
S.A de C. V., con el que se tendrá mayor control y agilidad al entregar el reporte.
Por otro lado, cabe mencionar que la práctica de conocimientos correspondientes,
al ciclo de formación, constituye la responsabilidad del desarrollo de aptitudes y
actitudes para el desenvolvimiento de asignaturas posteriores y de habilidades en
el ámbito profesional, de futuros ingenieros.
El presente proyecto describe las funciones que se desempeñaron, con el fin de
resaltar la importancia de las actividades que fueron asignadas por la empresa.
ALCANCES
Para llevar a cabo el desarrollo del sistema de tickets de la empresa Cosmetic
Colors S.A de C.V. .
NO.
ACTIVIDAD
METAS Y/O ENTREGABLES
PERIÓDO
ESTIMADO
1
Identificación
de Solicitar al cliente la información
requerimientos.
necesaria
para
20 hrs.
el desarrollo del
sistema.
2
Análisis
de Analizar los requisitos para definir las
requerimientos.
3
Diseño
interfaces de usuario.
de
Realizar el diseño del prototipo.
prototipo.
4
Verificación
Implementación
pruebas
prototipo.
150 hrs.
del Identificar cambios en el diseño del
prototipo.
5
20 hrs.
sistema.
80 hrs.
y
del Implementar el software y revisar los
30 hrs.
cambios identificados por el cliente.
Tabla 1. Cronograma de Actividades realizadas en Estancia II. Fuente: Elaboración propia.
LIMITACIONES
Al realizar las actividades para el desarrollo del Sistema de Tickets de Soporte
Técnico en la empresa antes mencionada como parte del proyecto de Estancia II,
se presentaron las siguientes limitaciones:

La falta de conocimiento para llevar a cabo el desarrollo de algún módulo.

Falta de conocimientos para implementar el sistema en el servidor local de la
empresa.

Tiempo limitado para el desarrollo del proyecto.

Falta de un jefe directo que nos asesore en cuanto a las necesidades de los
usuarios, así como en el apoyo de las actividades que se llevan a cabo en el
área.

Proyectos en puerta que previamente se tenían programados en el área
durante el periodo en el que se desarrolló la Estancia II .
OBJETIVO GENERAL
Desarrollar un sistema de tickets para la gestión del soporte técnico en el area de
IT.
OBJETIVOS ESPECÍFICOS
Para lograr con el cumplimiento del objetivo general de manera satisfactoria se
precisa de llevar a cabo tareas tales como:

Solicitar al cliente la información necesaria para el desarrollo del sistema.

Analizar los requisitos para definir las interfaces del software.

Realizar el diseño del prototipo que satisfaga las necesidades del cliente.

Identificar cambios en el diseño del software.

Implementar el software y revisar los cambios identificados por el cliente.
CARACTERIZACIÓN DEL AREA QUE SE PARTICIPO
Cosmetic Colors es una subsidiaria del grupo global Schwan Stabilo Cosmetics. Se
dedica al desarrollo y fabricación de cosméticos con una larga experiencia en
innovación. Ofrece las fórmulas de color, cuidadosamente desarrolladas para
satisfacer las exigencias de nuestros clientes, mientras le brinda experiencias
sensoriales a través del color, textura, fragancia, empaque y decoración, con
completo soporte de su equipo experto y profesional, (Cosmetic Colors, 2019).
Imagen 1. Fachada de empresa Cosmetic Colors. Fuente: (Cosmetic Colors 2019)
Misión.
Ser una empresa global y dinámica que confía en el equipo que la integra,
generando oportunidades para ellos. Dedicada al desarrollo continuo de productos
cosméticos con base en conocimiento, productividad, innovación y servicio,
obteniendo la lealtad del consumidor y los accionistas, (Cosmetic Colors, 2019).
Visión.
Ser la opción número uno para nuestros clientes, en la fabricación de sus productos
cosméticos, (Cosmetic Colors 2019).
Ubicación.
Se localiza en Blvd. Miguel Alemán Valdés Km. 2.1, Col. Reforma, CP. 50226,
Toluca Estado de México.
Estructura Organizacional
Cosmetic Colors cuenta con una estructura organizacional que le permite desarrollar
las actividades requeridas, (Véase en figuras 3 y 4).
Imagen 3. Organigrama general de la empresa Cosmetic Colors. Fuente: (Cosmetic Colors, 2019).
Imagen 4. Organigrama del departamento de Finanzas de la empresa Cosmetic Colors. Fuente:
(Cosmetic Colors, 2019).
BASES TEÓRICOS PRACTICAS UTILIZADAS
SISTEMAS DE INFORMACIÓN.
Las finalidades de los sistemas de información, como las de cualquier otro sistema
dentro de una organización, son procesar entradas, mantener archivos de datos
relacionados con la organización y producir información, reportes y otras salidas
(Senn,1990).
Los sistemas de información están formados por subsistemas que incluyen
hardware, software, medios de almacenamiento de datos para archivos y bases de
datos. El conjunto particular de subsistemas utilizados son los equipos específicos,
programas, archivos, procedimientos, es lo que Alcalde (1994) denomina como un
sistema de información.
Según Peralta (2008). Un sistema de información, es todo proceso por medio del
cual se recopilan, clasifican, procesan, interpretan y se resumen cantidades de
datos, a fin de sacar conclusiones con el deliberado propósito de orientar la toma
de decisiones.
Etapas de los sistemas de información:

Identificación de problemas.

Oportunidades y objetivos.

Determinación de los requerimientos de información.

Análisis de las necesidades del sistema.

Diseño del sistema recomendado.

Desarrollo del software.

Prueba y mantenimiento del sistema, implantación y evaluación del sistema.
Los sistemas de información organizacional se pueden establecer como ciertos
procesos, donde se recopilan, clasifican e interpretan los datos.
Tipos de sistemas de información
Chen (2019) menciona que, en la cultura organizacional, existen varios tipos de
sistemas de información según el nivel operacional en que se utilicen. Algunos de
los sistemas más comunes se encuentran a continuación:
Para procesamiento de datos (TPS: Traditional processing system): nivel operativo,
destinado a procesar grandes volúmenes de información alimentando grandes
bases de datos.
Sistema de expertos o basados en el conocimiento (KWS: Knowledge working
systems): nivel operativo, selecciona la mejor solución para el problema presentado.
Para la administración y gerenciales (MIS: Management information systems): nivel
administrativo, gestiona y elabora informes periódicos.
Para la toma de decisiones (DSS: Decision support systems): nivel estratégico, se
destaca por su diseño e inteligencia que permite una adecuada selección e
implementación de proyectos.
Para ejecutivos (EIS: Executive information systems): nivel estratégico, sistema
personalizado para cada ejecutivo para que pueda ver y analizar datos críticos.
Sistemas funcionales relacionados con los procesos ejecutivos. Algunas de las más
conocidas implementadas para las necesidades de cada área son: internos de la
organización: forman la base de los sistemas de información para

Sistema de información de marketing (SIM)

Sistema de información de producción (SIP)

Sistema de información financiera (SIF)

Sistema de información de recursos humanos (SIRH)

Sistema de información para directivos (SDD)

Sistema de información geográfica (SIG)

Sistema de información legislativa (SIL)
Elementos de un sistema de información
Por lo general se considera que todos los SI contienen una diversidad de
elementos clasificables en cinco grandes categorías:
Imagen 5. Elementos de un sistema de información (López, 2012)

Elementos financieros. Aquellos vinculados con el capital y con los activos
disponibles de la organización.

Elementos tecnológicos. Aquellos que tienen que ver con la maquinaria
especializada y la capacidad de procesamiento automatizado de la
información.

Elementos humanos. Básicamente, personal, tanto especializado y
directivo, como no especializado o común.

Elementos materiales. Se refiere al emplazamiento del sistema, a su
soporte físico y ubicación.

Elementos administrativos. Aquellos relacionados con los procesos, la
mecánica de conducción, los permisos, informes, transacciones, etc.
(Medina, 2019).
Componentes de un sistema de información
Para Chen (2019) los componentes que forman un sistema de comunicación son:

La entrada: por donde se alimentan los datos,

El proceso: uso de las herramientas de las áreas contempladas para
relacionar, resumir o concluir,

La salida: refleja la producción de la información, y

La retroalimentación: los resultados obtenidos son ingresados y
procesados nuevamente.
Imagen 6. Representación gráfica de los componentes de un sistema de información
(Sistemasumma, 2017).
Metodología de desarrollo de software
Las metodologías para el desarrollo del software imponen un proceso disciplinado
sobre el desarrollo de software con el fin de hacerlo más predecible y eficiente. Una
metodología de desarrollo de software tiene como principal objetivo aumentar la
calidad del software que se produce en todas y cada una de sus fases de desarrollo.
No existe una metodología de software universal, ya que toda metodología debe ser
adaptada a las características de cada proyecto (equipo de desarrollo, recursos,
etc.) exigiéndose así que el proceso sea configurable. (EcuRed, 2018).
Metodologías de desarrollo clásicas
Las metodologías clásicas son aquellas que siguen una secuencia lógica y cada
etapa es directamente dependiente de que se culmine la etapa anterior. Estas
metodologías pueden ser clasificadas en:
Cascada
El modelo en cascada es un proceso de desarrollo secuencial, en el que el
desarrollo de software se concibe como un conjunto de etapas que se ejecutan una
tras otra. Se le denomina así por las posiciones que ocupan las diferentes fases que
componen el proyecto, colocadas una encima de otra, y siguiendo un flujo de
ejecución de arriba hacia abajo, como una cascada. (StudentPlace, 2018).
Imagen 7. Etapas del modelo de cascada (StudentPlace, 2018).
Método evolutivo
Propuesto por Mills en 1980. Sugirió el enfoque incremental de desarrollo como una
forma de reducir la repetición del trabajo en el proceso de desarrollo y dar
oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir
experiencia con el sistema. Surge porque en los primeros desarrollos se podía
esperar largo tiempo hasta que el software estuviese listo. Las reglas del negocio
de hoy no lo permiten.
Este enfoque entrelaza las actividades de especificación, desarrollo y validación. Un
sistema inicial se desarrolla rápidamente a partir de especificaciones abstractas.
Éste se refina basándose en las peticiones del cliente para producir un sistema que
satisfaga sus necesidades.
El desarrollo evolutivo consta del desarrollo de una versión inicial que luego de
exponerse se va refinando de acuerdo de los comentarios o nuevos requerimientos
por parte del cliente o del usuario final. Las fases de especificación, desarrollo y
validación se entrelazan en vez de separarse. (StudentPlace, 2018).
Prototipos
La creación de prototipos consiste en construir rápida y económicamente un sistema
experimental para que lo evalúen los usuarios finales. Interactuando con el
prototipo, los usuarios pueden darse una mejor idea de sus requerimientos de
información. El prototipo avalado por los usuarios puede servir de plantilla para crear
el sistema definitivo. (StudentPlace, 2018).
El prototipo es una versión funcional de un sistema de información o de parte de
éste, pero su propósito es el de servir de modelo preliminar. Una vez en operación,
el prototipo se refinará más aún hasta que cumpla con precisión los requerimientos
de los usuarios. Una vez finalizado el diseño, el prototipo se puede convertir en un
sistema en producción refinado.
De esta manera el prototipo servirá para modelar y poder mostrar al cliente cómo
va a realizarse la E/S de datos en la aplicación, de forma que éste pueda hacerse
una idea de cómo va a ser el sistema final, pudiendo entonces detectar deficiencias
o errores en la especificación, aunque el modelo no sea más que una cáscara vacía.
Imagen 8. Representación gráfica de un prototipo (StudentPlace, 2018).

Según esto un prototipo puede tener alguna de las tres formas siguientes:

Un prototipo, en papel o ejecutable en ordenador, que describa la interacción
hombre-máquina y los listados del sistema.

Un prototipo que implemente algún(os) subconjunto(s) de la función requerida,
y que sirva para evaluar el rendimiento de un algoritmo o las necesidades de
capacidad de almacenamiento y velocidad de cálculo del sistema final.

Un programa que realice en todo o en parte la función deseada pero que tenga
características (rendimiento, consideración.
Etapas:

Recolección y refinamiento de requisitos

Modelado, diseño rápido

Construcción del Prototipo

Desarrollo, evaluación del prototipo por el cliente

Refinamiento del prototipo

Producto de Ingeniería
Ventajas

No modifica el flujo del ciclo de vida

Reduce el riesgo de construir productos que no satisfagan las necesidades de
los usuarios

Reduce costo y aumenta la probabilidad de éxito

Exige disponer de las herramientas adecuadas

Este modelo es útil cuando el cliente conoce los objetivos generales para el
software, pero no identifica los requisitos detallados de entrada, procesamiento
o salida.

También ofrece un mejor enfoque cuando el responsable del desarrollo del
software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un
sistema operativo o de la forma que debería tomar la interacción humanomáquina.
Hay dos clases de prototipos el desechable y el evolucionario.

El desechable: nos sirve para eliminar dudas sobre lo que realmente quiere el
cliente además para desarrollar la interfaz que más le convenga al cliente.

El evolucionario: es un modelo parcialmente construido que puede pasar de ser
prototipo a ser software, pero no tiene una buena documentación y calidad.
Razones para desarrollar prototipo de sistema.
La utilización de prototipos no es necesaria o apropiada en todos los proyectos de
sistemas. Sin embargo, las ventajas también se deben tener en consideración al
decidir si debemos o no crearlos. Las tres principales ventajas de los prototipos son
el potencial de cambiar el sistema durante las primeras etapas de su desarrollo, la
oportunidad de detener el desarrollo en un sistema que no está funcionando y la
posibilidad de desarrollar un sistema que cumpla mejor con las necesidades y
expectativas de los usuarios.
La creación de prototipos exitosos depende de la retroalimentación oportuna y
frecuente de los usuarios, que los analistas pueden usar para modificar el sistema
y hacerlo más sensible a las necesidades actuales. Al igual que con cualquier otro
esfuerzo de sistemas, los cambios en las primeras etapas son menos costosos que
los cambios tardíos. (Kendall & Kendall, 2011).
Desarrollo basado en componentes
La metodología de software basada en Componentes surgió a finales de los 90's
como una aproximación basada en la reutilización al desarrollo de sistemas de
software. El desarrollo de software basado en componentes permite reutilizar piezas
de código pre elaborado que permiten realizar diversas tareas, conllevando a
diversos beneficios como las mejoras a la calidad, la reducción del ciclo de
desarrollo y el mayor retorno sobre la inversión. Es básicamente como cuando (si
es que llevas tiempo programando) tienes ya una clase o un código guardado en
algún lugar y te acuerdas del mismo, de manera que copeas y pegas el código en
tu proyecto para usarlo, o lo conviertes en una clase y mandas llamar sus métodos,
de esta manera podemos decir que es la metodología que recicla códigos.
(StudentPlace, 2018).
Espiral
Propuesto originalmente por BOEHM en 1976, es un modelo de proceso de software
evolutivo donde se conjuga la naturaleza de construcción de prototipos con los
aspectos controlados y sistemáticos del MODELO LINEAL y SECUENCIAL.
Proporciona el potencial para el desarrollo rápido de versiones incrementales del
software que no se basa en fases claramente definidas y separadas para crear un
sistema.
Imagen 9. Ciclos de desarrollo de la metodología espiral (StudentPlace, 2018).
En el modelo espiral, el software se desarrolla en una serie de versiones
incrementales. Durante las primeras iteraciones la versión incremental podría ser
un modelo en papel o un prototipo, durante las últimas iteraciones se producen
versiones cada vez más completas del sistema diseñado.
Una característica clave del desarrollo en espiral es la minimización de los riesgos
en el desarrollo de software, lo que podría resultar en un aumento de los costes
totales, más esfuerzo
y un
lanzamiento
retardado. Estos riesgos son
contrarrestados por el enfoque incremental, haciendo primero prototipos, que luego
pasan al menos una vez, por las fases de desarrollo de software. El desarrollo en
espiral es genérico y puede combinarse con otros métodos de desarrollo clásicos y
ágiles, por lo que también se denomina modelo o desarrollo de segundo orden.
(StudentPlace, 2018).
Incremental
El modelo incremental combina elementos del modelo en cascada con la filosofía
interactiva de construcción de prototipos. Se basa en la filosofía de construir
incrementando las funcionalidades del programa. Este modelo aplica secuencias
lineales de forma escalonada mientras progresa el tiempo en el calendario. Cada
secuencia lineal produce un incremento del software. En cada incremento, el
producto debe mostrar una evolución con respecto a la fecha anterior; nunca puede
ser igual.
Cuando se utiliza un modelo incremental, el primer incremento es a menudo un
producto esencial, sólo con los requisitos básicos. Este modelo se centra en la
entrega de un producto operativo con cada incremento. Los primeros incrementos
son versiones incompletas del producto final, pero proporcionan al usuario la
funcionalidad que precisa y también una plataforma para la evaluación.
Imagen 10. Calendario de proyecto utilizando el modelo incremental (StudentPlace, 2018).
La principal diferencia del modelo incremental con los modelos tradicionales es que
las tareas están divididas en iteraciones, es decir, pequeños lapsos en los cuales
se trabaja para conseguir objetivos específicos. Con los modelos tradicionales no
pasaba esto; era necesario esperar hasta el final del proceso. (StudentPlace, 2018).
Metodologías de desarrollo ágil
Muradas (2019) define las metodologías ágiles como un conjunto tareas y
procedimientos dirigidos a la gestión de proyectos. Son aquellos métodos de
desarrollo en los cuales tanto las necesidades como las soluciones a estas
evolucionan con el pasar del tiempo, a través del trabajo en equipo de grupos
multidisciplinarios que se caracterizan por tener las siguientes cualidades:

Desarrollo evolutivo y flexible.

Autonomía de los equipos.

Planificación.

Comunicación.
Programación extrema (XP)
Es una metodología basada en un conjunto de reglas y buenas prácticas para el
desarrollo de software en ambientes muy cambiantes con requisitos imprecisos, por
ende, está enfocada en la retroalimentación continua entre el equipo de desarrollo
y el cliente.
Es por ello que iniciando el proyecto se deben definir todos los requisitos, para luego
invertir el esfuerzo en manejar los cambios que se presenten y así minimizar las
posibilidades de error. XP tiene como base la simplicidad y como objetivo la
satisfacción del cliente.
La programación extrema optimiza los tiempos y se adapta al desarrollo de sistemas
grandes y pequeños sin mayor documentación, el código es claro y simple, así
mismo complementa los conocimientos entre los miembros del equipo, gracias a la
programación en parejas. Sin embargo, una desventaja de esta metodología ágil,
es que luego de cada entrega el sistema puede ir creciendo según sean las
peticiones del cliente. (Muradas, 2019).
Imagen 11. Fases de la programación extrema (Muradas, 2019).
Scrum
Esta metodología, es un marco de trabajo de procesos ágiles que trabaja con el
ciclo de vida iterativo e incremental, donde se va liberando el producto por pares de
forma periódica, aplicando las buenas prácticas de trabajo colaborativo (en equipo),
facilitando el hallazgo de soluciones óptimas a los problemas que pueden ir
surgiendo en el proceso de desarrollo del proyecto.
Con Scrum se realizan entregas regulares y parciales (sprint) del producto final,
todas ellas con una prioridad previamente establecida que nace según el beneficio
que aporten al cliente, minimizando los riesgos que pueden surgir de desarrollos
extremadamente largos. Es por tal motivo, que Scrum está especialmente indicado
para proyectos en entornos complejos, donde se necesitan obtener resultados de
manera inmediata y donde son fundamentales los siguientes aspectos: la
innovación, la productividad, la flexibilidad y la competitividad. (Muradas, 2019).
En los Equipos Scrum, se cuenta con roles específicos y cada uno de ellos es
imprescindible para que se lleve a cabo el proceso de forma satisfactoria:

Stakeholder: Es el cliente, su responsabilidad radica en definir los
requerimientos (Product Backlog), recibir el producto al final de cada iteración y
proporcionar el feedback correspondiente.

Product Owner: Es el intermediario de la comunicación entre el cliente
(stakeholder) y el equipo de desarrollo. Este debe priorizar los requerimientos
según sean las necesidades de la solicitud.

Scrum Master: Actúa como facilitador ante todo el equipo de desarrollo, elimina
todos aquellos impedimentos que identifique durante el proceso, así mismo se
encarga de que el equipo siga los valores y los principios ágiles, las reglas y los
procesos de Scrum, incentivando al grupo de trabajo.

Scrum Team (Equipo de desarrollo): Se encarga de desarrollar los casos de uso
definidos en el Product Backlog, es un equipo auto gestionado lo que quiere
decir que no existe un de jefe de equipo, motivo por el cual todos los miembros
se deben de encargar de realizar las estimaciones y en base a la velocidad
obtenida en las iteraciones irán construyendo el Sprint Backlog.
Imagen 12. Fases de la metodología Scrum (Muradas, 2019).
Kanban
Proveniente de una palabra japonesa cuyo significado es “Tarjeta Visual” es un
marco de trabajo que requiere una comunicación en tiempo real sobre la capacidad
del equipo, utilizado para controlar el avance de trabajo en una línea de producción,
en la cual se clasifican las tareas en sub estatus, esto con la intención de determinar
los niveles de productividad en cada fase del proyecto.
Para el desarrollo de software, gracias a su sencillez KANBAN, simplifica la
planificación y la asignación de responsabilidades, en un tablero se representan los
procesos del flujo de trabajo, cómo mínimo deben existir tres columnas (Pendiente,
En Progreso, Terminado), la cantidad de tarjetas en estatus pendiente forma parte
de lo solicitado por el cliente, aquellas colocadas en progreso dependerán de la
capacidad del equipo de trabajo. (Muradas, 2019).
Las principales ventajas de Kanban son:

Planificación de tareas.

Tiempos de ciclos reducidos.

Rendimiento del equipo de trabajo.

Entrega continua.
Diagrama de flujo de datos.
Modelación de los procesos.
Para que los analistas de sistemas puedan comprender los requerimientos de
información de los usuarios, deben ser capaces de conceptualizar la forma en que
los datos se mueven a través de la organización, los procesos o la transformación
por la que pasan los datos y las salidas de los mismos. Aunque las entrevistas y la
investigación de datos “duros” proveen una narrativa verbal del sistema, una
descripción visual puede cristalizar esta información para los usuarios y analistas
de una manera útil. (Kendall & Kendall, 2011).
Flujo de datos.
Por medio de una técnica de análisis estructurado conocida como diagramas de
flujo de datos (DFD), el analista de sistemas puede ensamblar una representación
gráfica de los procesos de datos a través de la organización. Al usar combinaciones
de sólo cuatro símbolos, el analista puede crear una descripción ilustrada de los
procesos con el fin de elaborar una documentación sólida para el sistema.
Se utilizan cuatro símbolos básicos para graficar el movimiento de los datos en los
diagramas: un cuadrado doble, una flecha, un rectángulo con esquinas redondas y
un rectángulo con un extremo abierto (cerrado del lado izquierdo y abierto del lado
derecho). Se puede describir en forma gráfica todo un sistema y numerosos
subsistemas al combinar estos cuatro símbolos.
La flecha muestra el movimiento de los datos de un punto a otro; la cabeza de la
flecha apunta hacia el destino de los datos. Los flujos de datos que ocurren al mismo
tiempo se pueden describir mediante el uso de flechas paralelas. Como una flecha
representa datos sobre una persona, lugar o cosa, también se debe describir con
un sustantivo. (Kendall & Kendall, 2011).
Imagen 13. Ejemplo de flujo de datos (Lucidchart, 2018).
Agentes internos.
Se utiliza un rectángulo con esquinas redondas para mostrar la ocurrencia de un
proceso de transformación. Los procesos siempre expresan un cambio o
transformación en los datos; por ende, el flujo de datos que sale de un proceso
siempre se identifica de manera distinta al flujo que entra al proceso. Los procesos
representan el trabajo que se realiza en el sistema. (Kendall & Kendall, 2011).
Agentes externos.
El cuadrado doble se utiliza para describir una entidad externa (otro departamento,
una empresa, una persona o una máquina) que pueda enviar/recibir datos
hacia/desde el sistema. La entidad externa, o simplemente entidad, también se
conoce como origen o destino de los datos, y se considera externa al sistema que
se está describiendo. Cada entidad se identifica con un nombre apropiado. Aunque
interactúa con el sistema, se considera fuera de los límites de éste. Se debe
denominar a las entidades con un sustantivo. Se puede utilizar la misma entidad
más de una vez en un diagrama de flujo de datos para evitar cruzar las líneas de
flujo de datos. (Kendall & Kendall, 2011).
Almacenes de datos.
El último símbolo básico que se utiliza en los diagramas de flujo de datos es un
rectángulo con un extremo abierto, el cual representa a un almacén de datos. El
rectángulo se dibuja con dos líneas paralelas que se cierran mediante una línea
corta del lado izquierdo y cuyo extremo derecho está abierto. Estos símbolos se
dibujan con la anchura suficiente como para permitir una leyenda de identificación
entre las líneas paralelas. En los diagramas de flujo de datos lógicos no se
especifica el tipo de almacenamiento físico. (Kendall & Kendall, 2011).
Diccionario de datos.
El diccionario de datos es una versión especializada de los diccionarios que se
utilizan como referencias en la vida cotidiana. El diccionario de datos es una obra
de consulta de información sobre los datos (es decir, metadatos); es compilado por
los analistas de sistemas para guiarse a través del análisis y diseño. Como
documento, el diccionario de datos recopila y coordina términos de datos
específicos, además de confirmar lo que significa cada término para distintas
personas en la organización. (Kendall & Kendall, 2011).
Modelo de casos de uso
Un modelo de casos de uso describe los requerimientos funcionales de un sistema.
Este modelo contiene las funciones deseadas y sirve como un contrato entre el
cliente y los desarrolladores.
El cliente debe aprobar el modelo de casos de uso. Cuando esta aprobación se
obtiene, tenemos la certeza de que sabemos lo que el sistema debe realizar. Este
modelo también puede ser utilizado durante el desarrollo del sistema para realizar
ajustes a la funcionalidad solicitada por el cliente.
Imagen 15. Ejemplo de un modelo de casos de uso. (Cidecame, 2019).
Los participantes en el proyecto lo utilizan para entender mejor el sistema. Los
diseñadores lo utilizan como la base para realizar su trabajo y obtener una visión
general del sistema. El personal de pruebas los utiliza para planificar qué
funcionalidad es la que debe ser validada.
Los documentadores los utilizan como base para escribir las guías de usuarios. El
arquitecto los utiliza para identificar y validar la funcionalidad arquitectónicamente
representativa. El líder de proyecto los utiliza para planificar las actividades del
proyecto.
Los componentes principales del modelo de casos de uso:

Un actor representa un conjunto coherente de roles que son desempeñados
cuando interactúa con el sistema.

Típicamente un actor representa un rol que puede ser desempeñado por un
humano, un dispositivo de hardware u otro sistema al momento de interactuar
con el sistema en desarrollo.

Un caso de uso es una secuencia de acciones que un sistema realiza y que dan
como resultado un elemento de valor a un actor en particular. Un caso de uso
describe lo que el sistema hace, pero no especifica cómo lo hace. (Cidecame,
2019).
Modelo entidad-relación
Según Millán (2012), cuando se utiliza una base de datos para gestionar
información, se está plasmando una parte del mundo real en una serie de tablas,
registros y campos ubicados en un ordenador; creándose un modelo parcial de la
realidad. Antes de crear físicamente estas tablas en el ordenador se debe realizar
un modelo de datos.
Se suele cometer el error de ir creando nuevas tablas a medida que se van
necesitando, haciendo así el modelo de datos y la construcción física de las tablas
simultáneamente. El resultado de esto acaba siendo un sistema de información
parcheado, con datos dispersos que terminan por no cumplir adecuadamente los
requisitos necesarios.
Entidades y Relaciones.
El modelo de datos más extendido es el denominado ENTIDAD/RELACIÓN (E/R)
En el modelo E/R se parte de una situación real a partir de la cual se definen
entidades y relaciones entre dichas entidades:

Entidad. - Objeto del mundo real sobre el que queremos almacenar información
(Ej.: una persona). Las entidades están compuestas de atributos que son los
datos que definen el objeto (para la entidad persona serían DNI, nombre,
apellidos, dirección). De entre los atributos habrá uno o un conjunto de ellos que
no se repite; a este atributo o conjunto de atributos se le llama clave de la
entidad, (para la entidad persona una clave seria DNI). En toda entidad siempre
hay al menos una clave que en el peor de los casos estará formada por todos
los atributos de la tabla.

Relación. - Asociación entre entidades, sin existencia propia en el mundo real
que estamos modelando, pero necesaria para reflejar las interacciones
existentes entre entidades (Millán, 2012).
Ingeniería web
La ingeniería web es un área que abarca procesos, técnicas y modelos orientados
a los entornos Web. Consiste en la aplicación de metodologías sistemáticas,
disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de
aplicaciones web de alta calidad.
La ingeniería Web toma prestado muchos de los conceptos y principios básicos de
la ingeniería del software, dando importancia a las mismas actividades técnicas y
de gestión. Existen diferencias sutiles en la forma en que se llevan a cabo estas
actividades, pero la filosofía primordial es idéntica dado que dicta un enfoque
disciplinado para el desarrollo de un Sistema basado en computadora.
La Ingeniería Web surge como una nueva disciplina orientada a solucionar los
problemas derivados de una proliferación de sistemas web de baja calidad,
realizados con una carencia completa de proceso. Esta nueva disciplina identifica
nuevos elementos propios de las aplicaciones web que no se cubren en las Ciencias
de la Computación, en la Ingeniería del Software o en los Sistemas de Información.
(Bolaños, 2015).
Procesos de ingeniería web.
El desarrollo de software tradicional y el desarrollo web difieren en algunos
aspectos. Los profesionales de desarrollo de software necesitan tener un
conocimiento sólido de programación, diseño de base de datos y gestión de
proyectos. Sin embargo, los desarrolladores web abarcan una variedad mucho más
amplia como personas sin habilidades de programación, diseñadores gráficos,
escritores, expertos en bases de datos entre otros (Mendes & Mosley, 2011). Las
páginas web pueden ser creadas por cualquier persona sin la necesidad de tener
conocimiento avanzado de programación.
En el desarrollo de aplicaciones basadas en Web, se aplican herramientas de
Ingeniería de Software, sin tener en cuenta que contienen características
especiales, tales como la usabilidad, navegabilidad, seguridad, mantenimiento y
escalabilidad (Peralta, 2008). El uso de soluciones de Ingeniería de Software puede
crear aplicaciones basadas en Web pobremente desarrolladas y con una
probabilidad de fallo considerablemente alto (Pressman, 2010). Por lo tanto, para
lograr un mayor éxito en el desarrollo de aplicaciones Web complejas y a gran
escala es necesario enfocarse en la ingeniería Web como una disciplina.
Según Pressman (2010) numera siete actividades que forman parte del proceso de
la
Ingeniería
Web
y
que
son
aplicables
a
cualquier
aplicación Web
independientemente de su tamaño y complejidad.
1. La Formulación identifica objetivos y establece el alcance de la primera entrega.
2. La Planificación genera estimación de costo, la evaluación de riesgo y el
calendario del desarrollo y fechas de entrega.
3. El Análisis especifica los requerimientos e identifica el contenido.
4. La Modelización Consta de dos partes:
4.1. Diseño y producción del contenido.
4.2. Diseño de la arquitectura, navegación e interfaz del usuario.
5. En la Generación de Páginas se integran arquitectura, navegación e interfaz para
la creación más visible del proyecto, que son las páginas.
6. El Test son pruebas en busca de errores en todos los niveles: contenido,
funcional, navegación, etc.
7. El resultado final es sometido a Evaluación del Cliente.
En la Ingeniería de Software tradicional, hay tareas que forman parte en el proceso
como lo es el control y garantía de la calidad, que implican actividades como:
supervisión de estándares, revisiones técnicas, análisis, seguimiento, entre otras,
estas pueden ser igualmente aplicadas a la Ingeniería Web. Sin embargo, en la
Ingeniería Web tiene otros aspectos para valorar la calidad como la usabilidad,
accesibilidad, seguridad, eficiencia y mantenibilidad (Pressman, 2010). Las
aplicaciones Web están dirigida frecuentemente a grupo de usuarios desconocidos
haciendo que el desarrollo sea más desafiante a diferencia de, Aplicaciones de
software convencionales que se desarrollan generalmente para un grupo de
usuarios previamente conocido.
Aplicación web
Una aplicación web es una aplicación o herramienta informática accesible desde
cualquier navegador, bien sea a través de internet (lo habitual) o bien a través de
una red local. A través del navegador se puede acceder a toda la funcionalidad y
tener cualquiera de las soluciones enumeradas en el punto anterior.
Tiene unas grandes ventajas:

La primera gran ventaja es que no necesita ningún tipo de instalación, ya que se
accede a través de un navegador.

Además, una aplicación web es multiplataforma y multidispositivo. Esto significa
que nos podemos olvidar de que software tiene cada dispositivo que accede, y
que puede acceder igualmente un ordenador, una Tablet, un Smartphone.

Y otra gran ventaja es que la potencia no está en el dispositivo que accede, por
lo que, aunque no tengamos un superordenador la aplicación puede ser muy
potente, ya que el peso no lo soporta el equipo desde el que se accede sino el
servidor donde está alojada.

La aplicación puede estar en la nube, con lo que sería accesible para cualquier
ordenador con acceso a internet (aunque también podría ser una aplicación local
en una intranet).

Y para finalizar, es muy adaptable, visualmente intuitiva y muy fácil de actualizar
si fuera necesario. (Mateo, 2018).
Lenguaje de programación
Es un lenguaje artificial que expresa lo que denominamos computaciones. Las
computaciones representan un término genérico para cualquier tipo y variante de
algoritmo, proceso o medida que pueda ser ejecutada por una máquina o sistema
complejo tal como un ordenador o computadora. En sentido estricto, los lenguajes
de programación son variados y se caracterizan por ser utilizados para crear
aplicaciones y software de cualquier tipo. En este caso nos referimos al desarrollo
de programas que se encargan del control del comportamiento de la máquina,
sistema or ordenador. El comportamiento específico se define mediante algoritmos
predefinidos y pre-escritos ad hoc. (Fred, 2014).
Imagen 16. Lenguajes de programación (Fred, 2014).
Los primeros lenguajes fueron desarrollados y consecuentemente diseñados para
controlar; manejar y coordinar el comportamiento de máquinas específicas tales
como los telares de Jacquard y sistemas de reproducción de piano.
PHP
PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del
lado del servidor gratuito e independiente de plataforma, rápido, con una gran
librería de funciones y mucha documentación.
Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo
antes de que se envíe la página a través de Internet al cliente. Las páginas que se
ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en
red, y otras tareas para crear la página final que verá el cliente. El cliente solamente
recibe una página con el código HTML resultante de la ejecución de la PHP. Como
la página resultante contiene únicamente código HTML, es compatible con todos los
navegadores. PHP se escribe dentro del código HTML, lo que lo hace realmente
fácil de utilizar, al igual que ocurre con el popular ASP de Microsoft.
Imagen 17. Ejecución PHP (Álvarez, 2001).
Este lenguaje de programación está preparado para realizar muchos tipos de
aplicaciones web gracias a la extensa librería de funciones con la que está dotado.
La librería de funciones cubre desde cálculos matemáticos complejos hasta
tratamiento de conexiones de red, por poner dos ejemplos.
Algunas de las más importantes capacidades de PHP son: compatibilidad con las
bases de datos más comunes, como MySQL, mSQL, Oracle, Informix, y ODBC, por
ejemplo. Incluye funciones para el envío de correo electrónico, upload de archivos,
crear dinámicamente en el servidor imágenes en formato GIF, incluso animadas y
una lista interminable de utilidades adicionales. (Álvarez, 2001).

Frontend y Backend
Imagen 18. Representación gráfica de frontend y backend (Guevara, 2016).
Front-End
Es la parte del desarrollo web que se dedica de la parte frontal de un sitio web, en
pocas palabras del diseño de un sitio web, desde la estructura del sitio hasta los
estilos como colores, fondos, tamaños hasta llegar a las animaciones y efectos.
Un front-end entonces es la persona que se dedica básicamente al «diseño web»,
pero esto no signifique que no toque código, tanto el front-end como el back-end
están en contacto con código todo el tiempo, dentro del área de front-end se trabaja
con lenguajes mayormente del lado del cliente, como HTML y CSS para darle
estructura y estilo al sitio, y Javascript para complementar los anteriores y darle
dinamismo a los sitios web, aunque cabe mencionar que HTML y CSS son lenguajes
pero no de programación, son lenguajes de marcado y estilo. Solo Javascript es un
lenguaje de programación, y este último es en donde se requiere realmente una
lógica de programación.
Back-End
Es el área que se dedica a la parte lógica de un sitio web, es el encargado de que
todo funcione como debería, el back-end es la parte de atrás que de alguna manera
no es visible para el usuario ya que no se trata de diseño, o elementos gráficos, se
trata de programar las funciones que tendrá un sitio. El Back-End es la
programación dura y pura, desde la programación de las funciones del sitio hasta
bases de datos e incluso más.
El Back-end trabaja todo el tiempo con lenguajes de programacion, lenguajes que
requieren de una lógica ya que esta área es también la encargada de optimizar
recursos, de la seguridad de un sitio y demás. Cosas que el usuario no ve de
primeras pero que existe código detrás que está haciendo su trabajo.
Los lenguajes de programación que se utilizan en el Back-end en la actualidad son
PHP, Javascript, Phyton y Ruby. Además de HTML y CSS, que, aunque básico,
también deben saber al menos un poco. (Arturo, 2014).
Base de datos
Es una colección de información organizada de tal modo que sea fácilmente
accesible, gestionada y actualizada. En una sola vista, las bases de datos pueden
ser clasificadas de acuerdo con los tipos de contenido: bibliográfico, de puro texto,
numéricas y de imágenes.
En informática, las bases de datos a veces se clasifican de acuerdo a su enfoque
organizativo. El enfoque más frecuente es la base de datos relacional, una base de
datos tabular en la que los datos se definen de manera que puede ser reorganizada
y se accede en un número de maneras diferentes. Una base de datos distribuida es
una que puede ser dispersada o replicada entre diferentes puntos de una red. Una
base de datos de la programación orientada a objetos es una que es congruente
con los datos definidos en clases y subclases de los objetos.
Las bases de datos informáticas típicamente contienen agregados de registros de
datos o archivos, tales como las operaciones de venta, catálogos de productos e
inventarios y perfiles de clientes. Típicamente, un gestor de bases de datos
proporciona a los usuarios la capacidad de controlar el acceso de lectura/escritura,
especificando la generación de informes y analizando el uso. (Rouse, 2019).
Mysql
Según (Gustavo, 2019), Mysql es un sistema de gestión de bases de datos
relacionales de código abierto (RDBMS, por sus siglas en inglés) con un modelo
cliente-servidor. RDBMS es un software o servicio utilizado para crear y administrar
bases de datos basadas en un modelo relacional.
Una compañía sueca llamada MySQL AB originalmente desarrolló MySQL en 1994.
La compañía de tecnología de los Estados Unidos Sun Microsystems luego tomó el
control por completo cuando compró MySQL AB en el 2008. El gigante de la
tecnología estadounidense Oracle adquirió Sun Microsystems en el 2010, y MySQL
ha sido propiedad de Oracle desde entonces.
Imagen 19. Funcionamiento de Mysql. (Gustavo, 2019).
Algunas de sus características son:

Flexible y fácil de usar: Puedes modificar el código fuente para satisfacer tus
propias expectativas, y no tienes que pagar nada por este nivel de libertad,
incluidas las opciones de actualización a la versión comercial avanzada. El
proceso de instalación es relativamente simple y no debería durar más de 30
minutos.

Alto rendimiento: Un amplio compendio de servidores de clúster respalda a
MySQL. Ya sea que estés almacenando enormes cantidades de datos de eCommerce grandes o realizando actividades intensas de inteligencia de
negocios, MySQL puede ayudarte sin problemas con una velocidad óptima.

Un estándar de la industria: Las industrias han estado usando MySQL durante
años, lo que significa que hay abundantes recursos para desarrolladores
calificados. Los usuarios de MySQL pueden esperar un rápido desarrollo del
software y trabajadores freelance expertos dispuestos a trabajar.

Seguro: Tus datos deberían ser la principal preocupación al elegir el software
RDBMS correcto. Con su sistema de privilegios de acceso y la administración
de cuentas de usuario, MySQL establece un alto estándar de seguridad. La
verificación basada en el host y el cifrado de contraseña están disponibles.
SQL
Plasencia (2016) Establece que SQL (Structured Query Language) es un lenguaje
estándar e interactivo de acceso a bases de datos relacionales que permite
especificar diversos tipos de operaciones en ellas, gracias a la utilización del álgebra
y de cálculos relacionales, el SQL brinda la posibilidad de realizar consultas con el
objetivo de recuperar información de las bases de datos de manera sencilla. Las
consultas toman la forma de un lenguaje de comandos que permite seleccionar,
insertar, actualizar, averiguar la ubicación de los datos, y más.
SQL es un lenguaje declarativo estándar internacional de comunicación dentro de
las bases de datos que nos permite a todos el acceso y manipulación de datos en
una base de datos, y además se puede integrar a lenguajes de programación, por
ejemplo, ASP o PHP, y en combinación con cualquier base de datos específica, por
ejemplo, MySQL, SQL Server, MS Access, entre otras.
Internet
Es un conjunto descentralizado de redes de comunicación interconectadas que
utilizan la familia de protocolos TCP/IP, lo cual garantiza que las redes físicas
heterogéneas que la componen formen una red lógica única de alcance mundial.
Sus orígenes se remontan a 1969, cuando se estableció la primera conexión de
computadoras, conocida como ARPANET, entre tres universidades en California
(Estados Unidos). Uno de los servicios que más éxito ha tenido en internet ha sido
la World Wide Web (WWW o la Web), hasta tal punto que es habitual la confusión
entre ambos términos. La WWW es un conjunto de protocolos que permite, de forma
sencilla, la consulta remota de archivos de hipertexto. Esta fue un desarrollo
posterior (1990) y utiliza internet como medio de transmisión.
La mayoría de las industrias de comunicación, incluyendo telefonía, radio,
televisión, correo postal y periódicos tradicionales están siendo transformadas o
redefinidas por Internet, y permitió el nacimiento de nuevos servicios como correo
electrónico (e-mail), telefonía por internet, televisión por Internet, música digital, y
vídeo digital. (Graus, 2018).
Página web
Una página web es un documento o información electrónica capaz de contener
texto, sonido, vídeo, programas, enlaces, imágenes y muchas otras cosas,
adaptada para la llamada World Wide Web (WWW) y que puede ser accedida
mediante un navegador web. Esta información se encuentra generalmente en
formato HTML o XHTML, y puede proporcionar acceso a otras páginas web
mediante enlaces de hipertexto. Frecuentemente también incluyen otros recursos
como pueden ser hojas de estilo en cascada, guiones (scripts), imágenes digitales,
entre otros. (Sánchez, 2007).
Protocolo http
El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol) es un
sencillo protocolo cliente-servidor que articula los intercambios de información entre
los clientes Web y los servidores HTTP. La especificación completa del protocolo
HTTP 1/0 está recogida en el RFC 1945. Fue propuesto por Tim Berners-Lee,
atendiendo a las necesidades de un sistema global de distribución de información
como el World Wide Web.
Desde el punto de vista de las comunicaciones, está soportado sobre los servicios
de conexión TCP/IP, y funciona de la misma forma que el resto de los servicios
comunes de los entornos UNIX: un proceso servidor escucha en un puerto de
comunicaciones TCP (por defecto, el 80), y espera las solicitudes de conexión de
los clientes Web. Una vez que se establece la conexión, el protocolo TCP se
encarga de mantener la comunicación y garantizar un intercambio de datos libre de
errores. (Cruz, 2019).
Imagen 20. Diferencia entre http y https. (Cruz, 2019).
HTTP se basa en sencillas operaciones de solicitud/respuesta. Un cliente establece
una conexión con un servidor y envía un mensaje con los datos de la solicitud. El
servidor responde con un mensaje similar, que contiene el estado de la operación y
su posible resultado. Todas las operaciones pueden adjuntar un objeto o recurso
sobre el que actúan; cada objeto Web (documento HTML, fichero multimedia o
aplicación CGI) es conocido por su URL.
Protocolo https
HTTP es el acrónimo de Hypertext Transfer Protocol (en español protocolo de
transferencia de hiper texto). HTTPS es igual, pero añadiéndole "Seguro". Estos dos
protocolos se usan para lo mismo, la transferencia de datos.
La diferencia básica entre ambos es la forma en la que viajan los datos. Si los datos
son transferidos mediante HTTP, estos viajan en claro y son accesibles para
cualquiera que intercepte la comunicación. En cambio, el protocolo HTTPS usa una
conexión segura mediante un cifrado SSL y por tanto los datos viajan de un modo
seguro de un lugar a otro. (Delgado, 2019).
Dicho de otro modo, SSL funciona así:

El navegador intenta conectarse a un sitio protegido con SSL.

El navegador solicita que el servidor web se identifique.

El servidor envía una copia de su certificado SSL al navegador.

El navegador comprueba si el certificado SSL es de confianza. Si es así, envía
un mensaje al servidor.

El servidor devuelve un acuse de recibo firmado digitalmente para comenzar una
sesión SSL cifrada.

Los datos cifrados se comparten entre el navegador y el servidor.
Servidor DNS
En un estudio reciente (Méndez, 2019) dice que DNS es el acrónimo de Domain
Name System o Sistema de Nombres de Dominio, que es el método utilizado por
Internet para traducir de forma fácil de recordar los nombres de dominio como
wpseguro.com en lugar de su IP 178.33.117.45 de manera que sean entendibles
por las personas y más fácil que si se trata de recordar secuencias numéricas, como
es el caso de las IPs.
Todo equipo o dispositivo conectado a Internet necesita de una dirección IP y que
esta sea única de forma que pueda ser accesible desde cualquier punto de la red.
Recordar números de IPs para acceder a sitios web es una tarea compleja que nos
limitaría bastante la cantidad que podríamos memorizar, por este motivo los DNS
nos ayudan a convertir estas secuencias numéricas en nombres entendibles, y en
la mayoría de casos asociados a la marca, entidad, persona o servicio al que sirven.
Servidor web
Un servidor Web es un programa que utiliza el protocolo de transferencia de hiper
texto, HTTP (Hypertext Transfer Protocol), para servir los archivos que forman
páginas Web a los usuarios, en respuesta a sus solicitudes, que son reenviados por
los clientes HTTP de sus computadoras. Las computadoras y los dispositivos
dedicados también pueden denominarse servidores Web.
El proceso es un ejemplo del modelo cliente/servidor. Todos los equipos que alojan
sitios Web deben tener programas de servidor Web. Los principales servidores Web
incluyen Apache (el servidor Web más ampliamente instalado), Internet Information
Server (IIS) de Microsoft y nginx (que se pronuncia engine X) de NGNIX. Otros
servidores Web incluyen el servidor NetWare de Novell, el servidor Web de Google
(GWS) y la familia de servidores Domino de IBM.
Los servidores Web a menudo forman parte de un paquete más amplio de
programas relacionados con internet e intranet para servir correo electrónico,
descargar solicitudes de archivos de protocolo de transferencia de archivos (FTP) y
crear y publicar páginas Web. Las consideraciones al elegir un servidor Web
incluyen cuán bien funciona con el sistema operativo y otros servidores, su
capacidad para manejar la programación del servidor, las características de
seguridad y las herramientas particulares de publicación, motor de búsqueda y
creación de sitios que vienen con él. (Rouse, 2019).
Software de diseño.
Para el desarrollo de software es necesario realizar un diseño previo de las
interfaces antes de llevar a cabo el desarrollo codificado de estas. Algunos de los
softwares especializados en esto son:
Balsamiq. Es una herramienta rápida de UI de baja fidelidad que reproduce la
experiencia de dibujar en un bloc de notas o pizarra, pero utilizando una
computadora. Este software obliga al usuario a centrarse en la estructura y el
contenido, evitando largas discusiones sobre los colores y los detalles que deberían
aparecer más adelante en el proceso. (Balsamiq, 2019).
Cookie
Según (Endalia, 2019) una cookie es un pequeño fichero de texto que se almacena
en su ordenador al acceder a determinadas páginas web. Cuando vuelve a visitar
el mismo sitio, la cookie permite al sitio web reconocer su navegador. Las cookies
permiten almacenar las preferencias del usuario y otro tipo de información. La
configuración del navegador se puede modificar para que rechace todas las cookies
o para indicar cuándo se deben enviar. Sin embargo, puede ser que algunas de las
funciones o servicios del sitio web no funcionen correctamente sin las cookies.
Usted puede permitir, bloquear o eliminar las cookies instaladas en su equipo
mediante la configuración de las opciones del navegador instalado en su ordenado.
Diseño responsivo
Es crear un solo sitio web que se adapte a dispositivos diferentes, manteniendo su
estructura y orden. Así, cada elemento de la web se adapta a las proporciones de
cualquier pantalla, permitiendo una correcta visualización y navegación.
Imagen 21. Representación del diseño responsivo. (Rubio, 2017).
Las principales ventajas del diseño responsivo son:

Mejora la experiencia de usuario, ya que los visitantes pueden acceder a los
mismos contenidos fácilmente desde cualquier dispositivo. Brindarles un sitio
web bien diseñado que puedan recorrer sin problema es clave para que quieran
volver una y otra vez.

A Google le gusta el diseño responsivo. Tener una web responsive es importante
para el SEO, ya que al favorecer la experiencia de usuario y tener más tráfico,
las páginas con diseño responsive tienen mayores probabilidades de éxito en el
posicionamiento en buscadores.

Aumenta la viralidad de los contenidos, permitiendo que los usuarios compartan
el contenido de manera natural y sin problemas como la duplicación de
información.

Es más práctico, debido a que no hay necesidad de subir diferentes tipos de
contenidos ni mantener diferentes webs.

Te preparas para lo que venga. Constantemente aparecen nuevos dispositivos
de tamaños distintos, y tú querrás que tu web se visualice correctamente desde
cualquiera de ellos, El diseño responsivo se adelanta a esta necesidad, ya que
no se limita por el tipo de dispositivo. (Rubio, 2017).
Dominio web
El dominio web de tu sitio web es esencialmente el equivalente a una dirección
física. De la misma manera que un satélite necesita una dirección o un código postal
para dar direcciones, un navegador web necesita un nombre de dominio para
dirigirte a un sitio web.
Un dominio de internet se forma a partir de dos elementos principales. Por ejemplo,
el nombre de dominio Facebook.com consiste del nombre del sitio web (Facebook)
y la extensión del dominio (.com). Cuando una empresa (o una persona) compra un
dominio web, puede especificar a qué servidor apunta el nombre de dominio.
Los registros de nombres de dominios son supervisados por una organización
llamada ICANN (Corporación de Internet para Nombres y Números Asignados, por
sus siglas en inglés). ICANN especifica qué extensiones de dominios están
disponibles y mantiene una base de datos centralizada de dónde apuntan los
dominios web. (Gustavo, 2019).
ACTIVIDADES REALIZADAS
Las actividades que se realizaron en la empresa son las siguientes:
IDENTIFICACIÓN DE REQUERIMIENTOS.
Solicitar al gerente la información necesaria para el desarrollo del sistema.
Los requerimientos deben ser vistos como el acuerdo entre el cliente y el
desarrollador, ya que posteriormente se deberá comparar el producto final con la
especificación de dichos requerimientos, por lo que estos son la definición del
problema que se pretende resolver.
Los requisitos se deben registrar en formatos para que se tenga un control al
momento de verificar el cumplimiento de los mismos.
A continuación, se muestra el formato en el que se llevó a cabo la toma de
requerimientos. (Ver figura 1).
Requerimientos de Usuario
Fecha:
14/10/19
Encargado del proyecto: Justo Hugo Alvarez Muciño
Módulo: Usuarios
No. Versión:
1
ID.
RCCU01
RCCU02
RCCU03
Requerimiento
El usuario debe ser capaz de crear una cuenta de
usuario.
El usuario y administrador podrán modificar la
información de su cuenta.
El administrador podrá gestionar las cuentas de
usuario existentes.
Prioridad
Alta
Media
Alta
Figura 1. Formato: Registro de Requerimientos de Usuario. Fuente: Elaboración propia.
Fecha:
14/10/19
Encargado del proyecto: Justo Hugo Alvarez Muciño
Módulo:
Áreas
No. Versión:
1
ID.
RCCA01
Requerimiento
El administrador podrá registrar una area.
RCCA02
El administrador
registradas.
podrá
gestionar
las
Prioridad
Alta
area
Alta
Figura 2. Formato: Registro de Requerimientos de Usuario. Fuente: Elaboración propia.
Fecha:
14/10/19
Encargado del proyecto: Justo Hugo Alvarez Muciño
Módulo: Tickets
No. Versión:
1
ID.
RCCT01
Requerimiento
El usuario podrá registrar un nuevo ticket
RCCT02
El usuario podrá visualizar los tickets registrados
Prioridad
Alta
Media
Figura 3. Formato: Registro de Requerimientos de Usuario. Fuente: Elaboración propia.
ANÁLISIS DE REQUERIMIENTOS.
Analizar los requisitos para definir los módulos del sistema.
Una vez recolectados los requisitos se procede a realizar un análisis de los mismos,
por lo que permite especificar detalladamente las características operacionales del
software.
Dicho análisis es realizado con los siguientes elementos que serán detallados a
continuación:
Requerimientos del Sistema.
Es una versión extendida de los Requerimientos de Usuario que se toman como
punto de partida para el diseño del sistema, en el que se explica con detalle cómo
el sistema debe realizar dichos requerimientos. (Ver figura 4).
Requerimientos del Sistema
Requerimiento: Registro de usuario
Tipo:
ID derivado:
Descripción:
ID: RCCS01
Funcional
RCCU01
Al hacer clic en el botón “regístrate “la interfaz del login se
enlazará con la interfaz registro de usuario en el cual se llenará el
formulario con la información solicitada, al final se presiona el
botón “registrar” para generar la cuenta.
Información presentada:
 Formulario de registro de datos.
o Nombre
o Apellido paterno
o Apellido materno
o Correo
o Numero de contacto
o Area
o Usuario
o Contraseña
o Registrar (botón)
o Volver (botón)
Requerimiento: Editar usuario
Tipo:
ID derivado:
Descripción:
ID: RCCS02
Funcional
RCCU02
Al tener un usuario previamente registrado, este puede modificar
su información haciendo clic en el botón “perfil” o en la opción
“configuración” del menú lateral izquierdo de la interfaz principal
donde mostrará un formulario con la información del usuario.
 Nombre
 Apellido paterno
 Apellido materno
 Correo





Numero de contacto
Area
Usuario
Contraseña
Actualizar datos (botón)
Requerimiento: Gestión de usuario
Tipo:
ID derivado:
Descripción:
Funcional
RCCU03
Al tener usuarios previamente registrados podemos modificar su
información seleccionado la opción usuarios del menú lateral de
la interfaz principal del administrador donde se mostrará dos
tablas; una contiene a los usuarios estándar y la otra a los
usuarios con privilegios de administrador.
 Nombre
 Apellido paterno
 Apellido materno
 Correo
 Numero de contacto
 Area
 Usuario
 Contraseña
 Actualizar datos (botón)
Requerimiento: Registro de áreas
Tipo:
ID derivado:
Descripción:
ID: RCCS04
Funcional
RCCA01
Al realizar un registro de una nueva area, en la interfaz de
administrador se debe dirigir a la opción áreas en el menú lateral
izquierdo en donde se debe seleccionar el botón “nuevo” para
realizar un registro.
 Nombre de area
 Agregar “botón”
Requerimiento: Gestión de áreas
Tipo:
ID derivado:
ID: RCCS03
Funcional
RCCA02
ID: RCCS05
Descripción:
En la interfaz principal del administrador se selecciona la opción
áreas del menú lateral en la cual se visualiza una tabla con las
áreas registradas las cuales se pueden registrar o eliminar dando
clic en el botón acción
 Nombre de area
 Editar (botón)
 Eliminar (botón)
La tabla actualizara los datos dependiendo de la acción
seleccionada.
Requerimiento: Registrar ticket
Tipo:
ID derivado:
Descripción:
ID: RCCS06
Funcional
RCCT01
En la interfaz principal del usuario estándar se podrá registrar un
nuevo ticket llenado el cuadro de texto y enviar la solicitud a los
administradores dando clic en el botón “enviar”
 Descripción de la incidencia
 Enviar (botón)
Requerimiento: Visualizar ticket
Tipo:
ID derivado:
Descripción:
ID: RCCS07
Funcional
RCCTC02
En la interfaz principal del usuario estándar, seleccionando la
opción “mis tickets” en el menú lateral se visualizará una tabla con
todos los tickets registrados, mostrando su información y estatus
del mismo.
 Buscar (caja de texto)
 Anterior (botón)
 Siguiente (botón)
Figura 4. Formato: Registro de Requerimientos del Sistema. Fuente: Elaboración
propia.
Diagrama de Casos de Uso.
Representa la forma en como un Actor opera con el sistema en desarrollo, además
de la forma, tipo y orden en como los elementos interactúan. (Ver figura 5).
Figura 5. Diagrama de Casos de Uso modulo usuarios. Fuente: Elaboración propia.
Figura 6. Diagrama de Casos de Uso modulo usuarios. Fuente: Elaboración propia.
Figura 7. Diagrama de Casos de Uso modulo usuarios. Fuente: Elaboración propia.
Diagrama de navegación
El diagrama de navegación muestra al usuario en donde está posicionado dentro
del sistema y cuál es la pantalla predecesora o sucesora. En este caso se muestra
en diagrama de navegación de ambos módulos desarrollados.
Diagrama 2. Diagrama de navegación (Elaboración propia).
Diagrama 3. Diagrama de navegación (Elaboración propia).
Diagrama 3. Diagrama de navegación (Elaboración propia).
Diagrama Entidad – Relación.
Es una herramienta para el modelado de datos, que permite representar entidades
de una Base de Datos. (Ver figura 9).
Figura 9. Diagrama Entidad - Relación. Fuente: Elaboración propia.
Diccionario de Datos.
Es utilizado para describir cada uno de los atributos que contienen las tablas de la
Base de Datos. A continuación, se muestra el diccionario de datos de la tabla
utilizada para el Módulo de Constancias de Estudio.
Tabla: usuarios
Columna
Tipo
Descripción
id
int(255)
Identificador del usuario.
nombre
varchar(50)
Nombre del usuario.
apepat
varchar(50)
Apellido paterno del usuario.
apemat
varchar(50)
Apellido materno del usuario.
area_t
text
Área a la que pertenece el usuario.
correo
varchar(25)
Correo electrónico del usuario.
telefono
varchar(15)
Número telefónico del usuario.
usuario
varchar(50)
Cuenta del usuario.
password
varchar(16)
Password del usuario.
tipo
varchar(25)
Tipo de usuario.
Tabla 2. Tabla de datos usuarios. Fuente: Elaboración propia.
Tabla: tickets_excel
Columna
Tipo
Descripción
id
int(255)
Identificador del ticket.
C
varchar(5)
Empresa del ticket.
id_ticket
varchar(15)
ID para el registro del ticket
subject
text
Descripción del ticket.
type
varchar(25)
Tipo de ticket.
creation_time
varchar(20)
Fecha de creación del ticket.
clausure
varchar(20)
Fecha de término del ticket.
TIME
varchar(6)
Tiempo total de resolución del ticket.
quantify
int(2)
Número de usuarios del ticket.
usuario_que_atiende
varchar(40)
Usuario que atiende el ticket.
usuario
varchar(40)
Usuario que reporta del ticket.
solucion
text
Solución del ticket.
Tabla 3. Tabla de datos tickets_excel. Fuente: Elaboración propia.
Tabla: problematicas
Columna
Tipo
Descripción
id
int(255)
Identificador de la problemática.
id_usuario
int(255)
ID del usuario de la problemática.
codigo
varchar(30)
Código de la problemática.
area_t
varchar(20)
Área de la problemática.
fecha
varchar(20)
Fecha de la problemática.
hora
varchar(20)
Hora de la problemática.
estado
varchar(20)
Estado de la problemática.
problema
text
Problema de la problemática.
Tabla 4. Tabla de datos problematicas. Fuente: Elaboración propia.
Tabla: area_trabajo
Columna
Tipo
Descripción
id
int(255)
Identificador del área.
nombre
varchar(50)
Nombre del área.
Tabla 5. Tabla de datos áreas_trabajo. Fuente: Elaboración propia.
DISEÑO DEL PROTOTIPO.
Realizar el diseño del prototipo.
Es importante crear bocetos para tener una imagen visual de cómo serán las
interfaces, esto ayudará más adelante a desarrollar el proyecto lo más semejante
posible, mientras tanto se pueden realizar cambios de modo que se tenga una mejor
idea que los convierta en el prototipo del proyecto final.
Diseño de la Base de Datos.
Figura 10. Diseño de la Base de Datos. Fuente: Elaboración propia
Diseño de Interfaces
.
A continuación, se presentan algunas interfaces diseñadas:
Figura 11. Interfaz generar áreas. Fuente: Elaboración Propia.
Figura 12. Interfaz Editar area. Fuente: Elaboración Propia.
Figura 13. Interfaz registro áreas. Fuente: Elaboración Propia.
Figura 14. Interfaz editar áreas (usuario estándar). Fuente: Elaboración Propia.
Figura 15. Interfaz registrar tickets. Fuente: Elaboración Propia.
Figura 16. Interfaz visualizar tickets. Fuente: Elaboración Propia.
VERIFICACIÓN DEL PROTOTIPO.
Identificar cambios en el diseño del sistema.
Una vez realizado el diseño del sistema se procede a realizar una revisión general
junto con el cliente para obtener su aprobación. Los aspectos del sistema que
requieran de un cambio son plasmados en un formato donde se especifican las
interfaces y elementos a modificar.
Control de Cambios
Encargado del proyecto: Justo Hugo Alvarez Muciño
Módulo: Usuarios
No. Versión:
1
No.
Interfaz
1
Registro de usuarios
2
Editar usuarios.
Descripción
 Gestionar la validación de los
campos de texto.
 Corrección de la gramática.
 Anexar la tabla de los usuarios con
privilegios de administrador.
Figura 17. Formato: Control de cambios para la segunda versión del software.
3
Gestión de usuarios.
Fuente: Elaboración Propia.
REDISEÑO DEL PROTOTIPO.
Realizar los cambios identificados para satisfacer las necesidades del cliente.
Para cada uno de los cambios registrados en el formato “Control de Cambios” se
detalla de manera concreta dichas modificaciones en el siguiente formato.
Especificación de Cambios
Encargado del proyecto: Justo Hugo Alvarez Muciño
Módulo: Usuarios
No. Versión:
1
Interfaz:
Elemento
modificar
Registros de usuarios.
a Caja de texto de nombre, apellido paterno y materno, y numero
de contacto.
Descripción
Añadir reglas de validación para ingresar solo los caracteres
modificación
propios del elemento.
a realizar:
Interfaz:
Elemento
modificar
Editar usuarios
a
Etiquetas de cajas de texto
Descripción
modificación Escritura correcta de las etiquetas.
a realizar:
Interfaz:
Elemento
modificar
Gestión de usuarios.
a
Tabla de visualización de usuarios.
Descripción
Añadir una tabla extra donde e muestren los usuarios con
modificación
privilegios de administrador.
a realizar:
Figura 18. Formato: Especificación de Cambios. Fuente: Elaboración propia.
PRODUCTOS DEL PROYECTO
El diseño del software es un proceso que incluye la codificación de las interfaces
del sistema. Dichas interfaces requieren de la asignación de una medida específica,
así como diversos componentes. Se incluyen capturas de pantalla de la codificación
del diseño de las interfaces del sistema.
Áreas
Imagen 22. Interfaz de usuario gestión de áreas. Fuente elaboración propia.
Imagen 23. Interfaz de usuario editar áreas. Fuente elaboración propia.
Usuarios
Imagen 23. Registro de usuarios. Fuente elaboración propia.
Imagen 24. Interfaz editar usuarios estándar. Fuente elaboración propia.
Imagen 25. Interfaz editar usuarios desde administrador. Fuente elaboración propia.
Tickets
Imagen 26. Interfaz de usuario generar ticket. Fuente elaboración propia.
Visualizar tickets registrados
Imagen 27. Interfaz visualizar tickets registros. Fuente elaboración propia.
CONTRIBUCIONES REALIZADAS
Mantenimiento al CCTV de la empresa
En todo el tiempo del periodo de estancia se contribuyó en la instalación de cámaras
de videovigilancia, así como el mantenimiento de los DVRS y revisión constante de
que todas las cámaras conectadas dieran señal, además de la instalación de un
nuevo DVR para ampliar la vigilancia dentro de la empresa.
Imagen 28. Instalación de nuevo DVR. Fuente elaboración propia.
Imagen 29. CCTV de cosmetic-colors. Fuente elaboración propia.
Imagen 30. Peinado de cables del CCTV. Fuente elaboración propia.
Instalación de un nuevo checador
Imagen 31. Instalación de un checador. Fuente elaboración propia.
CONCLUSIONES
Una vez que se llevaron a cabo las diversas actividades estipuladas al comienzo de
la Estancia II se acordó que el objetivo fue cumplido satisfactoriamente ya que la
empresa quedo satisfecha puesto que el gerente de IT realizó comentarios
positivos, argumentando que gracias a la implantación de este software no solo
aumentaran los tiempos de respuesta y calidad del servicio de soporte técnico que
brinda el área de IT, sino que en general, aumentara la productividad de los usuarios
que cuentan con equipo de cómputo ya que sus incidencias se podrán resolver de
una mena más óptima y rápida, así como la entrega mensual será más optima.
Durante la realización de la Estancia II, en lo que corresponde a las actividades a
realizar para cumplir con el objetivo del proyecto, a pesar de que durante el tiempo
que se estuvo en la empresa no se contaba con un jefe directo que nos asesorara
completamente en cuestiones del área, que hubieran varios proyectos mismos del
área en puerta y la gran demanda de incidencias de soporte técnico que se tenía
día con día por parte de los empleados, se logró concluir de manera satisfactoria
puesto que el director del departamento previamente había presentado la propuesta
de la implementación de un software como este.
En la Estancia ll se dio la oportunidad de poner en práctica los conocimientos y
técnicas adquiridas durante el segundo ciclo de formación académica al igual de la
adquisición de nuevos conocimientos, habilidades y experiencias que nos serán
muy útiles en un futuro no muy lejano para poder incorporarnos al sector laboral sin
muchas complicaciones.
RECOMENDACIONES

Obtener más información acerca de estrategias y técnicas para
implementar en el proyecto en el que se trabaje.

Es muy importante, a la hora de realizar los checklist, agregar todos los
puntos necesarios para realizar una buena recopilación de datos.

Asesorarse directamente con la documentación oficial del software que
se maneja.

Utilizar todos los recursos disponibles que la empresa otorgué.

Realizar todos los cambios en tiempo y forma para dar buenos resultados.

Generar buena documentación para que personal posterior del área
pueda darle mantenimiento o configurarlo en su momento.
Referencias

Alcalde, E. (1994). Informática Básica. 2° Ed. Madrid: McGraw Hill.

Alvarez, M. A. (2001). Qué es PHP. Recuperado 3 febrero, 2020, de
https://desarrolloweb.com/articulos/392.php

Arturo, C. A. (2014). ¿Qué es Front-end y que es Back-End ? Recuperado 7
febrero, 2020, de http://www.falconmasters.com/web-design/que-es-frontend-y-que-es-back-end/

Bolaños, F. B. (2015). La ingeniería web. Recuperado 5 febrero, 2020, de
https://laingenieriaweb.wordpress.com/la-ingenieria-web/

Chen, C. C. (2019). Significado de Sistema de información. Recuperado 10
febrero, 2020, de https://www.significados.com/sistema-de-informacion/

Cidecame. (2019). 2.3.2 Diagrama de casos de uso. Recuperado 9 febrero,
2020,
de
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro10/232_diagrama_
de_casos_de_uso.html

Cosmetic colors, (2019).

Cruz, A. C. (2019). protocolo http. Recuperado 10 febrero, 2020, de
http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/http.html

Delgado, P. D. (2016). HTTPS. Recuperado 10 febrero, 2020, de
https://introbay.com/es/blog/2016/07/05/https-que-es-y-para-que-sirve

EcuRed. (2018). Metodologias de desarrollo de Software - EcuRed.
Recuperado
8
febrero,
2020,
de
https://www.ecured.cu/Metodologias_de_desarrollo_de_Software

Endalia, V. E. (2019). información sobre cookies. Recuperado 8 febrero,
2020,
de
https://www.endalia.com/acerca-de-endalia/informacion-sobre-
cookies/

Fred, N. F. (2014). ¿Qué es un lenguaje de programación? Recuperado 10
febrero, 2020, de https://velneo.es/que-es-un-lenguaje-de-programacion/

Graus, E. G. (2018). ¿Qué es internet? Recuperado 4 febrero, 2020, de
https://www.todamateria.com/que-es-internet/

Guevara, A. G. (2016). Frontend y Backend. Recuperado 10 febrero, 2020,
de https://devcode.la/blog/frontend-y-backend/

Gustavo, B. G. (2019). ¿Qué es MySQL? Explicación detallada para
principiantes.
Recuperado
7
febrero,
2020,
de
https://www.hostinger.mx/tutoriales/que-es-mysql/

Kendall, K. & Kendall, J. (2011). Análisis y Diseño de Sistemas. México:
Pretince Hall.

López, C. L. (2012). SISTEMAS DE INFORMACION. Recuperado 9 febrero,
2020,
de
https://christianlopezd.wordpress.com/2012/09/27/sistemas-de-
informacion/

Lucidchart. (2018). Qué es un diagrama de flujo. Recuperado 9 febrero, 2020,
de https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo

Mateo, A. M. (2018). ¿Qué es una aplicación web? Recuperado 8 febrero,
2020, de https://www.neosoft.es/blog/que-es-una-aplicacion-web/

Medina, E. M. (2019). Sistema de Información: Concepto, Tipos, Elementos
y Ejemplos. Recuperado 9 febrero, 2020, de https://concepto.de/sistema-deinformacion/

Mendes, E. & Mosley, N. (2011). Web engineering. Berlín: Springer.

Méndez, L. M. (2019). Qué es un servidor DNS y cómo solucionar problemas
habituales.
Recuperado
10
febrero,
2020,
de
https://www.webempresa.com/blog/servidor-dns-como-solucionarproblemas-habituales.html

Millán, M. (2012). Fundamentos de Bases de Datos. Cali: Universidad del
Valle. Programa Editorial.

Muradas, Y. M. (2019). Conoce las 3 metodologías ágiles más usadas.
Recuperado 8 febrero, 2020, de https://openwebinars.net/blog/conoce-las-3metodologias-agiles-mas-usadas/

Peralta, F. (2008). Diseño y Desarrollo Web. Barcelona: OUC.

Plasencia, C. P. (2016). ¿Qué es y por qué aprender SQL? Recuperado 8
febrero, 2020, de https://devcode.la/blog/que-es-sql/

Pressman, R. (2010). Ingeniería de Software, un enfoque práctico. 5ª ed.
Madrid, España. McGraw Hill.

Rouse, M. R. (2019). ¿Qué es Base de datos? - Definición en WhatIs.com.
Recuperado
10
de
febrero,
2020,
de
https://searchdatacenter.techtarget.com/es/definicion/Base-de-datos

Rouse, M. R. (2019). ¿Qué es Base de datos? - Definición en WhatIs.com.
Recuperado
10
febrero,
2020,
de
https://searchdatacenter.techtarget.com/es/definicion/Base-de-datos

Rubio, M. R. (2017). ¿Qué es el diseño responsivo? Te contaremos por qué
lo
necesitas.
Recuperado
8
febrero,
2020,
de
https://rockcontent.com/es/blog/diseno-responsivo/

Sánchez, L. (2007). Informática II [recurso electrónico]. México: Pearson
Educación.

Senn, J. (1990). Análisis y Diseño de Sistemas de Información. 2° Ed.
España: McGraw Hill.

Sistemasumma.
Recuperado
(2017). Sistemas y Teoria
10
General de
febrero,
Sistemas.
2020,
de
https://sistemasumma.com/2011/11/03/sistemas-y-teoria-general-desistemas/

StudentPlace. (2018). Metodología de Desarrollo de Software. Recuperado
8
febrero,
2020,
de
https://studentplace98.blogspot.com/2018/09/metodologia-de-desarrollo-desoftware.html
Descargar