Ingeniería de software

 Introducción 

La ingeniería de software es una disciplina de la computación que busca encontrar principios que permitan el desarrollo de sistemas de software complejos y de gran tamaño.

La ingeniería del software es la rama de las ciencias de la computación que busca principios que sirvan como guía al desarrollo de sistemas de software complejos y de gran tamaño.

El desarrollo de estos sistemas requiere el esfuerzo de más de una persona a lo largo de un periodo extendido de tiempo durante el cual los requisitos del sistema propuesto pueden verse alterados y el personal asignado para el proyecto puede variar.


Características 

  • Los componentes del software son diseñados para un dominio específico y para una aplicación específica a partir de componentes genéricos prefabricados.
  • Existe una falta de métricas para medir las propiedades del software. El tiempo entre fallos o el número de líneas del código no son buenas métricas.
  • Los errores y la dependencia del software. Hay 3 razones principales por las cuales los sistemas "caen":
    • Falta de respaldos
    • Hackeo
    • Error humano
Además de ya tener el software terminado, es difícil conocer si tiene errores hasta no haberlo sometido a una serie de pruebas que pongan en juego las aplicaciones del software. Esta etapa es crucial debido a que estamos en un mundo globalizado en el cual un error de software puede terminar en grandes problemas. 

modalidad CASE 

En el caso de la planificación y desarrollo de un software se recomienda que sea en la modalidad CASE, en la cual se asiste por una computadora. En este modelo se utiliza las siguientes herramientas:
  • Sistema de planificación
  • Sistema de gestión
  • Sistema de documentación
  • Sistema de prototipado y simulación
  • Sistema de programación

Ciclo de vida 

Una vez el software ha sido desarrollado entra en un ciclo de utilización y mantenimiento, dicho ciclo continúa durante el resto de la vida útil del software. A diferencia de otros productos, la fase de mantenimiento es tan solo para la corrección de errores, en este caso suele consistir en correcciones y actualizaciones.

Creación 

Para crear un software existen diferentes metodologías como las siguientes:
  • Modelo de cascada: proceso secuencial
  • Modelo incremental: se da una primera cara del software con funcionalidad limitada y se trabaja sobre el para llegar al producto final
  • Modelo iterativo: el primer sistema esta incompleto y posteriormente se la van añadiendo características
  • Proceso unificado racional: redefine los pasos de la fase de desarrollo y proporcionan nuevas directrices para llevar a cabo el proyecto
  • Prototipado rápido: se da una prueba rápida y simple que sirve para presentarsela al cliente e ir reconociendo los requerimientos
  • Desarrollo de Open Source: se utiliza una plantilla de Open Source a la cual se le agrega la funcionalidad necesaria
  • Métodos ágiles: existe una gran variedad de métodos ágiles pero se resume en tener un equipo que trabaja en conjunto y al mismo tiempo por un fin


Conclusión 

Nuestra sociedad es dependiente a los sistemas de computadoras y software. Basta con pensar en la economía, la salud pública, el gobierno, las fuerzas de seguridad o el transporte para entender esta noción. Por ello es importante entender qué es lo que hay detrás de la creación de los software utilizados.





Comentarios

Entradas populares de este blog

Actividad 7: Scrum en Minecraft

Redes Sociales

Fintech, Blockchain y Criptomonedas