¿Qué es la IS, ciencia, arte, disciplina o proceso?
Es un campo de la computación que tiene que ver con la construcción de sistemas de software los cuales son grandes y complejos, son construidos por grupos de ingenieros. Resulta difícil determinarla en sólo una clasificación debido a que se cuenta con varias perspectivas de lo que es la ingeniería de software por los varios contextos en los que ha participado.
Existen dos perspectivas dentro de la ingeniería de software: una que tiene como objeto de estudio a los problemas teóricos propios de la computación, mientras que la otra perspectiva se encarga de la construcción de software.
Un programador escribe un programa de software, mientras un ingeniero de software escribe componentes de software e integra otros elementos que serán combinados, bajo una perspectiva de calidad, para solucionar un problema. La primera actividad se puede considerar como individual, mientras que la última es esencialmente una actividad de equipo. La programación es sólo una actividad dentro de la ingeniería de software.
El ingeniero del software emplea sus conocimientos multidisciplinarios para solucionar problemas y a diferencia de otras disciplinas de las ciencias de la computación emplea los conocimientos teóricos que desarrollan las otras disciplinas para solucionar problemas que pueden no pertenecer por naturaleza a un problema de la computación. El desarrollo de software implica responsabilidades profesionales y sociales.
La ingeniería de software implica requiere disciplina para llevar a cabo las actividades inherentes al trabajo diario que le permitirán mejorar de manera constante el trabajo que realiza a nivel individual. Este esfuerzo representa un aspecto importante con miras a realizar un producto de calidad como resultado de participación de muchas personas.
La ingeniería de software emplea recursos teóricos y notaciones científicas para el desarrollo de aplicaciones, pero también utiliza modelos con la finalidad de representar aspectos de la realidad de manera sistemática. En este aspecto la ingeniería de software es una ciencia que estudia de manera sistemática los problemas del software. Como resultado de esta perspectiva son los métodos, técnicas, metodologías y herramientas que pueden utilizarse.
La ingeniería de software es un proceso si se considera que para el desarrollo de software se requieren entradas, pasos establecidos y salidas. Este esquema de trabajo facilita el entendimiento de la forma en la opera la construcción de software para solucionar un problema.
La ingeniería de software es un arte en cuanto a la identificación de elementos a utilizar dependiendo del contexto, el manejo de las relaciones humanas, establecimiento de criterios de calidad, solución a problemas éticos, interpretación y solución de problemas basados en software, etc. Todos estos problemas se caracterizan por sobrepasar las dificultades técnicas y es por eso que se emplean recursos adicionales, como la creatividad y el buen juicio, para dar una solución oportuna.
La ingeniería de software emplea recursos de diferentes áreas del conocimiento dada la complejidad que implica la construcción de software. No es posible determinar a la ingeniería de software en una sola perspectiva por la naturaleza de su objeto de estudio a comparación de las otras ingenierías. Esto demuestra que es posible verla como ciencia, arte, disciplina o proceso, todo dependerá del punto de vista que se tome y lo cual no las hace excluyentes una de otra sino complementarias.
La ingeniería de software es:
Es la aplicación de un planteamiento sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software.
Fuente: Apuntes de Ingeniería del Software de la FCA de la UNAM