Métodos
ormales
Modelo de Desarrollo de Software
¿Que es un método formal?
Modelo matemático para
- Diseñar.
- Especificar.
- Implementar.
- Verificar.
Sistemas informátic...
istoria
Floyd (1967).Secuenciales
Ashcroft (1975).Concurrentes
En la geniería de Software
En la Ingeniería de Software los métodos formales se utilizan para:
● Las políticas de los requ...
Ven ajas de los métodos formales
● Especificación
● Verificación
● Validación
Es ecificación
La ingeniería de Software
tiene problemas para la
especificación de
comportamientos.
La especificación form...
Verificación
“Se esta construyendo el producto
correcto.”
Con los métodos comunes a pesar
de la generación de manuales de
...
Validación
“Se esta construyendo el producto correcto.”
Utilizado principalmente para sistemas complejos como aquellos de ...
Ventajas
● Se comprende mejor el sistema.
● La comunicación con el cliente mejora ya que se dispone de una
descripción cla...
Desventajas
● El desarrollo de herramientas que apoyen la aplicación de métodos
formales es complicado y los programas res...
Cla ificación
● Especificaciones basadas en lógica de primer orden y
teoría de conjuntos
● Especificaciones algebraicas
● ...
Los 10 andamientos
(Bowen, Hinchley)
1. Seleccionarás la notación adecuada.
2. Formalizarás, pero no de más.
3. Estimarás ...
Los 7 itos de Hall
1. Los métodos formales pueden garantizar la corrección del
software
2. Todos los métodos formales se r...
Fracasos de la Aplicación de MF
● Algoritmo de división del procesador Pentium (1993)
Costo: 475 millones de dólares, cred...
Logros de la Aplicación de MF
● Metéor, Matra Transport, France:
Herramienta: Atelier-B
Resultado: No se encontró ningún e...
El futuro de los métodos formales
“Un mundo en el que los productos software siempre serán fiables, y
que la labor de los ...
Conclusiones
Los métodos formales son técnicas matemáticas,
a menudo soportadas por herramientas, para el
desarrollo de si...
Conclusiones
Mediante un método formal, el sistema se
deja de ver como un generador de
eventos y se empieza a tratar como ...
Conclusiones
Los métodos formales tienen un nivel más
elevado de precisión cuando se realizan
procesos de validación y ver...
Bibliografía
● Ian Somerville. Ingeniería del Software 7ma. Edición. Pearson, 2005.
● Edgar Serna Montoya. Métodos formale...
Recursos Web 2.0
Próxima SlideShare
Cargando en…5
×

Métodos Formales

1.202 visualizaciones

Publicado el

