290 likes | 497 Views
EL PRODUCTO. Capitulo 1 Roger S. Presman. LA EVOLUCION DEL SOFTWARE. Hoy en día el software tiene un doble papel. Es un producto y al mismo tiempo el vehículo para entregarlo. LA EVOLUCION DEL SOFTWARE. Durante los años 70 y 80 -“ nueva revolución industrial”
E N D
EL PRODUCTO Capitulo 1 Roger S. Presman
LA EVOLUCION DEL SOFTWARE Hoy en día el software tiene un doble papel. Es un producto y al mismo tiempo el vehículo para entregarlo.
LA EVOLUCION DEL SOFTWARE Durante los años 70 y 80 -“nueva revolución industrial” - “la tercera ola del cambio” - “sociedad de información” Al comienzo de los años 90 - “cambio de poder” - “declive y la caída del programador americano” - “reingeniería de la compañía” A mediados de los años 90 Se genero una erupción de libros donde critican enormemente la computadora.
LA EVOLUCION DEL SOFTWARE Al final de los 90 -“la resurrección y evaluación” del programador americano. Al final del sigo XX - “bomba de relojería” Y2K. Hoy en día - “la computación omnipresente” “El papel del software continua su expansión.”
EL SOFTWARE Características del Software El software es un elemento del sistema que es lógico, en lugar de físico. • El software se desarrolla no se fabrica. • El software no se estropea. • Aunque la industria tiende a ensamblar componentes, la mayoría del software se construye a medida.
Aplicaciones del Software • Software de Sistemas • Software de Tiempo Real • Software de Gestión • Software de Ingeniería y Científico. • Software Empotrado • Software de computadoras personales • Software basado en Web • Software de Inteligencia Artificial
SOFTWARE ¿UNA CRISIS EN EL HORIZONTE? El conjunto de problemas encontrados en el desarrollo del software de computadoras no se limita al software que “no funciona correctamente”.
Mitos de Gestión • “Tenemos ya un libro que esta lleno de estándares y procedimiento para construir software ¿no le proporciono a mi gente todo lo que necesita saber?” • “Mi gente dispone de las herramientas de desarrollo del software mas avanzadas, después de todo les compramos las computadoras mas modernas”. • “Si fallamos en la planificación podemos añadir mas programadores y adelantar el tiempo perdido”
Mitos de Clientes • “Una declaración general de los objetivos es suficiente para comenzar a escribir programas –podemos dar los detalles mas adelante-.” • “Los requisitos del cliente cambian continuamente, pero los cambios pueden acomodarse fácilmente, ya que el software es flexible.”
Mitos de los Desarrolladores • “Una vez que termine el programa y hacemos que funcione, nuestro trabajo a terminado.” • “Hasta que no tengo el programa ejecutándose, realmente no tengo forma de probar la calidad.” • “Lo único que se entrega al terminar el proyecto es el programa funcionando“
EL PROCESO Capitulo 2 Roger S. Presman
INGENIERA DEL SOFTWARE: UNA TECNOLOGIA ESTRATIFICADA Fritz Bauer: La Ingeniería de software es el establecimiento y uso de principios robustos de la ingeniería a fin de obtener econonómicamente software que sea fiable y que funcione eficientemente sobre máquinas reales.
Procesos, métodos y herramientas Métodos Herramientas Un enfoque de calidad Procesos
Una visión general de la ingeniería del software • La fase de definición se centra en el qué. • La fase de desarrollo se centra en el como. • La fase de mantenimiento se centra en el cambio.
Proceso de Software Marco de Trabajo común para el proceso Actividades del Marco de trabajo Conjunto de Tareas Actividades de Protección Tareas Hitos, entregas Puntos SQA
Niveles de Madurez del Proceso • Nivel 1 Inicial • Nivel 2 Repetible • Nivel 3 Definido • Nivel 4 Gestionado • Nivel 5 Optimización
MODELOS DE PROCESO DE SOFTWARE Definición de problemas Desarrollo técnico Estado Actual Integración de Solución
El Modelo Lineal Secuencial Ingeniería de sistemas/información Análisis Diseño Código Prueba
El Modelo de Construcción de Prototipos Escuchar al Cliente Construir/revisar la maqueta El cliente prueba la maqueta
Modelado de Gestión Modelado de Gestión Modelado de Gestión Modelado de datos Modelado de datos Modelado de datos Modelado de procesos Modelado de procesos Modelado de procesos Generación de aplicaciones Generación de aplicaciones Generación de aplicaciones Pruebas y entregas Pruebas y entregas Pruebas y entregas El Modelo DRA Equipo No. 3 Equipo No. 1 Equipo No. 2
Ingeniería de sistemas/información Incremento 1 Análisis Diseño Código Prueba Modelos Evolutivos de procesos de SoftwareEl modelo incremental Entrega del 1er. incremento Análisis Diseño Código Prueba Incremento 2 Entrega del 2do. incremento Análisis Diseño Código Prueba Entrega del 3er. incremento Incremento 3
El Modelo espiral Planificación Comunicación con el Cliente Análisis de Riesgo Eje de punto de entrada de proyecto Ingeniería Evaluación del Cliente Construcción y adaptación • Proyecto de mantenimiento de productos • Proyecto de mejora de productos • Proyecto de desarrolla de nuevos productos • Proyecto de desarrollo de conceptos
Modelo Espiral WINWIN 2. Identificar las Condiciones de victoria de los directivos 3ª. Reunir las condiciones de victoria 3b. Establecer los objetivos Restricciones y alternativas del siguiente nivel 1. Identificar el siguiente nivel para los directivos 4. Evaluar las alternativas del producto y del proceso Y resolución de riesgos • Revisión y • comentarios 5. Definir el siguiente Nivel del producto y del Proceso incluyendo particiones 6. Validar las Definiciones del producto y del proceso
Modelo de Desarrollo Concurrente Ninguna Actividad de Análisis Bajo Desarrollo Cambios en espera Bajo Revisión Bajo modificación En línea base Realizado
Desarrollo basado en Componentes Identificar componentes candidatos Planificación Construir la iteración del sistema Buscar Componentes en biblioteca Comunicación con el Cliente Análisis de Riesgo Poner nuevos componentes en la biblioteca Extraer Componentes Si están disponibles Evaluación Del Cliente Extraer Componentes Si No están disponibles Construcción y adaptación de la ingeniería
El Modelo de Métodos Formales Cuando se utilizan métodos formales durante el diseño, sirven como base para la verificación de programas y por consiguiente permiten que el ingeniero de software descubra y corrija errores que no se pudieron detectar de otra manera.
Técnicas de cuarta generación Facilitan al ingeniero de software la especificación de algunas características del software de alto nivel.
Tecnología de Procesos Se han desarrollado herramientas de tecnología de procesos para ayudar a organizaciones de software a analizar los procesos actuales, organizar tareas de trabajo, controlar y supervisar el progreso y gestionar la calidad técnica.
Producto y Proceso “Si el proceso el débil el producto va a sufrir indudablemente.”