Está en la página 1de 15

Universidad Tecnológica de Campeche

INGENIERÍA EN DESARROLLO Y GESTIÓN DE SOFTWARE

GESTIÓN DEL PROCESO PARA EL DESARROLLO DE


SOFTWARE

I UNIDAD. PLANEACIÓN DEL PROCESO DE DESARROLLO DE


SOFTWARE

ACTIVIDAD:

INVESTIGACIÓN 1

NOMBRE DEL ALUMNO:

VILLALOBOS BARRERA WILLIAMS ALEXANDER

DOCENTE:

MARÍA DE LOURDES CÁRDENAS MALDONADO

GRADO Y GRUPO:
10 “B”

PERIODO:
SEPTIEMBRE-DICIEMBRE 2022
TEMA 1. INTRODUCCIÓN A DEVOPS.
DevOps se le conoce como un marco de trabajo y una filosofía en constante
evolución con el fin de promover un mejor desarrollo de las aplicaciones en menos
y con una rápida publicación de estas, también poder revisar las funciones de
software o los productos para los clientes.

El objetivo de DevOps es promover una comunicación continua mas fluida por


medio la de la colaboración, la integración, la visibilidad y la trasparencia entre
equipos de desarrollo de aplicaciones (Dev) y los homólogos en operaciones
tecnológicas (Ops).

La relación estrecha que se mantienen entre estas dos se extiende a cada una de
las fases del ciclo de vida de DevOps.

1.1 IDENTIFICAR LAS CARACTERÍSTICAS Y LAS FASES DE CICLO DE VIDA


DE DEVOPS.
1.1.1 CARACTERÍSTICAS
Las características con la que cuenta DevOps las describe como ventajas técnicas
y empresariales con las que, en una ultima instancia , se puede llegar a conseguir
clientes que estén satisfechos . Entre algunas de estas ventajas de DevOps se
incluyen las siguientes:

• Una mejor y más rápida entrega de productos


• Resolución de problemas en menos tiempo y con menor complejidad
• Mejor escalabilidad y disponibilidad
• Entornos e funcionamiento más estables
• Mejor utilización de los recursos
• Mayor automatización
• Mayor visibilidad de resultados del sistema
• Mayor innovación
1.1.2 FASES DEL CICLO DE VIDA DE LAS APLICACIONES
Las fases del ciclo de vida de DevOps se dividen en: desde la calificación inicial del
software a las fases de codificación, compilación, pruebas y publicación, y en la
puesta en marcha , las operaciones y la supervisión continua. Esta relación llega a
impulsar un bucle de retroalimentación continua con los que puede ser los clientes
sobre las mejoras, el desarrollo, las pruebas y la puesta en marcha.

Uno de los resultados que puede llegarse a lograr por medio de todos estos
esfuerzos puede ser la publicación continua y la más rápida de las adiciones y los
cambios que se necesitan en las funciones.

PLAN
En la fase de planeamiento, los equipos de DevOps conciben, definen y describen
las características y la funcionalidad de las aplicaciones y los sistemas que se tiene
planeado crear. Llegando a realizar un seguimiento del proceso tanto de forma
general como de forma pormenorizadas.

DESARROLLAR
En la fase de desarrollo se pueden incluir todos los aspectos de la programación y
la compilación de los códigos de artefactos de compilación que puede ser aplicados
en distintos entornos. Todo esto tiene como fin que los equipos de DevOps puedan
innovar con una gran rapidez sin sacrificar la calidad, la estabilidad ni tampoco la
productividad.

FUNCIONAMIENTO
En esta fase se debe implicar mantener y supervisar las aplicaciones, así también
como solucionar los posibles problemas que se pueden llegar a presentar, en los
entornos de producción. Al adoptar las prácticas de DevOps, los equipos pueden
llegar a trabajar para asegurar la confiabilidad, la alta disponibilidad y el objetivo de
no tener ningún tiempo de inactividad del sistema, tiempo que podría ser útil en
reforzar la seguridad y la gobernanza.
1.2 IDENTIFICAR NORMAS Y ESTÁNDARES APLICABLES A DEVOPS.
Los estándares de calidad de software son de gran importancia en la ingeniería de
software, utilizando los estándares y metodologías para el diseño, programación,
prueba y el análisis del software desarrollado, con el objetivo de ofrecer una mayor
confiabilidad y mantenibilidad en la concordancia de los requisitos exigidos.

