El documento introduce el tema de la ingeniería de software. Explica que el software es una tecnología importante en la actualidad y un producto y vehículo para entregar productos. Define el software y describe su evolución desde la primera era en 1950 hasta la quinta era actual con internet. Finalmente, explica las características clave del software como la mantenibilidad, confiabilidad, eficiencia y usabilidad.
2. Software
Tecnología mas importante en la actualidad.
Su éxito es inesperado (1950).
Es un producto y un vehículo para entrega del
producto.
3. Software
Que es el Software?
DEF 1: Instrucciones que al ejecutarse proporcionan las
características, funciones y el grado de desempeño
deseados.
DEF 2: Estructura de datos que facilitan a los programas
manipular adecuadamente la información.
DEF 3: Documentos que describen la operación y el uso
de los programas.
4. Evolución del software
1950 – 1965 Primera Era
-Orientación por lotes(batch).
-Distribución limitada.
-Software a la medida.
1965 – 1972 Segunda Era
- Multiusuario.
- Tiempo real.
- Software como un producto.
- Bases de datos.
5. Evolución del software
1972 – 1985 Tercera Era
-Sistemas distribuidos.
-Inteligencia en el software.
-Hardware bajo costo.
1985 – 1995 … Cuarta Era
- Tecnologías orientadas a
objetos.
- Sistemas expertos.
- Redes Neuronales.
- Redes de Computadoras.
6. Evolución del software
2000 – nuestros días – Quinta Era ??
Implementación de algunas de las tecnologías
de las eras anteriores, pero con la llega del
Internet en todos lados (WEB), de la
construcción de componentes y la
popularidad de la reutilización.
7. Características del Software
El software se desarrolla o construye;
no se manufactura en el sentido
clásico.
El hardware y el software difieren en su desarrollo
fundamental.
El fin ultimo es construir un “producto”.
Los costos para el software están centrados en la
Ingeniería.
8. Características del Software
El Software no se “desgasta”.
El hardware presenta un alto numero de fallas al inicio
de su vida , estos se corrigen y con el tiempo llegan
nuevas fallas (desgaste). Curva de la bañera.
El software es inmune al ambiente, no se desgasta pero
si se deteriora. Presentando fallas al inicio de su vida
pero esperando tener una curva idealizada. Fallas vs
tiempo
“Y los repuestos?...”
9. Características del Software
El Software en su mayoría se fabrica
a medida.
El hardware aprovecha los componentes para acelerar
su desarrollo. Estos son reutilizables y pueden ser
encargados.
Solo hasta los últimos años se esta desarrollando
software con pensamiento en componentes
reutilizables.
Estructura de datos, interfaces
…etc…en librerías.
10. Características del Software
sommerville
Mantenibilidad.
Ser diseñado para evolucionar. Todo software debe
cambiar, este proceso es inevitable.
Se le asocia:
Anazabilidad: Capacidad diagnostico.
Cambiabilidad: Capacidad efectuar cambios.
Estabilidad: Capacidad de soportar modificaciones.
Habilidad de pruebas: Facilidad de validar las
modificaciones.
11. Características del Software
sommerville
Confiabilidad.
Un software confiable no debe causar daños físicos en el
caso que se produzca un error.
Se le asocia:
Madurez: Soporta la frecuencia de falla por defectos
en el software.
Tolerancia a los defectos: Mantener su nivel en caso de
defecto.
Recuperabilidad: Capacidad de restablecer su nivel de
rendimiento y recuperar datos en caso de falla.
12. Características del Software
sommerville
Eficiencia.
Un software no debe malgastar los recursos del sistema
(memoria y ciclos de procesamiento).
Se le asocia:
Comportamiento en el tiempo: Soporta los tiempos
de respuesta y procesamiento.
Comportamiento de los recursos: Soportan la
cantidad de recursos empleados y la duración de su
uso.
13. Características del Software
sommerville
Usabilidad.
El software debe ser fácil de emplear por el usuario, lo que
implica un diseño de interfaz y correcta documentación.
Se le asocia:
Habilidad de comprensión: El usuario reconoce los
conceptos lógicos de su aplicabilidad.
Habilidad de aprendizaje: El usuario reconoce aprende
su aplicación.
Operabilidad: El esfuerzo del usuario para el manejo del
software.
14. Características del Software
extra
Portabilidad.
El software debe ser portable entre plataformas.
Se le asocia:
Adaptabilidad: Capacidad de adaptarse a nuevos entornos,
sin acciones adicionales.
Instabilidad: El esfuerzo requerido por el usuario para efectuar
la instalación.
Conformidad: Atributo asociado al estándar o convenciones.
Reemplazabilidad: Esfuerzo requerido para emplearlo en lugar
de otro software.