Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Tópicos cubiertos
2
El proceso de software
4
Procesos ágiles y basados en planes.
6
Modelos de proceso de software
El modelo de cascada
▪ Modelo basado en planes. Fases separadas y distintas de
especificación y desarrollo.
Desarrollo incremental
▪ La especificación, el desarrollo y la validación están
intercalados. Puede ser planificado o ágil.
Integración y configuración
▪ El sistema se ensambla a partir de componentes configurables
existentes. Puede ser planificado o ágil.
En la práctica, la mayoría de los sistemas grandes se
desarrollan utilizando un proceso que incorpora
elementos de todos estos modelos.
7
El modelo de cascada
8
Fases del modelo de cascada
9
Problemas del modelo de cascada
10
Desarrollo incremental
11
Beneficios de desarrollo incremental
El proceso no es visible.
▪ Los gerentes necesitan entregas regulares para medir el
progreso. Si los sistemas se desarrollan rápidamente, no es
rentable producir documentos que reflejen cada versión del
sistema.
La estructura del sistema tiende a degradarse a medida
que se agregan nuevos incrementos.
▪ A menos que se gaste tiempo y dinero en la refactorización para
mejorar el software, el cambio regular tiende a corromper su
estructura. Incorporar más cambios de software se vuelve cada
vez más difícil y costoso.
13
Integración y configuración
14
Tipos de software reutilizable
15
Ingeniería de software orientada a la
reutilización
16
Etapas clave del proceso
Especificación de requisitos
Descubrimiento y evaluación de software
Refinamiento de requisitos
Configuración del sistema de aplicación
Adaptación e integración de componentes.
17
Ventajas y desventajas
18
Flujos del proceso
19
Actividades de proceso
20
Actividades de proceso
21
El proceso de ingeniería de requisitos.
22
Especificación de software
23
Diseño e implementación de software.
24
Un modelo general del proceso de diseño.
25
Actividades de diseño
Actividades de diseño
Diseño arquitectónico, donde identifica la estructura
general del sistema, los componentes principales
(subsistemas o módulos), sus relaciones y cómo se
distribuyen.
Diseño de base de datos, donde diseña las estructuras
de datos del sistema y cómo se deben representar en
una base de datos.
Diseño de interfaz, donde define las interfaces entre los
componentes del sistema.
Selección y diseño de componentes, donde busca
componentes reutilizables. Si no está disponible, diseñe
26
cómo funcionará.
Implementación del sistema
27
Validación de software
28
Etapas de prueba
29
Etapas de prueba
Prueba de componentes
▪ Los componentes individuales se prueban de forma
independiente;
▪ Los componentes pueden ser funciones u objetos o
agrupaciones coherentes de estas entidades.
Prueba del sistema
▪ Prueba del sistema en su conjunto. La prueba de las
propiedades emergentes es particularmente importante.
Prueba del cliente
▪ Prueba con datos del cliente para verificar que el sistema
cumpla con las necesidades del cliente.
30
Fases de prueba en un proceso de software
basado en planes (modelo V)
31
Evolución del software
32
Evolución del sistema
33
Lidiando con el cambio
34
Lidiando con el cambio
35
Reducir los costos de retrabajo
37
Prototipos de software
38
Beneficios de la creación de prototipos
39
El proceso de desarrollo de prototipos.
40
Desarrollo de prototipos
41
Prototipos desechables
42
Entrega incremental
43
Desarrollo incremental y entrega
Desarrollo incremental
▪ Desarrolle el sistema en incrementos y evalúe cada incremento
antes de proceder al desarrollo del siguiente incremento;
▪ Enfoque normal utilizado en métodos ágiles;
▪ Evaluación realizada por el intermediario del usuario / cliente.
Entrega incremental
▪ Implemente un incremento para uso de los usuarios finales;
▪ Evaluación más realista sobre el uso práctico del software;
▪ Difícil de implementar para sistemas de reemplazo ya que los
incrementos tienen menos funcionalidad que el sistema que se
reemplaza.
44
Entrega incremental
45
Ventajas incrementales de entrega
46
Problemas de entrega incrementales
48
La mejora de procesos
49
Enfoques de mejora
50
El ciclo de mejora del proceso.
Analizar Cambiar
Medir
51
Actividades de mejora de procesos
Medida de proceso
▪ Mide uno o más atributos del proceso de software o producto.
Estas mediciones forman una línea de base que lo ayuda a
decidir si las mejoras del proceso han sido efectivas.
Análisis de proceso
▪ Se evalúa el proceso actual y se identifican las debilidades y los
cuellos de botella del proceso. Se pueden desarrollar modelos
de proceso (a veces llamados mapas de proceso) que describen
el proceso.
Cambio de proceso
▪ Se proponen cambios en el proceso para abordar algunas de las
debilidades identificadas del proceso. Estos se introducen y se
reanuda el ciclo para recopilar datos sobre la efectividad de los
cambios. 52
Medida de proceso
53
Métricas de proceso
54
Niveles de madurez de capacidad
55
El modelo de madurez de capacidad SEI
59