SlideShare una empresa de Scribd logo
1 de 31
[TAC]     AUDITORIA

INFORMATICA
NOTACIONES RELACIONALES

                RAUL GARCIA TITOS
INTRODUCCION
 La necesidad de contar con herramientas
  estándar y fiables para el ejercicio de la
  auditoría informática ha promovido la creación
  y de desarrollo de mejores practicas como las
  notaciones relacionales.

 Las notaciones relacionales son una
  herramienta, con sintaxis y semántica formal,
  que podemos usar para crear un modelo
  (abstracciones, organigramas,…) en base a
  los requisitos de un sistema software.
SITUACION ACTUAL

       Las herramientas de especificación son un instrumento para
        representar el modelo de requerimientos del software. De esta forma y
        según su grado de formalidad, se pueden clasificar en:

       No Formales:
          Lenguaje natural.
          Lenguaje estructurado.

       Semi-Formales: con sintaxis formal.
          Diagramas casos de uso.
          Diagramas de clases.

       Formales: con sintaxis y semántica formal.
          Notaciones relacionales.
          Tablas de decisión.
          Notaciones orientadas a estados.
VENTAJAS
 Las notaciones formales en general tienen la ventaja
  de ser concisas evitando así la ambigüedad, apoyan el
  razonamiento formal de las especificaciones
  funcionales y proporcionan de manera automática una
  base para la verificación y validación de los resultados
  de un producto de programación, haciéndolo
  coherente con el modelo del sistema y completo y
  correcto con las necesidades del usuario. Esto
  proporciona una mayor facilidad para el auditor a la
  hora de comprobar que el sistema cumple con los
  requisitos necesarios.
 Las notaciones relacionales en particular se utilizan
  para especificar las características funcionales del
  producto basándose en los conceptos de entidades y
  atributos. A las entidades se les llama elementos en un
  sistema. Los atributos se especifican al aplicar
  funciones y relaciones a las entidades nombradas. Los
  atributos especifican las operaciones permitidas con
  las entidades, las relaciones entre ellas, y el flujo de
  datos entre las entidades.

 Las notaciones relacionales incluyen ecuaciones
  implícitas, relaciones recurrentes, axiomas algebraicos
  y expresiones regulares. Comenzamos a explicarlas
  más detalladamente.
Ecuaciones Implícitas
  Establecen las características y las propiedades de una solución
   sin establecer el método concreto para resolverla.

  Ejemplo.-

        Uno puede especificar la inversión de matrices como el
   producto de la matriz original M con su inversa M’ igual a la matriz
   identidad I junto con un margen de error computacional E
   permisible.
                         M x M’ = I ± E

        Dada esta especificación funcional completa para la
   inversión de matrices, el diseño implica la especificación de una
   estructura de datos, de un algoritmo para calcular el inverso y de
   una técnica de generación del modulo de inversión.
Ecuaciones Implícitas
  Ejemplo.-

      La especificación implícita de una función de raíz
   cuadrada, SQRT se puede establecer como

       (0 <= X <= Y) [ABS(SQRT(X)**2 - X) < E]

        Esta ecuación establece que para todos los
   valores de X en el rango cerrado de 0 y Y, calculando
   la raíz cuadrada de X, elevándola al cuadrado y
   restando X, se obtiene un valor de error permisible.
Relaciones Recurrentes
    Una relación recurrente es una ecuación que
     define una secuencia recursiva; cada término
     de la secuencia es definido como una función
     de términos anteriores.

    Es una expresión que consta de una parte
     inicial llamada base (o semilla) y una o más
     partes recursivas. Las partes recursivas
     describen el valor deseado de una función en
     términos de otros valores de la función.
Relaciones Recurrentes
  Un método usual de simplificación de un
   problema complejo es la división de este
   en subproblemas del mismo tipo. Esta
   técnica de programación se conoce
   como divide y vencerás y es el núcleo en
   el diseño de numerosos algoritmos de
   gran importancia, así como también es
   parte fundamental de la programación
   dinámica.
Relaciones Recurrentes
    Ejemplo.-

           Con la suma de una progresión geométrica, tenemos la relación
     recurrente:

                             Sn+1 - Sn = xn+1

    Ejemplo.-

          La ecuación de recurrencia asociada con el problema de las Torres
     de Hanoi es la siguiente:
                                    Tn = 2Tn-1 + 1

     Con las condiciones iniciales:
                                      T1 = 1
