La Ingeniería de Software es una
disciplina que establece el uso de principios de ingeniería robustos,
orientados a obtener software económico que sea confiable y funcione de manera
eficiente. La Ingeniería de Software difiere de la programación tradicional en
que se utilizan técnicas de ingeniería para especificar, diseñar, codificar,
validar y mantener los productos dentro del tiempo y presupuesto establecidos
para el proyecto. Además, la ingeniería se preocupa por aspectos
administrativos que quedan fuera del dominio normal de la programación.
Nube de palabras relacionadas con ingeniería de software [elaborada con wordle] |
El término programador se emplea
para denominar a la persona preocupada y abocada a las tareas y detalles de la
codificación, empacado y modificación de los algoritmos y estructuras de datos codificados en algún
lenguaje de programación particular. Los Ingenieros de Software están, además,
capacitados para hacer frente a aspectos de análisis, diseño, verificación, prueba de
programas, documentación, mantenimiento y administración del proyecto.
El software es ahora la clave del
éxito de muchos de los sistemas basados en computadora. El software marca la
diferencia. Lo que diferencia una compañía de otra, es la suficiencia,
exactitud y oportunidad de la información proporcionada por el software.
Una definición es: Ingeniería del
Software es la aplicación práctica del conocimiento científico en el diseño y construcción
de programas de computadora, así como de la documentación asociada, requerida
para desarrollar, operar (funcionar) y mantenerlos. Se conoce también como desarrollo
de software o producción de software [Bohem, 1976].
La ingeniería de software implica
un ciclo de vida definido por un proceso, el cual, a su vez, se compone de una
etapa de ingeniería de requerimientos, del modelado del análisis, del diseño e
implementación, las pruebas y el mantenimiento.
Un aspecto muy importante a considerar dentro de un proceso de desarrollo de software es la parte de las pruebas. Para ejemplificar este aspecto consideremos el caso del primer vuelo del cohete Ariane 5, mismo que falló poco después del lanzamiento, lo que resultó en una pérdida estimada de mil quinientos millones de dólares.
Un Fallo de software se produjo cuando se intentó hacer una conversión de un número de 64 bits de punto flotante, a un entero con signo de 16 bits, lo que hizo que se desbordara la memoria.
a. No había un manejador de excepciones asociado con la conversión de números. Por seguridad, ésto apagó la computadora.
b. La aplicación de respaldo tenía el mismo error así que, también falló.
Lección aprendida
Todo software debe ser revisado y probar que funcione. No ejecutar software en sistemas críticos a menos que sea realmente necesario (por eso los aviones no llevan computadoras para controlar el avión, sino puros controles y sensores). Así como se prueba lo que el sistema debe hacer se debe probar lo escenarios donde el sistema hace lo que no debe hacer. Tomar en cuenta todas las variantes de excepciones que pueden ocurrir y no recaer en el uso del gestor por default de excepciones.
El personal docente del área de Bases de Datos e Ingeniería de Software de la Facultad de Ciencias de la Computación, organizó un seminario en el cual se ha propuesto como objetivo fundamental lograr unificar los materiales, métodos, estrategias y técnicas en la enseñanza de la ingeniería de software. Para ello se recopilaron los resultados de los trabajos desarrollados en el citado seminario, las experiencias compartidas y principalmente el conjunto de actividades propuestas por cada uno de los profesores participantes en un libro.
El libro está enfocado a reforzar el proceso de enseñanza-aprendizaje a través de actividades de motivación y diagnóstica para el estudio de la Ingeniería de Software.
Una actividad sugerida es un crucigrama de conceptos básicos
Gracias por leer hasta aquí!!!
No hay comentarios:
Publicar un comentario