Vous êtes sur la page 1sur 18

No existen balas de plata

 Al principio los proyectos de SW


parecen simples y factibles
 Esta aparente simplicidad termina
en:
 Productos inútiles
 Presupuestos incorrectos
 Entregas fuera de tiempo
 En por lo menos una década no se
avistan “balas de plata” para mejorar
la: productividad, confiabilidad o
¿Tiene que ser difícil?
Dificultades Esenciales
 Es casi imposible crear “balas de
plata” por la naturaleza del SW.
 El SW no avanza lento, el HW
avanza rápido.
 Dificultades de la tecnología:
 Inherentes a la naturaleza del SW
 No inherentes ( accidentales )
 Lo difícil de hacer SW es:
 Especificación
 Diseño
 Prueba de construcción conceptual
 Propiedades de la esencia
 Complejidad
 Diseño
 Prueba de construcción conceptual
COMPLEJIDAD
 No existen componentes iguales en el
SW
 Las cosas más complejas que construye
la gente son los omputadores
 Tienen estados infinitos
 El escalado de SW no es la repetición de
elementos en tamaños más grandes
 La complejidad no es lineal
 Es un problema esencial
ADAPTABILIDAD
 Las instituciones obligan a que las
antiguas interfaces sean
respetadas.
 El SW debe adaptarse por:
 Ser el último en llegar
 Ser el más adaptable
MODIFICABILIDAD
 Las funciones son las partes que
sufren más presiones de cambio.
 El SW es un producto mental puro,
más modificable e infinitamente
maleable.
 El SW sigue el flujo:
 Prueba que es útil
 Se requieren más funcionalidades
INVISIBILIDAD
 Es visible, no visualizable.
 Su realidad es NO ESPACIAL.
 Hay muchos grafos dirigidos
superpuestos en la estructura del
SW
SOLUCIONES A PROBLEMAS
ACCIDENTALES
 LENGUAJES DE ALTO NIVEL
 Resuelven: productividad, confiabilidad,
simplicidad y comprensibilidad.
 Representan constructos en el programa
abstracto (operaciones, tipo de datos) y
evitan los de bajo nivel (bits, registros…)
 TIEMPO COMPARTIDO
 Ayuda a la productividad y calidad del
producto
 Reduce el tiempo de respuesta
 SISTEMAS DE PROGRAMACIÓN
UNIFICADOS
 Atacar dificultades accidentales
producto de usar programas
individuales en conjunto
 Entregando bibliotecas integradas,
pipes y filtros.
ESPERANZA DE BALAS
 ADA
 Incentiva diseño moderno y
modularización de tipos abstractos de
datos
 De commplejidad accidental de la
máquina a planteamiento más
abstracto de la solución
 El cambio a ADA obligará a la
capacitación de los programadores en
técnicas modernas de diseño de SW.
 POO
 Tipos abstractos de datos y tipos
jerárquicos
 Los abstractos: definidos por nombre,
valores, operaciones, ocultan su
estructura de almacenamiento.
 Los jerárquicos: definen interfaces
generales refinadas creando tipos
subordinados.

 Existe jerarquía sin ocultamiento y


ocultamiento sin jerarquía.
 INTELIGENCIA ARTIFICIAL
 Usar computadores para resolver
problemas antes solo resueltos por la
inteligencia humana
 Uso de heurísticas (programación
basada en reglas)
 SISTEMAS EXPERTOS contiene máquina
de inferencias y base de reglas. Su
poder se basa en conocimientos más
ricos y no en sistemas más complejos
 PROGRAMACIÓN AUTOMÁTICA
 Generación de un programa para
resolver un problema a partir de una
especificación del mismo.
 Se puede caracterizar un problema con
pocos parámetros
 Varios métodos de solución
 Hay reglas explícitas
 PROGRAMACIÓN GRÁFICA
 Se pueden ver sólo pocas cosas a la vez
 El SW es difícil de visualizar.
 VERIFICACIÓN DE PROGRAMAS
 Las demostraciones son muy trabajosas
 Se demuestra que se ha cumplido con
una especificación, pero ¿cómo llegar a
una especificación completa y
consistente?
 AMBIENTES Y HERRAMIENTAS
 Productividad y confiabilidad al integrar
la BD al ambiente de programación
 ESTACIONES DE TRABAJO
 Aumento en la capacidad de las
estaciones individuales.
ATAQUES PROMETEDORES A
LA ESENCIA CONCEPTUAL
 Los comoponentes conceptuales
de la tarea, son ahora los que
toman más tiempo.
 COMPRAR Vs. CONSTRUÍR
 Crear un mercado de módulos
individuales. Compartir SW para
eliminar costo de duplicación
 Es imposible que el cliente
especifique completa, precisa y
correctamente los requerimientos.
ATACAR LA ESENCIA
 “Cultive, no construya el SW”
 El SW se hace crecer, no se construye.
 El buen diseño siempre puede
enseñarse
 La diferencia entre diseños
conceptuales malos y buenos es por el
método de diseño.
 La diferencia entre diseños buenos y
brillantes NO.
¿Cómo cultivar diseñadores
brillantes?
 Identificar los mejores diseñadores
( no necesariamente el más
experimentado)
 Asignar un seguidor de la carrera
 Crecer y mantener un plan de
desarrollo de carrera por cada
candidato
 Dar oportunidades a los
diseñadores que se están
desarrollando.

Vous aimerez peut-être aussi