Relaciones Recurrentes
  Ejemplo.-

  El ejemplo más conocido es la definición
  recurrente de la función factorial n!:
Relaciones Recurrentes
  Ejemplo.-

       Una de las más antiguas relaciones de recurrencia
   define la sucesión de Fibonacci.

       Los números sucesivos de Fibonacci se forman
   como la suma de los dos números de Fibonacci
   previos, donde el primero es 0 y el segundo 1

     FI(0) = 1
     FI(1) = 1
     FI(N) = FI(N - 1) + FI(N - 2)            para todo
   N>1
Axiomas Algebraicos
 Es una "verdad evidente" que no requiere
  demostración, pues se justifica a sí misma, y sobre la
  cual se construye el resto de conocimientos por medio
  de la deducción.

 El axioma gira siempre sobre sí mismo, mientras los
  postulados y conclusiones posteriores se deducen de
  este.

 Especifican las propiedades fundamentales de un
  sistema y dan la base para derivar propiedades
  adicionales que están implicadas por los axiomas.
Axiomas Algebraicos
 Para establecer un sistema matemático valido, el
  conjunto de axiomas debe ser completo y consistente,
  debe ser posible probar los resultados deseados
  usando los axiomas.

 Se logra elegancia en la definición si los axiomas son
  independientes (ningún axioma se puede derivar de
  otros axiomas).

 El punto de vista axiomático se puede usar para
  especificar las propiedades de los sistemas de
  programación.
Axiomas Algebraicos
 Ejemplo.-

        Especificación axiomática de la propiedad ultimo que entra,
  primero que sale (LIFO: last-in, first-out) de los elementos de una
  pila.

 SINTAXIS:

       OPERACIÓN       DOMINIO                   RANGO
       NUEVO           ()−→                      PILA
       EMPUJA          (PILA, ELEMENTO) − →      PILA
       EXTRAE          (PILA) − →                PILA
       TOPE            (PILA) − →                ELEMENTO
       VACIO           (PILA) − →          VALOR DE BOOLE
Axiomas Algebraicos
DEFINICIONES INTUITIVAS:

  NUEVO crea una nueva pila.

  EMPUJA añade un nuevo elemento en el tope de la pila; requiere
  dos argumentos, una pila y un elemento.

  TOPE regresa una copia del elemento ubicado en el tope;
  requiere una pila.

  EXTRAE remueve el elemento del tope; requiere una pila como
  su argumento.

  VACIO prueba si la pila esta vacía.
Axiomas Algebraicos
AXIOMAS:
(pil es de tipo PILA, ele es de tipo ELEMENTO)

   1) VACIO (NUEVO) = verdadero

   2) VACIO (EMPUJA (pil, ele)) = falso

   3) EXTRAE (NUEVO) = error

   4) TOPE (NUEVO) = error

   5) EXTRAE (EMPUJA (pil, ele)) = pil

   6) TOPE (EMPUJA (pil, ele)) = ele
Axiomas Algebraicos
Los axiomas se pueden establecer en español como sigue:

  1) Una pila nueva esta vacía.

  2) Una pila no esta vacía inmediatamente después de empujar un
  elemento en ella.

  3) Si se intenta extraer de una pila nueva se obtiene un error.

  4) No existe elemento en una pila nueva.

  5) Empujar un elemento en una pila y extraerlo de inmediato, deja a
  la pila sin cambiar.

  6) Empujar un elemento en la pila y en seguida solicitar el elemento
  tope, regresa el elemento que se acaba de empujar en la pila.
Axiomas Algebraicos
 Si las características funcionales deseadas de
  un sistema de programación están integra y
  consistentemente especificadas, y la
  instrumentación satisface específicamente, no
  hay necesidad para pruebas o verificaciones
  del código fuente, excepto para verificar
  rendimiento, y para verificar que el código no
  produce efectos colaterales no deseados.
Expresiones Regulares
  Se pueden emplear para especificar la estructura
   sintáctica de cadenas de símbolos.

  Debido a la forma como muchos productos de
   programación comprenden al procesamiento de
   cadenas de símbolos, las expresiones regulares
   proporcionan una notación poderosa y empleada de
   manera amplia en la ingeniería de programación.

  Cada conjunto de cadenas de símbolos especificado
   por una expresión regular define un lenguaje formal.
   Las expresiones regulares se pueden ver entonces
   como generadores de lenguajes.
