NOMBRE: FRANCISCO JAVIER PRIEGO BRITO

FACILITADORA: SUSANA SALGADO SEGOVIA

MATERIA: FUNDAMENTOS DE LA PROGRAMACION

CARRERA: DESARROLLO DE SOFTWARE

TEMA: REFLEXION

02 DE FREBRERO DEL 2013 1

……5 LA EVOLUCION…………………………………………………………………………………………………………………….INDICE LOS LENGUAJES DE PROGRAMACION……………………………………………………………………………………3 LOS NIVELES DE LOS LENGUAJES……………………………………………………………………………………………4 LOS PRIMEROS LENGUAJES……………………………………………………………………………………………….17 2 .7 ADDENDUM……………………………………………………………………………………………………………………….….16 MODELO ESPIRAL……………………………………………………………………………………………………………………...13 MODELO V………………………………………………………………………………………………………………………………14 MODELO DESARROLLO INCREMENTAL………………………………………………………………………………….15 MODELO DE DESARROLLO EVOLUTIVO………………………………………………………………………………….……8 CICLO DE VIDA DEL SOFTWARE………………………………………………………………………………………………10 MODELOS DEL CICLO DE VIDA…………………………………………………………………………………………………11 MODELO CASCADA………………………………………………………………………………………………………………….

Sin embargo. 3 . Hoy. hay otros que son más parecidos a pequeños engranajes que impulsan dichos avances importantes. Pero si empezamos a seguir sus raíces nos daremos cuenta de que ha habido ciertos desarrollos que han contribuido en mayor medida a su avance.LOS LENGUAJES DE PROGRAMACION Hay avances en la historia de la humanidad que resultan más evidentes que otros y que tienen su sitio en los grandes y generalistas libros de historia. debemos comenzar por comprender que un ordenador sólo entiende dos cosas: encendido y apagado. en nuestro repaso por las diez tecnologías que cambiaron el mundo. Meterse a examinar la historia de los lenguajes de programación es algo que nos termina desembocando en un enorme laberinto de influencias e influenciadores. las innovaciones de unos eran modificadas por otros y aplicadas en un desarrollo completamente nuevo. o código máquina. Ya desde los primeros días. el 0 y el 1. vamos a hablar de uno de esos engranajes: los lenguajes de programación. Para entender bien el avance que significó la aparición y evolución de los distintos lenguajes de programación. es decir.

a unos y ceros. que es prácticamente a los que nos referimos actualmente al hablar de “lenguajes de programación”. pronto se empezaron a desarrollar lenguajes que permitieran comunicarse con la máquina de una manera más rápida y eficiente. Por eso se crearon los lenguajes de alto nivel. por lo tanto.LOS NIVELES DE LOS LENGUAJES La manera más directa de comunicarle órdenes a un ordenador es hablarle en su idioma. Cuando se elabora un programa en un lenguaje de alto nivel. pero con ellos resulta muy complicado y laborioso estructurar programas. se tratan de lenguajes pensados para ser entendidos con más facilidad por humanos. A este proceso se le conoce como compilación 4 . Tanto el ensamblador como el código máquina son denominados lenguajes de bajo nivel. Sin embargo. para poder hacerlo funcionar debemos traducirlo al código máquina. En resumidas cuentas. es decir. eso no significa que sea la manera más práctica ni la más rápida para un ser humano. Los lenguajes de bajo nivel son muy simples. un lenguaje cuya estructura es muy parecida a la del código máquina sólo que con letras y palabras. El primer paso en este sentido fue el lenguaje ensamblador.

Desde su creación. Backus en IBM. Otros lenguajes como LISP y COBOL vinieron después. Pero lo que tenían todos en común es que estaban principalmente orientados a unas ciertas tareas específicas y su uso estaba restringido a científicos y matemáticos Sin embargo. creado por el equipo de John W. creado en 1964 por John George Kemeny y Thomas Eugene Kurtz con el propósito de ser un lenguaje fácil de usar y que pudiera utilizarse para cualquier cosa.LOS PRIMEROS LENGUAJES Básicamente. los lenguajes nacen y evolucionan por dos razones: para aprovechar los avances tecnológicos y para facilitar el trabajo de los programadores. Esto hizo surgir la necesidad de elaborar lenguajes que fueran más sencillos y que permitiesen el aprovechamiento de los ordenadores para tareas más generales. Vio la luz a mediados de 1954 y aunque se recibió con escepticismo entre la comunidad de desarrolladores de entonces (que preferían seguir utilizando ensamblador). pronto probó su utilidad y su adopción se extendió ampliamente. 5 . El que se considera en la práctica como el primer lenguaje de alto nivel es Fortran. El primero en aparecer con estas características fue BASIC. con la reducción del tamaño y coste de las máquinas. surgieron multitud de variantes que se siguen utilizando hasta la actualidad. los ordenadores se empezaron a popularizar en las empresas.

