¿Es la ingeniería de software una rama de la informática?

Gracias por el A2A.

Primero, abordemos algunos mitos. La verdad es que la informática no es una gran ciencia, y la ingeniería de software no es una verdadera disciplina de ingeniería. Esto no es un ataque, ya que estoy profundamente involucrado en ambas áreas; Es solo un reconocimiento de la naturaleza de las disciplinas. The Sciences of the Artificial de Herb Simon es una excelente explicación del fenómeno, pero es complejo y lleva a una conclusión simple: campos como la ingeniería de software y CS proceden como deben.

En segundo lugar, hay poca relación entre CE y la ingeniería de software (lo que no quiere decir que no exista). La ingeniería de software se ocupa de muchos, muchos problemas, y el menos complicado de estos es el hardware. Como resultado, la ingeniería de software no encaja entre los dos (aunque, como otros describen, puede parecer de esta manera, según la organización de los departamentos).

Lo que nos lleva al tercer punto, que es que la ingeniería de software estudiada versus la ingeniería de software practicada son dos cosas muy diferentes. Como alguien con una carrera pasada como desarrollador / ingeniero de software y una maestría en ingeniería de software, soy escéptico de los programas de ingeniería de software de pregrado. Es un campo que no puede existir fuera de contexto. No es diferente a la medicina; después de terminar una licenciatura y luego la escuela de medicina, eres legalmente médico (una vez que pasas ciertos exámenes), pero no tienes licencia para practicar por tu cuenta, porque solo conoces el aula (y pasan mucho, mucho más tiempo en instalaciones clínicas que nuestros estudiantes gastan en pasantías, por lo general).

La idea de que la ingeniería de software es un subconjunto de CS, como si CS es una suma abstracta de campos que abarca por completo la ingeniería de software (o cualquier otro subcampo), es básicamente un no iniciador. Si CS abarca la ingeniería de software, entonces CS debe ser el propietario de los aspectos de comunicación, ciencias sociales y gestión del campo, y CS no habla de estas áreas.

En la práctica, la ingeniería de software es una práctica multidisciplinaria e interdisciplinaria que produce sistemas de software grandes y complejos, y a veces lo hace razonablemente bien. Incluye un gran número de personas que no son desarrolladores o programadores y no tendrán títulos que incluyan las palabras “ingeniero de software”. Sin un grupo de profesionales dedicados de múltiples campos, los sistemas de software complejos no pueden suceder. El software importante siempre hace algo y usted necesita conocer el dominio de ese algo para comprender el software, y mucho menos entender cómo construirlo o extenderlo. Si bien un grupo de profesores que estudian y enseñan ingeniería de software pueden residir en un departamento de CS, es muy probable que haya otros profesores de CS en el departamento que se ofendan porque la ingeniería de software carece de algún tipo de pureza mítica.

Dependiendo de la escuela, puede haber una superposición entre Math, CompSci, SoftEng, CompEng e Electrical Engineering. De hecho, este es aproximadamente el orden en el continuo desde matemática pura hasta hardware casi puramente aplicado.

… Y, por supuesto, no todas las escuelas tienen todos los programas (y algunas escuelas también tienen un programa de negocios / CompSci en MIS también). En San Jose State, el programa SoftEng está técnicamente bajo la Facultad de Ingeniería, pero se ejecuta como una colaboración entre los departamentos de CompE y CompSci).

SoftEng generalmente se ocupa más del proceso de poner en marcha grandes proyectos. SoftE generalmente tiene más teoría y lógica de negocios que CompE con menos hardware, y más aplicaciones prácticas y escalas / menos teoría y paradigmas computacionales que CompSci.

Desde la perspectiva de un gerente de contratación, los tres CS / SoftE / CompE son bastante comercializables; siéntase libre de hacer lo que le guste.

En general, la ciencia se ocupa de la adquisición de conocimiento de una manera sistemática y verificable que puede ser fácilmente replicada. La ingeniería se ocupa de aplicar el conocimiento para diseñar cosas de manera inteligente.

Los dos están estrechamente relacionados pero son diferentes. La informática se preocupa por los principios y métodos de procesamiento de la información (también conocida como informática ). Por ejemplo, estudiar cómo se maneja una lista vinculada en la memoria de su computadora es una tarea informática.

La ingeniería de software se ocupa de aplicar principios de ingeniería para diseñar software de manera inteligente (como usar ciertos paradigmas para organizar grandes bibliotecas de códigos). Un ejemplo es escribir una aplicación web que organice el código Javascript en función de para qué se usan las funciones o variables en ese código (como en el paradigma Modelo-Vista-Controlador).

