SlideShare a Scribd company logo
1 of 14
METODOLOGIAS FORMALES WALDER CARDENAS POVEDA  COD:172001478
Que son? Es cualquier serie de técnicas que trate la construcción y/o el análisis de modelos matemáticos que contribuyen a la automatización del desarrollo de sistemas informáticos.
El papel en la IS Los metodologías formales se basan en el empleo de técnicas, lenguajes y herramientas definidos matemáticamente para cumplir objetivos tales como facilitar el análisis y construcción de sistemas confiables independientemente de su complejidad, delatando posibles inconsistencias o ambigüedades que de otra forma podrían pasar inadvertidas.
En los últimos años la idea de formalizar el software, ha tomado fuerza, los defensores, dicen que la utilización de este a lo largo del ciclo de vida facilita el desarrollo de especificaciones mas claras y  concisas y no ambiguas. Sin embargo los detractores aseguran que el empleo de métodos formales supone un volumen de trabajo considerable, aumento en los costes y tiempo de desarrollo y que debe quedar supeditado a herramientas que lo automaticen.
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.
Clasificación Especificaciones basadas en lógica de primer orden y teoría de conjuntos: permiten especificar el sistema mediante un concepto formal de estados y operaciones sobre estados. Los datos y relaciones/funciones se describen en detalle y sus propiedades se expresan en lógica de primer orden. La semántica de los lenguajes está basada en la teoría de conjuntos. Los métodos de este tipo más conocidos son: Z, VDM y B.  Especificaciones algebraicas: proponen una descripción de estructuras de datos estableciendo tipos y operaciones sobre esos tipos.
Clasificación por comportamiento Métodos basados en álgebra de procesos: modelan la interacción entre procesos concurrentes. Esto ha potenciado su difusión en la especificación de sistemas de comunicación (protocolos y servicios de telecomunicaciones) y de sistemas distribuidos y concurrentes. Los más conocidos son: CCS,CSP y LOTOS.  Métodos basados en Redes de Petri: una red de petri es un formalismo basado en autómatas, es decir, un modelo formal basado en flujos de información. Permiten expresar eventos concurrentes. Los formalismos basados en redes de petri establecen la noción de estado de un sistema mediante lugares que pueden contener marcas..  Métodos basados en lógica temporal: se usan para especificar sistemas concurrentes y reactivos. Los sistemas reactivos son aquellos que mantienen una continua interacción con su entorno respondiendo a los estímulos externos y produciendo salidas en respuestas a los mismos, por lo tanto el orden de los eventos en el sistema no es predecible y su ejecución no tiene por qué terminar.
Métodos de verificación Aserciones E/S  Se especifica mediante aserciones que relacionan las entradas y salidas del programa. Se garantiza que si la entrada actual satisface las restricciones de entrada (precondiciones) la salida satisface las restricciones de salida (pos condiciones).  Se utiliza una expresión del tipo P{programa}Q, siendo P y Q aserciones de la lógica, para indicar que si P es cierto antes de la ejecución del programa y dicho programa termina, entonces Q es cierto tras la ejecución de dicho programa. Este método permite tanto la corrección parcial como total de los programas.  predicado debe cumplir lo siguiente:  Es cierto a la entrada del bucle  Es cierto en cualquier paso del bucle  Junto con la negación de la condición del bucle, implica que el predicado se cumple a la salida del bucle.
Precondición más débil Básicamente, consiste en dada una pos condición POST, encontrar, operando hacia atrás, un programa S tal que wp(S, POST) (la precondición) se satisfaga en un amplio conjunto de situaciones. Dada una proposición (P) S (Q) donde S es un conjunto de sentencias de un módulo de un programa, y donde P y Q son los predicados que se cumplen antes y después de S respectivamente, se dice que P es la precondición más débil (wp) de S, si es la condición mínima que garantiza que R es cierto tras la ejecución de S.
Inducción estructural  La inducción estructural es una técnica de verificación formal que se basa en el principio de inducción matemática.  Dado un conjunto S con una serie de propiedades y una proposición P que se desea probar, la inducción matemática:  Demuestra que P es cierto para el mínimo número de elementos (o casos triviales) de S.  Asume que P es cierto para un número de elementos (o casos posibles) de S menores o iguales a N.  Demuestra que entonces P es cierto para el elemento N+1 de S.
Cuando se utilizan métodos formales, se eliminan muchos de los problemas que son difíciles de superar con las metodologías habituales. La ambigüedad, lo incompleto y la inconsistencia se descubren y se corrigen más fácilmente, mediante la aplicación del análisis matemático.
Esta forma de crear software ofrece un producto libre de defectos. Sin embargo se ha difundido poco, por ser caro de desarrollar, requerir bastante tiempo y es difícil de comunicar a clientes sin muchos conocimientos técnicos.

