sábado, 11 de mayo de 2019

S5. Actividad 2. Análisis y abstracción de información


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

No hay comentarios:

Publicar un comentario