sino de medio nivel. Por cierto. fue por medio de él que Ritchie y Ken Thompson escribieron uno de los sistemas operativos también más influyentes en su campo: Unix. que fue desarrollado principalmente para enseñar programación y luego creció hasta convertirse en una herramienta comercial. 6 . fue el lenguaje de alto nivel principal que se usó para el desarrollo del Apple Lisa. el lenguaje que sin duda más impactó no sólo en esta época sino en las siguientes fue uno con un nombre mucho más simple que todos los anteriores: C. Desarrollado entre 1969 y 1973 por el recientemente fallecido Dennis Ritchie.BASIC tenía en parte una cierta orientación educativa. En realidad. Su creador fue Niklaus Wirth que lo publicó en 1970. Sin embargo. A su vez. como también lo tuvo el lenguaje que apareció seis años más tarde: PASCAL. es considerado como uno de los lenguajes más influyentes en la historia de la informática. pues tiene algunas parte de ensamblador. C no es considerado como un lenguaje de alto nivel.

eso no quiere decir que no se haya producido. Ruby (1993) o Java (1995). Por ejemplo. Aunque con la entrada en el nuevo siglo (y milenio) la aparición de nuevos lenguajes se ha visto reducida. una modificación de C hecha por Bjarne Stroustrup.NET(ambos de Microsoft) o. como por ejemplo MS Office o Firefox. más recientemente (en el 2009). Se le considera el lenguaje de programación más popular de la historia y muchos de los programas más conocidos y usados están escritos en él. encargada de ejecutar el bytecode resultante de compilar el código Java. 7 . Go. tenemos C# y Visual Basic . Éste último llamó mucho la atención por ser capaz de correr en diferentes equipos y sistemas operativos a través de su máquina virtual. el cual coge características de otros lenguajes como C o Lisp.LA EVOLUCIÓN Los años ochenta son una época en las que se consolidan ideas ya existentes y se toman elementos e ideas de las décadas anteriores como bases para construir nuevos lenguajes. De entre los lenguajes aparecidos en esta década. En 1980 se crea uno de los lenguajes más utilizados desde entonces: C++. también cabe destacar la creación por parte de Larry Wall de Perl en 1987. como Python (1991). desarrollado por Google. En los noventa hacen su aparición también un buen número de lenguajes que son muy utilizados en la actualidad.

¿Y que tienen que ver estos con un lenguaje para programar? Fácil: los desarrolladores del lenguaje tenían como objetivo que usar este lenguaje fuese divertido. finanzas e instituciones gubernamentales. el conocido grupo de humoristas británicos. las decisiones son tomadas… de otra manera. Nombres prácticos. Pero en otros casos. podemos encontrarnos con que Fortran es una contracción deThe IBM Mathematical Formula Translating System. que reflejan lo nombrado. debido a que estaba orientado a negocios. quedándose tan sólo con el For de Formula y el tran de Translating. C sin duda es el epítome de la simplicidad. Pura lógica.ADDENDUM: LOS NOMBRES Y es que bautizar una creación no siempre es una tarea fácil. COBOL es el acrónimo de COmmon Business-Oriented Language. ¿El por qué de su nombre? Porque muchas de sus características provenían de un lenguaje anterior llamado… Sí: B. 8 . Por su parte. o unas siglas que sonasen bien a las que luego poner un significado. Muchas veces simplemente se optó por un acrónimo más o menos sonoro. De los mencionados en este texto. Pero… ¿Lo hacen también otros como Python? Pues sí:Python proviene de Monty Python.

su creador quería un nombre de connotaciones positivas. va.En el caso de Perl. por lo tanto lo sacó de la parábola de la perla. que dice: “El Reino de los Cielos es semejante a un mercader que busca perlas preciosas. que no significa absolutamente nada (por muchos acrónimos que le achaquen después). http://www.genbeta. así que ni corto ni perezoso simplemente alteró el nombre y terminó con el que conocemos: Perl. Pero resultó que ya había un lenguaje llamado PEARL. Cuando encuentra una de gran valor.com/genbeta/los-lenguajes-de-programacion-diez-tecnologias-quecambiaron-el-mundo-v 9 . del evangelio de San Mateo. vende todo lo que tiene y la compra”. .