More Related Content

What's hot

54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software
cristina_devargas
 
Requerimientos de un sistema de información
Requerimientos de un sistema de informaciónRequerimientos de un sistema de información
Requerimientos de un sistema de información
camilo_flores
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
rehoscript
 
Planificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePlanificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-software
Patricia F
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
grupo niche ortega
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
Universidad Tecnológica
 

What's hot (20)

54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Requerimientos de un sistema de información
Requerimientos de un sistema de informaciónRequerimientos de un sistema de información
Requerimientos de un sistema de información
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Planificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePlanificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-software
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
 
costos del software
costos del softwarecostos del software
costos del software
 
ingenieria del conocimiento
ingenieria del conocimientoingenieria del conocimiento
ingenieria del conocimiento
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneas
 
Dsdm
DsdmDsdm
Dsdm
 
Descomposición modular y estilos de control
Descomposición modular y estilos de controlDescomposición modular y estilos de control
Descomposición modular y estilos de control
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Cuadro comparativo hilos
Cuadro comparativo hilosCuadro comparativo hilos
Cuadro comparativo hilos
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 

Viewers also liked

Investigación formal
Investigación formal Investigación formal
Investigación formal
blogclase
 
Metodos Formales
Metodos FormalesMetodos Formales
Metodos Formales
toryneutral
 
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
CICMoficial
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)
Walter Javier Franck
 
Metodologia orientada a objeto - libro
Metodologia orientada a objeto -  libroMetodologia orientada a objeto -  libro
Metodologia orientada a objeto - libro
taninof
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
ElvisAR
 

Viewers also liked (20)

Métodos Formales
Métodos FormalesMétodos Formales
Métodos Formales
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Metodos formales
Metodos formalesMetodos formales
Metodos formales
 
Investigación formal
Investigación formal Investigación formal
Investigación formal
 
Metodos Formales
Metodos FormalesMetodos Formales
Metodos Formales
 
Metodos formales mareli
Metodos formales   mareliMetodos formales   mareli
Metodos formales mareli
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectos
 
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
 
Lenguaje de Restricciones de Objeto
Lenguaje de Restricciones de ObjetoLenguaje de Restricciones de Objeto
Lenguaje de Restricciones de Objeto
 
Lenguaje de especificación
Lenguaje de especificaciónLenguaje de especificación
Lenguaje de especificación
 
ADOO: 2.0 Generalidades Del Software
ADOO: 2.0 Generalidades Del SoftwareADOO: 2.0 Generalidades Del Software
ADOO: 2.0 Generalidades Del Software
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)
 
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Modelo de Desarrollo Rápido de Aplicaciones (DRA)Modelo de Desarrollo Rápido de Aplicaciones (DRA)
Modelo de Desarrollo Rápido de Aplicaciones (DRA)
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
 
Metodologia orientada a objeto - libro
Metodologia orientada a objeto -  libroMetodologia orientada a objeto -  libro
Metodologia orientada a objeto - libro
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Conjunto, Relaciones, Funciones y Notacion Z
Conjunto, Relaciones, Funciones y Notacion ZConjunto, Relaciones, Funciones y Notacion Z
Conjunto, Relaciones, Funciones y Notacion Z
 
