Acreditación Institucionald eA lta Calidad
DESARROLLO
WEB FULLSTACK
-BÁSICO
Autor de contenido
Andrés Fernando Pineda Guerra
Autor de contenido
EMPEZAR
Tabla de
Contenido
Presentación
Objetivos del curso (competencias)
Objetivo general
Objetivo específico
Mapa de contenido de la unidad
Unidad 15: Metodologías para el desarrollo de software.
15.1. Metodologías ágiles de desarrollo de software.
15.2. Metodologías tradicionales para el desarrollo del software.
Otros materiales para profundizar
Recursos de video
Referencias bibliográficas de la unidad
2
Presentación
En la actualidad, con el evidente auge de las tecnologías y el avance
tan significativo de las mismas, las empresas, universidades y com-
pañías a nivel mundial se obligan a involucrar dentro de su core, la
adquisición de soluciones tecnológicas, dichas soluciones son creadas
por grupos capacitados de personas los cuales involucran e integran
diversas herramientas las cuales permiten el éxito de los proyectos.
Con el “CURSO BÁSICO EN DESARROLLO FULL STACK”, aprenderás los
fundamentos, estructuras y principales bases para el éxito en el desa-
rrollo de soluciones tecnológicas, partiendo desde el diseño, hasta la
ejecución, pasando por procesos de lógica matemática, maquetación
de aplicaciones (web y móviles), aplicación de principios del diseño,
lenguajes de modelado y maquetado web, introducción a las redes,
bases de datos, gestión de contenidos y diversos temarios, los cuales
permitirán ser más competitivo en el ámbito profesional y laboral.
Objetivos del curso (competencias)
Objetivo general
Formar a los participantes en el desarrollo web en todo el ciclo de vida del
software, en donde adquieran los conocimientos básicos para implementar
soluciones web.
Objetivo específico
- Conocer los conceptos y teoría básica del desarrollo web.
- Identificar y conocer los diferentes lenguajes de programación y herra-
mientas para el desarrollo web.
- Aplicar las diferentes tecnologías web, tendencias y herramientas en el
desarrollo de soluciones web.
- Diseñar, desarrollar e implementar soluciones web básicas en donde
se integren los componentes de Front End, Back End, seguridad, redes y
buenas prácticas utilizando metodologías ágiles.
3
Mapa de contenido de la unidad
IMAGEN
Ideas clave
Conocimiento de las principales metodologías de desarrollo web, en donde se tratan
las metodologías ágiles como tradicionales y, así mismo, se explica el manifiesto ágil y
funcionamiento de cada una de esas metodologías.
4
15.1. Metodologías ágiles de desarrollo de software.
¿Qué es una metodología ágil?
Es el conjunto de técnicas y prácticas que permiten que la realización y finalización de
proyectos se ejecute de manera dinámica y efectiva.
Principios del manifiesto ágil
5
Ventajas y desventajas de metodologías ágiles.
Ventajas
• Mejora de la calidad del producto.
• Mayor satisfacción del cliente:
• Mayor motivación de los trabajadores.
• Trabajo colaborativo.
• Uso de métricas más relevantes.
• Mayor control y capacidad de predicción.
• Reducción de costes.
• Entrega de productos y servicios en intervalos con rápida respuesta a los cambios.
Desventajas
• Funciona más que nada con equipos reducidos.
• Requiere una exhaustiva definición de las tareas y sus plazos.
• Exige que quienes la utilicen cuenten con una alta cualificación o formación.
6
La consultora The Standish Group, periódicamente pública el “CHAOS Report”, donde
ilustran con datos el éxito o fracaso de los proyectos según la metodología utilizada, si
comparamos ambas metodologías en un proyecto grande, vemos como según la me-
todología elegida tendremos mayor o menor probabilidad de éxito.
7
kanban
Actualmente, el término Kanban ha pasado a formar parte de las llamadas metodolo-
gías ágiles, cuyo objetivo es gestionar de manera general cómo se van completando
las tareas. Kanban es una palabra japonesa que significa “tarjetas visuales”, donde Kan
es “visual”, y Ban corresponde a “tarjeta”.
8
Scrum
Con este marco de trabajo, además de cumplir con todas las fases del proyecto, se
logra mantener informado y comunicado a todos los stakeholders, esto para poder
aclarar situaciones, generar mayor sentido de pertenencia con el proyecto y posible
corrección de errores y mejoras al software. Esta metodología cuenta con las siguientes
etapas:
• Planificación del sprint: Es desarrollado mensualmente por el Director del proyec-
to.
• Etapa de desarrollo: Se establece un canal de comunicación tal que cada inte-
grante del equipo reporta su avance del día anterior y lo que hará el día actual.
• Revisión del sprint: Mensualmente el Director de proyecto evalúa el avance de lo
planteado en la planificación.
• Retroalimentación: El Director de proyecto será el encargado de comunicar y ges-
tionar posibles lecciones aprendidas.
El ciclo de vida del software se va a mantener en cada una de las fases del proceso,
estas son indispensables para poder llevar a cabo el proyecto. Si bien se implementa la
metodología de desarrollo Scrum, está se basa en este principio, el cual cuenta con las
siguiente etapas:
a. Planificación: En esta fase se planifica todo el proyecto en donde se sustenta objeti-
vos, alcance, justificación, metodología de desarrollo y demás parámetros que conver-
gen a la realización del proyecto.
9
b. Análisis: En esta fase se evalúan todos los requerimientos funcionales y no funcio-
nales del sitio web, en donde se hace un levantamiento de información por medio de
reuniones y posibles formularios.
c. Diseño: En esta fase se plasman esos requerimientos obtenidos de la fase anterior,
en donde se documentan mediante diagramas de flujo, casos de uso, secuencias y
MER, en en los cuales se evalúan prioridades, se justifican y se asigna un grupo de
responsables a cumplir el requerimiento. También se diseñan propuestas de diseño y
si se requiere el diseño completo de un prototipo funcional del sitio web. Por último se
evalúan las herramientas a utilizar para el desarrollo del sitio web, teniendo en cuenta
todas las funcionalidades que se asignaron y requirieron.
d. Desarrollo: En esta fase se tangibiliza todo lo planteado en las fases previas, en don-
de se da uso a lenguajes de programación, entornos de desarrollo, CMS, entre otros. La
finalidad de este paso es codificar todo el sitio web y subirlo a un ambiente web local o
de prueba.
e. Pruebas: En esta fase se evalúan todos aquellos requerimientos mediante testing,
en
donde se evalúa la usabilidad, visualización desde diversos dispositivos ,la operatividad
del sistema (que los tiempos de carga sean óptimos), diseño y funcionalidad del sitio
web en su totalidad.
f. Implementación: Ya aprobado y probado el software se lleva a producción, al cual se
le asigna un dominio un hosting y se hace la publicación del sitio web.
g. Mantenimiento: Es una fase que pretende actualizar módulos, noticias, datos, en-
tre otros, en los cuales se evalúa la usabilidad operativa del sitio web para proponer y/o
realizar
mejoras.
10
Casos de éxito
15.2. Metodologías tradicionales para el desarrollo del
software.
Metodología Cascada
Es una de las metodologías más populares de modelo secuencial para la gestión de
proyectos se divide en fases, y cada fase comienza solo cuando la fase anterior termina.
Es una metodología en la que las etapas se organizan de arriba a abajo, de ahí el nom-
bre. Se desarrollan las diferentes funciones en etapas diferenciadas y obedeciendo un
riguroso orden. Antes de cada etapa se debe revisar el producto para ver si está listo
para pasar a la siguiente fase. Los requisitos y especificaciones iniciales no están pre-
dispuestos para cambiarse, por lo que no se pueden ver los resultados hasta que el
proyecto ya esté bastante avanzado (Maida & Pacienzia, 2015).
11
Metodología incremental
Esta metodología de desarrollo de software se va construyendo el producto final de
manera progresiva. En cada etapa incremental se agrega una nueva funcionalidad, lo
que permite ver resultados de una forma más rápida en comparación con el modelo
en cascada. El software se puede empezar a utilizar incluso antes de que se complete
totalmente y, en general, es mucho más flexible que las demás metodologías.
12
Metodología en espiral
Es uno de lo modelo de ciclo de vida de software más utilizados y su principal caracte-
rística es su forma de espiral, ya que consiste en muchos bucles, tal como se muestra
en la siguiente figura:
El modelo de desarrollo en espiral se caracteriza por los siguientes ciclos:
Determinar objetivos: Los objetivos se determinan conjuntamente con el cliente. Al
mismo tiempo, se discuten posibles alternativas y se especifican las condiciones marco
(por ejemplo, sistemas operativos, entornos y lenguajes de programación).
Análisis y evaluación de riesgos: Se identifican y evalúan los riesgos potenciales. Tam-
bién se evalúan las alternativas existentes. Los riesgos son registrados, evaluados y lue-
go reducidos utilizando prototipos, simulaciones y softwares de análisis. En este ciclo,
existen varios prototipos como plantillas de diseño o componentes funcionales.
Desarrollo y prueba: Los prototipos se amplían y se añaden funcionalidades. El código
real es escrito, probado y migrado a un entorno de prueba varias veces hasta que el
software pueda ser implementado en un entorno productivo.
Planificación del siguiente ciclo: El siguiente ciclo se planifica al final de cada etapa. Si
se producen errores, se buscan soluciones, y si una alternativa es una mejor solución,
se prefiere en el siguiente ciclo (Maida & Pacienzia, 2015).
13
Otros materiales para profundizar
Referencias bibliográficas de la unidad
Maida, E. G., & Pacienzia, J. (2015). Metodologías de desarrollo de software.
https://repositorio.uca.edu.ar/handle/123456789/522
14
15