Tema 1: Introducción a la Ingeniería de Software

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

ingeniería de software
Ingeniería de Software II
Ing. Francisco Rodríguez Novoa
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Análisis y Diseño de Aplicaciones Ingeniería de Software
CALIDAD DE SOFTWARE Alejando Márquez Alejando Vega Claudia Aguilar
Administración de Procesos de Pruebas
Modelo de Desarrollo XP
Evaluación de Productos
M.S.C. Ivette Hernández Dávila
Ingeniería de Software Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María
IS ILic. Patricia Pesado.1 INGENIERIA DE REQUERIMIENTOS.
Historia Síntomas Factores de Influencia Posibles Causas
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
Modelo de Capacidad y Madurez
Ingeniería de Software
Ciclo de Vida del Software
CONCEPTOS BÁSICOS Diseño de Sistemas.
Calidad y Garantía de Calidad
Ingeniería del Software
Conceptos de Gestión y Planificación de Proyectos Software
Ingeniería de Requerimiento
Ingeniería en sistemas
EL APORTE DE LA INGENIERIA DE SOFTWARE A LAS ORGANIZACIONES
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
1.1 Complejidad Inherente al Software
¿Qué es la Ingeniería del Software?
Desarrollo de Software II Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto - Diciembre 2008 Ing. Oswaldo Solarte Pabón.
Ibáñez Montiel Eduardo Víctor Martínez Antonio
INGENIERIA DE SOFTWARE
Metodología de Desarrollo Unidad Educativa Bolívar Sebastián Torres 6° 18°
Tecnológico de Estudios Superiores Huixquilucan
Docente: Lic. M. Alina Vargas García Horario: Lunes 20:05 – 21:25 Miércoles 20:05 – 21:25 Gestión: 2011.
Capitulo 1 Roger S. Presman
Ciclo de vida de un sistema
Método iterativo Integrantes : Paola Ramón Armando 19 octubre 2011.
Procesos de Desarrollo de Software
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Estructurar tus ideas para hacerlas realidad
El producto de software y su ciclo de vida
Ciclo de Vida del Software
Omar de Jesús Rosales hernández
Sistema de control de calidad de software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
CMMI GRUPO 5 Juan Marcelo Ferreira Aranda Silvano Christian Gómez
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
INGENIERIA DE SOFTWARE
 es el conjunto de conocimientos y técnicas científicas aplicadas al desarrollo, implementación, mantenimiento y perfeccionamiento de estructuras (tanto.
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Proceso de desarrollo de Software
Ing del Software Libre1 Ingeniería del Software Libre y Modelos de Calidad Instructora: Ing. Erika Veliz Correo Electrónico:
¿Qué es la tecnología? Introducción 3º ESO.
1 Ingeniería del Software La última lección  Resumen del curso  Buenas prácticas  Malas prácticas  Conclusión.
6.6 Administración de defectos
Las fases del ciclo de la vida de desarrollo de sistemas
Modelo de procesos de software
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
INDUSTRIAS DEL PETROLEO, PETROQUÍMICAS Y DEL GAS NATURAL ASEGURAMIENTO DE LA PRODUCCIÓN Y ADMINISTRACIÓN DE LA CONFIABILIDAD ISO/CD Date: 2005 –
Verificación y Validación del Software
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
4. Definición del proyecto. Qué tan difícil es manejar un proyecto? ◦Dependerá del tamaño del mismo ◦De los costos ◦De los plazos ◦Del nivel de dificultad.
Transcripción de la presentación:

Tema 1: Introducción a la Ingeniería de Software Ingeniería de Sistemas 2012

Índice Introducción La complejidad inherente del software Algunos principios de la ingeniería del software Sistemas de Información

Introducción Qué es ingeniería?

Introducción ¿Qué es ingeniería? Es el conjunto de conocimientos y técnicas científicas aplicadas a la invención, perfeccionamiento y utilización de la técnica industrial para la resolución u optimización de problemas.

Qué es ser Ingeniero? Saber realizar de diseños y soluciones tecnológicas a necesidades sociales, industriales o económicas. Saber identificar y comprender los obstáculos más importantes para poder realizar un buen diseño (limitaciones físicas o técnicas, de coste, de flexibilidad, estéticas y comerciales). Saber utilizar el conocimiento de la ciencia y la experiencia apropiada para encontrar las mejores soluciones a los problemas concretos

Introducción Qué es software?

Introducción Qué es software? Conjunto de programas que proporcionan una función y un rendimiento esperados. Conjunto de estructuras de datos que permiten a los programas manipular adecuadamente la información. Conjunto de documentos que describen el funcionamiento del SI (Sistema de Información). Tipos: ◦Genéricos: Productos de uso genérico (procesadores, bases de datos, etc.) ◦A medida: Productos específicos para un cliente particular

Introducción Qué es software? Características: No tiene forma física Se desarrolla, no se fabrica. Los costes del SW son de ingeniería. No de fabricación El SW no se rompe, se deteriora. La complejidad del mantenimiento del SW es mucho más grande que la del HW. Si el HW se rompe se cambia por otro y listo Hay piezas de recambio. Si el SW se deteriora, con cada cambio que se realiza se deteriore aún más No hay piezas de recambio.

Introducción ¿Qué es Ingeniería del Software? Definición: “La Ingeniería del Software es la disciplina de ingeniería encargada de todos los aspectos relacionados con la producción de software desde sus etapas más tempranas de la especificación del sistema, hasta el mantenimiento del sistema tras su puesta en marcha.” Ingeniería del Software – Ian Sommerville

Introducción ¿Qué es Ingeniería del Software? Disciplina de ingeniería Los ingenieros de software usan las métodos, herramientas, procedimientos y paradigmas para solucionar los problemas que aparecen. Incluso teniendo en cuenta restricciones económicas y de organización Producción de software Planificación de proyectos Administración de proyectos software Procesos técnicos de desarrollo de software Dirección de proyectos

Introducción ¿Qué es Ingeniería del Software? Proceso Software: procedimiento formal para producir algún resultado.

Introducción ¿Qué es Ingeniería del Software? Herramienta: instrumento para realizar algo de mejor manera.

Introducción ¿Qué es Ingeniería del Software? Paradigma: Representa una filosofía para la construcción de software

Introducción ¿Quién hace Ingeniería del Software?

Introducción ¿ Por qué surge la Ing. del Software? Para superar la crisis del software y terminar con los mitos del software hasta ahora existentes. Para acabar con las malas prácticas de desarrollo y mantenimiento de software llevadas a cabo por las empresas. Crear software de calidad.

Introducción Crisis del Software Dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables (Dijkstra–1968) Causas: Los proyectos no terminaban en plazo Los proyectos no se ajustaban al presupuesto inicial Software que no cumplía las especificaciones Código inmantenible que dificultaba la gestión y evolución del proyecto Consecuencias: Baja Calidad del Software Tiempo y Presupuesto Excedido Confiabilidad Cuestionable Altos requerimientos del personal para el desarrollo y el mantenimiento

Introducción Crisis del Software Diferencia entre error defecto y fallo.

Introducción Mitos del SW –Sobre la gestión

Introducción Mitos del SW –Sobre la gestión

Introducción Mitos del SW –Sobre la gestión

Introducción Mitos del SW –Sobre el cliente

Introducción Mitos del SW –Sobre el cliente

Introducción Mitos del SW –Sobre desarrolladores

Introducción Mitos del SW –Sobre desarrolladores

Introducción Malas prácticas de desarrollo y mantenimiento Planificación y estimaciones imprecisas: No se recopilan datos de proyectos pasados. Se invierte más dinero en mantenimiento que en formación de los ingenieros en las nuevas tecnologías de desarrollo. No se documenta lo suficiente. Se pasa directamente a la codificación.

Introducción Malas prácticas de desarrollo y mantenimiento Procesos software improvisados No se siguen rigurosamente las especificaciones No se hace planificación de riesgos. Se resuelven crisis inmediatas Se apagan fuegos Se sacrifica funcionalidad y calidad del producto para cumplir plazos. No se planifica debidamente. No se realizan pruebas, verificaciones o revisiones del SW

Introducción Malas prácticas de desarrollo y mantenimiento Síntomas: Baja calidad del software desarrollado Alto grado de desconfianza e insatisfacción en el cliente Empresas inmaduras En fase artesanal. Se exceden en los plazos y presupuestos previstos 90% de los proyectos no consiguen los objetivos propuestos 40% fracasan completamente 29% nunca se entregan

Introducción ¿Qué propone la IS? ¡ser Ingenieros! Artesano Ingeniero. Para ello se debe: Aplicar métodos, técnicas y herramientas de desarrollo Adoptar estándares de desarrollo Utilizar la experiencia acumulada Documentación

Introducción ¿Qué propone la IS? ¡usar Estándares! ¿Qué conseguimos adoptando estándares de desarrollo? Mejorar el proceso: Reducción de costes Reducción del tiempo de desarrollo Reducción de riesgos Mejora de la calidad del producto Protección del cliente Protección de la organización Aumenta su competitividad

Índice Introducción La complejidad inherente del software Algunos principios de la ingeniería del software Sistemas de Información

Complejidad del SW ¿Por qué es complejo el Software? Tres motivos: Brooks (1987): “La complejidad del Software es una propiedad esencial y no accidental” Complejidad accidental: se debe a la manera en que intentamos solucionar el problema Complejidad esencial: es inherente al problema en sí mismo. Tres motivos: La complejidad del dominio del problema La dificultad de controlar el proceso de desarrollo Los problemas para caracterizar sistemas discretos

Complejidad del SW

Complejidad del SW Complejidad del dominio del problema Los problemas del mundo real son complejos (miles de requisitos compitiendo y quizás contradictorios) Se añaden requerimientos no funcionales: eficiencia, coste, fiabilidad, robustez... Diferente perspectiva del mismo problema entre los usuarios y los desarrolladores Modificación de los requisitos / Inserción de nuevos requisitos ¡Los requisitos cambian durante el desarrollo!

Complejidad del SW Dificultad de controlar el proceso de desarrollo Surgen incidencias Algunas previstas y otras no Miles de líneas de código Intentar la reutilización Surgen diferentes versiones del producto Disminuir la complejidad mediante el “divide y vencerás” División en módulos Aún así, la creación de muchos módulos puede ser inmanejable

Complejidad del SW Dificultad de controlar el proceso de desarrollo