1.2.1 NORMAS ISO/IEC


ISO 12207-Modelos de Ciclos de Vida del Software.

Son estándares para el proceso de ciclo de vida de software de la organización,


Este estándar se creo con el fin de ser utilizado para aquellos interesados en la
adquisición de un software. Así como para los desarrolladores y proveedores.

El estándar se comprende por 17 procesos de los cuales son agrupados en tres


categorías:

• Principales
• De apoyo
• De organización

Puede agrupar las actividades que se pueden llevar a cabo durante el ciclo de vida
del software en cinco procesos principales, de los cuales ocho son procesos de
apoyo y cuatro son procesos organizativos:

Procesos Principales:

• Adquisiciones
• Suministros
• Desarrollo
• Operación
• Mantenimiento

Procesos de Apoyo:

• Documentación
• Gestión de la configuración
• Aseguramiento de la calidad
• Verificación
• Validación
• Revisión conjunta
• Auditoria
• Solución de problemas

Procesos Organizativos

• Gestión
• Mejora
• Infraestructura
• Recursos humanos

NORMA ISO/IEC 9126


La norma ISO/LCE 9126 de 1991, es una norma para evaluar los productos del
software, esta norma nos indica las características de la calidad y los lineamientos
para su uso, como las características de calidad y las métricas asociadas llegando
a ser útiles para evaluar un producto definiendo los requerimientos de calidad y otros
usos.

ESTÁNDAR ISO/ICE 14598


Actualmente es utilizado como base metodológico para la evaluación del producto
software. En sus diferentes etapas, establece un marco de trabajo para evaluar la
calidad de los productos de software proporcionados e incluso métricas y requisitos
para los procesos de la evaluación de ellos.

Esta norma define las principales características del proceso de evaluación:

• Repetitividad
• Reproducibilidad
• Imparcialidad
• Objetividad
Para estas características se pueden describir las medidas concretas que
participan:

• Análisis de los requisitos de evaluación


• Evaluación de las especificaciones
• Evaluación del diseño y definición del plan de evaluación
• Ejecución del plan de evaluación
• Evaluación de la conclusión

1.3 DESCRIBIR LOS ELEMENTOS DE DEVOPS:

INFRASTRUCTURE AS CODE (LAC).


Se le considera la gestión y el aprovisionamiento de la infraestructura a través de
código en lugar de procesos manuales.

Con LAC, se pueden crear archivos de configuración que pueden tener las
especificaciones de la infraestructura, lo que puede facilitarnos la edición y
distribución de configuraciones. Se puede garantizar que se aprovisione el mismo
entorno cada vez. Se puede codificar y documentar las especificaciones de
configuración.

CONTENEDORES Y VIRTUALIZACIÓN.
Contenedores

Los contenedores tienen como objetivo aislar esencialmente una aplicación de un


host a través de varias técnicas, pero pueden llegar a utilizar el mismo núcleo del
sistema de host, procesos que funcionan para ejecutar la aplicación o VNFs.

Virtualización

Se basa en un hipervisor como KVM, XEN, que pueden emular una maquina física
completa, asignando una cantidad deseada de memoria del sistema, núcleos del
procesador y otros recurso como el almacenamiento en disco, redes, complementos
PCI, etc.
SERVICIOS EN LA NUBE Y SU APROVISIONAMIENTO.
En aprovisionamiento en la nube se le puede referir como los procesos para la
implementación e integración de los servicios de computación en la nube dentro de
la infraestructura de TI empresarial. El termino que puede llegar a tener es muy
amplio, por lo cual incorpora políticas, procedimientos y el objetivo de una empresa
en el suministro de servicios y las soluciones en la nube de un proveedor de los
servicios de la nube.

ADMINISTRACIÓN DE LA CONFIGURACIÓN.
Es la configuración que le podemos hacer a las maquinas, el como hacer funcionar
ciertos software en algunas computadoras, o modificar ciertos parámetros de los
sistemas operativos. Puede llegar a ser correcto, siempre y cuando no estemos
hablando de los conceptos dentro de la cultura de procesos.

INTEGRACIÓN Y ENTREGAS CONTINUAS (CI/CD).


La administración de configuración hace referencia a la administración del estado
de los recursos de un sistema incluyendo los servidores, las maquinas virtuales y
las bases de datos.

El uso de estas herramientas de la configuración puede llegar a permitir a los


