Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de...

22
Introducción a la Ingeniería de Software POR MARIO ROSSAINZ LÓPEZ BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN PRIMAVERA 2020

Transcript of Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de...

Page 1: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Introducción a la Ingeniería de SoftwarePOR MARIO ROSSAINZ LÓPEZBENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLAFACULTAD DE CIENCIAS DE LA COMPUTACIÓNPRIMAVERA 2020

Page 2: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Motivación y Perspectiva Histórica

REQUIEREN DE SOFTWARE PARA SU FUNCIONAMIENTO

ACTUALIDADServicios Públicos

Aparatos Eléctricos

Consolas de video juegos Cine (Streaming)

Page 3: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Motivación y Perspectiva Histórica

Similitud:Requieren de Ingeniería de

Software

Diferencia:Utilizan técnicas distintas para su

desarrollo

Sistema de Información GeográficaSimuladores de vuelo

Video Juegos Puntos de venta

Page 4: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Motivación y Perspectiva Histórica

¿Ingeniería de Software Inadecuada?

Demandas Crecientes: Sistemas más grandes y complejos, lo que genera nuevas técnicas de IS para satisfacer las demandas

Bajas espectativas: Desarrollo de software sin utilizar métodos y técnicas de IS. Software costoso, con errores y no confiable

Page 5: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Motivación y Perspectiva Histórica

Page 6: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

• LA HISTORIA DEL SOFTWARE:

• < 1955: La era pionera. Hay salas de computadoras pero no computadoras personales. El software se re-hacía para cada tipo de computadora que salía. Se solicitaba tiempo de máquina para correr los programas y se tenía como medio de almacenamiento las tarjetas perforadas

Motivación y Perspectiva Histórica

Page 7: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

• 1955-1965: Los orígenes. En 1960 aparece por primera vez el término de Ingeniería de Software al preguntarse los programadores si podían dar significado al concepto puesto que ya existían los ingenieros civiles, los ingenieros eléctricos y los ingenieros en computadoras.

Motivación y Perspectiva Histórica

Page 8: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

• 1965-1985: Crisis del Software. Desbordamiento de costos y presupuestos en el desarrollo de software. Escasa o nula seguridad del software para manejo de información, defectos de software que causaron daños a la propiedad; defectos en los sistemas software que causaron pérdidas humanas (proyectos aero-espaciales). Baja productividad y nula calidad.

Motivación y Perspectiva Histórica

Page 9: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

• 1985-1990: Balas de Plata y Gestión de Proyectos. Surge la programación estructurada, la programación orientada a objetos, las herramientas CASE, se empieza a generar documentación de lo programado y se empiezan a definir estándares. Se genera disciplina en los programadores, surgen métodos formales con la idea d demostrar de forma matemática que un software implementado es correcto. Surgen metodologías y procesos de desarrollo de software. Se generan códigos de ética, licencias y se profesionalizan los desarrolladores de software a ingenieros de software.

Motivación y Perspectiva Histórica

Page 10: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

• 1990-1999: Internet. Surgen los sistemas de despliegue de información y correo electrónico. Surge la WWW, HTML, redes, virus informáticos y su prevención, buscadores (IA, Lenguaje Natural, Reconocimiento de Patrones); Robótica, redes, domótica, etc..

Motivación y Perspectiva Histórica

Page 11: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

• 2000 >: Metodologías ligeras, ágiles, orientadas a aspectos, experimental, por modelos, etc..

Motivación y Perspectiva Histórica

Page 12: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Preguntas claves

Page 13: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Preguntas claves

Page 14: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Atributos escenciales del buen software

Page 15: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

• Según la IEEE:

• Ingeniería de software es la aplicación de unenfoque sistemático, disciplinado y cuantificablepara el desarrollo, operación y mantenimientode software

Definición de Ingeniería de Software

• Según Sommerville:

• La ingeniería de software es una disciplina de laingeniería que se ocupa de todos los aspectos dela producción de software desde las primerasetapas de la especificación del sistema hasta elmantenimiento del mismo una vez que se hapuesto en uso.

Page 16: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Ciclo de vida

Page 17: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Ciclo de vida

Page 18: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Calidad de Software

Page 19: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Calidad de Software

Page 20: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Calidad de Software

PROYECTO: Es un conjunto de etapas, actividades y tareas para alcanzar un objetivo que implica un trabajo no inmediato a un plazo relativamente largo.

PROCESO: Es un conjunto de actividades técnicas y administrativasrealizadas durante la adquisición, desarrollo, mantenimiento y retirode software (TSP, PSP, CMMI, etc.).

PRODUCTO: Son los programas de cómputo y su documentaciónasociada que surge dentro de un proyecto llevando a cabo un procesopara su realización. Existen dos tipos de productos sw; aquellos quecompiten en un mercado y aquellos hechos a la medida

PERSONAS : Personal (equipo de trabajo) , Clientes y Usuarios finales

Page 21: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Ética

Page 22: Introducción a la Ingeniería de Softwarerossainz/ingSw...de software Definición de Ingeniería de Software •Según Sommerville: •La ingeniería de software es una disciplina

Ética