Introducción a la ingenieria del Software

15
Msc.Ing. José Fabián Diaz Silva @josefabiandi az Introducción a la Ingeniería de Software

description

Introductorio al curso de ingeniería del software, donde se tratan aspectos del origen del software, su definición, la evolución , las eras que se presentaron y las características que lo identifican.

Transcript of Introducción a la ingenieria del Software

Page 1: Introducción a la ingenieria del Software

Msc.Ing. José Fabián Diaz Silva @josefabiandiaz

Introducción a la Ingeniería de Software

Page 2: Introducción a la ingenieria del Software

Software

Tecnología mas importante en la actualidad.

Su éxito es inesperado (1950).

Es un producto y un vehículo para entrega del producto.

Page 3: Introducción a la ingenieria del Software

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.

Page 4: Introducción a la ingenieria del Software

Evolución del software

-Orientación por lotes(batch).-Distribución limitada.-Software a la medida.

1950 – 1965 Primera Era

1965 – 1972 Segunda Era- Multiusuario.- Tiempo real.- Software como un producto.- Bases de datos.

Page 5: Introducción a la ingenieria del Software

Evolución del software

-Sistemas distribuidos.-Inteligencia en el software.-Hardware bajo costo.

1972 – 1985 Tercera Era

1985 – 1995 … Cuarta Era- Tecnologías orientadas a objetos.- Sistemas expertos.- Redes Neuronales.- Redes de Computadoras.

Page 6: Introducción a la ingenieria del Software

Evolución del software

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.

2000 – nuestros días – Quinta Era ??

Page 7: Introducción a la ingenieria del Software

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.

Page 8: Introducción a la ingenieria del Software

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?...”

Page 9: Introducción a la ingenieria del Software

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.

Page 10: Introducción a la ingenieria del Software

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.

Page 11: Introducción a la ingenieria del Software

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.

Page 12: Introducción a la ingenieria del Software

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.

Page 13: Introducción a la ingenieria del Software

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.

Page 14: Introducción a la ingenieria del Software

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.