Ensayo Not Silver Bullets
jemjr199029 de Septiembre de 2014
609 Palabras (3 Páginas)212 Visitas
Tarea N°1 Uso de Software de Ingeniería Industrial
“No Silver Bullet: Essence and Accidents of Software Engineering”
-Dificultades Esenciales: Son todas aquellas dificultades que son propias de la
naturaleza del software, es decir todo aquello que va relacionado a la producción
del software, por ejemplo: la dificultad de comunicación entre los miembros del
equipo lo cual lleva a errores en los productos, aumento en los costos, y retrasos en
los plazos. De la complejidad también viene la dificultad de enumerar, y menos aún
comprender, todos los estados posibles de un programa, y de eso proviene la no
confiabilidad. Dentro de las soluciones que ofrece para solucionar las dificultades
esenciales es poder representar al software como una abstracción geométrica sería
fabuloso. Pero en los hechos no es uno sino varios los diagramas que deben ser
usados para representar, flujos de control, de datos, secuencias temporales, etc.
Estos grafos no son planares ni jerárquicos entre sí.
-Dificultades Accidentales: Problema en los métodos de producción actuales
relativos a una propiedad, factor o atributo que no es inherente al software, por
ejemplo: los detalles de escribir y optimizar de código en lenguaje ensamblador o
los retrasos causados por el procesamiento por lotes. Dentro de las soluciones para
las dificultades accidentales que menciona en el texto se encuentran:
· Los lenguajes de alto nivel (incluyendo la orientación a objetos):
Lenguajes de alto nivel permiten a los programadores expresan aplicación
con conceptos más cerca de lo que usamos en el diseño. Estamos
reduciendo o eliminando el paso de traducción entre modelos de datos,
operaciones, secuencias, la comunicación, los registros y bits. Esto elimina
gran parte de la complejidad de la traducción. Pero Brooks dice que "lo más
un lenguaje de alto nivel puede hacer es terminar todas las construcciones
que el programador se imagina en el programa abstracto" y aunque nuestro
nivel de pensar en esas construcciones está mejorando, lo hace a un ritmo
cada vez menor.
· Reparto y mejor compatibilidad con sistemas operativos de tiempo:
Tiempo de compartir se contrasta con el procesamiento por lotes, y ayuda
porque pasamos mucho menos tiempo en el ciclo de código y
prueba. Gracias a una mejor compatibilidad con sistemas operativos, me
refiero a la diferencia entre DOS (que no tiene biblioteca y casi ningún apoyo
llamada al sistema) y UNIX (que contiene muchas bibliotecas y un vasto
conjunto de llamadas al sistema, lo que le permite no tiene que implementar
código de visualización, controladores de disco, Código de sistemas de
archivos, etc).
-Falsas esperanzas: en el texto se encuentran mencionadas algunas falsas
esperanzas o como el las denomina balas de plata ya que son solo una fantasía
entre ellas se encuentran: Ada y otros lenguajes de alto nivel, la orientación a
objetos, Inteligencia Artificial (tanto en la idea del software para resolver problemas
que antes eran del dominio de la inteligencia humana, y en experto sistemas),
sistemas expertos, programación automática (especificamos los requisitos y el
software escribe código para nosotros); programación gráfica (al estilo de
LabVIEW), basado en la prueba de verificación del diseño, mejores herramientas, y
estaciones de trabajo.
-Ideas Prometedoras: Él identifica tres áreas prometedoras que pueden ayudar a
promover la obtención de (no necesariamente construir) un mejor software:
· Comprar o construir: Recordando que a mediados de 1980, el mercado
...