El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación. para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados. El ciclo de vida básico de un software consta de los siguientes procedimientos:  Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.  Análisis de los requisitos y su viabilidad: recopilar. en los plazos de implementación y en los costos asociados. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto. 10 . desde la fase inicial hasta la fase final. Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.    Diseño general: requisitos generales de la arquitectura de la aplicación. es decir. examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. Diseño en detalle: definición precisa de cada subconjunto de la aplicación.CICLO DE VIDA DEL SOFTWARE El término ciclo de vida del software describe el desarrollo de software. Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. permite a los desarrolladores concentrarse en la calidad del software.

  Implementación Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo). El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.  Integración: para garantizar que los diferentes módulos se integren con la aplicación. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. 11 . para garantizar que el software cumple con las especificaciones originales.  Prueba beta (o validación).  Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.

Desde 10 a 15 años atrás. por ser restrictivo y rígido. fue definido por Winston Royce a fines del 70. los modelos de ciclo de vida se han actualizado para reflejar las etapas de desarrollo involucradas y la documentación requerida. este modelo fue sujeto a críticas. de manera que cada etapa se valide antes de continuar con la siguiente etapa. además de proveer un espacio de trabajo detallado de la elaboración del software Para facilitar una metodología común entre el cliente y la compañía de software. El primer modelo de ciclo de vida del software. ayudando a administrar el progreso y desarrollo. 12 . Se ocupa en describir las fases principales del desarrollo de software. "Cascada".MODELOS DE CICLO DE VIDA Define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software.

MODELO EN CASCADA El modelo de ciclo de vida en cascada comenzó a diseñarse en 1966 y se terminó alrededor de 1970. Se define como una secuencia de fases en la que al final de cada una de ellas se reúne la documentación para garantizar que cumple las especificaciones y los requisitos antes de pasar a la fase siguiente: 13 .

http://es.kioskea.net/contents/genie-logiciel/cycle-de-vie.php3 14 .MODELO V El modelo de ciclo de vida V proviene del principio que establece que los procedimientos utilizados para probar si la aplicación cumple las especificaciones ya deben haberse creado en la fase de diseño.

Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo.MODELO DE DESARROLLO INCREMENTAL Existen riesgos en el desarrollo de sistemas largos y complejos.es más fácil determinar si los requerimientos para los niveles subsiguientes son correctos. 15 . pueden ser arreglados antes del comienzo del próximo incremento. Un sistema pequeño es siempre menos riesgoso que construir un sistema grande. La forma de reducir los riesgos es construir una parte del sistema. Los errores de desarrollo realizados en un incremento.

Un prototipo es construido de una manera rápida tal como sea posible. el modelo evolutivo asume que los requerimientos no son completamente conocidos al inicio del proyecto. El desarrollo de software en forma evolutiva requiere un especial cuidado en la manipulación de documentos. la especificación de requerimientos es actualizada. para el propósito explícito de aprender sobre los requerimientos del sistema. Modelo de Prototipado de Requerimientos El prototipado de requerimientos es la creación de una implementación parcial de un sistema. Basada en esta retroalimentación. desarrollados para distintas versiones del software. programas. datos de test.MODELO DE DESARROLLO EVOLUTIVO El modelo de desarrollo evolutivo construye versiones sucesivas de un producto. 16 . etc.

tiene la capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.Modelo Espiral Basada en la necesidad continúa de refinar los requerimientos y estimaciones del proyecto. en este tiempo se dedica un esfuerzo considerable al diseño. puede ocurrir el riesgo que no se defina bien los objetivos por el cual el desarrollo puede ser caótico. se aprueba las diferentes etapas.com/modelos-ciclo-vida-software 17 . Modelo Concurrente El modelo concurrente provee una meta-descripción del proceso software. una vez que comienza el diseño. cambios a los requerimientos son comunes y frecuentes. es decir que cuando una mayoría de los requerimientos comienzan a ser bien entendidos. Los requerimientos son denominadas "líneas de base".hanantek. Sin embargo. http://www. Efectivo para proyectos pequeños donde con la retroalimentación dada por el cliente.

Sign up to vote on this title
UsefulNot useful