Professional Documents
Culture Documents
I. Motivación
III. Herramientas
VII.Conclusiones
2
ë
Contenidos
I. Motivación
III. Herramientas
VII.Conclusiones
3
ë
¿Qué queremos conseguir?
-
Costo
+ Calidad
+
Productividad +
Satisfacción
www.dsic.upv.es/~letelier
4
ë
Claves en el Desarrollo de Software
Notación
p.e. UML, DFDs, ER, etc.
www.dsic.upv.es/~letelier
Herramientas Proceso
p.e. Rational Rose p.e. Rational Unified Process
StarUML, etc. Métrica 3.0, XP, etc.
5
ë
Contexto: envergadura/complejidad del producto
6
ë
… Contexto: envergadura/complejidad del producto
• Construida eficientemente y en un
tiempo razonable por un equipo
www.dsic.upv.es/~letelier
• Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas
7
ë
www.dsic.upv.es/~letelier … Contexto: envergadura/complejidad del producto
No comments
8
ë
Contenidos
I. Motivación
III. Herramientas
VII.Conclusiones
9
ë
Modelos y Diagramas
10
ë
... Modelos y Diagramas
El modelado facilita:
• Comunicación de ideas
• Evaluar alternativas
• Aproximación gradual al producto
• “Visualizar” el producto
12
ë
Grado de modelado: Según su explotación
0 “Documentar” (a posteriori)
13
ë
Ventajas del Enfoque Orientado a Objetos
Proximidad de los conceptos de modelado respecto
de las entidades del mundo real
• Mejora captura y validación de requisitos
• Acerca el “espacio del problema” y el “espacio de
la solución”
Modelado integrado de propiedades estáticas y
dinámicas del ámbito del problema
• Facilita construcción, mantenimiento y
reutilización
Conceptos comunes de modelado durante el análisis,
diseño e implementación
• Facilita la transición entre distintas fases
www.dsic.upv.es/~letelier
14
ë
Diagramas de UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Secuencia
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboración Modelos Componentes
Scenario Component
www.dsic.upv.es/~letelier
Scenario Component
Diagrams
Diagramas
Diagramas de
Diagrams
Diagrams Diagrams de
Estados Diagramas de Distribución
Actividad
15
ë
Tener presente
16
ë
Modelado de Datos en el Enfoque OO
Modelado de Requisitos
19
ë
¿Cómo modelar requisitos no funcionales?
20
ë
Interacción entre el Modelado de Procesos y Datos
en el Enfoque Estructurado
Recolección y
Análisis de
Requisitos
Requisitos Requisitos de
Funcionales Bases de Datos
Análisis Diseño
Funcional Conceptual
Especificación de
Modelo Conceptual
Independiente Procesos
del SGBD
Diseño
Diseño Lógico
Dependiente de Programas
del SGBD de Aplicación Modelo Lógico
Especificaciones de Diseño
Diseño de Programas Físico
Implementación
www.dsic.upv.es/~letelier
Modelo Físico +
del SW Detalles físicos
Implementación
Programas de Aplicación de la BD
Esquema Interno
de la BD
21
ë
Enfoques para el modelado de Software
Bases de Datos
Diagramas de UML Relacional
Enfoque OO
Modelo
www.dsic.upv.es/~letelier
Relacional !!
I. Motivación
III. Herramientas
VII.Conclusiones
23
ë
Herramientas
• Herramientas CASE
…
www.dsic.upv.es/~letelier
24
ë
… Herramientas
25
ë
Tendencias en modelado y herramientas
26
ë
Contenidos
I. Motivación
III. Herramientas
VII.Conclusiones
27
ë
Calidad del producto, calidad del proceso
ISO/IEC 9126
www.dsic.upv.es/~letelier
28
28
ë
www.dsic.upv.es/~letelier ISO 9001 – SPICE – ISO/IEC 12207
29
ë
CMMI
www.dsic.upv.es/~letelier
Capability Madurity Model
30
ë
Modelos de proceso de software
Desarrollo en cascada
Desarrollo evolutivo
Desarrollo incremental
Desarrollo en espiral
31
ë
¿Qué es una Metodología?
Una metodología define Quién debe hacer Qué,
Cuándo y Cómo debe hacerlo
www.dsic.upv.es/~letelier
32
ë
Adaptando la metodología al proyecto
No existe una metodología de software universal. Las
características de cada proyecto exigen que el
proceso se adapte al proyecto.
www.dsic.upv.es/~letelier
33
ë
Una clasificación de Metodologías
Metodologías Estructuradas
MERISE (Francia), MÉTRICA 3 (España), SSADM
(Reino Unido)
Métodos estructurados en el ámbito académico:
Gane & Sarson, Ward & Mellor, Yourdon &
DeMarco, Information Engineering, etc.
Metodologías OO
Metodologías basadas en UML: Rational Unified
Process (RUP), Unified Process (UP), MÉTRICA 3
www.dsic.upv.es/~letelier
I. Motivación
III. Herramientas
VII.Conclusiones
35
ë
www.dsic.upv.es/~letelier Rational Unified Process (RUP)
36
ë
Fases e Hitos (Milestones)
tiempo
www.dsic.upv.es/~letelier
37
ë
Release, Base Line, Generación
Roles Artefactos
Actividades 39
ë
Características esenciales de RUP
40
ë
Proceso dirigido por los Casos de Uso
Capturar, definir y
Requisitos
validar los casos de uso
Verificar que se
Pruebas satisfacen los casos
de uso
www.dsic.upv.es/~letelier
41
ë
www.dsic.upv.es/~letelier … Proceso dirigido por los Casos de Uso
42
ë
Proceso Iterativo e Incremental
Enfoque
Cascada
Enfoque
Iterativo e
www.dsic.upv.es/~letelier
Incremental
43
ë
Proceso Centrado en la Arquitectura
Architecture
www.dsic.upv.es/~letelier
44
ë
¿Qué es una Metodología Ágil?
www.agilealliance.com
45
ë
¿Por qué surgen las Metodologías Ágiles (AMs)?
46
ë
Artefactos esenciales en XP
47
ë
Historia de Usuario
Historia de Usuario
Número: 1 Nombre: Enviar artículo
Usuario: Autor
Modificación de Historia Número: Iteración Asignada: 2
Prioridad en Negocio: Alta
Puntos Estimados:
(Alta / Media / Baja)
Riesgo en Desarrollo:
Puntos Reales:
(Alto / Medio / Bajo)
Descripción:
Se introducen los datos del artículo (título, fichero adjunto, resumen, tópicos) y de
los autores (nombre, e-mail, afiliación). Uno de los autores debe indicarse como
autor de contacto. El sistema confirma la correcta recepción del artículo enviando un
e-mail al autor de contacto con un userid y password para que el autor pueda
www.dsic.upv.es/~letelier
Observaciones:
48
ë
www.dsic.upv.es/~letelier Boceto de IU para Historia de Usuario
49
ë
Tarea de Ingeniería
Tarea
Nombre tarea:
Tipo de tarea :
Puntos estimados:
Desarrollo / Corrección / Mejora / Otra
Programador responsable:
www.dsic.upv.es/~letelier
Descripción:
50
ë
Prueba de Aceptación
Prueba de Aceptación
Número Caso de Prueba: Historia de Usuario:
Nombre Caso de Prueba:
Descripción:
Condiciones de ejecución:
Entradas:
www.dsic.upv.es/~letelier
Resultado esperado:
51
Evaluación:
ë
Prácticas XP
• El juego de la • Programación en
planificación parejas
• Entregas pequeñas • Propiedad colectiva
• Metáfora • Integración continua
• Diseño simple • Semana de 40 horas
• Pruebas • Cliente in situ
• Refactoring • Estándares de
programación
www.dsic.upv.es/~letelier
52
ë
www.dsic.upv.es/~letelier Interacción entre Prácticas XP
Definir
Historias
de Usuario
Pruebas de Aceptación
Spikes (Bocetos)
54
ë
Planificación de la Entrega
Velocidad de
Proyecto (VP)
puntos/semana
Historias
de Usuario
Segunda N-ésima Última
Primera Iteración Iteración
Iteración Iteración
Historias
fuera de la
… entrega
www.dsic.upv.es/~letelier
2a3
semanas
Entrega
<= 3 meses
55
ë
Fase de Construcción
Trabajo durante una iteración XP
Historias de la Tareas de
Iteración Historias de
la iteración
Pruebas de
Aceptación
Programación
en Parejas
Validación
continua por
el cliente Diseño
www.dsic.upv.es/~letelier
Refactoring
Programación
Pruebas Unitarias
Integración
Versión del Pruebas de Integración
Producto Pruebas de Aceptación
56
ë
Sitios Recomendados
Sitio Extreme Programming: A Gentle Introduction. www.extremeprogramming.org
Secciones “Artículos” y “Roadmap” del sitio de la Agile Alliance.
www.agilealliance.org
Sitio Xprogramming, mantenido por Ron Jeffries. www.xprogramming.com
WikiWiki de Extreme Programming
http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap
Revista electrónica Software Development. www.sdmagazine.com
Número monográfico de revista CrossTalk: Agile Software Development.
www.stsc.hill.af.mil/crosstalk/2002/10/
Una extensiones de XP, Agile+. www.agiletek.com
Sitios de modelado ágil, mantenidos por Scott W. Ambler. www.agilemodeling.com,
www.agiledata.org
www.dsic.upv.es/~letelier
Tradicional
Costo
del
cambio
Suposición MAs
www.dsic.upv.es/~letelier
tiempo
59
59
ë
Configurabilidad versus Escalabilidad
60
60
ë
Cuándo NO utilizar una Metodología Ágil
61
61
ë
Contenidos
I. Motivación
III. Herramientas
VII.Conclusiones
62
ë
Pruebas en Metodologías
No hay diferencias significativas respecto a pruebas
(desde el punto de vista de técnicas y herramientas
utilizadas) entre una metodología tradicional y una ágil
63
ë
… Pruebas en Metodologías
Dificultades para la introducción de una “cultura”,
disciplina y prácticas de pruebas en un equipo de
desarrollo
65
ë
PAs … ¿Cuándo?
Análisis de Pruebas de
Requisitos Sistema
Diseño de Pruebas de
Arquitectura Integración
Diseño de Pruebas
Módulos Unitarias
www.dsic.upv.es/~letelier
66
ë
Aprovechamiento de las PAs
67
ë
Especificación de requisitos
client
1 : Pin()
client
: TMDistributor
1 : Pin()
: TMDistributor
: TMDistributor
☺ Pero …
client : TMDistributor
2 : Pin Ok() 1 : Pin()
client : TMDistributor
2 : Pin Ok() 1 : Pin()
3 : Cantidad()
☺
client : TMDistributor
2 : Pin Ok() 1 : Pin()
3 : Cantidad()
3 : Cantidad()
2 : Pin Ok() 1 : Pin()
4 : Saldo insuficiente()
3 : Cantidad()
2 : Pin Ok()
4 : Saldo insuficiente()
3 : Cantidad()
4 : Saldo insuficiente()
2 : Pin Ok()
3 : Cantidad()
Descripción narrativa
4 : Saldo insuficiente()
4 : Saldo insuficiente()
4 : Saldo insuficiente()
Diagramas de Secuencia ☺
Caso de Uso
www.dsic.upv.es/~letelier
Plantilla Bocetos de IU
68
ë
Requisitos y Pruebas de Aceptación
client : TMDistributor
client : TMDistributor
1 : Pin()
client : TMDistributor
1 : Pin()
client : TMDistributor
2 : Pin Ok() 1 : Pin()
client : TMDistributor
2 : Pin Ok() 1 : Pin()
3 : Cantidad()
client : TMDistributor
2 : Pin Ok() 1 : Pin()
3 : Cantidad()
3 : Cantidad() 1 : Pin()
4 : Saldo insuficiente() 2 : Pin Ok()
3 : Cantidad()
4 : Saldo insuficiente()
2 : Pin Ok()
3 : Cantidad()
4 : Saldo insuficiente() 2 : Pin Ok()
3 : Cantidad()
Descripción narrativa (breve)
Pruebas de Aceptación
4 : Saldo insuficiente()
4 : Saldo insuficiente()
4 : Saldo insuficiente()
Diagramas
de Secuencia
Caso de Uso
www.dsic.upv.es/~letelier
Plantilla Bocetos de IU
69
ë
Requisitos + UIs + PAs
Descripción narrativa
Caso de Uso
www.dsic.upv.es/~letelier
Pruebas de Aceptación
(Sólo identificación)
Bocetos de IU
70
ë
… Ejemplo
Identificación de Pruebas de Aceptación
1. Reintegro usando cantidades predefinidas
2. Reintegro con cantidad introducida por cliente
3. Intento reintegro saldo < cantidad
4. Cancelación de operación
5. No disponibilidad de billetes
6. No disponibilidad de papel para recibo
7. Intento reintegro saldo < cantidad con cliente preferencial
8. Excedido tiempo de comunicación con sistema central
9. Excedido tiempo de espera para introducción de acción
www.dsic.upv.es/~letelier
10. …
71
ë
… Ejemplo
72
ë
Conclusiones
Notación y Herramientas no son las “balas de plata”
para el éxito en desarrollo de software … el proceso
tampoco, pero puede tener un impacto más
significativo en dicho éxito (o fracaso)
“Preferir PAs como especificación de requisitos”, esto
tiene múltiples ventajas
La “cultura” de pruebas puede introducirse de
manera efectiva y “rentable” a partir de pruebas de
aceptación
Enfoque validado en contexto académico e industrial
www.dsic.upv.es/~letelier
73
ë
ë www.dsic.upv.es/~letelier Contexto del proyecto
74
ë www.dsic.upv.es/~letelier … Conclusiones
75