HERRAMIENTAS DE SOFTWARE

      FABIO MARIN
  JONNATHAN VELASQUEZ
DEFINICIÓN
• En Ingeniería de sistemas un método formal
  es un proceso que se aplica para desarrollar
  programas, que explota el poder de la
  notación y de las pruebas matemáticas.
  Además los requisitos, la especificación y el
  sistema completo deben validarse son las
  necesidades del mundo real.
HISTORIA
• En 1967, Robert Floyd propuso utilizar lo que se
  denominó método de aserciones intermedias como
  una manera de estudiar las propiedades de los
  programas. Destacó la posibilidad de definir la
  semántica de las operaciones mediante reglas lógicas
  afirmando que estas aserciones son válidas después de
  ejecutarse las operaciones basándose en la
  información de las aserciones que son válidas antes de
  ejecutarse dichas operaciones.
• Estas ideas fueron perfeccionadas por Hoare dando
  lugar al método axiomático (precondiciones E/S)
  donde introdujo la idea de "invariante".
• En 1976, Edsger Dijkstra, presentó un método 
  formal llamado precondición más débil, 
  basado en la transformación de predicados 
  wp (weakest precondition). De esta manera 
  rompía con las ideas de verificación a 
  posteriori de Floyd y Dijkstra. La idea principal 
  era invertir los métodos de ambos de tal 
  manera que se pudiera derivar la precondición 
  a partir de la postcondición.
 USOS METODOS FORMALES
• POLITICAS: Es un sistema seguro se convierte 
  en las principales propiedades de seguridad 
  que este debe conservar el modelo de 
  políticas de seguridad formal, como 
  confidencialidad o integridad de datos.
• ESPECIFICACIÓN: Es una descripción 
  matemática basada en el comportamiento del 
  sistema, que utiliza tablas de estado o lógica 
  matemática. 
• PUEBAS DE CORRESPONDENCIA DEL CODIGO 
    FUENTE : Aunque muchas técnicas formales se 
    crearon inicialmente para probar la 
    correctitud del código, pocas veces se logra 
    debido al tiempo y el costo implicados, pero 
    pueden aplicarse a los componentes críticos 
    del sistema.
• PRUEBAS DE CORRESPONDENCIA ENTRE EL 
    CODIGO DE MAQUINA Y EL CODIGO FUENTE : 
    Este tipo de pruebas raramente se aplica 
    debido al costo, y a la alta confiabilidad de los 
    compiladores modernos.
MANDAMIENTOS METODOS
           FORMALES
• Adoptada por bowen y hinchley
• 1.) Seleccionaras la notación adecuada
• 2.) Formalizaras pero no de mas
• 3.) Estimaras los costes
• 4.) Poseerás un experto en métodos formales
  a tu disposición
• 5.) No abandonaras tus métodos formales de
  desarrollo
• 6.) Documentaras suficientemente
• 7.) No comprometerás los estándares de
  calidad
• 8.) No serás dogmatico
• 9.) Comprobaras , comprobaras y volverás a
  comprobar
• 10.) Reutilizaras cuando puedas
VENTAJAS
• Se comprende mejor el sistema.
• La comunicación con el cliente ya que se
  dispone de una descripción clara y no
  ambigua a lo requisitos del usuario.
• El sistema se describe de una manera mas
  precisa.
• Mayor productividad.
• Mayor calidad del software respecto al
  cumplimiento de las especificaciones.
DESVENTAJAS
• Los investigadores por lo general no conocen
  la realidad industrial.
• Se considera que la aplicación de métodos
  formales encarece los productos y ralentizar
  su desarrollo.
• 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.
BIBLIOGRAFIA

• http://trevinca.ei.uvigo.es/~alma/docencia/mfes
  /Trabajos/IS_MF.pdf

• http://redalyc.uaemex.mx/src/inicio/ArtPdfRed.j
  sp?iCve=194214476008

• http://www.rodolfoquispe.org/blog/que-son-los-
  metodos-formales.php

Más contenido relacionado

PDF
Métodos Formales
PPTX
Metodos formales
PPTX
Metodos formales mareli
PPTX
Metodologias formales
DOCX
Tipos de modelos de procesos
PPT
Metodos Formales
DOCX
Desarrollo en espiral
PPTX
verificacion y validacion de software.pptx
Métodos Formales
Metodos formales
Metodos formales mareli
Metodologias formales
Tipos de modelos de procesos
Metodos Formales
Desarrollo en espiral
verificacion y validacion de software.pptx

Similar a Metodos formales (20)

