MARCO TEÓRICO
Antecedentes
El primer bug conocido fue un bug físico. Literalmente. Una
polilla entre los relés del Mark II causó errores en su funcionamiento allá por
el 1947.
LA EXPLOSIÓN DEL ARIANE 5. MIL MILLONES DE DOLARES PERDIDOS
Este error causo un retraso en muchas de las investigaciones
que debían llevarse a cabo en el cohete. ¿Cuál fue el problema?, en gran parte,
la reutilización del código. Técnicamente hablando el causante del error fue
que en una parte del código se intentaba copiar una variable de 64 bits en una
de 16 con el consiguiente error de overflow. Un error carísimo, la típica
excusa “en mi ordenador funciona”.
Estos son algunos otros errores de Desarrollo de Software, exceso
de radiación en el therac-25 mató a cinco pacientes, otro error Mars Climate Orbiter.
El error de conversión que dejó sin fotos del marte. El sistema de control de
la nave en la Tierra usaba el sistema métrico anglosajón mientras que el
sistema de navegación de la nave esperaba valores en el sistema métrico decimal.
Estos son algunos errores cometidos por los desarrolladores
de Software, pero ¿Por qué es que pasan estos errores?, ¿Qué es lo que
descuidan en su proceso?, ¿Cuáles son las Problemáticas más comunes y cómo podríamos
evítalos?
Bases teóricas
Uno los primeros conceptos en la Ingeniería de Software es
la ecuación básica (Modelos + Transformaciones = Software) que, obviamente,
referencia a la muy conocida ecuación de Niklaus Wirth: Algoritmos +
Estructuras de datos = Programas. (Cabot, 2017)
Pero qué pasa cuando este concepto tan esencial es olvidado
por los desarrolladores, pasa que empiezan a omitir reglas, procesos, palabras,
las cuales pueden modificar el sistema o función diferente al objetivo, no
correr la función o generar más conflictos en el ordenador o sistema. Y de que
forma podemos solucionarlo, por mencionar algunos ejemplos:
Liberando memoria RAM cerrando otros programas abiertos.
Reiniciando el software.
Apague y reinicie la computadora.
Deshacer cualquier cambio reciente de hardware o software.
Desinstalar el software y vuelva a instalarlo.
Crear parches para el software.
Entre otros…
Todo Desarrollador
debería conocer los paradigmas de programación más habituales (estructurado,
orientado a objetos, funcional y sus variantes y combinaciones), los puntos
fuertes y débiles de cada uno, los lenguajes más representativos de cada grupo,
qué razones motivaron su creación. Teniendo en cuenta lo rápido que evoluciona
el campo de los lenguajes de programación (con nuevos frameworks y lenguajes
naciendo y muriendo casi a diario) si el Desarrollador no tiene un cierto marco
mental que le permita situar todos estos movimientos, irá completamente
perdido.
Y aún peor, puede incluso llegar a pensar que lo que
aprendió en la carrera ya no sirve para nada por qué práctico con un lenguaje X
y ahora está de moda el lenguaje Y sin llegar a interiorizar que una cosa son
los conceptos de programación fundamentales que aprendió y otra como esos
conceptos se plasmas en una sintaxis determinada para un lenguaje concreto.
Por eso “quién no conoce la historia está condenado a
repetirla” y he aquí este trabajo, conocer las problemáticas de los desarrolladores
de Software hasta el 2018, localizando una metodología adecuada para no caer en
ellos.
Trabajos citados
Cabot, J. (agosto de 2017). Ingenieria de Software.
Obtenido de HAY QUE EMPEZAR A ENSEÑAR HISTORIA DE LA PROGRAMACIÓN:
https://ingenieriadesoftware.es/historia-de-la-programacion/
Cabot, J. (24 de Agosto
de 2018). Ingenieria de Software. Obtenido de LOS GRANDES ERRORES DE LA
HISTORIA DEL SOFTWARE INFORMÁTICO – DEL PRIMER BUG A HOY:
https://ingenieriadesoftware.es/grandes-errores-historia-software-informatico/
EMPRESAS, D. D. (s.f.). PROBLEMÁTICA
DE LOS PROYECTOS SOFTWARE . Obtenido de
http://bibing.us.es/proyectos/abreproy/70193/fichero/5.+PROBLEM%C3%81TICA+DE+LOS+PROYECTOS+SOFTWARE.pdf