Posts Tagged ‘ ingeniería de software ’

Comprensión de lectura

12 Noviembre 2011
Comprensión de lectura

Resulta que el modelo de cascada es quizás uno de los mayores errores de comprensión de lectura en toda la historia de la ingeniería de software. En 1970 Winston Royce escribe un paper donde, desafortunadamente, usa las palabras “grandiosa aproximación” para referirse a la siguiente figura: En realidad Winston Royce escribió este paper para criticar este modelo, pero terminó siendo citado una y otra vez por la comunidad “científica” como un modelo clásico y establecido. Es típico encontrar referencias del tipo: “el modelo de cascada es un modelo probado (Royce, 1970)”. Pero en realidad Royce inventa este diagrama en...

Read more »

¿Qué deberíamos enseñar a los nuevos desarrolladores?

6 Marzo 2011
¿Qué deberíamos enseñar a los nuevos desarrolladores?

La siguiente es mi traducción de un artículo publicado por Bjarne Stroustrup en la Communications of ACM en Enero de 2010. Bjarne Stroustrup es el creador del lenguaje C++. ¿Qué deberíamos enseñar a los nuevos desarrolladores? ¿Por qué? por Bjarne Stroustrup. Publicado en Communications of the ACM (texto original) Vol. 53 No. 1, Pages 40-42 10.1145/1629175.1629192 La ciencia de la computación debe estar en el centro del desarrollo de los sistemas de software. Si no está, debemos confiar en la experiencia individual y en reglas generales, y terminamos con sistemas menos capaces y confiables, desarrollados y mantenidos a costos innecesariamente...

Read more »

Hazlo

1 Marzo 2011

El otro día vi la charla de Ricardo Baeza en Chile Va, y en un momento él da algunos consejos que le han servido en su carrera, como por ejemplo, “no hagan planes, no se proyecten …. si yo hubiera imaginado que iba hacer en mi vida no estaría aquí en este momento… porque cuando uno se proyecta lo hace en algo más pequeño, porque cree que así lo va a lograr. Porque uno no se atreve a ponerse una meta muy grande, porque ¿qué pasa si no llego a esa meta, me voy a frustrar? No”. También aconseja...

Read more »

La ética de Parnas

19 Enero 2011
La ética de Parnas

Un post que tiene relación con la historia de Stalisnav Petrov es este otro, que escribí en 2009, y que incorporo a esta serie de artículos reciclados veraniegos: Pregúntale a Parnas En 1985 Ronald Reagan propone la Iniciativa de Defensa Estratégica, SDI, por sus siglas en inglés, la que llegó a ser conocida como Star Wars, en referencia a las películas de George Lucas. Esencialmente la SDI consistía en un escudo, formado por una red de satélites de detección de lanzamiento de misiles y una serie de armas anti misilísticas, con lasers de alta energía, encargadas de destruir estos misiles...

Read more »

Un Test Más Dificil

5 Enero 2011
Un Test Más Dificil

Dado el éxito que ha tenido un simple test, voy a re editar un desafío que lancé hace 2 años, se aceptan respuestas (esa vez llegó sólo una respuesta, y estaba mala ) Producir un arreglo zig-zag. Un arreglo zig-zag es un arreglo cuadrado de los primeros N2 enteros, donde los números van ordenados de menor a mayor distribuidos en forma de zig zag a lo largo de las anti diagonales de la matriz (ver la figura). Por ejemplo, si N es 5, el programa debe producir este arreglo: 0   1   5   6  14 2   4   7 13  15 3  ...

Read more »

Un simple test

23 Diciembre 2010

Si tienen que seleccionar desarrolladores de software (antes les decíamos programadores pero el término ha sufrido un cierto desprestigio, lamentablemente), entonces les sugiero incorporar a su proceso de selección este simple test: “Escriba un programa que imprima los números del 1 al 100. Pero, para los múltiplos de tres imprima “Fizz” en vez del número, y para los múltiplos de cinco imprima “Buzz”. Para los números que sean múltiplos de ambos, tres y cinco, imprima “FizzBuzz”. Se sorprenderán de los resultados.

Read more »

Lo estamos haciendo mal

2 Agosto 2010
Lo estamos haciendo mal

El siguiente diagrama es el modelo de computador que se enseña a cada estudiante de ingeniería en computación o informática: El problema es que este modelo estaba bien hace unos 40 años atrás, pero no tiene nada que ver con las modernas arquitecturas de computadores. En un interesante análisis Poul-Henning Kamp muestra cómo un algoritmo, que se ha considerado como eficiente por 47 años, que incluso ha sido analizado por grandes lumbreras, como Donald Knuth, puede ser optimizado en un orden de magnitud, si se consideran los efectos de la arquitectura donde se ejecuta. Consideren lo siguiente, hace 30...

Read more »

La disciplina condenada

10 Enero 2010
La disciplina condenada

Pienso que uno de los mejores argumentos en contra de la noción de crisis de software fue dada indirectamente por Edsger W. Dijkstra, en su charla de 1988 “ON THE CRUELTY OF REALLY TEACHING COMPUTIN SCIENCE“ Cierta cantidad de estos fenómenos han sido agrupados bajo el nombre de “Ingeniería de Software”. Así como la economía es conocida como “La Ciencia Miserable”, la ingeniería de software debería ser conocida como “La Disciplina Condenada”, condenada porque ni siquiera puede acercarse a su meta, dado que la misma es en sí misma contradictoria. La ingeniería de software, por supuesto, se presenta a sí misma como...

Read more »

¿De que deuda me hablan?

7 Enero 2010
¿De que deuda me hablan?

¿Se imaginan tener que agregarle un nuevo dormitorio, y un jacuzzi al baño,  a cada departamento de un edificio de 24 pisos, todo durante un fin de semana, y con los inquilinos dentro? Hace unos meses atrás hablé con ex profesor auxiliar de ingeniería de software, en una universidad tradicional. En esa ocasión me mostró un examen, donde se les pedía a los alumnos comentar la afirmación del Chaos Report sobre la alta tasa de fracaso de los proyectos de software. ¿Qué leseras les enseñabas a tus alumnos?! fue mi comentario sarcástico. Me acordé de esa discusión por un post reciente de Alejandro...

Read more »