7
Sesión I: Introducción. ¿Qué es ingeniería de software? Ing. Luis Alfredo Fernández Vizcarra [email protected] [email protected]

Sesión 1: Introduccion. ¿Qué es ingeniería de software?

Embed Size (px)

DESCRIPTION

La Ingeniería de Software es una disciplina que estudia los procesos, métodos y herramientas vinculadas en la producción de software de calidad.

Citation preview

Page 1: Sesión 1: Introduccion. ¿Qué es ingeniería de software?

Sesión I: Introducción.¿Qué es ingeniería de software?

Ing. Luis Alfredo Fernández [email protected]@coesi.com.pe

Page 2: Sesión 1: Introduccion. ¿Qué es ingeniería de software?

Vistazo rápido: Software¿Qué es?• Producto que los ingenieros de software

construyen y lo mantienen a largo plazo.• Se encuentran del computador de

cualquier tamaño y arquitectura.

¿Quién lo hace?• Los ingenieros de software lo construyen

y lo custodian.• Es usado directa o indirectamente por

casi todo el mundo industrializado.

¿Por qué es importante?• Afecta de forma cercana a los aspectos

de nuestras vidas.• Omnipresente en el comercio, la cultura,

y las actividades cotidianas.

¿Cuáles son los pasos?• Se aplica el enfoque de ingeniería de

software.• Se construye como cualquier producto de

éxito.• Proceso que conduzca a un resultado de

alta calidad y que satisfaga la necesidad de la gente que usará el producto.

¿Cuál es el producto obtenido?• Perspectiva del Ing. de software:

producto, programas, contenido (datos) y documentos.

• Perspectiva del usuario: El producto obtenido es la información resultante que mejore el mundo del usuario.

¿Cómo puedo estar seguro de que lo he hecho correctamente?• Seleccionar las ideas aplicables a un

software específico.

Page 3: Sesión 1: Introduccion. ¿Qué es ingeniería de software?

– Primeras décadas:• Desarrollar el hardware• Reducir costes de procesamiento y almacenamiento

– Década de los ochenta:• Desarrollo de la microelectrónica• Mayor potencia de cálculo y reducción de costes

– Objetivo actual: mejorar la calidad de las soluciones software.

Orientaciónpor lotes

Distribuciónlimitada

Software a medida

Orientaciónpor lotes

Distribuciónlimitada

Software a medida

Multiusuario Tiempo real Bases de datos Software como

producto Mayores gastos

de mantenimiento

Multiusuario Tiempo real Bases de datos Software como

producto Mayores gastos

de mantenimiento

Sistemas distribuidos Inteligencia Artificial Hardware de bajo

coste Impacto en el

consumo Redes area local

y global Gran demanda

Sistemas distribuidos Inteligencia Artificial Hardware de bajo

coste Impacto en el

consumo Redes area local

y global Gran demanda

Potentes sistemasde sobremesa

Tecnología de objetos Sistemas expertos Redes neuronales Cliente/servidor Tecnologías de

Internet.

Potentes sistemasde sobremesa

Tecnología de objetos Sistemas expertos Redes neuronales Cliente/servidor Tecnologías de

Internet.

1959 - 1965 1965 - 1975 1975 - 1989 1989 -

AUMENTAN los problemas del desarrollo de software: Subexplotación del potencial del hardware.

Incapacidad de atender a la demanda. Incapacidad de mantener el software existente.

Características y evolución del software

Page 4: Sesión 1: Introduccion. ¿Qué es ingeniería de software?

El software desde una perspectiva industrial– El valor del software: de “elemento añadido” a principal elemento de

coste

– El desarrollo del software:

– Algunas preguntas:• ¿Por qué se tarda tanto? (y casi siempre más de lo previsto)• ¿Por qué la productividad es tan baja?• ¿Por qué cuesta tanto?• ¿Por qué siempre quedan errores sin localizar?

Características y evolución del software

Page 5: Sesión 1: Introduccion. ¿Qué es ingeniería de software?

El software como elemento lógico.1. Se desarrolla, no se fabrica:

• Calidad del diseño.• Costes más importantes en la ingeniería• Gestión especial de los proyectos

2. Se “deteriora” con el mantenimiento y no se “desgasta”.3. Desarrollo a medida (ausencia de componentes)

La “crisis” del software: problemas que aparecen en el desarrollo del software al desarrollar, mantener y atender la demanda de nuevas

aplicaciones.

Insatisfacción del cliente

Planificación y estimacionesimprecisas

Calidad

Sin tiempo para recogerdatos históricos

Baja productividad

Dificultad de mantenerel software existente

Naturaleza y problemas del desarrollo del software

Page 6: Sesión 1: Introduccion. ¿Qué es ingeniería de software?

Conforme grupos de 03 integrantes y sitúese en un escenario donde se solicita elaborar un software para automatizar un proceso de productivo o servicio.

Baetjer puntualiza: “El proceso ofrece una interacción entre usuarios y diseñadores, entre usuarios y herramientas en evolución, entre diseñadores y herramientas en evolución [tecnología]”.

Hágase cinco (05) preguntas respecto a…

a)… lo que los diseñadores deben preguntar a los usuarios.

b)… los usuarios deben de preguntar a los diseñadores.

c)… lo que los usuarios deben de preguntarse a sí mismos sobre el producto de software que se construirá.

d)… lo que los diseñadores deben de preguntarse a sí mismos sobre el producto de software que se construirá y el proceso que se utilizará para hacerlo.

Caso práctico

Page 7: Sesión 1: Introduccion. ¿Qué es ingeniería de software?

Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1

Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de Software, cap. 1

Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2

Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3

Referencias