Expresiones Regulares
 Reglas para formar expresiones regulares:

      1) Átomos: los símbolos básicos en el alfabeto de interés forman
      expresiones regulares.

      2) Diferencia: si R1 y R2 son expresiones regulares, entonces (R1/R2)
      es una expresión regular y representa la elección de R1 ó R2.

      3) Concatenación: si R1 y R2 son expresiones regulares, entonces (R1
      R2) es una expresión regular y representa la concatenación de ambas,
      es decir, R1R2.

      4) Cierre o cláusula de R1: si R1 es una expresión regular, entonces
      (R1)* es una expresión regular y representa el conjunto de cadenas
      formadas por la concatenación de cero o más cadenas de R1 con cero
      o más cadenas de R1.
Expresiones Regulares
  5) Unión: si R1 y R2 son expresiones regulares, entonces (R1
  U R2) es una expresión regular y representa la unión de
  ambas.

  6) Cierre o cláusula positiva de R1: si R1 es una expresión
  regular, entonces (R1)+ es una expresión regular y representa
  el conjunto de cadenas formadas por la concatenación de una
  o más cadenas de R1 con una o más cadenas de R1.

  7) ε: es una expresión regular que representa la cadena vacía.

  8)Integridad: ninguna mas es una expresión regular.
Expresiones Regulares
 Ejemplo.-

  1) ab = {ab}

  2) abUc = {ab, c}

  3) (abUc)(dUef) = {ab, c}{d, ef} = {abd, abef, cd, cef}

  4) c* = {ε, c, cc, ccc, ...}

  5) (ab)* = {ε, ab, abab, ababab, ...}
Expresiones Regulares
  6) (abUc)* = {ab, c}* = {ε, ab, c, abab, ababab, ..., abc,
   cab, cc, ccc, ..., abcc, abccc, ..., ababc, abababc, ...,
   ababcc, ..., ccab, ..., cabab, ..., ccabab, ...}

  7) ab* = {a, ab, abb, ...}

  8) (a?b*)c+ = {c, cc, ..., ac, acc, ..., bc, bcc, ..., bbc, …,
   abc, abbc, abbcc, abbbccc, …}

  9) (a/b)c = {ac}/{bc}
Expresiones Regulares
Ejemplo.-

10) Ejemplo de expresiones regulares para una calculadora:

   <signo>       +/-
   <digito>      0/1/2/…/9
   <natural>     <digito>/<digito><natural>
   <entero>      <natural>/<signo><natural>
   <real>        <entero>/<entero>./<entero>.<natural>/
                   /<entero>.<natural>E<entero>
Expresiones Regulares
 A las expresiones regulares se les pueden dar muchas diferentes
 interpretaciones, y son entonces útiles en distintas situaciones:

  Un conjunto de datos, si a, b y c son símbolos de datos de
   entrada.

  Transmisión de mensajes, a, b y c se pueden interpretar como de
   tipo de mensaje tales como la solicitud o liberación de un recurso,
   solicitud de inicio de un trabajo o fin de archivo.

  Secuencia de operaciones, si a, b y c representan
   procedimientos.

  Flujo de recursos. Los símbolos a, b y c pueden denotar
   componentes de un sistema tales como un proceso o un usuario.
Expresiones Regulares
 La notación de expresiones regulares se puede extender para
  permitir el modelado de concurrencia. El efecto de la ejecución
  concurrente de dos componentes de programación P1 y P2 es el
  mismo.

 El intercambio de las expresiones regulares para P1 y P2 se puede
  especificar si se utiliza una operación conocida como el ‘‘operador de
  barajeo’’. Las expresiones resultantes se llaman expresiones de
  transferencia de mensajes, expresiones de flujo, y expresiones de
  eventos.

 Las expresiones de trayectoria son otra notación útil basada en
  expresiones regulares. Se pueden usar para especificar la secuencia
  de operaciones en sistemas concurrentes.

 Otra importante aplicación de expresiones regulares es en la
  definición de dialogos de interface con el usuario.
PROBLEMA
 Existe poca formalidad en el desarrollo de
  productos de programación.

 Las notaciones formales no son apropiadas en
  todas las situaciones ni para todo tipo de
  sistemas.

 En el caso de las ecuaciones implícitas, ocurre
  que no todos los problemas especificados de
  manera implícita tienen una solución
  garantizada.
