4
Lo más leído
12
Lo más leído
18
Lo más leído
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

DOCX
25 Estandares - IEEE Calidad de Software
PPTX
DiseñO Del Software E IngenieríA Del Software
DOCX
Crisis del software
PPTX
2 2 estilos arquitectonicos
PPTX
2 1 vistas arquitectonicas
PPT
Diseño de interfaces
PPTX
MODELO COCOMO (INGENIERA DE SOFTWARE)
PPTX
Arquitectura flujo de datos(filtros y tuberías)
25 Estandares - IEEE Calidad de Software
DiseñO Del Software E IngenieríA Del Software
Crisis del software
2 2 estilos arquitectonicos
2 1 vistas arquitectonicas
Diseño de interfaces
MODELO COCOMO (INGENIERA DE SOFTWARE)
Arquitectura flujo de datos(filtros y tuberías)

La actualidad más candente (20)

PPT
Iso 12207
PPTX
Proceso, modelos y metodos de ingenieria de software
PDF
Modelos de desarrollo del software
DOCX
modelos de calidad de software
DOCX
359287107 cuadro-comparativo-de-los-ciclos-de-vida
PPTX
Diseño de software modelo lineal (presentacion)
PDF
Metodologías de Desarrollo de Software Tradicionales y Emergentes
PPT
Arquitectura de sistemas distribuidos
PDF
Metodología xp
PDF
Alfabetos-Lenguajes y Automatas 1
PDF
Mobile D (programacion dispositivos moviles)
PPTX
Metodologías de Desarrollo de Software
PDF
Modelo de desarrollo de software
PPTX
Proceso del Software
DOC
Modelo componentes
PPTX
Roles desarrollo del software
PPTX
Ventajas y desventajas de moprosoft
PDF
12.diseño basado en patrones
PDF
Requerimientos no funcionales
PPTX
Diseño caso de pruebas
Iso 12207
Proceso, modelos y metodos de ingenieria de software
Modelos de desarrollo del software
modelos de calidad de software
359287107 cuadro-comparativo-de-los-ciclos-de-vida
Diseño de software modelo lineal (presentacion)
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Arquitectura de sistemas distribuidos
Metodología xp
Alfabetos-Lenguajes y Automatas 1
Mobile D (programacion dispositivos moviles)
Metodologías de Desarrollo de Software
Modelo de desarrollo de software
Proceso del Software
Modelo componentes
Roles desarrollo del software
Ventajas y desventajas de moprosoft
12.diseño basado en patrones
Requerimientos no funcionales
Diseño caso de pruebas
Publicidad

Similar a Métodos Formales (20)

PPT
Cur_Prue_completo_Mar_08.ppt integraccion
PPTX
Desarrollo de Software Guiado por Pruebas
PPT
Calidad software
PPTX
Inenieria de software - modelos y metodologias
PPTX
3. practicas de construccioin jessi roc
PPTX
Practicas de construccioin
PDF
4. Metodología-2020.pdf
PPTX
Ingeniería de software
PPTX
Ingeniería%20de%20 software[1], maryy
PPTX
Ingeniería de software16
PPTX
Clase 11
PPTX
Ingeniería de software
PPTX
Ingenier%c3%ada de software
PPTX
Ingeniería de software
PPTX
Ingen de software
PPT
GESTION DE PROYECTOS INFORMATICOS
PDF
DOCX
Temario ceneval yo
PPT
Proceso de dasarrollo de software
PPTX
introduccion metododologias de analisis y diseño de software
Cur_Prue_completo_Mar_08.ppt integraccion
Desarrollo de Software Guiado por Pruebas
Calidad software
Inenieria de software - modelos y metodologias
3. practicas de construccioin jessi roc
Practicas de construccioin
4. Metodología-2020.pdf
Ingeniería de software
Ingeniería%20de%20 software[1], maryy
Ingeniería de software16
Clase 11
Ingeniería de software
Ingenier%c3%ada de software
Ingeniería de software
Ingen de software
GESTION DE PROYECTOS INFORMATICOS
Temario ceneval yo
Proceso de dasarrollo de software
introduccion metododologias de analisis y diseño de software
Publicidad

Último (20)

PPTX
seguridad digital ,paloma bernabe alvarez.
PDF
Gtd Infraestructura Digital de Misión Critica
PPTX
VariablesExpresiones.pptx conceptos que puedes usar en c++
PDF
Herramientas-de-Recuperacion-de-Datos.pdf
PDF
conceptosbsicosdeprogramacinpseintlaura.pdf
PPTX
LEGALIZACIÓN Y VERIFICACIÓN DE UN APARATO TAXÍMETRO
PDF
Salud digital: información, integración y el valor de MS Fabric for Health
PDF
1.3.4-Handling-and-Safety-Instructions-ESP-2024.pdf
PDF
004-CC2014-Irrigacion Mbb equinos del mundo
PDF
¿Qué hace un Data Warehouse Engineer blog.victorsantiz.com.pdf
PPTX
TICs_en_la_vida_Cotidiana_tecnologiayMas
PDF
Sesión 6 - Seguridad de almacenamiento.pdf
PPTX
Redes neuronales artificiales y como entrenarlas
DOCX
Conceptos básicos de programación PseInt laura.docx
PDF
Conceptos básicos de programación PseInt laura.pdf
PDF
Estrategia de Apoyo Juan José Narvaéz 9-4
PPT
Presentacion Proyecto Seguridad Chacao 09_10_08.ppt
PPT
CONFIGURACIÓN DE PANTALLA DE UNA COMPUTADORA
PDF
Introducción a REALITY (agosto de 2024).pdf
PPTX
en este libro encontrarás la lectura inicial para tus niños
seguridad digital ,paloma bernabe alvarez.
Gtd Infraestructura Digital de Misión Critica
VariablesExpresiones.pptx conceptos que puedes usar en c++
Herramientas-de-Recuperacion-de-Datos.pdf
conceptosbsicosdeprogramacinpseintlaura.pdf
LEGALIZACIÓN Y VERIFICACIÓN DE UN APARATO TAXÍMETRO
Salud digital: información, integración y el valor de MS Fabric for Health
1.3.4-Handling-and-Safety-Instructions-ESP-2024.pdf
004-CC2014-Irrigacion Mbb equinos del mundo
¿Qué hace un Data Warehouse Engineer blog.victorsantiz.com.pdf
TICs_en_la_vida_Cotidiana_tecnologiayMas
Sesión 6 - Seguridad de almacenamiento.pdf
Redes neuronales artificiales y como entrenarlas
Conceptos básicos de programación PseInt laura.docx
Conceptos básicos de programación PseInt laura.pdf
Estrategia de Apoyo Juan José Narvaéz 9-4
Presentacion Proyecto Seguridad Chacao 09_10_08.ppt
CONFIGURACIÓN DE PANTALLA DE UNA COMPUTADORA
Introducción a REALITY (agosto de 2024).pdf
en este libro encontrarás la lectura inicial para tus niños

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