Saltar la navegación

2. La inspiración del equipo

Rétor dice:En nuestro día a día nos rodea una cantidad ingente de información. Toda ella está almacenada en contenedores de datos que se gestionan mediante complejas aplicaciones software desarrolladas para trabajar con estos datos, para manejar toda la información disponible y la nueva que se genera. A lo largo de este recurso vas a conocer las técnicas existentes en el desarrollo software para poner en funcionamiento estas aplicaciones y el recurso desarrollado en la informática para gestión de los datos: las bases de datos.
Pero antes de comenzar, presta atención a los siguientes elementos de esta página porque te pondrán de manifiesto lo latentes que están en tus actividades diarias estos recursos que luego conocerás más a fondo. Te ayudarán a tomar conciencia de la magnitud de los procesos que existen detrás de cada software que nos hace la vida más fácil.

1. Mucha información y...¿pocos medios de gestión?

Persona rodeada de todas las redes sociales compartiendo información.Actualmente, en esta sociedad que vive inmersa en las redes sociales a menudo veis y accedéis a mucha información de vuestro interés. Seguro que os ha surgido la necesidad de guardarla para verla o utilizarla más tarde. En estos casos se os ha planteado quizás la duda de cómo no perderla entre la infinidad de nuevos mensajes, nuevos enlaces, menciones, vídeos, etc. que continuáis recibiendo. En estos casos:

  • ¿Cómo habéis guardado la información de vuestro interés que encontráis por Internet?
  • ¿Qué aplicaciones conocéis que os permiten "tener a mano" los datos o contactos de interés?
  • ¿Conocéis términos como pinear, followers, likes? Explicadlos en el grupo. ¿Creéis que ayudan en esta indexación de la información de interés?

2. La mejor base de datos es Internet

¿Has pensado alguna vez en cómo busca Google sus resultados?¿Y en cómo los muestra? Observa esta imagen fijándote en los diferentes campos marcados en color de una búsqueda realizada en Google:

Imagen con resultados de la búsqueda de un término en Google, que contiene URL, título y descripción de cada resultado.

Efectivamente: Google es una gran base de datos de todas las páginas en Internet. De la imagen puedes deducir que toma tus palabras de búsqueda como palabras clave, pero:

  • ¿Cuáles son los distintos elementos que crees que almacena para una misma página web?
  • ¿En cuál de estos elementos almacenados en su base de datos busca las palabras que escribes en la barra de búsqueda (keywords)?

Lumen dice ¿Una pista?

Observa los diferentes colores de la imagen: marcan tres partes distintas de una web.

3. Colaboración en cadena

Imagen con todos los elementos que intervienen en la base de datos blockchain interconectados.Existen en la actualidad varios tipos de bases de datos. Un tipo, las relacionales, las vamos a estudiar en este recurso. Pero seguro que conoces o has utilizado otros tipos de bases de datos (que, al fin y al cabo, son colecciones de datos que se diferencian en la forma de almacenarlos y trabajar con ellos). ¿Has oído hablar de la tecnología blockchain? ¡Sí! Blockchain es un tipo de base de datos. Si no has oído esta palabra, te mencionamos otra que seguro ha llegado a tus oídos: Bitcoin.

Vamos a escuchar algunas aplicaciones de este tipo de base de datos. En grupo seguid estos pasos:

  1. Visionad el siguiente vídeo e id anotando las respuestas del grupo a las preguntas que se plantean durante el mismo.
  2. Una vez acabado, poned estas respuestas en común en el grupo de la clase.

Mira el vídeo

Si lo necesitas, haz clic aquí para descargar la descripción del video en formato texto .odt
Si lo necesitas, haz clic aquí para descargar la descripción del video en formato texto plano.
También puedes descargar los subtítulos del video en formato vtt, haciendo clic aquí.

Kardia dice ¿Quieres conocer un poco más sobre este vídeo?

Si deseas profundizar un poco en la información del vídeo, echa un vistazo a esta explicación del propio Pablo Herreros.

4. Los primeros equipos

