SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
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áticos.
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 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
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 formal
proporciona una mayor
precisión.
Detección de ambigüedades y
omisiones.
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.
Validación
“Se esta construyendo el producto correcto.”
Utilizado principalmente para sistemas complejos como aquellos de modelado
y simulación.
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
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
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
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.
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
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
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.
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)
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.
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.
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.
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
Recursos Web 2.0

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
NORMA ISO 90003
NORMA ISO 90003NORMA ISO 90003
NORMA ISO 90003
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
 
Rup
RupRup
Rup
 
Modelos evolutivos
Modelos evolutivosModelos evolutivos
Modelos evolutivos
 
Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y Clases
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
Rational rose
Rational roseRational rose
Rational rose
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y Emergentes
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de Software
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 

Similar a Métodos Formales

Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
Inenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologiasInenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologiaslaudyt
 
3. practicas de construccioin jessi roc
3.  practicas de construccioin jessi roc3.  practicas de construccioin jessi roc
3. practicas de construccioin jessi rocrossypila
 
Practicas de construccioin
Practicas de construccioinPracticas de construccioin
Practicas de construccioinyadiu
 
4. Metodología-2020.pdf
4. Metodología-2020.pdf4. Metodología-2020.pdf
4. Metodología-2020.pdfOscarOlivar4
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremat3matik
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryynelly
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16Ramon
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de softwareMarilupe
 
Ingen de software
Ingen de softwareIngen de software
Ingen de softwareerikapoh
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaresamantha
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software142918
 
GESTION DE PROYECTOS INFORMATICOS
GESTION  DE PROYECTOS INFORMATICOSGESTION  DE PROYECTOS INFORMATICOS
GESTION DE PROYECTOS INFORMATICOSYASMIN RUIZ
 
Proceso de dasarrollo de software
Proceso de dasarrollo de softwareProceso de dasarrollo de software
Proceso de dasarrollo de softwarerodrigolapaca94
 
Curso ingeniería de software parte i
Curso ingeniería de software parte iCurso ingeniería de software parte i
Curso ingeniería de software parte iparafernalico
 

Similar a Métodos Formales (20)

Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Calidad software
Calidad softwareCalidad software
Calidad software
 
Inenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologiasInenieria de software - modelos y metodologias
Inenieria de software - modelos y metodologias
 
3. practicas de construccioin jessi roc
3.  practicas de construccioin jessi roc3.  practicas de construccioin jessi roc
3. practicas de construccioin jessi roc
 
Practicas de construccioin
Practicas de construccioinPracticas de construccioin
Practicas de construccioin
 
4. Metodología-2020.pdf
4. Metodología-2020.pdf4. Metodología-2020.pdf
4. Metodología-2020.pdf
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de software
 
Ingen de software
Ingen de softwareIngen de software
Ingen de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
GESTION DE PROYECTOS INFORMATICOS
GESTION  DE PROYECTOS INFORMATICOSGESTION  DE PROYECTOS INFORMATICOS
GESTION DE PROYECTOS INFORMATICOS
 
2 pdf.pdf
2 pdf.pdf2 pdf.pdf
2 pdf.pdf
 
Temario ceneval yo
Temario ceneval yoTemario ceneval yo
Temario ceneval yo
 
Proceso de dasarrollo de software
Proceso de dasarrollo de softwareProceso de dasarrollo de software
Proceso de dasarrollo de software
 
introduccion metododologias de analisis y diseño de software
 introduccion metododologias de analisis y diseño de software introduccion metododologias de analisis y diseño de software
introduccion metododologias de analisis y diseño de software
 
Curso ingeniería de software parte i
Curso ingeniería de software parte iCurso ingeniería de software parte i
Curso ingeniería de software parte i
 

Último

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Último (20)

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

Métodos Formales

  • 2. ¿Que es un método formal? Modelo matemático para - Diseñar. - Especificar. - Implementar. - Verificar. Sistemas informáticos.
  • 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. Ven ajas de los métodos formales ● Especificación ● Verificación ● Validación
  • 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. 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. Validación “Se esta construyendo el producto correcto.” Utilizado principalmente para sistemas complejos como aquellos de modelado y simulación.
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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