equipos distribuir cambios de un modo controlado y sistemático, lo que reduce los
riesgos de modificar la configuración del sistema.

MONITOREO: REGISTROS, MÉTRICAS Y TRAZAS.


Registros

Se le considera los eventos generados por el sistema que ocurren dentro de una
aplicación. Los sistemas de TI actuales pueden llegar a generar muchos archivos
de registro que rastrean todo lo que pasa. Para que se puedan monitorear esos
sistemas existen soluciones como Splunk, que se articulan con la capacidad de
analizar los datos de los registros y usarlos para identificar y utilizarlo para
solucionar los problemas del sistema previniendo que se repitan.
Métricas

Son los datos numéricos capturados con el paso del tiempo que se pueden
comprimir, almacenar, procesar y recuperar de manera más eficientemente que los
eventos. Se puede fácilmente correlacionar los datos de las métricas con otros datos
de los eventos para recibir las alertas sobre lo que acaba se suceder (métricas) y
por qué (registros).

Trazas

Rastrean la ruta de un evento a través de la red. Tienen un seguimiento con el que


ayudan a identificar donde ocurre un evento regularmente o se esta produciendo un
cuello de botella.

Las trazas pueden ayudar a recopilar los datos proporcionados por las métricas y
los registros para tener una imagen completa del rendimiento de un sistema a lo
largo del tiempo.

TEMA 2. PLANEACIÓN DEL PROCESO DE DESARROLLO DE


SOFTWARE.
El objetivo de la planificación del desarrollo de software es proporcionar un marco
de trabajo que nos permita gestionar y hacer las estimaciones razonable de los
recursos y la planificación temporal. Llegando a ver estas estimaciones que se
realizan dentro de un tiempo limitado al comienzo de un proyecto de software, y
deberán actualizarse regularmente a medida que avance el proyecto.

2.1 RECONOCER EL PROCESO DE PLANEACIÓN DE LAS METOLOGÍAS


ÁGILES.
Para el proceso de la planificación ágil se debe llegar a cubrir por toda la empresa
por medio de la planificación de cebolla.
Se puede notar que en la cebolla se tienen seis capas. Estas llegan a corresponder
a la estructura jerárquica típica de la mayoría de las empresas.

1. El primer nivel que es el estratégico, examina lacia donde quiere dirigirse la


empresa en el futuro, sus metas y objetivos a largo plazo.
2. El nivel de cartera es importante porque en las empresas que ofrecen los
productos, proporcionan a los clientes la solución integral para ayudar a la
empresa en alcanzar las metas y objetivos.
3. El nivel de producto tiene que desarrollar una hoja de la ruta para en producto
en cuestión (suite), llegando a detalla hacia donde tiene que ir para cumplir
con la parte de la cartera.
4. En el nivel de lanzamiento se detalla el trabajo que se debe de hacer sobre
el producto y en que orden, y establecer las fechas de entrega basadas en
rendimiento que se tiene.
5. En el quinto nivel de la iteración se centra en el trabajo a realizar sobre la
iteración. En este dominio de los equipos se deben ejecutar al desarrollo del
producto.
6. El sexto nivel diario es donde los equipos se deben de reunir para discutir la
planificación diaria de los trabajos y ver el proceso hacia la consecución de
lo que lo planearon en el nivel de iteración.
2.2 RECONOCER LAS CARACTERÍSTICAS, EL FUNCIONAMIENTO, LAS
VENTAJAS Y DESVENTAJAS DE LAS HERRAMIENTAS DE COMUNICACIÓN
PARA PROYECTOS DE TI.
CORREO ELECTRÓNICO

Se le considera un servicio de red que permite enviar y recibir mensajes entre


distintos usuarios. Además de los mensajes, también permite el envió y la recepción
a través del internet.

Características y funcionamiento

El hecho de que los mensajes sean tratados informáticamente permite una gran
facilidad de gestión de los mismos: permite guardarlos por temas, por fechas...,
eliminarlos, copiarlos, reenviarlos, etc. Por lo tanto, el correo electrónico posee una
serie de ventajas frente al correo tradicional y son la rapidez, la comodidad, el bajo
coste, la fiabilidad y su fácil organización.

Ventajas y Desventajas del correo electrónico

Ventajas:

