Professional Documents
Culture Documents
DEFINICIN DE SOFTWARE
Parte lgica de la informtica: Est constituida por tres elementos
Instrucciones ejecutables
Estructura de datos
Documentos
Durante las tres primeras dcadas de la informtica, lo principal era el desarrollo del hardware
Hoy el principal desafo es mejorar la calidad (y reducir el costo) de las soluciones que se
implementan con el software.
Durante los primeros aos:
El hardware era de propsito general
El software se diseaba a medida para cada
aplicacin, y tena una distribucin relativamente
pequea
El diseo era un proceso implcito, y la
documentacin normalmente no exista.
Primeros Aos
1950
1960
Segunda Era
Tercera Era
1970
1980
Cuarta Era
1990
2000
La segunda era:
Se extienden desde la mitad de la dcada de los 60 hasta finales de los 70.
Multiprogramacin y sistemas multiusuarios
Sistemas de tiempo real:
Bases de Datos: almacenamiento en lnea
Establecimiento del software como producto: Los programas se distribuan para miles de
usuarios. (Crisis del Software: dificultad en el mantenimiento)
Tercera era:
Comenz a mediados de los 70 y continu ms all de una dcada
Sistemas distribuidos: Las redes de rea local y de rea global, las comunicaciones digitales.
Incorporacin de inteligencia: uso de microprocesadores y computadoras personales,
Hardware de bajo costo: El hardware de las PC se ha convertido rpidamente en un producto
estndar, mientras que el software que se suministra con ese hardware es lo que marca la
diferencia, las ventas de PCs se estabilizaron hacia mitades de los 80 y las ventas de productos
software continuaron creciendo.
Cuarta era
Sistemas personales potentes
Expansin de Internet
codificacin,
prueba y mantenimiento.
Detalle procedimental
Caracterizacin de la interfaz
Durante la primera vuelta se definen los objetivos, las alternativas y las restricciones, y se
identifican y analizan riesgos. Si el anlisis de riesgos indica que hay incertidumbre en los
requisitos, se puede usar la creacin de prototipos en el cuadrante de ingeniera
El cliente evala el trabajo de ingeniera y sugiere modificaciones
En cada bucle alrededor de la espiral, la culminacin del anlisis de riesgo, resulta en una
decisin de seguir o no seguir. Si los riesgos son demasiado altos, se puede dar por finalizado
el proyecto.
Cada vuelta en el espiral requiere ingeniera, que se puede llevar a cabo mediante el enfoque
de ciclo de vida clsico o de la creacin de prototipos.
1. Utiliza un enfoque evolutivo para la ingeniera de software
2. Utiliza la creacin de prototipos como medio de reduccin del riesgo
3. Mantiene el enfoque sistemtico correspondiente a los del ciclo de vida clsico,
4. Demanda una consideracin directa de los riesgos tcnicos en todas las etapas del
proyecto, y si se aplica adecuadamente, debe reducir los riesgos antes que se transformen
en problemas.
CARACTERSTICAS DEL SOFTWARE
1. Es lgico, en lugar de fsico, por lo que tiene
caractersticas distintas a la del hardware:
2. El software se desarrolla, no se construye en
un sentido clsico
3. Los costos del software se encuentran en la
ingeniera, por lo que los proyectos de software
no se pueden gestionar como si fuesen
proyectos de fabricacin.
4. El software no se estropea, sino que se
deteriora.
(La proporcin de fallos en funcin del tiempo del
hardware frecuentemente se denomina curva de baera)
5. El software no es susceptible a males del entorno
6. Durante su vida, el software sufre cambios
(mantenimiento). Conforme se hacen los cambios,
es bastante probable que se introduzcan nuevos
defectos, haciendo que la curva de fallos tenga
picos
7. La mayora del software se construye a medida,
en vez de ensamblar componentes existentes.
APLICACIONES DEL SOFTWARE
Posibilidades de aplicacin:
1) Software de sistemas: conjunto de programas que han sido escritos para servir a otros
programas. Se caracteriza por:
Una fuerte interaccin con el hardware de computadoras
1. Una gran utilidad por Mltiples usuarios
2. Operacin concurrente que requiere una aplicacin
3. Una Comparticin de recursos y gestin de procesos
4. Unas Estructuras de datos complejas
5. Mltiples interfaces externas.
Ejemplos: compiladores, editores, componentes de sistemas operativos.
2) Software de tiempo real: es aquel software que mide, analiza, controla sucesos del mundo real
conforme ocurren.
Correccin
Eficiencia
Facilidad de mantenimiento
Flexibilidad
Facilidad de prueba
Portabilidad
Interoperabilidad