PROBLEMA
Ejemplo.-

    Una variante del ultimo problema de Fermat se puede establecer como

                           (N > 2) [X**N + Y**N = Z**N]

    Esta ecuación implica encontrar valores de X, Y y Z tales que la ecuación
    se satisface para los valores arbitrarios de N.

    No se han descubierto soluciones a este problema para valores de N
    mayores que 3.

   En el caso de las relaciones recurrentes, se transforman con facilidad en
    programas recursivos; sin embargo, no es forzoso que toda
    especificación recursiva se deba instrumentar como un programa
    recursivo.
CONCLUSIONES
 Las herramientas formales como las notaciones
  relacionales son precisas y exactas a la hora de
  realizar o comprobar un sistema software y resuelven
  de forma automática su codificación. Sin embargo
  resultan mas complicadas a la hora de conocer y
  comprender su contenido y lo que representan, que si
  realizásemos un diagrama u otra herramienta de tipo
  grafica que resultan sencillas de ver y entender mas
  rápidamente, de ahí que sean mas comúnmente
  usadas las herramientas semi-formales para modelar
  un sistema, que aun teniendo una sintaxis formal, su
  semántica se especifica de manera visual.
REFERENCIAS
 INGENIERIA DEL SOFTWARE, Ingeniería Técnica de Sistemas
  (Segundo Curso - B).
  Autores: Sergio D., Zoraida C., Nuria M.

 INGENIERIA DEL SOFTWARE, (Mc Graw Hill).
  Autores: Richard Fairley.

 http://es.wikipedia.org/wiki/Ecuaci%C3%B3n_recurrente

 http://mate.cucei.udg.mx/matdis/3rec/3rel2.htm

 http://es.wikipedia.org/wiki/Recurrencia

 http://es.wikipedia.org/wiki/Axioma

 http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular

Más contenido relacionado

La actualidad más candente

Frmulas y-funciones-bsicas-en-excel-1220622841221190-9
Frmulas y-funciones-bsicas-en-excel-1220622841221190-9Frmulas y-funciones-bsicas-en-excel-1220622841221190-9
Frmulas y-funciones-bsicas-en-excel-1220622841221190-9Alvaro Humberto Cisneros
 
Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1IsabelJaramilloJ
 
FóRmulas Y Funciones BáSicas En Excel
FóRmulas Y Funciones BáSicas En ExcelFóRmulas Y Funciones BáSicas En Excel
FóRmulas Y Funciones BáSicas En Excelivens85
 
Auto instruccional nelly 2012 02-03
Auto instruccional nelly 2012 02-03Auto instruccional nelly 2012 02-03
Auto instruccional nelly 2012 02-03Nellytagutierrez
 
Alguas ideas de estructura de datos
Alguas ideas de estructura de datosAlguas ideas de estructura de datos
Alguas ideas de estructura de datosWolphkens Leveille
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo iiMauro Rangel
 
Jerarquia y Precedencia
Jerarquia y PrecedenciaJerarquia y Precedencia
Jerarquia y Precedenciajavieraantonio
 
Fórmulas y funciones de excel
Fórmulas y funciones de excelFórmulas y funciones de excel
Fórmulas y funciones de excelalejandra arroyo
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)sarai0000
 
Funciones de Excel Carla Lozano
Funciones de Excel Carla LozanoFunciones de Excel Carla Lozano
Funciones de Excel Carla LozanoCarlii Lozano
 
Funciones de Excel
Funciones de ExcelFunciones de Excel
Funciones de ExcelAlkx
 
FUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCELFUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCELDennisse Mayon
 
Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.Giovanni Andres
 
Precedencia De Operadores Y Asociatividad En Lenguaje Visual Basic
Precedencia De Operadores Y Asociatividad En Lenguaje Visual BasicPrecedencia De Operadores Y Asociatividad En Lenguaje Visual Basic
Precedencia De Operadores Y Asociatividad En Lenguaje Visual BasicJonatan Alfredo Diaz Cano
 

La actualidad más candente (20)

Excel martinez laura
Excel martinez lauraExcel martinez laura
Excel martinez laura
 
Frmulas y-funciones-bsicas-en-excel-1220622841221190-9
Frmulas y-funciones-bsicas-en-excel-1220622841221190-9Frmulas y-funciones-bsicas-en-excel-1220622841221190-9
Frmulas y-funciones-bsicas-en-excel-1220622841221190-9
 
Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1
 
Funciones de excel
Funciones de excelFunciones de excel
Funciones de excel
 
FóRmulas Y Funciones BáSicas En Excel
FóRmulas Y Funciones BáSicas En ExcelFóRmulas Y Funciones BáSicas En Excel
FóRmulas Y Funciones BáSicas En Excel
 