• Bajo costo
• Velocidad
• Comodidad
• Ayuda al medio ambiente con el ahorro de papel
• Se evita la manipulación física del contenido del mensaje
• Permite enviar todo tipo de archivos
• Se pueden revisar desde cualquier lugar del mundo
• Facilita la comunicación entre las personas y empresas
• Se puede enviar a varias personas a la vez

Desventajas:

• Se debe tener acceso a internet


• Tener conocimiento en el manejo de las herramientas informáticas
• No se pueden enviar objetos físicos
• Permite el ingreso de correos no deseados (Spam)
• Es muy fácil recibir virus
• Facilita el robo de información

2.3 DESCRIBIR LA ADAPTACIÓN DE MÉTODOS DEVOPS A LA PLANEACIÓN


DEL PROCESO DE PRUEBAS DE SOFTWARE.
Para el uso de Azure DevOps. es importante tener en cuenta los siguientes atributos
de calidad para la gestión y planeación estratégica de pruebas funcionales
manuales y automatizadas:

1. Determinación del alcance de las pruebas


2. Escalabilidad de las pruebas.
3. Mantenibilidad en el tiempo de las pruebas.
4. Alineación de las pruebas con los procesos de requerimientos y desarrollo.
5. Gestión integrada de la prueba con requerimientos del cliente y desarrollos
en curso.
6. Control de la prueba automatizada basado en evidencias.
7. Soporte para el registro y ejecución de las pruebas manuales/automatizadas
durante el ciclo de vida.

2.4 RECONOCER EL PROCESO DE PRUEBAS DE SOFTWARE


Prueba continua: los equipos de proyectos prueban cada compilación a medida
que están disponibles. Se basa en la automatización de pruebas que integran con
el proceso de la implementación.

Gestión de la configuración: las organizaciones mantienen de forma centralizada


los activos y pruebas y realizan un seguimiento de las compilaciones de software
para probar.

Virtualización de servicios: es posible que en los entornos de pruebas no lleguen


a estar disponibles, especialmente en las primeras etapas del desarrollo del código.
Seguimiento de defectos o errores: la supervisión de defectos es importante para
los equipos de prueba como para los desarrolladores que miden la mejora de
calidad.

Métricas e informes: los informes y la analítica permiten a los miembros del equipo
compartir el estado, los objetivos y los resultados de las pruebas.

TEMA 3. PREPARACIÓN DEL ENTORNO PARA DESARROLLO E


INTEGRACIÓN CONTINUA.
La integración continua se le conoce como la practica de desarrollo de software
mediante la cual los desarrolladores se centran de forma periódica, tras la cual se
ejecutan versiones y pruebas automáticas. La integración continua tiene como
objetivo a tener en su mayoría la fase de creación o integración del proceso de
integración del software y conlleva unos componentes de automatización.

3.1 RECONOCER LOS FLUJOS DE TRABAJO Y LAS HERRAMIENTAS PARA


EL CONTROL DE VERSIONES DE SOFTWARE.
Los flujos de trabajos de control de versiones llegan a impedir el caos de todos los
usuarios que pueden llegar a usar su propio proceso de desarrollo con herramientas
diferentes e incompatibles. Estos sistemas de control de versiones nos
proporcionan los permisos y cumplen los procesos para que permanezcan en la
misma página.

Cada versión debe de tener una descripción para los cuales se hacen los cambios
e la versión, como corregir un error o agregar una característica.

3.2 IDENTIFICAR LAS ESTRATEGIAS DE DESPLIEGUE DE SOFTWARE:

DESPLIEGUE CON CORTE EN LA PRODUCCIÓN.


El objetivo de esta es que los despliegues se produzcan de la forma más ágil y
fiable. De esta forma se podrá desplegar con frecuencia el mantenimiento de un
proceso sencillo, controlado y nada traumático. Hay que valorar el uso de
despliegues por medio de la seria de estrategias en las que podemos basarnos para
facilitar el despliegue.

• Rolling upgrade
• Blue/green
• Red/black

ACTUALIZACIÓN RODANTE O CONTINUA.


Se le conoce como el modelo de lanzamiento continuo, liberación continua,
actualización rodante o actualización continua porque se llega a referir como un
sistema de lanzamientos y actualizaciones constantes en un software.

LANZAMIENTO CANARIO.
Se le considera como una estrategia de la implementación del software en la que
una nueva versión de una API se implementa como un tipo de lanzamiento canary
para realizar las pruebas, mientras que en otras versiones la base se implementa
en la misma etapa con las versiones de la producción para realizar las operaciones
normales.

