¿Qué
es ingeniería de software?
Ingeniería de software es
la aplicación de un enfoque sistemático, disciplinado y cuantifica ble al desarrollo, operación y mantenimiento de software, y el estudio de estos
enfoques, es decir, la aplicación de la ingeniería al software. Es la
aplicación de la ingeniería al software, ya que integra matemáticas, ciencias
de la computación y prácticas cuyos orígenes se encuentran en la ingeniería.
Se pueden citar otras
definiciones enunciadas por prestigiosos autores:
Ingeniería de software es el
estudio de los principios y metodologías para el desarrollo y mantenimiento de
sistemas software (Zelkovitz, 1978).
Ingeniería de software es la
aplicación práctica del conocimiento científico al diseño y construcción de
programas de computadora y a la documentación asociada requerida para
desarrollar, operar y mantenerlos. Se conoce también como desarrollo de
software o producción de software (Bohem, 1976).
La ingeniería de software
trata del establecimiento de los principios y métodos de la ingeniería a fin de
obtener software de modo rentable, que sea fiable y trabaje en máquinas reales
(Bauer, 1972).
En 2004, la U. S. Bureau of
Labor Statistics (Oficina de Estadísticas del Trabajo de Estados Unidos) contó
760 840 ingenieros de software de computadora. El término
"ingeniero de software", sin embargo, se utiliza de manera genérica
en el ambiente empresarial, y no todos los que se desempeñan en el puesto de
ingeniero de software poseen realmente títulos de ingeniería de universidades
reconocidas.
Algunos autores consideran
que "desarrollo de software" es un término más apropiado que
"ingeniería de software" para el proceso de crear software. Personas
como Pete McBreen (autor de "Software Craftmanship") cree
que el término IS implica niveles de rigor y prueba de procesos que no son
apropiados para todo tipo de desarrollo de software.
Indistintamente se utilizan
los términos "ingeniería de software" o "ingeniería del software";
aunque menos común también se suele referencia como "ingeniería en software".
En Hispanoamérica los términos más comúnmente usados son los dos primeros.
La creación del software es
un proceso intrínsecamente creativo y la ingeniería del software trata de
sistematizar este proceso con el fin de acotar el riesgo del fracaso en la
consecución del objetivo, por medio de diversas técnicas que se han demostrado
adecuadas en base a la experiencia previa.
La IS se puede considerar
como la ingeniería aplicada al software, esto es, por medios sistematizados y
con herramientas preestablecidas, la aplicación de ellos de la manera más
eficiente para la obtención de resultados óptimos; objetivos que siempre busca
la ingeniería. No es sólo de la resolución de problemas, sino más bien teniendo
en cuenta las diferentes soluciones, elegir la más apropiada.
El
papel evolutivo del software
Hoy en día, el software
tiene un papel dual. Es producto y canal de distribución de este. Como
producto, ofrece la potencia de cómputo presentada como hardware de una
computadora o, de manera más global por una red de computadoras accesible
mediante hardware local y de acceso físico. Sin importar el lugar en que resida
el software, ya sea en un celular o dentro de una computadora central, éste es
un transformador de información; realiza la producción, el manejo, la
adquisición, la modificación, el despliegue o la transmisión de la información
que puede ser tan simple como un solo bit o tan compleja como una presentación
multimedia. En su papel de vehículo para la entrega de un producto, el software
actúa como la base para el control de la computadora (Sistemas Operativos), la
comunicación de información (redes), y la relación y el control de otros
programas (utilerías de software y ambientes).
El software entrega el
producto más importante de nuestro tiempo: información. Transforma los datos
personales (por ejemplo, las transacciones financieras de un individuo) de
forma que los datos sean más útiles en un contexto local; maneja información
alrededor del mundo (Internet) y proporciona los medios para adquirir
información en todas sus formas.
El papel del software de
computadora ha experimentado un cambio significativo en un periodo un poco
mayor a 50 años. La mejorías sustanciales en el desempeño del hardware, los
cambios profundos en las arquitecturas de cómputo, los enormes incrementos en
las capacidades de memoria y almacenamiento, y la amplia variedad de opciones
de salida y entrada han propiciado el surgimiento de sistemas más elaborados y
complejos basados en computadoras.
En la actualidad una enorme
industria del software se ha convertido en un factor dominante en la economía
del mundo industrializado. El programador solitario de la era inicial ha sido
sustituido por equipos de especialistas en software, en los que cada uno se
enfoca en una parte de la tecnología requerida para desarrollar una ampliación
compleja. Hasta ahora, las preguntas formuladas al programador solitario son
las mismas que se hacen cuando se construyen los sistemas basados en
computadoras modernas.
PRIMERA ERA (1950 /
1965)
1.
Se trabajaba con la idea de “Codificar y
Corregir”.
2.
No existía un planteamiento previo.
3.
No existía documentación de ningún tipo.
4.
Existencia de pocos métodos formales y pocos
creyentes en ellos.
5.
Desarrollado a base de prueba y error.
SEGUNDO ERA (1965 –
1972)
1.
Se busca simplificar código.
2.
Aparición de Multiprogramación y Sistemas
Multiusuarios.
3.Sistemas de Tiempo Real apoyan la toma de decisiones.
Aparición de Software como producto. (Casas de Software).
4.
Se buscan procedimientos para el desarrollo
del Software.
TERCERA ERA (1972 –
1985)
1.
Nuevo Concepto: Sistemas Distribuidos.
2.
Complejidad en los Sistemas de Información.
3.
Aparecen: Redes de área local y global, y
Comunicadores Digitales.
4.
Uso de Microprocesadores.
CUARTA ERA (1985
- 1995)
1.
Impacto Colectivo de Software.
2.
Aparecen: Las Redes de Información,
Tecnologías Orientadas a Objetos.
3.
Aparecen: Redes Neuronales, Sistemas Expertos
y SW de Inteligencia Artificial.
4.
La información como valor preponderante
dentro de las Organizaciones.
QUINTA ERA (2000 hasta
hoy en día)
1.
Utiliza algunos requisitos de las eras
anteriores solo que aumenta la omnipresencia de la web, la reutilización de
información y componentes de software. Codificar: Transformar mediante las
reglas de un código la formulación de un mensaje.
2.
Hardware: Componente físico de la
computadora. Por ejemplo: el monitor, la impresora o el disco rígido. El
hardware por sí mismo no hace que una máquina funcione.
3. Multiprogramación: Se denomina programación a la técnica que permite que dos o más procesos ocupen la
misma unidad de memoria principal y que sean ejecutados al "mismo tiempo“.
No hay comentarios:
Publicar un comentario