You are on page 1of 3

Pregunta 1

Pregunta 2

Son muchas las consideraciones que podemos tener a la hora de realizar un análisis y
mitigar o minimizar las consecuencias como las presentadas en el caso semanal, para
ello podemos utilizar algunas técnicas y mejores prácticas y más que una en
específico, es importante el estudio de todas ellas para que nos puedan aportar lo
mejor de ellas y lograr unificar una serie de comprobaciones que nos ayuden a
minimizar los riesgos.

 Análisis y revisión exhaustiva donde se realiza un riguroso y una revisión


exhaustiva de los algoritmos y el software antes de su implementación.
 Pruebas exhaustivas al implementarlas podemos verificar la funcionalidad y la
corrección de los algoritmos. Esto incluye pruebas unitarias, pruebas de
integración y pruebas de sistema para cubrir diferentes escenarios y casos
límite. También es importante llevar a cabo pruebas de estrés y pruebas de
rendimiento para evaluar la robustez del software.
 Validación cruzada para verificar y validar los resultados de los algoritmos.
 Verificación formal para demostrar matemáticamente la corrección de los
algoritmos.
 Revisión por pares en el trabajo en equipo en el desarrollo del software donde
se pueden identificar más fácilmente posibles errores o problemas de diseño.
 Seguimiento de estándares y mejores prácticas en cuanto a desarrollo de
software y algoritmos para validar metodologías de desarrollo robustas, el
cumplimiento de estándares de codificación, la documentación adecuada y el
seguimiento de los principios de ingeniería del software.

Así mismo es importante destacar que ninguna técnica tradicional o ágil es infalible,
pero al combinar varias de estas estrategias, se puede reducir significativamente el
riesgo de fallos catastróficos debido a algoritmos incorrectos.

Dentro de las propuestas en el texto existen algunos de las muchas metodologías que
podemos aplicar en este caso, pero cerrarse a una en específico sería un error, ya
que, como mencioné anteriormente no son infalibles, es por ello que como estudiante
que pretende llegar a ser experto (o lo mas cercano a ello) debo estudiar toda la
información de las diversas metodologías que existen y aplicar las herramientas que
ellas me proporcionan.

En o personal empezaría con Modelo en Cascada ya que propone un sistema riguroso


y sistemático que tiene como base el análisis del diseño, las pruebas y el
mantenimiento, donde al finalizar este análisis se reúnen y revisan de manera
cuidadosa toda la documentación, pudiendo de esta manera realizar una observación
minuciosa en cuanto a la documentación garantizando que se cumplan cada uno de
los requisitos necesarios para su puesta a punto.

Fuentes y bibliografía:
 Zumba, J. P. (2018). Evolución de las Metodologías y Modelos utilizados en el
Desarrollo de Software. INNOVA Research Journal, 3(10), 20–33.
https://doi.org/10.33890/innova.v3.n10.2018.651
 Cómo elegir la metodología de desarrollo de software adecuada para tu
proyecto. (n.d.). Www.velneo.com. Retrieved July 18, 2023, from
https://www.velneo.com/blog/elegir-lmetodologia-desarrollo-software-para-tu-
proyecto
Pregunta 3

Una técnica de apoyo que podría ser útil para determinar si un diseño o
implementación resulta demasiado complejo es el Análisis Estático de Código, mismo
que se desprende de las Pruebas automatizadas para CI/CD.

Las Pruebas automatizadas para CI/CD (Integración Continua/Entrega Continua) son


pruebas que se ejecutan de manera automática y programada como parte del flujo de
trabajo de desarrollo de software. Estas pruebas están diseñadas para garantizar la
calidad del software y detectar posibles errores o problemas de manera rápida y
eficiente. En un entorno de CI/CD, donde se busca integrar y entregar cambios de
código frecuentemente, las pruebas automatizadas son esenciales para garantizar que
los cambios realizados no introduzcan problemas o errores en el software existente.

El Análisis Estático de Código es una técnica que examina el código fuente sin
ejecutarlo, con el objetivo de identificar posibles errores, vulnerabilidades, malas
prácticas y áreas de complejidad. Al aplicar esta técnica podemos encontrar diversos
patrones de código dudosos que podrían dificultar el desarrollo de pruebas de
mantenimiento efectivas.

Dentro de lo estudiado en el caso de la semana esta nos podría haber ayudado a


identificar las diversas partes del código que tuvieron fallos en el sistema del control de
vuelo detectando conversiones incorrectas en sus valores o los problemas de manejo.

Fuentes y bibliografía:

 ¿Qué es el análisis de código estático? | Guía de CI/CD de TeamCity. (n.d.).


JetBrains. https://www.jetbrains.com/es-es/teamcity/ci-cd-guide/concepts/static-
code-analysis/#:~:text=El%20an%C3%A1lisis%20de%20c%C3%B3digo%20est
%C3%A1tico%20consta%20de%20una%20serie%20de
 Pruebas automatizadas para CI/CD | Guía de CI/CD de TeamCity. (n.d.).
JetBrains. Retrieved July 18, 2023, from
https://www.jetbrains.com/es-es/teamcity/ci-cd-guide/automated-testing/
 ¿Qué es la prueba de software y cómo funciona? | IBM. (n.d.). Www.ibm.com.
https://www.ibm.com/mx-es/topics/software-testing

Pregunta 4

La lectura de un código puede ser considerada una técnica dinámica ya que implica un
análisis de activo y en tiempo real del código que se ejecuta; aunque este no se
ejecuta automáticamente como las pruebas automatizadas, la lectura del código
proporciona una comprensión en tiempo real de cómo funciona el software y cómo
interactúan los diferentes componentes de este.

Su importancia tiene diversos aspectos a considerar como: la identificación de errores


y problemas; mejora su legibilidad y mantenibilidad; nos proporciona un análisis mas
confiable de su rendimiento; nos ayuda a comprobar la consistencia y la lógica del
código; nos ayuda a tener un mejor aprendizaje del mismo y poderlo compartir con
mayes resultados positivos para su análisis.

Por lo tanto y de manera general puedo concluir que la lectura de código es una
técnica dinámica que puede ser fundamental para obtener mejoras en el software ya
que esta nos a una visión mucho más detallada del funcionamiento y nos permite
detectar problemas, implementar mejores prácticas asegurándonos que este cumpla
con los estándares que requiere su implementación.

Fuentes y bibliografía:
Meneses, S. (2021, October 5). La Importancia de los Estándares de Código. The Dojo
MX Blog. https://blog.thedojo.mx/2021/10/05/estandares-de-calidad-en-el-
software.html
Excelencia, P. T.-C. de. (2015, June 11). Calidad Software - Los 7 ejes de la calidad
del código fuente. Panel Sistemas. https://www.panel.es/calidad-software-los-7-ejes-
de-la-calidad-del-codigo-fuente/

You might also like