1 El Producto y el Proceso (Cap. I y II , “Ing. del Software - Un Enfoque Práctico”, Roger S. Pressman, 5ta Edición). ¿Qué es la Ingeniería del Software? “(1) La aplicación de un enfoque sistemático, disciplinado y cuantificable hacia el desarrollo, operación y mantenimiento del Software; es decir la aplicación de la Ingeniería al Software. (2) El estudio de enfoques como (1).”[IEEE, 1993]
25
Embed
1 El Producto y el Proceso (Cap. I y II, “Ing. del Software - Un Enfoque Práctico”, Roger S. Pressman, 5ta Edición). ¿Qué es la Ingeniería del Software?
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
El Producto y el Proceso (Cap. I y II , “Ing. del Software - Un Enfoque Práctico”, Roger S.
Pressman, 5ta Edición).
¿Qué es la Ingeniería del Software?
“(1) La aplicación de un enfoque sistemático, disciplinado y cuantificable hacia el desarrollo, operación y mantenimiento del Software; es decir la aplicación de la Ingeniería al Software.
(2) El estudio de enfoques como (1).”[IEEE, 1993]
2
El Producto – Características del SW
• Producto y vehículo.
• Lógico, no físico.
• Se desarrolla, no se fabrica.
• No se desgasta, se deteriora.
• Mayoría hecho a medida, tendencia a reusar.– En los 60´s, subrutinas de cálculos numéricos.
– Actualidad, biliotecas de componentes (objetos).
• SW de Sistemas• SW de Tiempo Real• SW de Negocio o Gestión• SW de Ingeniería o Científico• SW Embebido o Empotrado• SW de PC• SW de IA• SW basado en la Web
4
El Producto - Mitos del Software
• Propagaron confusión e información errónea.
Del administrador del proyecto
Mitos del SW Del usuario final o cliente
Del desarrollador
5
El Producto - Mitos del Software Ejemplos
• “Si fallamos en la planificación, podemos añadir más programadores y adelantar el tiempo perdido” (MA)
• “Los requisitos cambian continuamente, pero los cambios pueden acomodarse fácilmente porque el SW es flexible” (MC)
• “Lo único que se entrega al terminar el proyecto es el programa funcionando” (MD).
6
El Proceso
• ¿Qué es?Marco de trabajo de tareas a realizar para desarrollar SW de
alta calidad.
• ¿Es sinónimo de Ingeniería del Software?
Define un enfoque para desarrollar SW en forma ingenieril, pero la ISW comprende, además de un Proceso, Métodos y Herramientas.
7
• Pressman: Tecnología multicapa
¿ Qué es la Ingeniería del Software?
Capa fundamental
Un enfoque de calidad
Proceso
Métodos
Herramientas
8
El Proceso – Visión Genérica
Ing. Sistemas
Planificación
Análisis de req.
Diseño
G. de Código
Prueba
Definición(QUE)
Desarrollo(COMO)
Soporte(CAMBIOS)
Mant. Correctivo
Mant. Adaptativo
Mant. Perfectivo
Mant. Preventivo o Reingeniería del Software
9
El Proceso Modelo de Capacidad de Madurez
(CMM)
• Nivel 1: Inicial
• Nivel 2: Repetible
• Nivel 3: Definido
• Nivel 4: Gestionado
• Nivel 5: Optimizado
10
Modelo Lineal Secuencial
• Ciclo de vida clásico, modelo en cascada• + antiguo, + usado• Enfoque sistemático secuencial
AnálisisDiseño
Codif.Prueba
Mant.Ing. de Sistemas
11
Modelo Lineal Secuencial
• Críticas:– Proyectos reales raras veces se ajustan.
– Raras veces cliente expone todos los req. de entrada.
– Producto operativo al final => Paciencia (cliente) alta.
• Consejo: Usar cuando todos los requerimientos han sido establecidos claramente de entrada.
12
Modelo de Construcción de Prototipos
• No están claros los reqs. de entrada
• Iterativo. Hasta cuando se itera?
• Working prototype, desechar y empezar con desarrollo de sistema.
Escuchar al cliente
Validar prototipo
Construir prototipo
13
Modelo de Construcción de Prototipos
• Críticas:– Cliente cree que es el sistema.
– Peligro de familiarización con malas elecciones iniciales (quick and dirty).
• Consejo:– Usar cuando inicialmente no están claros los requerimientos.
– Definir claramente de entrada las reglas de juego con el cliente.
– No ceder a presión del cliente.
14
Modelo DRA (Desarrollo Rápido de Aplicaciones)
• Lineal secuencial con ciclo extremadamente corto.
• Candidatos: sistemas que se pueden modularizar =>
equipos de desarrollo paralelos.
• Basado en el uso de componentes y T4G.
15
Equipo # 1
Modelo de Negocio
Modelo de Datos
Modelo de Proceso
Generación de Aplicación
Prueba y Entrega
Equipo # 2
Modelo de Negocio
Modelo de Datos
Modelo de Proceso
Generación de Aplic.
Prueba y Entrega
Equipo # n
Modelo de Negocio
Modelo de Datos
Modelo de Proceso
Generación de Aplic.
Prueba y Entrega
Tiempo
¿Qué información?¿Quién la genera?¿A dónde va?
Descripciones de procesos de negocio para ABM de objetos de MD
T4G + Reusabilidad de Componentes
Prueba de Comp. Nuevos e interfaces.
Identificación de Objetos y relaciones
Modelo DRA
16
Modelo DRA
• Críticas:– Proyectos grandes => gran nro. de personas.
– Alto compromiso en tiempo.
– No apto para todo tipo de sistema (ej. no modularizable, baja reusabilidad de componentes).
– Desaconsejable cuando riesgos tecnológicos altos (ej. Uso de nuevo lenguaje) o alta interoperatividad con programas ya existentes.
17
Modelos Evolutivos
• Se adaptan más fácilmente a los cambios introducidos a lo largo del desarrollo.
• Iterativos• En cada iteración se obtienen versiones más
completas del SW.• Modelos Evolutivos:
– Modelo Incremental (*)– Modelo en Espiral (*)– Modelo de Desarrollo Basado en Componentes (*)– Modelo WINWIN– Modelo de Desarrollo Concurrente
18
Modelo Incremental
• Iteración de Lineal Secuencial.
• Cada iteración devuelve un “Incremento” o versión operativa. (Ej. Editor de texto).
• Util cuando no se está seguro de cumplir con plazos de tiempo o se tiene una fecha imposible de cambiar.