Ingeniería del Software - Universidad Distrital Francisco José de Caldas
Christian Giraldo Rueda - Lorena Laguna Torres - Daniel Ochoa Suárez - Natalia Herrera Rey

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.202
En SlideShare
0
De insertados
0
Número de insertados
6
Acciones
Compartido
0
Descargas
47
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Métodos Formales

  1. 1. Métodos ormales Modelo de Desarrollo de Software
  2. 2. ¿Que es un método formal? Modelo matemático para - Diseñar. - Especificar. - Implementar. - Verificar. Sistemas informáticos.
  3. 3. istoria Floyd (1967).Secuenciales Ashcroft (1975).Concurrentes
  4. 4. En la geniería de Software En la Ingeniería de Software los métodos formales se utilizan para: ● Las políticas de los requisitos ● La especificación ● Las pruebas de correspondencia entre la especificación y los requisitos ● Las pruebas de correspondencia entre el código fuente y la ● especificación ● Pruebas de correspondencia entre el código máquina y el código fuente
  5. 5. Ven ajas de los métodos formales ● Especificación ● Verificación ● Validación
  6. 6. Es ecificación La ingeniería de Software tiene problemas para la especificación de comportamientos. La especificación formal proporciona una mayor precisión. Detección de ambigüedades y omisiones.
  7. 7. Verificación “Se esta construyendo el producto correcto.” Con los métodos comunes a pesar de la generación de manuales de pruebas rigurosos solo se logra eliminar los errores más evidentes. Las técnicas de verificación formal dependen de especificaciones matemáticas precisas.
  8. 8. Validación “Se esta construyendo el producto correcto.” Utilizado principalmente para sistemas complejos como aquellos de modelado y simulación.
  9. 9. Ventajas ● Se comprende mejor el sistema. ● La comunicación con el cliente mejora ya que se dispone de una descripción clara y no ambigua de los requisitos del usuario. ● El sistema se describe de manera más precisa. ● El sistema se asegura matemáticamente que es correcto según las especificaciones. ● Mayor calidad software respecto al cumplimiento de las especificaciones. ● Mayor productividad
  10. 10. Desventajas ● El desarrollo de herramientas que apoyen la aplicación de métodos formales es complicado y los programas resultantes son incómodos para los usuarios. ● Los investigadores por lo general no conocen la realidad industrial. ● Es escasa la colaboración entre la industria y el mundo académico, que en ocasiones se muestra demasiado dogmático. ● Se considera que la aplicación de métodos formales encarece los productos y ralentiza su desarrollo
  11. 11. Cla ificación ● Especificaciones basadas en lógica de primer orden y teoría de conjuntos ● Especificaciones algebraicas ● Especificación de comportamiento ○ Métodos basados en álgebra de procesos ○ Métodos basados en Redes de Petri ○ Métodos basados en lógica temporal
  12. 12. Los 10 andamientos (Bowen, Hinchley) 1. Seleccionarás la notación adecuada. 2. Formalizarás, pero no de más. 3. Estimarás los costes. 4. Poseerás un experto en métodos formales a tu disposición. 5. No abandonarás tus métodos formales de desarrollo. 6. Documentarás suficientemente. 7. No comprometerás los estándares de calidad. 8. No serás dogmático. 9. Comprobarás, comprobarás y volverás a comprobar. 10. Reutilizarás cuanto puedas.
  13. 13. Los 7 itos de Hall 1. Los métodos formales pueden garantizar la corrección del software 2. Todos los métodos formales se refieren a la corrección de programas 3. Son de utilidad solamente para sistemas de altas prestaciones/alta integridad (safety-critical) 4. Su uso requiere una alta cualificación o entrenamiento matemático 5. Incrementan el coste de desarrollo 6. Son inadecuados y no serán aceptados por los clientes 7. No se usan en la realidad en proyectos software de gran escala
  14. 14. Fracasos de la Aplicación de MF ● Algoritmo de división del procesador Pentium (1993) Costo: 475 millones de dólares, credibilidad de Intel ● Explosión de la misión espacial Ariane 5 (1996) Costo: 500 millones de dólares ● Orbitador climático de Marte (1998) Costo: 125 millones de dólares
  15. 15. Logros de la Aplicación de MF ● Metéor, Matra Transport, France: Herramienta: Atelier-B Resultado: No se encontró ningún error durante el testing de 80000 líneas de código. ● SPOT 4, CS-CI, France: Herramienta: IFAD VDM-SL Toolbox Resultado: Se redujo un 38% menos de código fuente y un 36%menos de esfuerzo total.
  16. 16. El futuro de los métodos formales “Un mundo en el que los productos software siempre serán fiables, y que la labor de los ingenieros de software sea realmente Ingeniería.” Logic in Computer Science 26th International Conference on Computer Aided Verification (CAV)
  17. 17. Conclusiones Los métodos formales son técnicas matemáticas, a menudo soportadas por herramientas, para el desarrollo de sistemas software y hardware. Su rigor matemático le permite a los ingenieros analizar y verificar sus modelos en cualquier parte del ciclo de vida del desarrollo.
  18. 18. Conclusiones Mediante un método formal, el sistema se deja de ver como un generador de eventos y se empieza a tratar como un transformador de estado.
  19. 19. Conclusiones Los métodos formales tienen un nivel más elevado de precisión cuando se realizan procesos de validación y verificación del software, sobretodo en aplicaciones con grados altos de complejidad.
  20. 20. Bibliografía ● Ian Somerville. Ingeniería del Software 7ma. Edición. Pearson, 2005. ● Edgar Serna Montoya. Métodos formales e Ingeniería de Software. [Internet] Septiembre 2010. Disponible en: http://www.redalyc.org/pdf/1942/194214476008.pdf ● Rodolfo Quispe-Otazu. ¿Que son los Métodos Formales?. Blog de Rodolfo Quispe-Otazu [Internet]. Febrero 2009. Disponible en: http://www.rodolfoquispe.org/blog/que-son-los- metodos-formales.php ● Carlos Gustavo Lopez Pombo. Métodos formales en la ingeniería de software: en busca de la bala de plata. 2004. Disponible en: http://www-2.dc.uba. ar/charladeborrachos/presentaciones/charla_2004-29-10.pdf
  21. 21. Recursos Web 2.0

×