1.1 Ingeniería, Ingeniería y Ciencias de la Ingeniería, El SW como artefacto tecnológico

1.1 Ingeniería, Ingeniería y Ciencias de la Ingeniería, El SW como artefacto tecnológico

Actualmente la ingeniería de software se trata sobre la perspectiva de grupo de ingenieros (programadores y diseñadores fundamental, pero también otros roles profesionales como gestores del proceso de desarrollo, análisis, etc.) Y no desde la perspectiva de un programador aislado.

Definición de ingeniería: es la aplicación de un enfoque sistémico y cuantificable al desarrollo, la operación y el mantenimiento de una actividad a desarrollar.

De acuerdo a esta definición podemos mencionar que un ingeniero de software es un desarrollador en sentido amplio, que desempeña un rol como profesional en la producción de software. Por su parte la definición implica investigación y estudio de las actividades de la ingeniería de software, por lo tanto un ingeniero de software tiene que tener el perfil de un investigador.

La ingeniería es la ciencia de la producción, la cuál junto con la reproducción es la más fundamental en las actividades humanas (Auyang 2004).

La asociación de la ingeniería con la producción es fácilmente identificable en muchas ramas de la ingeniería moderna. Un ingeniero civil, por ejemplo se especializa en diseñar y construir obras públicas tales como puentes o carreteras, mientras que un ingeniero químico se especializa en la aplicación industrial de la química. Hoy día además se denomina ingeniería a ciertas subdisciplinas o aspectos muy concretos de disciplinas existentes. Así por ejemplo dentro de las ciencias de la computación se han hecho populares la ingeniería de la usabilidad, cuyo objeto es diseñar y construir interfaces persona-computadora, y la ingeniería de conocimiento cuyo objeto es producir representaciones del conocimiento para un dominio o propósito dado. En los mismos textos de ingeniería de software suelen encontrarse referencias a la ingeniería de requisitos como una subdisciplina.

Ya entonces nos damos cuenta que en todo momento está implícito la palabra disciplina que será la herramienta fundamental que nos ayudará a la construcción o producción de software. En el terreno del conocimiento, la transición de la artesanía a la ingeniería es fundamentalmente un paso del pensamiento practicó desde su intuición hasta el método científico y de la tutela de aprendices a la educación formal universitaria.

Ya entonces podemos enfocar a la ingeniería como el diseño y manufactura de productos complejos.

Ingeniería y ciencias de la ingeniería: las diferentes ramas y disciplinas de la ingeniería difieren en el objeto de la producción, pero todas ellas tienen en común 3 aspectos fundamentales:

A)    La ciencia de la ingeniería, que se ocupa de los principios y mecanismos subyacentes de la disciplina.

B)    Procesos de diseño, que se ocupa en lo general de la fase de conceptualización y una fase de diseño detallado.

C)    Aspectos de gestión y organización, pues como tecnología que se produce implica tanto a personas como a las organizaciones. Además las propias personas que crean tecnología no suelen trabajar aisladas sino en equipos y organizaciones.

En el caso de la ingeniería de software las actividades de diseño serían asimilables a lo que normalmente conocemos como desarrolló. Evidentemente la ciencia de la computación está asociada a esta ingeniería pues abarca principios matemáticos y físicos en el sentido más amplio de los sistemas basados en computadora. Más sin en cambio es importante distinguir entre ciencia de la computación e ingeniería de software, ya que lo especifico de esta última es lo concerniente al diseño y usó del software, utilizando el conocimiento que es el objeto de la ciencia de la computación. Dentro de la ciencia de la ingeniería de software hay que separar los conocimientos científicos que se aplican en la misma y por tal motivo se aplican, cómo son:

A)    Las ciencias que se aplican en la ingeniería de software son la ciencia de la computación y otras ciencias que son de utilidad para aspectos determinados como los relativos a las organizaciones, la economía, la psicología y por supuesto las matemáticas en general. Así cómo estás ciencias también se requieren de conocimientos de física, mientras que por ejemplo para el desarrollo de un software para biotecnología serán necesarios ciertos conocimientos de biología.

B)    La ingeniería de software como ciencia es la aplicación del método científico relacionado con la tecnología y la creación del conocimiento. Esta dedicada al estudio de actividades y centrada en generar teorías, modelos explicativos o enunciados descriptivos sobré la práctica de la ingeniería. “Las leyes de evolución del software (Lehmann, Ramil 2003) son enunciados teóricos sobre el mantenimiento del software”. Uno de estos enunciados puede ser “a medida que un programa evoluciona su complejidad aumenta a menos que se dedique un esfuerzo específico a reducir o mantener dicha complejidad” en realidad los ingenieros en software desconocen estás leyes aunque en su vida diaria las practique y ejecuten.

El software como artefacto tecnológico

El software es la tecnología o producto resultante de las actividades de ingeniería del software. Se tiene que tener en cuenta que el software como tal tiene una naturaleza que lo diferencia de otros productos, lo que hace que tenga una problemática en especial. En años atrás se ha venido manejando el término “crisis del software” haciendo referencia a ciertos problemas específicos y persistentes de la ingeniería del software.

Podemos clasificar estos problemas como problemas asociados al desarrollo tales cómo:

A)    Retrasos en los plazos del los proyectos o la baja productividad de los desarrolladores.

B)    Problemas de uso de los productos finales, cómo por ejemplo la calidad deficiente. Aparte del evidente problema de carácter económico que provocan los retrasos y las diferencias en la estructura que se planteó al inicio del proyecto.

Existen además consecuencia de carácter social, el cual implica la resistencia a la adopción del software. Es un hecho que la ingeniería del software es una actividad compleja y difícil de gestionar, esto debido a la misma naturaleza del software.

¿Que es el software?

El término software suele atribuirse al autor John W. Tukey quien en su artículo publicado en 1957, introdujo por primera vez el término software quién era un sinónimo de programa de computadora, es decir un artefacto que proporciona las instrucciones necesarias para que una computadora lleve a cabo una tarea. Esta definición en la actualidad es demasiado específica pero nos sirve como base para definir al software como un conjunto completo de programas, procedimientos y documentación relacionada que se asocia con el sistema y especialmente con un sistema de cómputo. En un sentido específico, un software lo podemos ubicar como un programa de computadora, pero lo más importante es tener en cuenta es que un programa de computadora por muy sencillo que sea debe contener la documentación necesaria que lo describe (por ejemplo los manuales de usuario), los procedimientos para su instalación o modificación en incluso los datos necesarios para su operación. Un aspecto adicional es que un software siempre ha a estar destinado a evolucionar.

Otros productos de ingeniería como los aviones o los automóviles, no cambian tan fácilmente durante su tiempo de vida, punto importante que diferencia a un desarrollador de software.

ESTE SITIO FUE CONSTRUIDO USANDO