miércoles, 24 de abril de 2013

4. DESARROLLO


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ía 
    informá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