4.1.
INGENIERIA DE SOFTWARE
Es una disciplina formada por
un conjunto de métodos, herramientas y técnicas que se utilizan en el
desarrollo de los programas informáticos (software).
Esta disciplina trasciende la
actividad de programación, que es el pilar fundamental a la hora de crear una
aplicación. El ingeniero de software se encarga de toda la gestión del proyecto
para que éste se pueda desarrollar en un plazo determinado y con el presupuesto
previsto.
La ingeniería de software, por
lo tanto, incluye el análisis previo de la situación, el diseño del proyecto,
el desarrollo del software, las pruebas necesarias para confirmar su correcto
funcionamiento y la implementación del sistema.
Cabe destacar que el proceso
de desarrollo de software implica lo que se conoce como ciclo de vida del
software, que está formado por cuatro etapas: concepción, elaboración,
construcción y transición.
Objetivos:
- Facilitar el control del proceso de desarrollo de software.
- Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.
- Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.
4.2.
INGENIERIA DE SOFTWARE VS
INGENIERIA DE SISTEMAS
Las Diferencias
entre estas ingenierías son las siguientes:
- El ingeniero de software está más enfocado al desarrollo de las soluciones de software mediante el uso de las ciencias de la computación, mejor dicho, a echar código.
- El ingeniero informático por su parte debe estar en capacidad de analizar los problemas que tienen que ver con el manejo de la información y diseñar una solución para los mismos.
- La ingeniería de software es como una especialización o división de la ingenieríainformática, y también uno de los pilares fundamentales para que esta exista.
EJEMPLO:
En una empresa que acaba de surgir
necesitan vender sus productos por internet, y no tienen un sistema de
información adecuado para el manejo interno de la empresa. El ingeniero
informático debe estar en capacidad de analizar la cadena de producción de
dicha empresa, saber dónde se genera la información y el flujo de la misma,
comprender como hace la empresa para saber cuánto le costo cada producto, a
quienes les vende, cuanto está perdiendo o ganando, cuando tiene que generar
nuevas órdenes de producción, que procesos hacen que se genere nueva
información o que se modifique la ya existente, y asi mismo diseñar una
solución que permita el funcionamiento óptimo de la empresa. Esto por ejemplo
puede llevar a la conclusión de que necesita una base de datos, que se comunica
con una aplicación interna para el manejo de las cuestiones de la empresa y con
un sitio web desde el cual se generan los pedidos y se le informa al cliente
cuando serán despachados. El ingeniero de software es el encargado de hacer
esta implementación (la aplicación interna, la base de datos, la página web)
4.3.
CRISIS DEL SOFTWARE
El término
“Crisis del Software” fue acuñado a principios de los años 70, cuando la
ingeniería de software era prácticamente inexistente. El término expresaba las
dificultades del desarrollo de software frente al rápido crecimiento de la
demanda por software, de la complexidad de los problemas a ser resueltos y de
la inexistencia de técnicas establecidas para el desarrollo de sistemas que
funcionaran adecuadamente o pudieran ser validados.
La percepción
de que esta crisis existía empezó a mediados de los años 60. Una de las
primeras referencias al término, y de las más notables, fue hecha por
E.W.Dijkstra, en el discurso que pronunció durante la entrega del premio Turing
en 1972.
En este
trabajo abordaremos porque se produjo esta crisis, y cuál fue el camino adoptado para
resolverla, o minimizar sus efectos de algún modo.
Básicamente, la crisis del
software se refiere a la dificultad en escribir programas libres de defectos,
fácilmente comprensibles, y que sean verificables. Las causas son, entre otras,
la complejidad que supone la tarea de programar, y los cambios a los que se
tiene que ver sometido un programa para ser continuamente adaptado a las
necesidades de los usuarios.
Además, no existen todavía
herramientas que permitan estimar de una manera exacta, antes de comenzar el
proyecto, cuál es el esfuerzo que se necesitará para desarrollar un programa.
Este hecho provoca que la mayoría de las veces no sea posible estimar cuánto
tiempo llevará un proyecto, ni cuánto personal será necesario. Cuando se fijan
plazos normalmente no se cumplen por este hecho. Del mismo modo, en muchas
ocasiones el personal asignado a un proyecto se incrementa con la esperanza de
disminuir el plazo de ejecución.
No hay comentarios:
Publicar un comentario