El Modelo Dra
El Modelo DraEl Modelo Dra
El Modelo Dra
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
Metodologías del análisis y diseño de sistemas
Metodologías del análisis y diseño de sistemasMetodologías del análisis y diseño de sistemas
Metodologías del análisis y diseño de sistemas
 

Similar to Metodologias formales

Aplicaciones del modelo y especificaciones
Aplicaciones del modelo y especificacionesAplicaciones del modelo y especificaciones
Aplicaciones del modelo y especificaciones
edsacun
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Clare Rodriguez
 
Instituto universitario de tecnología
Instituto universitario de tecnologíaInstituto universitario de tecnología
Instituto universitario de tecnología
Alexander Tua
 

Similar to Metodologias formales (20)

Desarrollo en espiral
Desarrollo en espiralDesarrollo en espiral
Desarrollo en espiral
 
Sis05 s simulacion
Sis05 s simulacionSis05 s simulacion
Sis05 s simulacion
 
E4 12
E4 12E4 12
E4 12
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesos
 
Desarrollo de sistemas
Desarrollo de sistemasDesarrollo de sistemas
Desarrollo de sistemas
 
Ir definicion
Ir  definicionIr  definicion
Ir definicion
 
Operativa clase 1
Operativa clase 1Operativa clase 1
Operativa clase 1
 
Importancia de requisitos
Importancia de requisitosImportancia de requisitos
Importancia de requisitos
 
Optimizacion
OptimizacionOptimizacion
Optimizacion
 
Aplicaciones del modelo y especificaciones
Aplicaciones del modelo y especificacionesAplicaciones del modelo y especificaciones
Aplicaciones del modelo y especificaciones
 
Metodologia solucion de problemas algoritmos (1)
Metodologia solucion de problemas algoritmos (1)Metodologia solucion de problemas algoritmos (1)
Metodologia solucion de problemas algoritmos (1)
 
Aplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaosAplicaciones de estándares de calidad en la construcción de algoritmaos
Aplicaciones de estándares de calidad en la construcción de algoritmaos
 
taller 3 parte 1.docx
taller 3 parte 1.docxtaller 3 parte 1.docx
taller 3 parte 1.docx
 
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Caja negra
Caja negraCaja negra
Caja negra
 
Unidad 4 Herramientas del Ingeniero industrial
Unidad 4 Herramientas del Ingeniero industrialUnidad 4 Herramientas del Ingeniero industrial
Unidad 4 Herramientas del Ingeniero industrial
 
Maps
MapsMaps
Maps
 
Estudio de Factibilidad
Estudio de FactibilidadEstudio de Factibilidad
Estudio de Factibilidad
 
