Evolución de la ingeniería de software: de un arte a una disciplina de ingeniería

La ingeniería de software es una técnica sistemática y rentable para el desarrollo de software . Es un enfoque de ingeniería para desarrollar software.

Por ejemplo: si alguien quiere viajar de Punjab a Delhi. Hay dos enfoques que se pueden seguir para lograr el mismo resultado:

  1. El enfoque normal es simplemente salir y tomar el autobús/tren que esté disponible.
  2. Se construye un enfoque sistemático como Primero verifique en Google Maps sobre la distancia y luego de analizar el tiempo de los trenes y autobuses en línea y luego de eso, coincida con la preferencia del usuario, suponga que el usuario tiene algún trabajo hasta las 4:00 p. m. y los horarios de los trenes son: 1:00 p. m., 6:00 p. m., el usuario elegirá la franja horaria de las 6:00 p. m. y llegará a Delhi.

A partir de la situación anterior, se puede analizar fácilmente que la creación de un enfoque sistemático es más óptima y rentable en términos de tiempo y costo en comparación con un enfoque normal. Esto mismo ocurrirá durante el diseño del software. Entonces, en ingeniería de software, trabajar en un enfoque de ingeniería o sistemático es más beneficioso.

¿La ingeniería de software es una ciencia o un arte?

La mayoría de la gente piensa que escribir un programa de buena calidad es un arte. Así que discutámoslo como un Arte o una Ciencia. Al igual que otras ingenierías, las ramas suponen Ingeniería mecánica. Se basa en la ciencia donde hay reglas y nombres específicos para cada componente, técnica y principio de funcionamiento relacionado con él y antes de que se estandaricen, la experiencia se marca como su regla general y, sobre la base de ella, las reglas se estandarizan por varios organizaciones De manera similar, en Ingeniería de Software se hace un uso intensivo del conocimiento que se obtiene de la experiencia de los profesionales. Así, varias Organizaciones o Investigadores organizaron sistemáticamente la experiencia de los practicantes en la forma teórica. Antes de que estos se estandaricen, la experiencia actúa como la regla del pulgar. Así, como cualquier otra disciplina de ingeniería,

Evolución de la Ingeniería de Software De un Arte a una Disciplina de Ingeniería:
Los principios de la Ingeniería de Software han evolucionado durante los últimos sesenta años con las contribuciones de varios investigadores y profesionales del software. Desde el principio, la Ingeniería de Software actúa como un Arte, luego con el tiempo, se transformó en un oficio y finalmente en una Disciplina de Ingeniería.
Inicialmente, los programadores usaban un estilo de programación Ad Hoc . Ad hocla programación es una solución accesible de manera no planificada o desorganizada. En este tipo de estilo de programación, no se crea un plan sobre cómo crear la estructura y los pasos para completar la tarea de programación, pero sin tener un enfoque sistemático, el problema debe resolverse en el tiempo requerido. Este estilo ahora se conoce como estilos exploratorio, compilar y arreglar, y codificar y arreglar.
Al igual que en el mundo actual, varios investigadores y científicos trabajan en aquellas cosas que ni siquiera son necesarias, pero durante el período inicial, los programadores trabajaron en aquellas cosas que realmente se necesitan. Pero a medida que pasa el tiempo, la Programación Ad Hoc causará varios problemas que darán como resultado una menor eficiencia y se adoptará otro enfoque, es decir, un enfoque sistemático.

Comencemos con el proceso detallado paso a paso de la evolución de la ingeniería de software. Se discuten los siguientes pasos:

  1. La ingeniería de software como arte
  2. Transición de la ingeniería de software del arte al oficio
  3. Transición de ingeniería de software de oficio a una disciplina de ingeniería

1. Ingeniería de software como arte:
Ingeniería de software como arte significa que esto solo puede ser aprendido por personas específicas y otras personas no pueden trabajar en ellas.

Por ejemplo: en la antigüedad, solo unas pocas personas sabían hacer adornos de oro. Quienes conocen la fabricación de Adornos de Oro lo mantuvieron en secreto y lo revelarán a su generación genética. Entonces, en este momento, esto se conoce como Arte y durante ese tiempo la precisión era muy inferior.
Lo mismo en el desarrollo de software, solo unas pocas personas conocen el diseño y la codificación de software y en ese momento no existe un conjunto de reglas o instrucciones para el diseño de software. Y aquellos que pueden escribir código de manera eficiente y esencialmente corregir errores se consideran competentes y aquellos que no son buenos en programación y no sabían sobre eso se preguntaron cómo podrían escribir código elegante y correcto sin esfuerzo cada vez.
Al igual que los adornos dorados, no se diseñan de manera eficiente de la misma manera que la codificación del programa no se realiza de manera eficiente debido a varios problemas que degradan la eficiencia del software, pero a la vez la eficiencia no se considera un aspecto importante.

2. Transición de la ingeniería de software de arte a artesanía:
la ingeniería de software se transforma de arte a artesanía cuando aumente el área de personas que conocen el diseño y la codificación de software.
Por ejemplo: cuando el secreto de la fabricación de adornos de oro se revela a la única generación tras generación que aumentará el número de personas en ese arte y convertirá el arte en un oficio donde se aumenta la precisión.
Lo mismo en Ingeniería de Software, se introdujo la Licenciatura Específica y el Doctorado en las Universidades y algunas personas específicas irán más allá para aprender y hay una cierta regla que se debe cumplir para tomar esa licenciatura. Entonces, el número de personas que aumenta en esa área, comienzan a investigar al respecto y crean estándares y estilos para la codificación y el desarrollo de software que deben seguirse y estos estándares ayudarán a crear un software menos libre de errores.

Evolution of Software Engineering  from ART to ENGINEERING discipline.

Como el oro, los adornos están tomando formas decentes y se vuelven eficientes. De la misma manera, la escritura de programas también se ha vuelto eficiente en términos de reutilización y eficiencia del código, pero aún así, a veces, la eficiencia no se considera un aspecto importante.     

3. Transición de ingeniería de software de disciplina artesanal a ingeniería:
en el mundo actual, la ingeniería de software actúa como una disciplina de ingeniería en la que todos pueden aprender a diseñar y codificar software, independientemente de si están obteniendo un título o no.
Por ejemplo: en el mundo de hoy, todos pueden aprender a hacer adornos de oro y la precisión ha aumentado mucho más con la ayuda de varias máquinas. Además, se convierte en un estudio profesional donde las personas aprenderán sobre ¿cómo? ¿Por qué? La ciencia detrás de esto, etc.
Lo mismo ocurre en la ingeniería de software, donde todos pueden aprender sobre el desarrollo de software con o sin estudios profesionales y la precisión del desarrollo de software aumenta con la ayuda de los estándares y las reglas mejoradas creadas por los investigadores.
Los principios de la ingeniería de software ahora se usan ampliamente en la industria y nuevos principios continúan emergiendo a un ritmo muy rápido.

Publicación traducida automáticamente

Artículo escrito por jagroopofficial y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *