Ciencias de la computación
La relación entre las ciencias de la computación y la ingeniería de software es un tema muy discutido, por disputas sobre lo que realmente significa el término "ingeniería de software" y sobre cómo se define a las ciencias de la computación. Algunas personas creen que la ingeniería de software sería un subconjunto de las ciencias de la computación. Otras, tomando en cuenta la relación entre otras disciplinas científicas y de la ingeniería, creen que el principal objetivo de las ciencias de la computación sería estudiar las propiedades del cómputo en general, mientras que el objetivo de la ingeniería de software sería diseñar cómputos específicos para lograr objetivos prácticos, con lo que se convertiría en disciplinas diferentes. Este punto de vista es el que sostiene, por ejemplo, Parnas (1998). Incluso hay otros que sostienen que no podría existir una ingeniería de software.
Ingeniería de software
Es un modelo en el que el "software" se muestra al cliente en etapas refinadas sucesivamente. Con esta metodología se desarrollan las capacidades más importantes reduciendo el tiempo necesario para la construcción de un producto; el modelo de entrega por etapas es útil para el desarrollo de la herramienta debido a que su uso se recomienda para problemas que pueden ser tratados descomponiéndolos en problemas más pequeños y se caracteriza principalmente en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.