Auto instruccional nelly 2012 02-03
Auto instruccional nelly 2012 02-03Auto instruccional nelly 2012 02-03
Auto instruccional nelly 2012 02-03
 
Alguas ideas de estructura de datos
Alguas ideas de estructura de datosAlguas ideas de estructura de datos
Alguas ideas de estructura de datos
 
FUNCIONES UPSJB II.pdf
FUNCIONES UPSJB  II.pdfFUNCIONES UPSJB  II.pdf
FUNCIONES UPSJB II.pdf
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo ii
 
Funciones avanzadas excel
Funciones avanzadas excelFunciones avanzadas excel
Funciones avanzadas excel
 
Excel
ExcelExcel
Excel
 
FUNCIONES EN EXCEL 2010
FUNCIONES EN EXCEL 2010FUNCIONES EN EXCEL 2010
FUNCIONES EN EXCEL 2010
 
Jerarquia y Precedencia
Jerarquia y PrecedenciaJerarquia y Precedencia
Jerarquia y Precedencia
 
Fórmulas y funciones de excel
Fórmulas y funciones de excelFórmulas y funciones de excel
Fórmulas y funciones de excel
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
 
Funciones de Excel Carla Lozano
Funciones de Excel Carla LozanoFunciones de Excel Carla Lozano
Funciones de Excel Carla Lozano
 
Funciones de Excel
Funciones de ExcelFunciones de Excel
Funciones de Excel
 
FUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCELFUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCEL
 
Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.
Fórmulas y funciones básicas: descripción, sintaxis y ejercicios de aplicación.
 
Precedencia De Operadores Y Asociatividad En Lenguaje Visual Basic
Precedencia De Operadores Y Asociatividad En Lenguaje Visual BasicPrecedencia De Operadores Y Asociatividad En Lenguaje Visual Basic
Precedencia De Operadores Y Asociatividad En Lenguaje Visual Basic
 

Similar a Auditoría informática: Notaciones relacionales

Similar a Auditoría informática: Notaciones relacionales (20)

Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacional
 
Hojas de calculo c9 .i2 p3
Hojas de calculo c9 .i2 p3Hojas de calculo c9 .i2 p3
Hojas de calculo c9 .i2 p3
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
 
Módulo 4 (sin estilo)
Módulo 4 (sin estilo)Módulo 4 (sin estilo)
Módulo 4 (sin estilo)
 
Modelamiento de base de Datos - Algebra relacional
Modelamiento de base de Datos - Algebra relacionalModelamiento de base de Datos - Algebra relacional
Modelamiento de base de Datos - Algebra relacional
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Módulo 4
Módulo 4Módulo 4
Módulo 4
 
Módulo 4
Módulo 4Módulo 4
Módulo 4
 
algoritmos3.ppt
algoritmos3.pptalgoritmos3.ppt
algoritmos3.ppt
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
 
Fundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.pptFundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.ppt
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
fundamentos matematicos de la tca
fundamentos matematicos de la tcafundamentos matematicos de la tca
fundamentos matematicos de la tca
 
Tema2exceldecimos
Tema2exceldecimosTema2exceldecimos
Tema2exceldecimos
 
7.Fórmulas y funciones de excel
7.Fórmulas y funciones de excel7.Fórmulas y funciones de excel
7.Fórmulas y funciones de excel
 
Caracteristicas y ventajas de las hojas de calculo c7 .i2 p3.
Caracteristicas y ventajas de las hojas de calculo c7 .i2 p3.Caracteristicas y ventajas de las hojas de calculo c7 .i2 p3.
Caracteristicas y ventajas de las hojas de calculo c7 .i2 p3.
 