FEATURE FLAGS.
Son un tipo de técnica de la ingeniería de software por la cual se activa y desactiva
con la funcionalidad de estar seleccionada durante el tiempo de ejecución, sin tener
que implementar algún código adicional y permite una experimentación mas
controlada durante el ciclo de vida de las funciones. Debido a esto, los features flags
pueden permitir muchos flujos de trabajo novedosos que son increíbles y útiles para
este estilo de gestión ágil y entornos CI/CD.

PRUEBAS A/B.
En este caso se hablará por medio de Firebase donde se podrán aplicar las pruebas
A/B porque permitirá los testing de las app, facilitando la ejecución, el análisis y el
escalamiento de los experimentos de marketing y los productos. Además de que
nos permitirá probar los cambios de la UI, las características o las campañas de
participación de la propia app para ver si se pueden modificar las métricas de la
clave.
CONCLUSIÓN

En conclusión se puede decir que los estándares ISO que se señalaron al principio
del tema uno es de gran importancia porque nos deberemos adaptar a las nuevas
funcionalidades que reforzaran la productividad, reducir los costes y conseguir la
mayor agilidad y la adaptación de los cambios en el mantenimiento y la creación de
los software.

Estar normas al igual que los estándares que son aplicados en los proyectos de TI
y que tiene una buena calidad para el desarrollo de los software que hoy en día
podemos desarrollar y que nos facilitan la realización de los proyectos para que
sean más eficientes y más fáciles de realizarlos paso a paso.

La virtualización viene con una plétora de herramientas probadas a lo largo del


tiempo, plataformas de gestión y orquestación, sondas virtuales, soluciones de
infraestructura virtual hiper convertidas y mucho más. La portabilidad y la
interoperabilidad son las características que destacan frente a los contenedores.

Los contenedores ofrecen una mayor eficiencia de recursos y agilidad de servicio.


Aunque no parezca mucho, abre la puerta a un modelo de microservicios que puede
escalar más rápido y de manera más eficiente. Los contenedores de papel se
ajustan más a las iniciativas de NFV/SDN y la industria se ha dado cuenta de que
Kubernetes es uno de los proyectos de código abierto de más rápido crecimiento
hasta la fecha.

Es importante tener una administración de la configuración cuando se está


trabajando en un proyecto, para poder tener el control sobre los productos de trabajo
que se están creando, disminuir el tiempo de retrabajo, administrar y controlar los
cambios que se tienen dentro del proyecto y sus productos.
REFERENCIAS
Arciciniega, F. (02 de didiembre de 2017). Normas y Estándares de calidad para el
desarrollo de Software. Obtenido de Fernando Arciniega:
https://fernandoarciniega.com/normas-y-estandares-de-calidad-para-el-
desarrollo-de-software/

Corly. (06 de febrero de 2019). Definición: ¿Qué significa aprovisionamiento en la


nube? Obtenido de Techinfo: https://techinfo.wiki/aprovisionamiento-en-la-
nube/

Lanner. (27 de enero de 2022). Contenedores vs virtualización: ¿cuál es superior?


Obtenido de Lanner: https://www.lanner-america.com/es/blog-
es/contenedores-vs-virtualizacion-cual-es-superior/

Linked in. (26 de abril de 2022). Aprovecha el poder de las Métricas, Trazas y
Registros en tu negocio. Obtenido de Linked in:
https://es.linkedin.com/pulse/aprovecha-el-poder-de-las-métricas-trazas-y-
registros-

Microsoft Azure. (s.f.). ¿Qué es DevOps? Obtenido de Azure:


https://azure.microsoft.com/es-es/resources/cloud-computing-
dictionary/what-is-devops/#tools

Red Hat. (11 de mayo de 2022). What is Infrastructure as Code (IaC)? Obtenido de
Red Hat: https://revistabyte.es/tendencias-tic/devops-rompiendo-las-
barreras-entre-desarrollo-y-operaciones-bajo-la-el-marco-de-la-agilidad-la-
iso-20000-y-la-iso-
1550412207/#:~:text=En%20definitiva%2C%20los%20estándares%20como
,mantenimiento%20y%20creación%20del%20

SG. (2012). SG. Obtenido de Administración de la configuración. Organización y


control para lograr el éxito.: https://sg.com.mx/content/view/412

También podría gustarte