Creo que depende de a quién le preguntes. Sin embargo, desde mi perspectiva, sí. La ingeniería de software puede considerarse como una disciplina de ingeniería separada, pero la informática debe considerarse como el campo principal. La informática incluye los algoritmos, métodos y herramientas; La ingeniería de software tiene que ver con la mecánica de transformar la idea en un producto entregable.

Es una pregunta interesante y llega a algo de la filosofía de la ingeniería y la ciencia, y cómo se relacionan los dos. Si consideramos que la ingeniería es esencialmente ciencia aplicada, entonces podemos ver la ingeniería de software como una consecuencia de la informática.

Gracias por la pregunta

Son dos cosas diferentes, aunque generalmente son enseñadas por el mismo departamento. Joseph Anda lo expresó amablemente cuando dijo que la ciencia se trata de la adquisición de conocimiento y la ingeniería se trata de la aplicación del conocimiento.

Sería menos confuso si la ingeniería de software y la informática se separaran a diferentes departamentos en todas las universidades. Sin embargo, eso no sería práctico en la mayoría de los casos, ya que actualmente (1) la mayoría de las personas que estudian ciencias de la computación quieren ser ingenieros de software, y (2) la distancia entre la adquisición y el uso del conocimiento en la computación es mucho menor que en las ciencias físicas.

No sé si rama sería el término correcto, ya que una rama podría evolucionar de forma independiente. Más como un subconjunto, tal vez.

Para obtener más detalles, consulte la respuesta de Igor Benício de Mesquita a ¿Cuál es la principal diferencia entre la informática y la ingeniería de software?

¡Atentamente!

Yo diría que las bases para ambos son las mismas, pero luego se dividieron en los niveles superiores. CS se vuelve más teórico, mientras que SW Eng se vuelve más práctico. Una de las cosas más importantes en SW Eng es la formalización de lo que funciona, en muchos casos, las técnicas utilizadas por buenos / grandes programadores y equipos de programación desde la década de 1960.

Si. Puede variar según la universidad, pero la ingeniería de software suele formar parte del departamento de informática.

Creo que podría cambiar algún día. Por ejemplo, la Ingeniería Informática es parte del departamento de Ingeniería. Supongo que el lado del hardware está más establecido, en términos de proceso y certificación profesional. Pero esperaría que la disciplina de ingeniería de software se trasladara a ingeniería una vez que se establecieran las certificaciones apropiadas, algún día …

Creo que un departamento de informática debería centrarse en los aspectos académicos / de investigación de la informática, mientras que todos los aspectos comerciales se trasladarían a un departamento de ingeniería.

No es una rama, pero es uno de los temas. Explica el proceso de desarrollo del software. Tiene SDLC, pruebas de software, etc. en su plan de estudios.

More Interesting

¿Cuál será el código equivalente de este programa (lea un archivo monocromático .BMP) en C ++?

SVNIT tiene ingeniería informática, mientras que otras universidades tienen ciencias informáticas. Entonces, ¿es lo mismo?

¿Qué significa decir que un algoritmo es sólido y completo?

¿Cuál puede ser una mejor manera de prepararse para el ingeniero informático AAI JE?

¿Por qué la capacidad de almacenamiento de la tarjeta de memoria tiene la forma de potencias de 2?

¿Debo estudiar Ingeniería informática o CS?

¿Cuál es la diferencia entre B.Sc. informática, B.Tech informática e ingeniería y B.Tech ingeniería informática?

¿Qué habilidades debe tener un ingeniero de sistemas informáticos?

¿Es posible matricularse en una universidad de los EE. UU. Con poco menos del 65% en ingeniería informática en Nepal?

Si hoy fuera a escribir un sitio web de tipo de medios sociales como Facebook, Twitter o incluso Quora, ¿sería más inteligente usar C ++, Scala, Python (estoy pensando) o cualquier otro idioma como Haskell - Opiniones?

Construir un laboratorio en casa para practicar en productos VoIP, tráfico y comenzar a cavar en la ingeniería de TI, agruparse mientras experimenta en la web (o no) herramientas de monitoreo y administración. ¿Cuál es una posible solución de laboratorio, especificaciones, los servidores incluidos y las herramientas de administración para comenzar?

¿Cuál es la diferencia entre informática, ingeniería informática e ingeniería eléctrica?

¿Qué es mejor, BMSCE Information Science o SJCE Computer Science Engineering?

¿Cómo cambian realmente las computadoras entre 0 y 1?

Estoy en tercer año de ingeniería informática y todavía no soy bueno en programación lógica, ¿cómo puedo superar esto en 3 meses?