Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El cliente
El cliente web es un programa con el que interacciona el usuario para solicitar a un
servidor web el envío de los recursos que desea obtener mediante HTTP2.
La parte cliente de las aplicaciones web suele estar formada por el código HTML
que forma la página web más algo de código ejecutable realizado en lenguaje de
script del navegador (JavaScript o VBScript) o mediante pequeños programas
(applets) realizados en Java. También se suelen emplear plug-ins3 que permiten
visualizar otros tendidos como las tecnologías anteriores y plantean problemas de
incompatibilidad entre distintas plataformas. Por tanto, la misión del cliente web es
interpretar las páginas HTML y los diferentes recursos que contienen (imágenes,
sonidos, etc.).
El servidor
El servidor web es un programa que está esperando permanentemente las
solicitudes de conexión mediante el protocolo HTTP por parte de los clientes web.
La parte servidor de las aplicaciones web está formada por:
Páginas estáticas (documentos HTML) que siempre muestran el mismo
contenido.
Recursos adicionales (multimedia, documentos adicionales, etc.) que se
pueden emplear dentro de las páginas o estar disponibles para ser
descargados y ejecutados (visualizados) en el cliente.
Programas o scripts que son ejecutados por el servidor web cuando el
navegador del cliente solicita algunas páginas. La salida de este script
suele ser una página HTML estándar que se envía al navegador del cliente.
Tradicionalmente este programa o script que es ejecutado por el servidor
web se basa en la tecnología CGI. En algunos casos pueden acceder a
bases de datos.
Figura # 4: Tecnologías empleadas en el cliente y en el servidor web.
Tiempo de Cada sprint tiene un Cada sprint tiene Los tiempos de duración
desarrollo tiempo de duración un tiempo de son de meses.
de 2 a 3 semanas. duración es de 3
a 4 semanas.
Roles Líder ágil o coach ProductOwner. Pueden llevarse a cabo por
Cliente ScrumMaster. varias personas.
Programador Equipo de Una persona puede adquirir
(desarrollador) desarrollo. múltiples roles.
Tester Un rol no es una posición.
Pruebas Las pruebas se lo Las pruebas se lo El sistema se lleva
unitarias realiza frecuente realizan después a los entornos de
continuas mente. de terminar un preproducción donde se
sprint la decisión somete a pruebas
la toma el equipo. de validación
. y aceptación y finalmente
se despliega en los sistemas
de producción.
Corrección de Se corrigen todos Se corrigen todos Esta fase no existe por que
errores los errores antes de los errores antes al momento de programar
añadir una nueva de añadir una se encargan de que el
funcionalidad. nueva sistema no presente errores.
funcionalidad.
Simplicidad Es la mejor manera Más enfocados Utilización de varias
de que todo
en la herramientas para su mejor
funcione bien "lo
simple siempre es funcionalidad y desarrollo antes de iniciar
lo mejor".
no así en la con la etapa de
simplicidad. implementación.
Conclusión
Se optó por la metodología ágil xp por la adaptabilidad del proyecto y por contempla
pruebas continuas del sistema, los periodos cortos de sus iteraciones tienden a durar de 2
a 3 semanas como mínimo, permite realizar retrospectiva de la anterior iteración
corrección de fallas antes de pasar a la siguiente etapa de desarrollo.
http://ecaths1.s3.amazonaws.com/cups/673151444.TodoAgil.Pdf
XP es una metodología ágil centrada en potenciar las relaciones interpersonales como
clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo,
preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de
trabajo. XP se basa en realimentación continua entre el cliente y el equipo de desarrollo,
comunicación fluida entre todos los participantes, simplicidad en las soluciones
implementadas y coraje para enfrentar los cambios. XP se define como especialmente
adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un
alto riesgo técnico.
2.2.3 Roles XP
Programador. El programador escribe las pruebas unitarias y produce el código del sistema.
Cliente. Escribe las historias de usuario y las pruebas funcionales para validar su
implementación. Además, asigna la prioridad a las historias de usuario y decide cuáles se
implementan en cada iteración centrándose en aportar mayor valor al negocio.
Encargado de pruebas (Tester). Ayuda al cliente a escribir las pruebas funcionales. Ejecuta
las pruebas regularmente, difunde los resultados en el equipo y es responsable de las
herramientas de soporte para pruebas.
Encargado de seguimiento (Tracker). Proporciona realimentación al equipo.
Verifica el grado de acierto entre las estimaciones realizadas y el tiempo real
dedicado, para mejorar futuras estimaciones. Realiza el seguimiento del progreso
de cada iteración.
Entrenador (Coach). Es responsable del proceso global. Debe proveer guías al
equipo de forma que se apliquen las prácticas XP y se siga el proceso
correctamente.
Consultor. Es un miembro externo del equipo con un conocimiento específico en
algún tema necesario para el proyecto, en el que puedan surgir problemas.
Gestor (Big boss). Es el vínculo entre clientes y programadores, ayuda a que el
equipo trabaje efectivamente creando las condiciones adecuadas. Su labor
esencial es de coordinación.
2.2.4 Proceso XP
El ciclo de desarrollo consiste (a grandes rasgos) en los siguientes pasos:
3. El cliente selecciona qué construir, de acuerdo con sus prioridades y las restricciones de tiempo.
5. Vuelve al paso 1.
En todas las iteraciones de este ciclo tanto el cliente como el programador aprenden. No se debe
presionar al programador a realizar más trabajo que el estimado, ya que se perderá calidad en el software
o no se cumplirán los plazos. De la misma forma el cliente tiene la obligación de manejar el ámbito de
entrega del producto, para asegurarse que el sistema tenga el mayor valor de negocio posible con cada
iteración.
2.2.5 Prácticas XP
Motor de Blade, Motor de Solo utiliza html. Las vistas son a Twig es el sistema
plantillas. menudo modelo para la
plantillas
archivos HTML creación de plantillas
con código PHP para PHP
incrustado que
realizan tareas
relacionadas
únicamente a la
presentación de
datos
modelos Soporte Motor Vista Utiliza una Separa la lógica de
Controlador: Separació arquitectura negocio, la lógica de
para MVC
n de la lógica y MVC servidor y la
arquitectura de la web. presentación de la
aplicación web
¿Por qué?
Hay muchos lenguajes de programación que se puede usar, pero PHP sigue siendo la
opción superior cuando se trata de scripts del lado del servidor. Se decide usar laravel por
que la comunidad de desarrolladores es muy activa, existe mayor documentación a la
hora de realizar una tarea.
2.3.1 Laravel
Laravel tiene una sintaxis bonita, semántica y creativa, que le permite destacar entre la
gran cantidad de frameworks disponibles para el lenguaje. Hace que PHP sea un placer,
sin sacrificar potencia y eficiencia. Es sencillo de entender, permite mucho la modularidad
de código lo cual es bueno en la reutilización de código.
Está diseñado para desarrollar bajo el patrón MVC (modelo - vista - controlador),
centrándose en la correcta separación y modularización del código. Lo que facilita
el trabajo en equipo, así como la claridad, el mantenimiento y la reutilización del
código.
Integra un sistema ORM de mapeado de datos relacional llamado Eloquent
aunque también permite la construcción de consultas directas a base de datos
mediante su Query Builder.
Permite la gestión de bases de datos y la manipulación de tablas desde código,
manteniendo un control de versiones de las mismas mediante su sistema de
Migraciones.
Utiliza un sistema de plantillas para las vistas llamado Blade, el cual hace uso de
la cache para darle mayor velocidad. Blade facilita la creación de vistas mediante
el uso de layouts, herencia y secciones.
Facilita la extensión de funcionalidad mediante paquetes o librerías externas. De
esta forma es muy sencillo añadir paquetes que nos faciliten el desarrollo de una
aplicación y nos ahorren mucho tiempo de programación.
Incorpora un intérprete de línea de comandos llamado Artisan que nos ayudará
con un montón de tareas rutinarias como la creación de distintos componentes de
código, trabajo con la base de datos y migraciones, gestión de rutas, cachés,
colas, tareas programadas, etc.
¿Por qué?
https://www.oracle.com/technetwork/database/mysql/index.html
2.4.1 MySQL
MySQL es la base de datos de código abierto más popular del mundo, que permite la
entrega rentable de aplicaciones de bases de datos integradas y confiables, de alto
rendimiento y escalables basadas en la Web. Es una base de datos integrada, segura
para transacciones, compatible con ACID con capacidad total de confirmación,
retrotracción, recuperación de fallas y bloqueo a nivel de fila. MySQL ofrece la facilidad de
uso, la escalabilidad y el alto rendimiento, así como un juego completo de controladores
de base de datos y herramientas visuales para ayudar a los desarrolladores y
administradores de bases de datos a construir y administrar sus aplicaciones MySQL
críticas para el negocio. La base de datos MySQL proporciona las siguientes
características:
Conclusión
¿Por qué?
https://www.ecured.cu/XAMPP
2.5.1.1 XAMPP
XAMPP solamente requiere descargar y ejecutar un archivo .zip, .tar, o .exe, con unas
pequeñas configuraciones en alguno de sus componentes que el servidor Web
necesitará. XAMPP se actualiza regularmente para incorporar las últimas versiones de
Apache/MySQL/PHP y Perl. También incluye otros módulos como OpenSSL y
phpMyAdmin. Para instalar XAMPP se requiere solamente una pequeña fracción del
tiempo necesario para descargar y configurar los programas por separado.
2.6 BIBLIOGRAFIA