martes, 6 de agosto de 2013

Desarrollo de software

¿Qué es el desarrollo de software?

Un proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso. Algunos autores consideran un modelo de ciclo de vida un término más general que un determinado proceso para el desarrollo de software. Por ejemplo, hay varios procesos de desarrollo de software específicos que se ajustan a un modelo de ciclo de vida de espiral.


http://amsistem.net/img/desarrollosoftware.gif



Historia del desarrollo de software

La historia del software como se ha visto, no surge con los equipos electrónicos, -aunque es con ellos que adopta el nombre- está presente desde el empleo de ábacos o sumadoras mecánicas. Sin embargo, en estos casos, el software no se encuentra incorporado en el equipo. Es aportado por el operario. La máquina analítica de Charles Babbage, incidentalmente, tuvo su software, y fue una amiga de éste, la legendaria lady Lovelace, quien aportó el software que no se llegó a usar, dado que la máquina nunca se completó. En el ENIAC el control de las operaciones estaba parcialmente integrado en el equipo. Dicho control era realizado por un circuito que requería un alambrado específico para cada aplicación. Imaginemos lo engorroso que resultaba re alambrar el circuito cada vez que cambiaba el uso del ENIAC.
Hasta este momento, no se percibía una diferencia sustancial entre el equipo y el control de las operaciones. El concepto de programa de control almacenado en memoria, aportación popularmente atribuida a John von Neumann, precipitó el desarrollo de software. En éste se perfilaron dos tendencias de desarrollo: los programas de aplicación y los de servicio. Estos últimos tenían como propósito facilitar el desarrollo de programas a partir de programas. Algunos programas de servicio fueron simples cargadores que permitieron emplear notaciones como el octal o hexadecimal más compactas que el binario. Otros como los ensambladores simplificaron más el proceso al reemplazar las notaciones numéricas con los símbolos mnemónicos que aportaron para describir a cada instrucción de la máquina. El siguiente paso significativo fue la traducción de fórmulas, que permitió el desarrollo de la historia del software y la descripción de los algoritmos con el empleo de expresiones algebraicas. Dicha traducción se realiza con programas que se denominan compiladores, generan programas que al ejecutarse producen los resultados. Es importante destacar que en tanto los programas de aplicación saturaron los recursos de los equipos, imponiendo sus requerimientos en cuanto a velocidad, precisión en la aritmética y capacidad en los almacenamientos; los programas de servicio repercutieron en la evolución de la arquitectura de los equipos (hardware). Entre las aportaciones más notables, podemos citar el empleo de pilas y el reemplazo de referencias físicas por lógicas. Con la pila (Push Down List), se da lugar al manejo recursivo de los procesos. Por ejemplo, esto ocurre en una oficina administrativa, cuando se pospone la solución de un problema para resolver otro de mayor exigencia. El problema original se suspende y se aborda nuevamente cuando el de mayor exigencia ya ha sido resuelto. Con el reemplazo de referencias físicas por lógicas, se obtuvo un incremento más real que virtual de los recursos disponibles. Almacenamientos secundarios, registros operacionales, memoria virtual, memoria cache e hizo translapes (overlay), son algunas de las técnicas que emplean este concepto. El efecto es similar al de las operaciones bancarias nominales con que las instituciones de crédito prestan varias veces su capital. Los elementos aportados por los programas de servicio, al interrelacionarse configuran el sistema operativo con el cual se administran los recursos disponibles en las computadoras y se establecen líneas de producción para el proceso de programas con una mínima participación del operario: la automatización de la automatización. En los principios de la historia del software, los sistemas operativos brotan como extensiones de los lenguajes. Posteriormente, el fenómeno se invierte de modo que los sistemas operativos configuren el ambiente en el que se desempeñan las aplicaciones y los programas de servicio









No hay comentarios:

Publicar un comentario