La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software; esto es, la aplicación de ingeniería al software (IEEE, 2004).

 

En la ingeniería de software se integra el conocimiento teórico y práctico que el ingeniero de sistemas requiere para realizar de forma exitosa cualquier proyecto de producción de software. El proyecto de producción de software se realiza con la guía del proceso de ingeniería de software. El proceso de ingeniería de software incluye actividades estructurales y de protección. Las actividades estructurales van desde la especificación hasta el mantenimiento después de que el producto software se pone en operación. Las actividades de protección (por ejemplo, gestión del proyecto y gestión de la calidad), son aquellas que permiten garantizar procesos y productos software de alta calidad.

 

En el Programa Ingeniería de Sistemas de la Universidad de Nariño, el componente de formación ingeniería de software se ha configurado de tal manera que, el estudiante experimenta el proceso software en su totalidad. Para ello, el estudiante desarrolla un proyecto que progresa a lo largo de las asignaturas del componente de formación de ingeniería de software. En las asignaturas obligatorias del componente de formación, se abordan las actividades estructurales y en las asignaturas electivas, se abordan actividades de protección.

 

Esta es la asignatura introductoria al estudio de la ingeniería de software. En esta asignatura se aborda la fundamentación teórica inicial de la disciplina: conceptos generales, el proceso de ingeniería de software y, modelos y métodos de ingeniería de software. También, se aborda el modelado de negocio como actividad inicial de un proceso de ingeniería de software.

 

Al finalizar la asignatura el estudiante comprende los fundamentos de la ingeniería de software y del proceso de software, conoce los procesos, métodos y modelos de la ingeniería de software. También, el estudiante está en capacidad de modelar procesos del negocio para identificar problema que son factibles de solucionarse con software y mejorar procesos del negocio para desarrollar software como mecanismo de optimización.