Está en la página 1de 7

No silver bullet

DANIEL JOSÉ SALAS ÁLVAREZ

Ingeniería de Software

INTEGRANTES:
Elkin Humanes
Jhor Agamez
INGENIERÍA DE SISTEMAS
2021-1

Introducción

Es un ensayo escrito por Frederick Brooks en el año 1986. Brooks es un ingeniero


de software y científico de la computación. Trabajó en IBM más de 9 años y entre
sus logros más importantes se destaca el desarrollo de un sistema operativo
OS/360. En 1965 abandona IBM para fundar el departamento de Computación
científica en la universidad en Carolina del Norte, que dirigió por 20 años. Brooks
recibió el premio de Turing en 1999 por sus contribuciones en arquitecturas de
computadoras, sistemas operativos e ingeniería de software.
En este ensayo Brooks realiza una analogía entre la historia de un hombre lobo y
la ingeniería de software. El autor discute sobre las características o problemas
esenciales y los avances accidentales que han resuelto algunos problemas de la
ingeniería de software  y las esperanzas de la plata refiriéndose a más avances,
tecnologías y desarrollos para resolver problemas aún no resueltos por aquella
disciplina.

Según Frederick P. Brooks Jr. De todos los monstruos que llenan las pesadillas de
nuestro entorno, ninguna aterroriza más que los Hombres lobos pero para
muchas personas el software es solo programas de computadora, sin embargo,
nos comenta que son todos aquellos documentos asociados a la configuración de
datos que se necesitan para hacer que estos programas operen de manera
adecuada. Por eso debemos tener en cuenta que cuando vamos hacer diseño,
análisis e implementación de proyectos de software se aplican modelos y técnicas
que permiten controlar las posibles variaciones que un sistema eventualmente
podría generar.

Por eso es necesario que hoy día se esté haciendo un esfuerzo en el ambiente
del diseño del software para reforzar la capacidad de representación en un
modelo. Logrando Capturar con mayor profundidad el comportamiento e
interrelación que debe tener las entidades que conformen un sistema.
Desde los años 50 existían metodologías de desarrollo, hecho que da lugar a la
curiosidad y capacidad que los humanos han prevalecido y potenciado a lo largo
de los años, inclinándose siempre a buscar la mejor manera posible de llevar a
cabo una tarea.
No hay un camino espedito, pero hay un camino. Brooks. (1987). “No Silver Bullet
— Essence and Accidents of Software Engineering”
Con estas palabras él quiere hacer referencia a todo el cambio y evolución que
hasta el momento ha tenido los sistemas y que se pueden alcanzar siguiendo un
estricto código de esfuerzo.

Consideración del software

Complejidad: Aquí podemos evidenciar los problemas tales como la falta de


comunicación de un trabajo en equipo, la complejidad en la estructura lo que
produce dificultad en extender programas con nuevas funcionalidad sin crear
efectos colaterales, el menciona esta propiedad como esencial, no accidental, ya
que cree que desarrollar software es mas complejo incluso que cualquier otra
construcción humana, también dice que se da de manera que hay que estar
incrementando la cantidad de elementos diferentes también agrega el desarrollo
de productos defectuosos retrasos y sobrecostos.

La Conformidad

Esta propiedad se refiere al hecho de adaptación o ajuste a lo más reciente que


se tiene. En cualquier caso, deberá ser el software el que se deba adaptar al entorno y nunca
al revés

La variabilidad

Está sujeto a los distintos cambios que sufre el software y en la manera en


que se ve afectado tal como lo hablamos y discutimos en la clase tenemos a
veces software que se ven inutilizados o no se ajustan el al diseño de la
empresa para quien fue desarrollado y es allí donde toca tomar cartas y
hacer ajustes. También es inevitable que todo en el mundo cambia y eso
hace que inexorablemente el software también lo haga.

Invisibilidad
En lo que Frederick menciona en su artículo es que el software es invisible e
invisualisable  y esto no sólo dificulta que nuestras mentes piensen sobre el
diseño, sino que también hace difícil que nuestras mentes se comunican sobre el
diseño. El software se intuye pero no se ve.

Finalmente, discute algunas esperanzas en avances, tecnologías, investigación y desarrollo


que permitirán resolver problemas no resueltos por la ingeniería de software.

Lenguajes de alto nivel: Brooks señala a ADA como un lenguaje de programación de alto


nivel que contribuirá con técnicas modernas de diseño de software.

Programación Orientada a Objetos: El menciona que en esta técnica se tienen puestas la


mayor esperanza de que sea la bala de plata más que en cualquier otra técnica porque
permite entender y escribir el código de una manera más natural para los humanos
basándose en simular o representar eventos o accidentes propios del mundo real. Lo
importante es conocer bien y representar eventos orientados a objetos.

Inteligencia Artificial: Brooks dice que a diferencia de la mayoría no va a impactar


enormemente en la productividad y calidad del software.

Sistemas expertos: La contribución más poderosa de los sistemas expertos posiblemente


será poner al servicio del programado inexperto la experiencia y visión acumulada por los
mejores programadores.

Programación automática: Concibe que en la mayoría de los casos las especificaciones que


deben tenerse no son las del problema si no las del método para su solución y el origen de la
programación automática como una técnica para la construcción de generadores de sistemas.

Programación gráfica: Brooks está convencido de que esta técnica nunca será fructífera y
que no va a resolver los problemas inherentes del software, los sistemas son difíciles de
visualizar.

Verificación de programas: no le parece necesario la verificación de programas como algo


para aumentar la productividad. Porque la verificación de programas no implica programas a
prueba de errores

Herramientas y entornos: estas herramientas prometen librar al desarrollador de los errores


Seguramente aumentará la productividad y fiabilidad del software.

Conclusiones

Consideramos que la Esencia del software para un mejor desarrollo van de la


mano de los factores como la complejidad, conformidad, variabilidad e
invisibilidad y además nos parece que la única Contra que hasta ahora nos
funciona podríamos decir que son combinar la técnica, métodos y disciplina
tecnológicas para reducir la fortaleza de los monstruos de la Ingeniería del
Software y que hasta este momento en el mundo del Software no se ha
descubierto balas de plata para acabar con dichos monstruos.

Referencias Bibliográficas

https://www.researchgate.net/publication/220477127_No_Silver_Bullet_Essence_a
nd_Accidents_of_Software_Engineering
http://worrydream.com/refs/Brooks-NoSilverBullet.pdf

https://es.wikipedia.org/wiki/No_hay_balas_de_plata

https://gist.github.com/esparta/582e43af7b803e0aaf69

También podría gustarte