Personas que prueban la garantía de calidad en softwareHemos hablado de la necesidad de un equipo de trabajo para el desarrollo de un proyecto de software. También sabemos ya que en el desarrollo del proyecto, el equipo debe seguir una serie de pasos o fases que aseguran la consecución de objetivos sucesivos hasta llegar al objetivo final. Pero esta metodología no existió siempre, ni siquiera cuando se desarrollaron los primeros proyectos complejos de software. Descubre aquí quién fue la pionera de esta ciencia ahora llamada Ingeniería del Software y que agrupa las tareas en etapas que forman el Ciclo de Vida del Software.

Lee el artículo a continuación y responde a las preguntas:

  • Indica los tres proyectos software mencionados en el artículo en los que estuvo involucrada Margaret.
  • ¿Qué hecho narrado en el artículo pone de manifiesto la importancia de la fase de pruebas en un proceso de desarrollo software?
  • ¿Animaba Margaret a abandonar un proyecto si se cometía algún error en su desarrollo? Indica de qué parte del artículo deduces la respuesta.

Pon en común las respuestas con la clase y debatid sobre la importancia de la coordinación en el desarrollo software.

Lee el artículo

Margaret Hamilton junto con el software de navegación que desarrolló junto a su equipo en el MIT para el proyecto Apolo.
Fotografía del MIT. Margaret Hamilton junto con el software de navegación que desarrolló junto a su equipo en el MIT para el proyecto Apolo.

Durante muchos años parecía que uno de los mayores hitos del siglo XX, la llegada del ser humano a la Luna, hubiera sido cosa de hombres. Y eso no es verdad. Fueron muchas las mujeres que hicieron posible los grandes avances de la carrera espacial. La mayoría de ellas han estado en el anonimato durante muchos años, pero por suerte, están saliendo a la luz…

Una de esas mujeres olvidadas durante largo tiempo es nuestra protagonista de hoy. La mujer que acuñó el término “ingeniería de software”. Una visionaria de la programación informática. La persona que evitó el desastre durante el aterrizaje del Apolo XI. Margaret Hamilton, la primera ingeniera de software.

Margaret Hamilton nació el 17 de agosto de 1937 en Paoli, Indiana, Estados Unidos. Comenzó sus estudios de matemáticas en la Universidad de Míchigan y posteriormente se trasladó al Earlham College, donde se licenció en Matemáticas (con diplomatura en Filosofía) en 1958. Incansable, su deseo era seguir estudiando, pero desgraciadamente, tuvo que dejar sus estudios para trabajar como profesora de matemáticas y francés en un instituto para que su marido pudiera acabar su carrera en Harvard. Posteriormente, y siguiendo su sueño, se mudó a Boston para estudiar matemáticas abstractas en la Universidad Brandeis.

La vida de Hamilton empezó a cambiar en 1960, cuando entró a trabajar en el Departamento de Meteorología del Instituto Tecnológico de Massachusetts (MIT), bajo las órdenes del profesor Edward Norton Lorenz. Gracias a sus conocimientos en matemática, a las lecciones del profesor y el gran esfuerzo que realizó para aprender varios lenguajes de programación por sí misma, fue una de las encargadas en diseñar el software que permitía predecir el tiempo utilizando los ordenadores LGP-30 y PDP-1.

Posteriormente se involucró en el proyecto SAGE, un proyecto del Laboratorio Lincoln del MIT desarrollado entre 1961 y 1963 que, aunque nació como un proyecto de predicción del clima, rápidamente pasó a ser un proyecto militar. En aquel proyecto, Margaret fue la encargada de desarrollar el software para el primer ordenador AN/FSQ-7 que buscaba aviones “no-amigos” en el espacio aéreo norteamericano.

El gran éxito de esta misión militar permitió que Hamilton se pudiera unir al Laboratorio Charles Stark Draper del MIT. En aquel momento, esta unidad estaba trabajando en lo que definitivamente cambiaría la vida de Margaret: el Programa Apolo. Con unos conocimientos en programación extraordinarios, Margaret pronto destacó. Fue la encargada, junto con su equipo, de diseñar parte del software que hacía funcionar el Módulo de Mando y el Módulo Lunar, y probablemente, la persona que evitó el fracaso de la misión. Minutos antes de que el módulo Lunar alunizara, hubo un fallo que hizo saltar todas las alarmas. Gracias a que el software estaba diseñado para priorizar funciones imprescindibles y descartar los que no lo eran mediante la detección precoz de errores, se evitó una sobrecarga en el sistema. Según sus propias palabras “Si el ordenador no se hubiera diseñado para recuperar errores, dudo que el Apolo hubiera aterrizado en la Luna”. Pero lo hizo.

