Introducción a la ingenieria del Software

Post on 18-Jun-2015

551 views 2 download

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

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

Introducción a la Ingeniería de 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.

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.

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.

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.

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

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.

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

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.

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.

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.

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.

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.

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.

Consultas

@josefabiandiaz

josefabiandiazs@Gmail.com https://www.youtube.com/user/fabiandiazs