PPT
Formalización en UML - Ingrid Muñoz
PPT
Clase 13, 9/10/2007
PPTX
Metodologia estructurada
PDF
Validacion de usabilidad de sistema informatico
PPTX
Sistemas i ultimo trabajo
PDF
Metodologias para el desarrollo de los sistemas expertos
PPT
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
PDF
Diseno
PPTX
Fundamentos y metodos de analisis de requerimientos
PDF
Máster en Métodos Formales en Ingeniería Informática
PPTX
Fundamentos Y Métodos De Análisis De Requerimientos10
PPTX
Fundamentos metodología de los sistemas blandos
PPTX
Cap5 l3
DOCX
Modelado
DOCX
Modelado
DOCX
U6 metodología de sistemas blandos
PPTX
Metodologías de los sistemas duros y blandos
PPTX
Tolerancia..
DOCX
Trabajo de teoria de sistema 2
PPTX
41439707 sistemas-blandos fase-i_ii
Formalización en UML - Ingrid Muñoz
Clase 13, 9/10/2007
Metodologia estructurada
Validacion de usabilidad de sistema informatico
Sistemas i ultimo trabajo
Metodologias para el desarrollo de los sistemas expertos
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
Diseno
Fundamentos y metodos de analisis de requerimientos
Máster en Métodos Formales en Ingeniería Informática
Fundamentos Y Métodos De Análisis De Requerimientos10
Fundamentos metodología de los sistemas blandos
Cap5 l3
Modelado
Modelado
U6 metodología de sistemas blandos
Metodologías de los sistemas duros y blandos
Tolerancia..
Trabajo de teoria de sistema 2
41439707 sistemas-blandos fase-i_ii
Publicidad

Metodos formales

  • 1. HERRAMIENTAS DE SOFTWARE FABIO MARIN JONNATHAN VELASQUEZ
  • 2. DEFINICIÓN • En Ingeniería de sistemas un método formal es un proceso que se aplica para desarrollar programas, que explota el poder de la notación y de las pruebas matemáticas. Además los requisitos, la especificación y el sistema completo deben validarse son las necesidades del mundo real.
  • 3. HISTORIA • En 1967, Robert Floyd propuso utilizar lo que se denominó método de aserciones intermedias como una manera de estudiar las propiedades de los programas. Destacó la posibilidad de definir la semántica de las operaciones mediante reglas lógicas afirmando que estas aserciones son válidas después de ejecutarse las operaciones basándose en la información de las aserciones que son válidas antes de ejecutarse dichas operaciones. • Estas ideas fueron perfeccionadas por Hoare dando lugar al método axiomático (precondiciones E/S) donde introdujo la idea de "invariante".
  • 4. • En 1976, Edsger Dijkstra, presentó un método  formal llamado precondición más débil,  basado en la transformación de predicados  wp (weakest precondition). De esta manera  rompía con las ideas de verificación a  posteriori de Floyd y Dijkstra. La idea principal  era invertir los métodos de ambos de tal  manera que se pudiera derivar la precondición  a partir de la postcondición.
  • 5.  USOS METODOS FORMALES • POLITICAS: Es un sistema seguro se convierte  en las principales propiedades de seguridad  que este debe conservar el modelo de  políticas de seguridad formal, como  confidencialidad o integridad de datos. • ESPECIFICACIÓN: Es una descripción  matemática basada en el comportamiento del  sistema, que utiliza tablas de estado o lógica  matemática. 
  • 6. • PUEBAS DE CORRESPONDENCIA DEL CODIGO  FUENTE : Aunque muchas técnicas formales se  crearon inicialmente para probar la  correctitud del código, pocas veces se logra  debido al tiempo y el costo implicados, pero  pueden aplicarse a los componentes críticos  del sistema. • PRUEBAS DE CORRESPONDENCIA ENTRE EL  CODIGO DE MAQUINA Y EL CODIGO FUENTE :      Este tipo de pruebas raramente se aplica  debido al costo, y a la alta confiabilidad de los  compiladores modernos.
  • 7. MANDAMIENTOS METODOS FORMALES • Adoptada por bowen y hinchley • 1.) Seleccionaras la notación adecuada • 2.) Formalizaras pero no de mas • 3.) Estimaras los costes • 4.) Poseerás un experto en métodos formales a tu disposición • 5.) No abandonaras tus métodos formales de desarrollo
  • 8. • 6.) Documentaras suficientemente • 7.) No comprometerás los estándares de calidad • 8.) No serás dogmatico • 9.) Comprobaras , comprobaras y volverás a comprobar • 10.) Reutilizaras cuando puedas
  • 9. VENTAJAS • Se comprende mejor el sistema. • La comunicación con el cliente ya que se dispone de una descripción clara y no ambigua a lo requisitos del usuario. • El sistema se describe de una manera mas precisa. • Mayor productividad. • Mayor calidad del software respecto al cumplimiento de las especificaciones.
  • 10. DESVENTAJAS • Los investigadores por lo general no conocen la realidad industrial. • Se considera que la aplicación de métodos formales encarece los productos y ralentizar su desarrollo. • 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.
  • 11. BIBLIOGRAFIA • http://trevinca.ei.uvigo.es/~alma/docencia/mfes /Trabajos/IS_MF.pdf • http://redalyc.uaemex.mx/src/inicio/ArtPdfRed.j sp?iCve=194214476008 • http://www.rodolfoquispe.org/blog/que-son-los- metodos-formales.php