Margaret Hamilton dentro del Módulo de Mando del Apolo.
Fotografía del MIT.. Margaret Hamilton dentro del Módulo de Mando del Apolo

Aprovechando los conocimientos adquiridos en la detección de errores, en 1976 cofundó la empresa Higher Order Software (HOS). Posteriormente, en 1986 creó Hamilton Technologies, también dirigido a la prevención de errores de software.

Margaret Hamilton fue una auténtica pionera en una época en la cual la programación no se consideraba ni ciencia. Y lo hizo con determinación, contra viento y marea, aprendiendo lenguajes informáticos de forma autodidacta. Ayudó a crear lo que serían las bases de la programación, las bases de la ingeniería de software, término que ella misma acuñó. Según cuenta, muchos compañeros de la NASA se burlaron de ella cuando utilizó aquel término por primera vez, y lo siguieron haciendo hasta que un día un “gurú” de la programación le dio la razón: aquel término era correcto y la ingeniería de software una nueva rama de la ciencia.

El esfuerzo de Margaret se ha visto recompensado en los innumerables premios que ha recibido a lo largo de su vida. Además del Exceptional Space Act Award de la NASA, vio reconocida su labor con la Medalla Presidencial de la Libertad en 2006, el mayor reconocimiento concedido a un civil en Estados Unidos.

El otro importante legado de Margaret Hamilton es su entusiasmo para animar a las niñas y jóvenes a estudiar carreras científico-técnicas. Estas palabras suyas, son, simplemente, inspiradoras:

Uno no debería tener miedo a decir “no lo sé” o “no lo entiendo”, o incluso de hacer “preguntas tontas”. Ninguna pregunta es tonta. Aunque las cosas puedan parecer imposibles, aunque los expertos digan que algo es imposible, aunque haya que seguir el camino sola, no hay que tener miedo a estar equivocada, a admitir errores; aquellos que sepan fallar de forma estrepitosa son los que pueden conseguir cosas grandiosas.

Artículo de Mujeres con ciencia, con licencia CC-BY-NC-ND

El Instituto de Tecnología de Massachusetts (MIT por las iniciales de su nombre en inglés, Massachusetts Institute of Technology) es una universidad privada localizada en Cambridge, Massachusetts (Estados Unidos) considerada por numerosos rankings como una de las mejores y más prestigiosas universidades a nivel mundial, manteniendo durante diez años consecutivos el título de la mejor universidad del mundo según la clasificación mundial de universidades QS.

Edward Norton Lorenz (23 de mayo de 1917-16 de abril de 2008) fue un matemático y meteorólogo estadounidense, desarrolló ideas innovadoras sobre la rotación de los fluidos y realizó importantes contribuciones que ayudaron a comprender las dinámicas atmosféricas y las predicciones climatológicas. Fue pionero en el desarrollo de la teoría del caos. Fue quien introdujo el concepto de atractores extraños y acuñó el término efecto mariposa.

El LGP-30, fue uno de los primeros fuera de la plataforma informática. Fue fabricado por la empresa Librascope de Glendale, California, y vendidos y mantenidos por la Compañía Royal Precision Electronic Computer. El LGP-30 fue fabricado por primera vez en 1956 con un precio de venta de $47.000. El LGP-30 fue referido comúnmente como un ordenador de sobremesa. Tenía 26 centímetros de profundidad, 33 pulgadas de alto y 44 pulgadas de largo, exclusivo para la plataforma de la máquina de escribir. El ordenador pesaba aproximadamente 335 kilogramos y fue montado sobre ruedas robustas lo cual facilitó el movimiento del equipo.

PDP-1 (Programmed Data Processor-1) fue el primer computador de la serie PDP de la Digital Equipment, producida por primera vez en 1960. Es famoso por ser el computador más importante en la creación de la cultura hacker en el MIT, BBN y en otras partes. El PDP-1 fue también el hardware original donde se jugó el primer videojuego computarizado de la historia, el Spacewar de Steve Russell.

SAGE es el acrónimo de Semi-Automatic Ground Environment, un operador ambiental que sería empleado por el NORAD durante la Guerra Fría. El propósito de este sistema era expandir la defensa aérea de EE.UU. utilizando la tecnología de radares desarrollada por el MIT durante la Segunda Guerra Mundial.

