23
El Producto ¿Qué es la Ingeniería de Software? n Tecnología para construir software n Un proceso n Un conjunto de métodos n Herramientas

El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

El Producto

¿Qué es la Ingeniería de Software?n Tecnología para construir softwaren Un proceson Un conjunto de métodosn Herramientas

Page 2: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Evolución

Primeros años Principios 1960’sn orientación batchn distribución limitadan software a la medida

Page 3: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Evolución

Segunda era Mediados 60’s, finales 70’sn multiusuarion tiempo-realn bases de datosn producto de software

Page 4: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Evolución

Tercera era Mediados 70’s Finales 80’sn sistemas distribuidosn “inteligencia embebida”n bajo costo de hardwaren impacto al consumidor

Page 5: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Evolución

Cuarta era Desde mediados 80’sn sistemas desktop poderososn tecnologías orientadas a objetosn sistemas expertosn redes neuronales artificialesn cómputo paralelon redes de computadoras

Page 6: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Problemas Relacionados con Software

Hardware muy rápidoNo se satisface la demanda de nuevos programasDependencia de una operación confiable de softwareBatalla para crear software altamente confiable y de calidadProblemas para mantener y extender programas existentes debido a un pobre diseño y recursos inadecuados

Page 7: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Perspectiva de la Industria

Al principion Orientación a hardware, Ingeniería de HWn SW era sólo el paso final (artístico)

Hoyn Orientación a software, Ingeniería de SWn SW cuesta más

Page 8: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Perspectiva de la Industria

Preguntas:n ¿Porqué toma tanto tiempo terminar los

programas?n ¿Porqué los costos son tan altos?n ¿Porqué no es posible encontrar todos los

errores antes de la entrega?n ¿Porqué es tan difícil medir el progreso del

software mientras se desarrolla?

Page 9: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Planta de Software en Decadencia

industria de software en decadenciaInvertir para seguir compitiendo con industrias nuevas (con nueva tecnología)Miles de aplicaciones necesitan reconstruirsen Aplicaciones viejas ya no se pueden mantener (20

años atrás)n Difícil entender estructura de aplicaciones de

diseño crítico por su edad (estilos de diseño)n Sistemas embebidos tienen comportamiento

extraño, pero no hay nada que los reemplace

Page 10: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Competitividad

Antes el software se hacía a la medidan Software caron No competencia

Ahora el software es un negocio muy competidon Competencia mundialn Fuerza de trabajo barata

Page 11: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Software

¿Qué entendemos por software?n instrucciones que al ejecutarse producen

una función deseadan estructuras de datos que permiten a los

programas manipular adecuadamente la información

n documentos que describen la operación y uso de los programas

¿Realmente nos referimos a esto?

Page 12: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Características del Software

El software es algo lógico, no físico y de aquí que sus características difieran de las del hardwareEl software se desarrolla, no se manufactura en el sentido clásicon Requiere calidadn Costos básicamente de ingeniería

El software no echa a perder, pero si se deterioraLa mayoría del software se hace a la medida en lugar de ensamblar partes existentes

Page 13: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Componentes de Software

Reusabilidadn Diseñar para reutilizarw Algoritmosw Estructuras de datosw Encapsulación de datos y procesow Código a distintos niveles

n bajo nivel: lenguaje máquinan nivel medio: Cn alto nivel: íconos

Page 14: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Aplicaciones de Software

SistemaTiempo realNegociosIngeniería y científicoEmbebidoComputadora personalInteligencia artificial

Page 15: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Software: Crisis en el horizonte

Evolución lentaSe ha vivido con el problema por mucho tiempoProblema de:n Cómo desarrollamos softwaren Cómo damos mantenimienton Cómo satisfacer la demanda de software

Page 16: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos Administrativos

Ya tenemos libros llenos de estándares y procedimiento para construir software. ¿Proveerá esto a mis desarrolladores con todas las herramientas que necesitan?n ¿Se utiliza el libro?n ¿Los desarrolladores saben de su existencia?n ¿Refleja la práctica moderna de desarrollo de SW?n ¿Está completo?n En muchos casos la respuesta es NO

Page 17: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos Administrativos

Mi gente cuenta con las herramientas de software más recientes, les compramos las computadoras más recientesn Se necesita más que el mejor modelo de

computadora para generar SW de calidadn CASE son más importantes

Page 18: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos Administrativos

Si nos retrasamos podemos contratar mas programadores para recuperarnosn Desarrollo de SW no es manufacturan Añadir más gente retrasa el proyectow Entrenamiento

n Añadir gente debe ser una actividad planeada

Page 19: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos del Cliente

Un planteamiento general de los objetivos es suficiente para empezar a programarn Esta es la causa de la mayoría de las fallasn Es esencial una detallada descripción de:w Información del dominiow Funciónw Desempeñow Interfacesw Restricciones de diseñow Criterios de validación

Page 20: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos del Cliente

Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexiblen El impacto varía con el tiempo en que se introduce

un cambiow Poco impacto en la primer fasew Impacto crece mucho en fase de diseñow Impacto severo durante implementación (función,

desempeño, interfaces)w Impacto muy costoso cuando el SW ya está en uso

Page 21: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos del Practicante

Una vez terminado el programa y trabajando, hemos terminadon Mientras más pronto empieces a escribir

código, el tiempo de terminado se alargan Se gasta entre un 50 y 70% del tiempo

después de entregado por primera vez

Page 22: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos del Practicante

No es posible trabajar en calidad hasta que se termine de programarn La calidad del software se asegura con las

revisionesw Revisiones Formales del Software

Page 23: El Producto - cs.buap.mxrossainz/ingSw... · Mitos del Cliente Los requerimientos del proyecto cambian continuamente, pero éstos pueden ser ajustados porque el SW es flexible n El

Mitos del Practicante

El único entregable de un proyecto exitoso es el programa trabajandon El programa es sólo una parte, también se

requiere de:w documentaciónw datos