Instituto universitario de tecnología
Instituto universitario de tecnologíaInstituto universitario de tecnología
Instituto universitario de tecnología
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (12)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Metodologias formales

  • 1. METODOLOGIAS FORMALES WALDER CARDENAS POVEDA COD:172001478
  • 2. Que son? Es cualquier serie de técnicas que trate la construcción y/o el análisis de modelos matemáticos que contribuyen a la automatización del desarrollo de sistemas informáticos.
  • 3. El papel en la IS Los metodologías formales se basan en el empleo de técnicas, lenguajes y herramientas definidos matemáticamente para cumplir objetivos tales como facilitar el análisis y construcción de sistemas confiables independientemente de su complejidad, delatando posibles inconsistencias o ambigüedades que de otra forma podrían pasar inadvertidas.
  • 4. En los últimos años la idea de formalizar el software, ha tomado fuerza, los defensores, dicen que la utilización de este a lo largo del ciclo de vida facilita el desarrollo de especificaciones mas claras y concisas y no ambiguas. Sin embargo los detractores aseguran que el empleo de métodos formales supone un volumen de trabajo considerable, aumento en los costes y tiempo de desarrollo y que debe quedar supeditado a herramientas que lo automaticen.
  • 5.
  • 6. 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
  • 7. 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.
  • 8. Clasificación Especificaciones basadas en lógica de primer orden y teoría de conjuntos: permiten especificar el sistema mediante un concepto formal de estados y operaciones sobre estados. Los datos y relaciones/funciones se describen en detalle y sus propiedades se expresan en lógica de primer orden. La semántica de los lenguajes está basada en la teoría de conjuntos. Los métodos de este tipo más conocidos son: Z, VDM y B. Especificaciones algebraicas: proponen una descripción de estructuras de datos estableciendo tipos y operaciones sobre esos tipos.
  • 9. Clasificación por comportamiento Métodos basados en álgebra de procesos: modelan la interacción entre procesos concurrentes. Esto ha potenciado su difusión en la especificación de sistemas de comunicación (protocolos y servicios de telecomunicaciones) y de sistemas distribuidos y concurrentes. Los más conocidos son: CCS,CSP y LOTOS. Métodos basados en Redes de Petri: una red de petri es un formalismo basado en autómatas, es decir, un modelo formal basado en flujos de información. Permiten expresar eventos concurrentes. Los formalismos basados en redes de petri establecen la noción de estado de un sistema mediante lugares que pueden contener marcas.. Métodos basados en lógica temporal: se usan para especificar sistemas concurrentes y reactivos. Los sistemas reactivos son aquellos que mantienen una continua interacción con su entorno respondiendo a los estímulos externos y produciendo salidas en respuestas a los mismos, por lo tanto el orden de los eventos en el sistema no es predecible y su ejecución no tiene por qué terminar.
  • 10. Métodos de verificación Aserciones E/S Se especifica mediante aserciones que relacionan las entradas y salidas del programa. Se garantiza que si la entrada actual satisface las restricciones de entrada (precondiciones) la salida satisface las restricciones de salida (pos condiciones). Se utiliza una expresión del tipo P{programa}Q, siendo P y Q aserciones de la lógica, para indicar que si P es cierto antes de la ejecución del programa y dicho programa termina, entonces Q es cierto tras la ejecución de dicho programa. Este método permite tanto la corrección parcial como total de los programas. predicado debe cumplir lo siguiente: Es cierto a la entrada del bucle Es cierto en cualquier paso del bucle Junto con la negación de la condición del bucle, implica que el predicado se cumple a la salida del bucle.
  • 11. Precondición más débil Básicamente, consiste en dada una pos condición POST, encontrar, operando hacia atrás, un programa S tal que wp(S, POST) (la precondición) se satisfaga en un amplio conjunto de situaciones. Dada una proposición (P) S (Q) donde S es un conjunto de sentencias de un módulo de un programa, y donde P y Q son los predicados que se cumplen antes y después de S respectivamente, se dice que P es la precondición más débil (wp) de S, si es la condición mínima que garantiza que R es cierto tras la ejecución de S.
  • 12. Inducción estructural La inducción estructural es una técnica de verificación formal que se basa en el principio de inducción matemática. Dado un conjunto S con una serie de propiedades y una proposición P que se desea probar, la inducción matemática: Demuestra que P es cierto para el mínimo número de elementos (o casos triviales) de S. Asume que P es cierto para un número de elementos (o casos posibles) de S menores o iguales a N. Demuestra que entonces P es cierto para el elemento N+1 de S.
  • 13. Cuando se utilizan métodos formales, se eliminan muchos de los problemas que son difíciles de superar con las metodologías habituales. La ambigüedad, lo incompleto y la inconsistencia se descubren y se corrigen más fácilmente, mediante la aplicación del análisis matemático.
  • 14. Esta forma de crear software ofrece un producto libre de defectos. Sin embargo se ha difundido poco, por ser caro de desarrollar, requerir bastante tiempo y es difícil de comunicar a clientes sin muchos conocimientos técnicos.