El Laboratorio Lincoln es un centro de desarrollo e investigación federal gestionado por el Instituto de Tecnología de Massachusetts, universidad privada en Cambridge, y principalmente financiado por el Departamento de Defensa de los Estados Unidos en Boston. Está situado en la base Hanscom de las fuerzas aéreas en la ciudad de Lexington, Massachusetts, y fue fundado en 1951 y se centró en la mejora del sistema de defensa aéreo nacional a través de la electrónica avanzada. Es uno de los lugares considerados “sensibles” teniendo sus imágenes por satélite censuradas en Google Maps.

El computador de interceptación AN/FSQ-7, desarrollado por IBM en sociedad con la Fuerza Aérea de los Estados Unidos. Fue usado en la ejecución de funciones del comando y control para el sistema de defensa aérea SAGE. El AN/FSQ-7 usó 55.000 tubos de vacío, ocupaba un espacio cercano a los 2.000 m², pesaba 275 toneladas y consumía hasta tres megavatios de energía. Los AN/FSQ-7 siguen siendo las más grandes computadoras construidas, y probablemente mantendrán el récord en el futuro. Cincuenta y dos computadores fueron construidos.

El Laboratorio Draper es una organización estadounidense sin ánimo de lucro dedicada a la investigación y el desarrollo en Cambridge, Massachusetts. El Draper se centra en el diseño, el desarrollo, y el despliegue de soluciones tecnológicamente avanzadas para problemas de seguridad nacional, exploración espacial, de la salud y energéticos. Fue fundada originalmente como el MIT Instrumentation Laboratory por el Dr. Charles Stark Draper en 1932. En 1973 el laboratorio se escindió del MIT para convertirse en una organización independiente sin ánimo de lucro.

El Programa Apolo fue un programa espacial tripulado desarrollado por Estados Unidos en la década de 1960 en el marco de la carrera espacial con la Unión Soviética durante la Guerra Fría. El proyecto comenzó en julio de 1960, cuando la agencia espacial estadounidense NASA anunció el programa, como continuación de las misiones Mercury, que tendría como objetivo el sobrevuelo tripulado de nuestro satélite para localizar una zona apropiada con vistas a un eventual alunizaje de astronautas, que cumpliría así el viejo sueño del viaje a la Luna por parte del ser humano. Esto se hizo finalmente realidad en julio de 1969, cuando la misión Apolo 11, comandada por Neil Armstrong, Edwin Aldrin, y Michael Collins alunizó por primera vez en el satélite terrestre.

La Ingeniería de Software es una de las ramas de las ciencias de la computación que estudia la creación de software confiable y de calidad, basándose en métodos y técnicas de ingeniería, y brindando soporte operacional y de mantenimiento.

La Medalla Presidencial de la Libertad (en inglés, Presidential Medal of Freedom) es una condecoración otorgada por el presidente de los Estados Unidos, equivalente a la Medalla de Oro otorgada por el Congreso, considerada como la concesión civil más alta en los Estados Unidos. Está diseñada para proporcionar reconocimiento a las personas que han llevado a cabo "una contribución especialmente meritoria a la seguridad o los intereses nacionales de los Estados Unidos, la paz mundial, cultural o en otras importantes iniciativas públicas o privadas".

Clavis dice Tengo claro el objetivo

Para resolver cualquier tarea es importante conocer exactamente lo que debes realizar y reflexionar sobre las habilidades que tienes que poner en juego para resolverla. De este modo puedes anticipar posibles dificultades y solventarlas antes de que surjan.

¡Mucho ánimo! ¡Seguro que lo haces genial!

5. El proceso creativo del equipo

Seguramente habrás oído más de una vez que en programación se sigue la técnica "Divide y vencerás". En el caso del desarrollo de un proyecto software, verás en este recurso que la necesidad se hace más evidente debido a las dimensiones que suponen el desarrollo del código de todo un proyecto. Para aplicar este principio que divide el proceso complejo en diferentes fases, haciendo más fácil evaluar cada parte y simplificando el trabajo simultáneo de los programadores en cada una de ellas, se desarrolló el ciclo de vida del software, que conocerás a lo largo del recurso.

¿Serías capaz de utilizar tu intuición para ordenar los pasos a realizar en un proceso de creación de software?