La ingeniería de software es un enfoque de ingeniería para el desarrollo de software . [1] [2] [3] Un profesional, llamado ingeniero de software , aplica el proceso de diseño de ingeniería para desarrollar software .
Los términos programador y codificador se superponen a ingeniero de software , pero implican solo el aspecto de construcción de la carga de trabajo típica de un ingeniero de software. [4]
Un ingeniero de software aplica un proceso de desarrollo de software , [1] [5] que implica definir, implementar , probar , administrar y mantener sistemas de software y crear y modificar el proceso de desarrollo.
A partir de la década de 1960, la ingeniería de software fue reconocida como un campo separado de la ingeniería .
El desarrollo de la ingeniería de software fue visto como una lucha. Los problemas incluían software que excedía el presupuesto, excedía los plazos, requería depuración y mantenimiento exhaustivos y no satisfacía las necesidades de los consumidores o ni siquiera se completaba.
En 1968, la OTAN celebró la primera conferencia de ingeniería de software donde se abordaron cuestiones relacionadas con el software. Se establecieron lineamientos y mejores prácticas para el desarrollo de software. [6]
Los orígenes del término ingeniería de software se han atribuido a diversas fuentes. El término apareció en una lista de servicios ofrecidos por empresas en la edición de junio de 1965 de "Computers and Automation" [7] y se utilizó más formalmente en la edición de agosto de 1966 de Communications of the ACM (Volumen 9, número 8) en "President's Carta a los miembros de la ACM" por Anthony A. Oettinger. [8] [9] También se asocia con el título de una conferencia de la OTAN en 1968 por el profesor Friedrich L. Bauer . [10] Margaret Hamilton describió la disciplina de "ingeniería de software" durante las misiones Apolo para dar legitimidad a lo que estaban haciendo. [11] En aquel momento se percibió que se trataba de una " crisis de software ". [12] [13] [14] La 40.ª Conferencia Internacional sobre Ingeniería de Software (ICSE 2018) celebra los 50 años de la "Ingeniería de software" con las conferencias magistrales de las sesiones plenarias de Frederick Brooks [15] y Margaret Hamilton . [16]
En 1984, el Instituto de Ingeniería de Software (SEI) se estableció como un centro de investigación y desarrollo financiado con fondos federales y con sede en el campus de la Universidad Carnegie Mellon en Pittsburgh, Pensilvania , Estados Unidos. [17] Watts Humphrey fundó el Programa de Procesos de Software SEI, destinado a comprender y gestionar el proceso de ingeniería de software. [17] Los niveles de madurez de proceso introducidos se convirtieron en la integración del modelo de madurez de capacidad para el desarrollo (CMMI-DEV), que definía cómo el gobierno de EE. UU. evalúa las capacidades de un equipo de desarrollo de software.
El subcomité ISO/IEC JTC 1/SC 7 recopiló las mejores prácticas modernas y generalmente aceptadas para la ingeniería de software y las publicó como el Cuerpo de conocimientos de ingeniería de software (SWEBOK). [5] La ingeniería de software se considera una de las principales disciplinas informáticas . [18]
Las definiciones notables de ingeniería de software incluyen:
El término también se ha utilizado de manera menos formal:
Margaret Hamilton promovió el término "ingeniería de software" durante su trabajo en el programa Apollo . El término "ingeniería" se utilizó para reconocer que el trabajo debería tomarse tan en serio como otras contribuciones al avance de la tecnología. Hamilton detalla su uso del término:
Cuando se me ocurrió el término por primera vez, nadie había oído hablar de él antes, al menos en nuestro mundo. Fue una broma constante durante mucho tiempo. Les gustaba bromear acerca de mis ideas radicales. Fue un día memorable cuando uno de los gurús del hardware más respetados explicó a todos en una reunión que estaba de acuerdo conmigo en que el proceso de creación de software también debería considerarse una disciplina de ingeniería, al igual que el hardware. No por su aceptación del nuevo "término" per se, sino porque nos habíamos ganado su aceptación y la de los demás en la sala como parte de un campo de ingeniería por derecho propio. [28]
Los comentaristas individuales han discrepado marcadamente sobre cómo definir la ingeniería de software o su legitimidad como disciplina de ingeniería. David Parnas ha dicho que la ingeniería de software es, de hecho, una forma de ingeniería. [29] [30] Steve McConnell ha dicho que no lo es, pero que debería serlo. [31] Donald Knuth ha dicho que la programación es un arte y una ciencia. [32] Edsger W. Dijkstra afirmó que los términos ingeniería de software e ingeniero de software se han utilizado indebidamente en los Estados Unidos. [33]
La ingeniería de requisitos trata de la obtención, análisis, especificación y validación de requisitos para software . Los requisitos de software pueden ser funcionales , no funcionales o de dominio.
Los requisitos funcionales describen comportamientos esperados (es decir, resultados). Los requisitos no funcionales especifican cuestiones como portabilidad, seguridad, mantenibilidad, confiabilidad, escalabilidad, rendimiento, reutilización y flexibilidad. Se clasifican en los siguientes tipos: restricciones de interfaz, restricciones de rendimiento (como tiempo de respuesta, seguridad, espacio de almacenamiento, etc.), restricciones operativas, restricciones del ciclo de vida (mantenibilidad, portabilidad, etc.) y restricciones económicas. Se necesita conocimiento de cómo funciona el sistema o el software cuando se trata de especificar requisitos no funcionales. Los requisitos de dominio tienen que ver con las características de una determinada categoría o dominio de proyectos. [34]
El diseño de software es el proceso de hacer planes de alto nivel para el software. El diseño a veces se divide en niveles:
La construcción de software generalmente implica programación (también conocida como codificación), pruebas unitarias , pruebas de integración y depuración para implementar el diseño. [1] [5] “Las pruebas de software están relacionadas con la depuración, pero son diferentes de ella”. [5] Las pruebas durante esta fase generalmente las realiza el programador y tienen el propósito de verificar que el código se comporta según lo diseñado y saber cuándo está listo para el siguiente nivel de prueba. [ cita necesaria ]
La prueba de software es una investigación técnica y empírica realizada para proporcionar a las partes interesadas información sobre la calidad del software bajo prueba. [1] [5]
Cuando se describen por separado de la construcción, las pruebas generalmente las realizan ingenieros de pruebas o control de calidad en lugar de los programadores que las escribieron. Se realiza a nivel del sistema y se considera un aspecto de la calidad del software .
El análisis de programas es el proceso de analizar programas informáticos con respecto a un aspecto como el rendimiento , la solidez y la seguridad .
El mantenimiento del software se refiere al soporte del software después de su lanzamiento. Puede incluir, entre otros: corrección de errores , optimización, eliminación de funciones no utilizadas y descartadas, y mejora de funciones existentes. [1] [5]
Normalmente, el mantenimiento representa entre el 40% y el 80% del coste del proyecto. [36]
El conocimiento de la programación informática es un requisito previo para convertirse en ingeniero de software. En 2004, la IEEE Computer Society produjo el SWEBOK , que se publicó como Informe técnico ISO/IEC 1979:2005, y describe el conjunto de conocimientos que recomiendan que domine un ingeniero de software graduado con cuatro años de experiencia. [37] Muchos ingenieros de software ingresan a la profesión obteniendo un título universitario o capacitación en una escuela vocacional. El Grupo de Trabajo Conjunto sobre Currículos de Computación de la IEEE Computer Society y la Association for Computing Machinery definió un plan de estudios internacional estándar para títulos universitarios en ingeniería de software , y lo actualizó en 2014. [18] Varias universidades tienen programas de grado en Ingeniería de Software; En 2010 [update], había 244 programas universitarios de Licenciatura en Ingeniería de Software , 70 programas en línea, 230 programas de nivel de maestría, 41 programas de nivel de doctorado y 69 programas de nivel de certificado en los Estados Unidos.
Además de la educación universitaria, muchas empresas patrocinan pasantías para estudiantes que desean seguir carreras en tecnología de la información. Estas pasantías pueden presentar al estudiante las tareas del mundo real que los ingenieros de software típicos enfrentan todos los días. Se puede obtener una experiencia similar a través del servicio militar en ingeniería de software.
La mitad de todos los profesionales actuales tienen títulos en ciencias de la computación , sistemas de información o tecnología de la información . [ cita necesaria ] Un número pequeño pero creciente de profesionales tienen títulos en ingeniería de software. En 1987, el Departamento de Computación del Imperial College de Londres introdujo la primera licenciatura en ingeniería de software de tres años del mundo; al año siguiente, la Universidad de Sheffield estableció un programa similar. [38] En 1996, el Instituto de Tecnología de Rochester estableció el primer programa de licenciatura en ingeniería de software en los Estados Unidos; sin embargo, no obtuvo la acreditación ABET hasta 2003, el mismo año que la Universidad Rice , la Universidad Clarkson , la Escuela de Ingeniería de Milwaukee y la Universidad Estatal de Mississippi . [39] En 1997, la Facultad de Tecnología del PSG en Coimbatore, India, fue la primera en iniciar una Maestría en Ciencias integrada de cinco años en Ingeniería de Software. [ cita necesaria ]
Desde entonces, se han establecido títulos universitarios en ingeniería de software en muchas universidades. Un comité directivo definió un plan de estudios internacional estándar para títulos universitarios en ingeniería de software, SE2004 , entre 2001 y 2004 con financiación de la Association for Computing Machinery y la IEEE Computer Society . En 2004 [update], alrededor de 50 universidades en los EE. UU. ofrecen títulos de ingeniería de software, que enseñan principios y prácticas tanto de informática como de ingeniería. La primera maestría en ingeniería de software se estableció en la Universidad de Seattle en 1979. Desde entonces, muchas más universidades han ofrecido títulos de posgrado en ingeniería de software. Asimismo, en Canadá, la Junta Canadiense de Acreditación de Ingeniería (CEAB) del Consejo Canadiense de Ingenieros Profesionales ha reconocido varios programas de ingeniería de software.
En 1998, la Escuela Naval de Postgrado (NPS) de EE. UU. estableció el primer programa de doctorado en Ingeniería de Software del mundo. [ cita necesaria ] Además, han aparecido muchos títulos avanzados en línea en Ingeniería de Software, como la Maestría en Ciencias en Ingeniería de Software (MSE) que se ofrece a través del Departamento de Ingeniería y Ciencias de la Computación de la Universidad Estatal de California, Fullerton . Steve McConnell opina que debido a que la mayoría de las universidades enseñan ciencias de la computación en lugar de ingeniería de software, hay una escasez de verdaderos ingenieros de software. [40] La Universidad ETS (École de technologie supérieure) y la UQAM (Université du Québec à Montréal) recibieron el mandato del IEEE de desarrollar el Cuerpo de conocimientos de ingeniería de software ( SWEBOK ), que se ha convertido en una norma ISO que describe el cuerpo de conocimientos cubierto por un ingeniero de software. [5]
Los requisitos legales para la concesión de licencias o certificación de ingenieros de software profesionales varían en todo el mundo. En el Reino Unido, no existe ningún requisito legal ni de licencia para asumir o utilizar el título de trabajo de Ingeniero de software. En algunas áreas de Canadá, como Alberta, Columbia Británica, Ontario, [41] y Quebec, los ingenieros de software pueden tener la designación de Ingeniero Profesional (P.Eng) y/o la designación de Profesional de Sistemas de Información (ISP). En Europa, los Ingenieros de Software pueden obtener el título profesional de Ingeniero Europeo (EUR ING). Los ingenieros de software también pueden obtener la calificación profesional como ingenieros colegiados a través de la British Computer Society .
En los Estados Unidos, el NCEES comenzó a ofrecer un examen de Ingeniero Profesional para Ingeniería de Software en 2013, lo que permite a los Ingenieros de Software obtener una licencia y ser reconocidos. [42] NCEES finalizó el examen después de abril de 2019 debido a la falta de participación. [43] Actualmente, la concesión de licencias obligatorias sigue siendo objeto de gran debate y se percibe como controvertida. [44] [45]
La IEEE Computer Society y la ACM , las dos principales organizaciones profesionales de ingeniería de software con sede en EE. UU., publican guías para la profesión de ingeniería de software. La Guía del IEEE sobre los conocimientos de ingeniería de software - Versión 2004 , o SWEBOK , define el campo y describe el conocimiento que el IEEE espera que tenga un ingeniero de software en ejercicio. El SWEBOK v3 más actual es una versión actualizada y se lanzó en 2014. [5] El IEEE también promulga un "Código de ética de ingeniería de software". [46]
Se estima que hay 26,9 millones de ingenieros de software profesionales en el mundo en 2022, frente a 21 millones en 2016. [47] [48]
Muchos ingenieros de software trabajan como empleados o contratistas. Los ingenieros de software trabajan con empresas, agencias gubernamentales (civiles o militares) y organizaciones sin fines de lucro. Algunos ingenieros de software trabajan por cuenta propia como autónomos . Algunas organizaciones cuentan con especialistas para realizar cada una de las tareas del proceso de desarrollo de software . Otras organizaciones requieren que los ingenieros de software realicen muchas o todas ellas. En proyectos grandes, las personas pueden especializarse en una sola función. En proyectos pequeños, las personas pueden desempeñar varios o todos los roles al mismo tiempo. Muchas empresas contratan pasantes , a menudo estudiantes universitarios o universitarios durante las vacaciones de verano, o pasantías . Las especializaciones incluyen analistas , arquitectos , desarrolladores , evaluadores , soporte técnico , analistas de middleware , gerentes de proyectos , gerentes de productos de software , educadores e investigadores .
La mayoría de los ingenieros de software y programadores trabajan 40 horas a la semana, pero alrededor del 15 por ciento de los ingenieros de software y el 11 por ciento de los programadores trabajaron más de 50 horas a la semana en 2008. [49] Las posibles lesiones en estas ocupaciones son posibles porque, al igual que otros trabajadores que pasan mucho tiempo Durante los períodos sentados frente a una terminal de computadora escribiendo en un teclado, los ingenieros y programadores son susceptibles a fatiga visual, molestias en la espalda y problemas en manos y muñecas, como el síndrome del túnel carpiano . [50]
La Oficina de Estadísticas Laborales de EE. UU. (BLS) contabilizó 1.365.500 desarrolladores de software que ocupaban puestos de trabajo en EE. UU. en 2018. [51] Debido a su relativa novedad como campo de estudio, la educación formal en ingeniería de software a menudo se imparte como parte de un plan de estudios de informática. y muchos ingenieros de software tienen títulos en informática. [52] El BLS estima que entre 2014 y 2024 la ingeniería de software aumentaría un 17%. [53] Esto es inferior a la estimación BLS de 2012 a 2022 del 22% para ingeniería de software. [53] [54] Y está aún más por debajo de su estimación BLS del 30% de 2010 a 2020. [55] Debido a esta tendencia, el crecimiento del empleo puede no ser tan rápido como durante la última década, ya que los trabajos que habrían ido a parar a ingenieros de software en los Estados Unidos se subcontratarían a ingenieros de software en países como India y otros países. países extranjeros. [56] [49] Además, la perspectiva laboral BLS para programadores informáticos, la perspectiva ocupacional de la Oficina de Estadísticas Laborales (BLS) de EE. UU. predice una disminución del -7 por ciento de 2016 a 2026, una disminución adicional del -9 por ciento de 2019 a 2029, una disminución del -10 por ciento de 2021 a 2031. [56] y luego una disminución del -11 por ciento de 2022 a 2032. [56] Dado que la programación informática se puede realizar desde cualquier parte del mundo, las empresas a veces contratan programadores en países donde los salarios son más bajos. [56] [57] [58] Además, el número de mujeres en muchos campos del software también ha ido disminuyendo a lo largo de los años en comparación con otros campos de la ingeniería. [59] Luego está la preocupación adicional de que los avances recientes en inteligencia artificial puedan afectar la demanda de futuras generaciones de ingenieros de software. [60] [61] [62] [63] [64] [65] [66] Sin embargo, esta tendencia puede cambiar o desacelerarse en el futuro, ya que muchos ingenieros de software actuales en el mercado estadounidense huyen de la profesión o envejecen fuera del mercado. en las próximas décadas. [56]
El Instituto de Ingeniería de Software ofrece certificaciones en temas específicos como seguridad , mejora de procesos y arquitectura de software . [67] IBM , Microsoft y otras empresas también patrocinan sus propios exámenes de certificación. Muchos programas de certificación de TI están orientados a tecnologías específicas y administrados por los proveedores de estas tecnologías. [68] Estos programas de certificación están diseñados para las instituciones que emplearían personas que utilizan estas tecnologías.
Varias sociedades profesionales ofrecen una certificación más amplia de habilidades generales de ingeniería de software. En 2006 [update], el IEEE había certificado a más de 575 profesionales del software como Profesional Certificado en Desarrollo de Software (CSDP). [69] En 2008 agregaron una certificación de nivel inicial conocida como Asociado Certificado en Desarrollo de Software (CSDA). [70] La ACM tenía un programa de certificación profesional a principios de la década de 1980, [ cita necesaria ] que se suspendió debido a la falta de interés. La ACM y la IEEE Computer Society examinaron juntas la posibilidad de otorgar licencias a los ingenieros de software como ingenieros profesionales en la década de 1990, pero finalmente decidieron que dichas licencias eran inapropiadas para la práctica industrial profesional de la ingeniería de software. [44] John C. Knight y Nancy G. Leveson presentaron un análisis más equilibrado de la cuestión de las licencias en 2002. [45]
En el Reino Unido, la British Computer Society ha desarrollado una certificación profesional legalmente reconocida llamada Chartered IT Professional (CITP) , disponible para miembros totalmente calificados ( MBCS ). Los ingenieros de software pueden ser elegibles para ser miembros de la Sociedad Británica de Computación o de la Institución de Ingeniería y Tecnología y, por lo tanto, calificar para ser considerados para el estado de Ingeniero colegiado a través de cualquiera de esas instituciones. En Canadá, la Sociedad Canadiense de Procesamiento de Información ha desarrollado una certificación profesional legalmente reconocida llamada Information Systems Professional (ISP) . [71] En Ontario, Canadá, los ingenieros de software que se gradúen de un programa acreditado por la Junta Canadiense de Acreditación de Ingeniería (CEAB) , completen con éxito el examen de práctica profesional (PPE) de PEO ( ingenieros profesionales de Ontario ) y tengan al menos 48 meses de experiencia aceptable en ingeniería son elegibles. obtener una licencia a través de Professional Engineers Ontario y puede convertirse en Professional Engineers P.Eng. [72] Sin embargo, la PEO no reconoce ninguna educación en línea o a distancia; y no considera que los programas de Ciencias de la Computación sean equivalentes a los programas de ingeniería de software a pesar de la tremenda superposición entre los dos. Esto ha provocado controversia y una guerra de certificaciones. También ha mantenido excepcionalmente bajo el número de titulares de P.Eng para la profesión. La gran mayoría de los profesionales que trabajan en este campo tienen un título en informática, no en SE. Dado el difícil camino de certificación para los titulares de títulos que no son de SE, la mayoría nunca se molesta en obtener la licencia.
El impacto inicial de la subcontratación y el costo relativamente más bajo de los recursos humanos internacionales en los países en desarrollo del tercer mundo llevaron a una migración masiva de actividades de desarrollo de software de corporaciones en América del Norte y Europa a la India y más tarde a China, Rusia y otros países en desarrollo. Este enfoque tenía algunos fallos, principalmente la diferencia de distancia/zona horaria que impedía la interacción humana entre clientes y desarrolladores y la transferencia masiva de puestos de trabajo. Esto tuvo un impacto negativo en muchos aspectos de la profesión de ingeniería de software. Por ejemplo, algunos estudiantes en el mundo desarrollado evitan la educación relacionada con la ingeniería de software por temor a la subcontratación en el extranjero (importación de productos o servicios de software de otros países) y a ser desplazados por trabajadores extranjeros con visas . [73] Aunque las estadísticas actualmente no muestran una amenaza para la ingeniería de software en sí; una carrera relacionada, la programación informática parece haberse visto afectada. [74] Sin embargo, la capacidad de aprovechar inteligentemente los recursos marinos y cercanos a la costa a través del flujo de trabajo siguiendo al sol ha mejorado la capacidad operativa general de muchas organizaciones. [75] Cuando los norteamericanos dejan el trabajo, los asiáticos recién llegan a trabajar. Cuando los asiáticos salen del trabajo, los europeos llegan a trabajar. Esto proporciona una capacidad continua para tener supervisión humana de los procesos críticos para el negocio las 24 horas del día, sin pagar compensación por horas extras ni interrumpir un recurso humano clave: los patrones de sueño.
Si bien la subcontratación global tiene varias ventajas, el desarrollo global –y generalmente distribuido– puede tropezar con serias dificultades resultantes de la distancia entre los desarrolladores. Esto se debe a que los elementos clave de este tipo de distancia se han identificado como geográfico, temporal, cultural y de comunicación (que incluye el uso de diferentes idiomas y dialectos del inglés en diferentes lugares). [76] Se han llevado a cabo investigaciones en el área del desarrollo de software global durante los últimos 15 años y se ha publicado un extenso conjunto de trabajos relevantes que resaltan los beneficios y problemas asociados con esta compleja actividad. Al igual que con otros aspectos de la ingeniería de software, se están realizando investigaciones en esta y áreas relacionadas.
Hay varios premios en el campo de la ingeniería de software:
Algunos exigen licencias, certificaciones y cuerpos de conocimiento codificados como mecanismos para difundir el conocimiento de la ingeniería y madurar el campo. [80]
Algunos afirman que el concepto de ingeniería de software es tan nuevo que rara vez se entiende y se malinterpreta ampliamente, incluso en libros de texto y artículos de ingeniería de software y entre las comunidades de programadores y artesanos. [81]
Algunos afirman que un problema central de la ingeniería de software es que sus enfoques no son lo suficientemente empíricos porque la validación de los enfoques en el mundo real generalmente está ausente o es muy limitada y, por lo tanto, la ingeniería de software a menudo se malinterpreta como factible sólo en un "entorno teórico". [81]
Edsger Dijkstra , fundador de muchos de los conceptos actuales del desarrollo de software, rechazó la idea de "ingeniería de software" hasta su muerte en 2002, argumentando que esos términos eran pobres analogías con lo que llamó la "novedad radical" de la informática :
Varios de estos fenómenos se han agrupado bajo el nombre de "Ingeniería de software". Así como la economía se conoce como "La ciencia miserable", la ingeniería de software debería ser conocida como "La disciplina condenada", condenada al fracaso porque ni siquiera puede acercarse a su objetivo, ya que su objetivo es contradictorio en sí mismo. La ingeniería de software, por supuesto, se presenta como otra causa digna, pero eso es una tontería: si lees atentamente su literatura y analizas lo que realmente hacen sus devotos, descubrirás que la ingeniería de software ha aceptado como su estatuto "Cómo programar si no puedes". ". [82]
La idea de la primera Conferencia de Ingeniería de Software de la OTAN, y en particular la de adoptar como título (deliberadamente provocativo) el entonces prácticamente desconocido término "ingeniería de software", creo que surgió originalmente del profesor
Fritz Bauer
.
{{cite web}}
: CS1 maint: numeric names: authors list (link){{cite web}}
: CS1 maint: numeric names: authors list (link)(1) El instituto fue adjudicado competitivamente a Carnegie Mellon en diciembre de 1984 por el Departamento de Defensa de Estados Unidos (DoD) para mejorar el estado de la práctica de la ingeniería de software. ... (2) el SEI impulsa soluciones maduras de valor comprobado hacia un uso generalizado; los ejemplos incluyen el Modelo de Madurez de Capacidades (CMM)...
{{cite book}}
: CS1 maint: multiple names: authors list (link)La ingeniería de software es una disciplina de ingeniería que se ocupa de todos los aspectos de la producción de software, desde las primeras etapas de la especificación del sistema hasta el mantenimiento del sistema después de su puesta en uso. En esta definición, hay dos frases clave:
1. Disciplina de ingeniería Los ingenieros hacen que las cosas funcionen. Aplican teorías, métodos y herramientas cuando son apropiados [. . .] Los ingenieros también reconocen que deben trabajar con limitaciones organizativas y financieras. [. . .]
2. Todos los aspectos de la producción de software La ingeniería de software no se ocupa sólo de los procesos técnicos del desarrollo de software sino también de actividades como la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías para respaldar la producción de software.
Proponemos que la "ingeniería de software" abarca no sólo el acto de escribir código, sino todas las herramientas y procesos que utiliza una organización para construir y mantener ese código a lo largo del tiempo. ¿Qué prácticas puede introducir una organización de software para mantener mejor su código valioso a largo plazo? ¿Cómo pueden los ingenieros hacer que una base de código sea más sostenible y que la disciplina de ingeniería de software sea más rigurosa?
Creemos que la ingeniería de software sólo puede avanzar como disciplina de ingeniería alejándose de su dependencia actual de la promoción y el análisis,...
{{cite book}}
: CS1 maint: location missing publisher (link)Cuando FL Bauer, de la Universidad Tecnológica de Munich, acuñó el término en 1968, lo acogí con agrado. [. . .] Interpreté la introducción del término "ingeniería de software" como un reflejo acertado del hecho de que el diseño de sistemas de software era una actividad por excelencia para el ingeniero matemático. [. . .]. Tan pronto como el término llegó a EE.UU., fue relevado de todo su contenido técnico. Tenía que ser así porque en su significado original era totalmente inaceptable [. . .] Mientras tanto, ingeniería de software se ha convertido en un término casi vacío, como lo demostró claramente Data General, que de la noche a la mañana promovió a todos sus programadores al exaltado rango de "ingenieros de software".
Se pretende que el volumen total de literatura citada sea adecuado para el dominio mediante la finalización de una educación universitaria más cuatro años de experiencia.
Después de que se presentaron las recomendaciones de los paneles, el Consejo ACM concluyó que el marco de un ingeniero profesional con licencia, desarrollado originalmente para ingenieros civiles, no coincide con la práctica industrial profesional de la ingeniería de software e impediría que muchos de los ingenieros de software más calificados obtuvieran una licencia.
{{cite web}}
: CS1 maint: multiple names: authors list (link)