Ingeniería de Software¶
La ingeniería de software es una disciplina formada por un conjunto de métodos, herramientas y técnicas que se utilizan en el desarrollo de programas informáticos, más conocidos como softwares.
Este servicio trasciende a la programación, que es la base para crear una aplicación. La ingeniería de software engloba toda la gestión de un proyecto, desde el análisis previo de la situación y el planteamiento del diseño, hasta su implementación, pasando por las pruebas recurrentes para su correcto funcionamiento.
Podríamos decir que la ingeniería del software es el continente, donde se aloja el contenido, que sería el software en sí.
La ingeniería de software cubre un marco muy amplio.
Hay que entender esto como la posibilidad de que enmarque varios objetivos a tener en cuenta cuando queremos implementar u optar por un servicio de ingeniería de software:
- Diseño de programas informáticos adaptados a las necesidades y exigencias de los clientes.
- Solucionar problemas de programación.
- Estar presente en todas las fases del ciclo de vida de un producto.
- Contabilizar los costes de un proyecto y evaluar los tiempos de desarrollo.
- Realizar el seguimiento del presupuesto y cumplir los plazos de entrega.
- Liderar equipos de trabajo de desarrollo de software.
- Estructurar la elaboración de evidencias que comprueben el perfecto funcionamiento de los programas y que se adaptan a los requerimientos de análisis y diseño.
- Diseñar, construir y administrar bases de datos.
- Liderar y orientar a los programadores durante el desarrollo de aplicaciones.
- Incluir procesos de calidad en los sistemas, calculando métricas e indicadores y chequeando la calidad del software producido.
- Estructurar e inspeccionar el trabajo del equipo, ya sea el grupo de técnicos de mantenimiento o el grupo de ingenieros de sistemas y redes.
No siempre una ingeniería de software debe enfocarse a todos estos objetivos.
Es decir, se dirigen hacia la consecución de algunos de ellos, pero no necesariamente a todos, ya que las empresas que contratan este servicio no requieren el mismo tipo de proyecto.
Actividad¶
-
AC 301 (RA1 / CE1b CE1f CE1g / IC1 / 1p). Responde a las siguientes cuestiones:
- Explica con tus propias palabras qué diferencia hay entre programación e ingeniería de software.
- Enumera cuatro fases del ciclo de vida del software que se mencionan o se implican en el texto.
- Indica tres objetivos clave que debe cumplir un servicio de ingeniería de software.
-
Piensa en un ejemplo real (por ejemplo, una app móvil o un sistema web):
- ¿Qué papel tendría un ingeniero de software en ese proyecto?
- ¿Qué tareas específicas haría un programador?
-
Reflexiona brevemente: ¿por qué crees que en el mundo laboral se valora tanto la figura del ingeniero de software frente a la del programador?