Articulo
ArticuloArticulo
Articulo
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
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 JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
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
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Auditoría informática: Notaciones relacionales

  • 1. [TAC] AUDITORIA INFORMATICA NOTACIONES RELACIONALES RAUL GARCIA TITOS
  • 2. INTRODUCCION  La necesidad de contar con herramientas estándar y fiables para el ejercicio de la auditoría informática ha promovido la creación y de desarrollo de mejores practicas como las notaciones relacionales.  Las notaciones relacionales son una herramienta, con sintaxis y semántica formal, que podemos usar para crear un modelo (abstracciones, organigramas,…) en base a los requisitos de un sistema software.
  • 3. SITUACION ACTUAL  Las herramientas de especificación son un instrumento para representar el modelo de requerimientos del software. De esta forma y según su grado de formalidad, se pueden clasificar en:  No Formales:  Lenguaje natural.  Lenguaje estructurado.  Semi-Formales: con sintaxis formal.  Diagramas casos de uso.  Diagramas de clases.  Formales: con sintaxis y semántica formal.  Notaciones relacionales.  Tablas de decisión.  Notaciones orientadas a estados.
  • 4. VENTAJAS  Las notaciones formales en general tienen la ventaja de ser concisas evitando así la ambigüedad, apoyan el razonamiento formal de las especificaciones funcionales y proporcionan de manera automática una base para la verificación y validación de los resultados de un producto de programación, haciéndolo coherente con el modelo del sistema y completo y correcto con las necesidades del usuario. Esto proporciona una mayor facilidad para el auditor a la hora de comprobar que el sistema cumple con los requisitos necesarios.
  • 5.  Las notaciones relacionales en particular se utilizan para especificar las características funcionales del producto basándose en los conceptos de entidades y atributos. A las entidades se les llama elementos en un sistema. Los atributos se especifican al aplicar funciones y relaciones a las entidades nombradas. Los atributos especifican las operaciones permitidas con las entidades, las relaciones entre ellas, y el flujo de datos entre las entidades.  Las notaciones relacionales incluyen ecuaciones implícitas, relaciones recurrentes, axiomas algebraicos y expresiones regulares. Comenzamos a explicarlas más detalladamente.
  • 6. Ecuaciones Implícitas  Establecen las características y las propiedades de una solución sin establecer el método concreto para resolverla.  Ejemplo.- Uno puede especificar la inversión de matrices como el producto de la matriz original M con su inversa M’ igual a la matriz identidad I junto con un margen de error computacional E permisible. M x M’ = I ± E Dada esta especificación funcional completa para la inversión de matrices, el diseño implica la especificación de una estructura de datos, de un algoritmo para calcular el inverso y de una técnica de generación del modulo de inversión.
  • 7. Ecuaciones Implícitas  Ejemplo.- La especificación implícita de una función de raíz cuadrada, SQRT se puede establecer como (0 <= X <= Y) [ABS(SQRT(X)**2 - X) < E] Esta ecuación establece que para todos los valores de X en el rango cerrado de 0 y Y, calculando la raíz cuadrada de X, elevándola al cuadrado y restando X, se obtiene un valor de error permisible.
  • 8. Relaciones Recurrentes  Una relación recurrente es una ecuación que define una secuencia recursiva; cada término de la secuencia es definido como una función de términos anteriores.  Es una expresión que consta de una parte inicial llamada base (o semilla) y una o más partes recursivas. Las partes recursivas describen el valor deseado de una función en términos de otros valores de la función.
  • 9. Relaciones Recurrentes  Un método usual de simplificación de un problema complejo es la división de este en subproblemas del mismo tipo. Esta técnica de programación se conoce como divide y vencerás y es el núcleo en el diseño de numerosos algoritmos de gran importancia, así como también es parte fundamental de la programación dinámica.
  • 10. Relaciones Recurrentes  Ejemplo.- Con la suma de una progresión geométrica, tenemos la relación recurrente: Sn+1 - Sn = xn+1  Ejemplo.- La ecuación de recurrencia asociada con el problema de las Torres de Hanoi es la siguiente: Tn = 2Tn-1 + 1 Con las condiciones iniciales: T1 = 1
  • 11. Relaciones Recurrentes  Ejemplo.- El ejemplo más conocido es la definición recurrente de la función factorial n!:
  • 12. Relaciones Recurrentes  Ejemplo.- Una de las más antiguas relaciones de recurrencia define la sucesión de Fibonacci. Los números sucesivos de Fibonacci se forman como la suma de los dos números de Fibonacci previos, donde el primero es 0 y el segundo 1 FI(0) = 1 FI(1) = 1 FI(N) = FI(N - 1) + FI(N - 2) para todo N>1
  • 13. Axiomas Algebraicos  Es una "verdad evidente" que no requiere demostración, pues se justifica a sí misma, y sobre la cual se construye el resto de conocimientos por medio de la deducción.  El axioma gira siempre sobre sí mismo, mientras los postulados y conclusiones posteriores se deducen de este.  Especifican las propiedades fundamentales de un sistema y dan la base para derivar propiedades adicionales que están implicadas por los axiomas.
  • 14. Axiomas Algebraicos  Para establecer un sistema matemático valido, el conjunto de axiomas debe ser completo y consistente, debe ser posible probar los resultados deseados usando los axiomas.  Se logra elegancia en la definición si los axiomas son independientes (ningún axioma se puede derivar de otros axiomas).  El punto de vista axiomático se puede usar para especificar las propiedades de los sistemas de programación.
  • 15. Axiomas Algebraicos  Ejemplo.- Especificación axiomática de la propiedad ultimo que entra, primero que sale (LIFO: last-in, first-out) de los elementos de una pila.  SINTAXIS: OPERACIÓN DOMINIO RANGO NUEVO ()−→ PILA EMPUJA (PILA, ELEMENTO) − → PILA EXTRAE (PILA) − → PILA TOPE (PILA) − → ELEMENTO VACIO (PILA) − → VALOR DE BOOLE
  • 16. Axiomas Algebraicos DEFINICIONES INTUITIVAS: NUEVO crea una nueva pila. EMPUJA añade un nuevo elemento en el tope de la pila; requiere dos argumentos, una pila y un elemento. TOPE regresa una copia del elemento ubicado en el tope; requiere una pila. EXTRAE remueve el elemento del tope; requiere una pila como su argumento. VACIO prueba si la pila esta vacía.
  • 17. Axiomas Algebraicos AXIOMAS: (pil es de tipo PILA, ele es de tipo ELEMENTO) 1) VACIO (NUEVO) = verdadero 2) VACIO (EMPUJA (pil, ele)) = falso 3) EXTRAE (NUEVO) = error 4) TOPE (NUEVO) = error 5) EXTRAE (EMPUJA (pil, ele)) = pil 6) TOPE (EMPUJA (pil, ele)) = ele
  • 18. Axiomas Algebraicos Los axiomas se pueden establecer en español como sigue: 1) Una pila nueva esta vacía. 2) Una pila no esta vacía inmediatamente después de empujar un elemento en ella. 3) Si se intenta extraer de una pila nueva se obtiene un error. 4) No existe elemento en una pila nueva. 5) Empujar un elemento en una pila y extraerlo de inmediato, deja a la pila sin cambiar. 6) Empujar un elemento en la pila y en seguida solicitar el elemento tope, regresa el elemento que se acaba de empujar en la pila.
  • 19. Axiomas Algebraicos  Si las características funcionales deseadas de un sistema de programación están integra y consistentemente especificadas, y la instrumentación satisface específicamente, no hay necesidad para pruebas o verificaciones del código fuente, excepto para verificar rendimiento, y para verificar que el código no produce efectos colaterales no deseados.
  • 20. Expresiones Regulares  Se pueden emplear para especificar la estructura sintáctica de cadenas de símbolos.  Debido a la forma como muchos productos de programación comprenden al procesamiento de cadenas de símbolos, las expresiones regulares proporcionan una notación poderosa y empleada de manera amplia en la ingeniería de programación.  Cada conjunto de cadenas de símbolos especificado por una expresión regular define un lenguaje formal. Las expresiones regulares se pueden ver entonces como generadores de lenguajes.
  • 21. Expresiones Regulares Reglas para formar expresiones regulares: 1) Átomos: los símbolos básicos en el alfabeto de interés forman expresiones regulares. 2) Diferencia: si R1 y R2 son expresiones regulares, entonces (R1/R2) es una expresión regular y representa la elección de R1 ó R2. 3) Concatenación: si R1 y R2 son expresiones regulares, entonces (R1 R2) es una expresión regular y representa la concatenación de ambas, es decir, R1R2. 4) Cierre o cláusula de R1: si R1 es una expresión regular, entonces (R1)* es una expresión regular y representa el conjunto de cadenas formadas por la concatenación de cero o más cadenas de R1 con cero o más cadenas de R1.
  • 22. Expresiones Regulares 5) Unión: si R1 y R2 son expresiones regulares, entonces (R1 U R2) es una expresión regular y representa la unión de ambas. 6) Cierre o cláusula positiva de R1: si R1 es una expresión regular, entonces (R1)+ es una expresión regular y representa el conjunto de cadenas formadas por la concatenación de una o más cadenas de R1 con una o más cadenas de R1. 7) ε: es una expresión regular que representa la cadena vacía. 8)Integridad: ninguna mas es una expresión regular.
  • 23. Expresiones Regulares Ejemplo.-  1) ab = {ab}  2) abUc = {ab, c}  3) (abUc)(dUef) = {ab, c}{d, ef} = {abd, abef, cd, cef}  4) c* = {ε, c, cc, ccc, ...}  5) (ab)* = {ε, ab, abab, ababab, ...}
  • 24. Expresiones Regulares  6) (abUc)* = {ab, c}* = {ε, ab, c, abab, ababab, ..., abc, cab, cc, ccc, ..., abcc, abccc, ..., ababc, abababc, ..., ababcc, ..., ccab, ..., cabab, ..., ccabab, ...}  7) ab* = {a, ab, abb, ...}  8) (a?b*)c+ = {c, cc, ..., ac, acc, ..., bc, bcc, ..., bbc, …, abc, abbc, abbcc, abbbccc, …}  9) (a/b)c = {ac}/{bc}
  • 25. Expresiones Regulares Ejemplo.- 10) Ejemplo de expresiones regulares para una calculadora:  <signo>  +/-  <digito>  0/1/2/…/9  <natural>  <digito>/<digito><natural>  <entero>  <natural>/<signo><natural>  <real>  <entero>/<entero>./<entero>.<natural>/ /<entero>.<natural>E<entero>
  • 26. Expresiones Regulares A las expresiones regulares se les pueden dar muchas diferentes interpretaciones, y son entonces útiles en distintas situaciones:  Un conjunto de datos, si a, b y c son símbolos de datos de entrada.  Transmisión de mensajes, a, b y c se pueden interpretar como de tipo de mensaje tales como la solicitud o liberación de un recurso, solicitud de inicio de un trabajo o fin de archivo.  Secuencia de operaciones, si a, b y c representan procedimientos.  Flujo de recursos. Los símbolos a, b y c pueden denotar componentes de un sistema tales como un proceso o un usuario.
  • 27. Expresiones Regulares  La notación de expresiones regulares se puede extender para permitir el modelado de concurrencia. El efecto de la ejecución concurrente de dos componentes de programación P1 y P2 es el mismo.  El intercambio de las expresiones regulares para P1 y P2 se puede especificar si se utiliza una operación conocida como el ‘‘operador de barajeo’’. Las expresiones resultantes se llaman expresiones de transferencia de mensajes, expresiones de flujo, y expresiones de eventos.  Las expresiones de trayectoria son otra notación útil basada en expresiones regulares. Se pueden usar para especificar la secuencia de operaciones en sistemas concurrentes.  Otra importante aplicación de expresiones regulares es en la definición de dialogos de interface con el usuario.
  • 28. PROBLEMA  Existe poca formalidad en el desarrollo de productos de programación.  Las notaciones formales no son apropiadas en todas las situaciones ni para todo tipo de sistemas.  En el caso de las ecuaciones implícitas, ocurre que no todos los problemas especificados de manera implícita tienen una solución garantizada.
  • 29. PROBLEMA Ejemplo.- Una variante del ultimo problema de Fermat se puede establecer como (N > 2) [X**N + Y**N = Z**N] Esta ecuación implica encontrar valores de X, Y y Z tales que la ecuación se satisface para los valores arbitrarios de N. No se han descubierto soluciones a este problema para valores de N mayores que 3.  En el caso de las relaciones recurrentes, se transforman con facilidad en programas recursivos; sin embargo, no es forzoso que toda especificación recursiva se deba instrumentar como un programa recursivo.
  • 30. CONCLUSIONES  Las herramientas formales como las notaciones relacionales son precisas y exactas a la hora de realizar o comprobar un sistema software y resuelven de forma automática su codificación. Sin embargo resultan mas complicadas a la hora de conocer y comprender su contenido y lo que representan, que si realizásemos un diagrama u otra herramienta de tipo grafica que resultan sencillas de ver y entender mas rápidamente, de ahí que sean mas comúnmente usadas las herramientas semi-formales para modelar un sistema, que aun teniendo una sintaxis formal, su semántica se especifica de manera visual.
  • 31. REFERENCIAS  INGENIERIA DEL SOFTWARE, Ingeniería Técnica de Sistemas (Segundo Curso - B). Autores: Sergio D., Zoraida C., Nuria M.  INGENIERIA DEL SOFTWARE, (Mc Graw Hill). Autores: Richard Fairley.  http://es.wikipedia.org/wiki/Ecuaci%C3%B3n_recurrente  http://mate.cucei.udg.mx/matdis/3rec/3rel2.htm  http://es.wikipedia.org/wiki/Recurrencia  http://es.wikipedia.org/wiki/Axioma  http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular