SlideShare una empresa de Scribd logo
Diseño por Contrato Tecnología de Objetos Raúl Herrera A.
Diseño por contrato ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pre y Post condiciones ,[object Object],[object Object],[object Object],[object Object]
Contratos y Pre-Post condiciones ,[object Object],[object Object]
Contratos y Clases ,[object Object],[object Object],[object Object]
Ejemplo: TAD PILA (De la pre-condición) Procesamiento más simple, ya que supone que la pila no está llena. (Satisfacer post-condición) Actualiza la representación de la pila, de modo que tenga a  x  en la cima ( item  devolverá  x ),  count  se incrementa en 1, la pila queda no vacía. Proveedor (De la post-condición) Obtiene una pila actualizada: no está vacía, tiene a  x  en la cima (si se aplica  item  se obtiene  x ) y  count  se ha incrementado en 1. (Satisfacer pre-condición) Sólo puede llamar a  put(x)  en una pila que no esté llena. Cliente BENEFICIOS OBLIGACIONES put
Ejemplo: TAD PILA (2) ,[object Object],[object Object]
Principio de Redundancia ,[object Object],[object Object],[object Object]
Contratos y Software ,[object Object],[object Object],[object Object],[object Object],[object Object]
Contratos y Software (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tratamiento de Excepciones Disciplinado ,[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Figuras amorfas
Figuras amorfasFiguras amorfas
Interpolación Polinómica
Interpolación PolinómicaInterpolación Polinómica
Interpolación Polinómica
livysl
 
03.uml
03.uml03.uml
Interpolación polinómica de lagrange
Interpolación polinómica de lagrangeInterpolación polinómica de lagrange
Interpolación polinómica de lagrange
Billy Montero
 
Tipos de errores
Tipos de erroresTipos de errores
Tipos de errores
EsmeraLda PaLafox
 
Interpolación lagrange[1]
Interpolación lagrange[1]Interpolación lagrange[1]
Interpolación lagrange[1]
Pervys Rengifo
 
Area Entre Curvas
Area Entre CurvasArea Entre Curvas
Area Entre Curvas
Marcos Boe
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
IEO Santo Tomás
 
Guía “integración de potencias de funciones trigonométricas”
Guía “integración de potencias de funciones trigonométricas”Guía “integración de potencias de funciones trigonométricas”
Guía “integración de potencias de funciones trigonométricas”
angiegutierrez11
 
Algoritmo para el juego del gato
Algoritmo para el juego del gatoAlgoritmo para el juego del gato
Algoritmo para el juego del gato
EdwinVega49
 
Grafica de funciones cuadraticas
Grafica de funciones cuadraticasGrafica de funciones cuadraticas
Grafica de funciones cuadraticas
KarinaAndrea96
 
Relaciones....
Relaciones.... Relaciones....
Relaciones....
Vic03
 
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
ruyepesro
 
Matlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecioMatlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecio
Tensor
 
9 Matrices
9   Matrices9   Matrices
Integración por Sustitución
Integración por Sustitución Integración por Sustitución
Integración por Sustitución
Antonio-o
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
Rolf Pinto
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
germane123
 
La derivada
La derivadaLa derivada
La derivada
UNAPEC
 
Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punteros
pedreror1
 

La actualidad más candente (20)

Figuras amorfas
Figuras amorfasFiguras amorfas
Figuras amorfas
 
Interpolación Polinómica
Interpolación PolinómicaInterpolación Polinómica
Interpolación Polinómica
 
03.uml
03.uml03.uml
03.uml
 
Interpolación polinómica de lagrange
Interpolación polinómica de lagrangeInterpolación polinómica de lagrange
Interpolación polinómica de lagrange
 
Tipos de errores
Tipos de erroresTipos de errores
Tipos de errores
 
Interpolación lagrange[1]
Interpolación lagrange[1]Interpolación lagrange[1]
Interpolación lagrange[1]
 
Area Entre Curvas
Area Entre CurvasArea Entre Curvas
Area Entre Curvas
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Guía “integración de potencias de funciones trigonométricas”
Guía “integración de potencias de funciones trigonométricas”Guía “integración de potencias de funciones trigonométricas”
Guía “integración de potencias de funciones trigonométricas”
 
Algoritmo para el juego del gato
Algoritmo para el juego del gatoAlgoritmo para el juego del gato
Algoritmo para el juego del gato
 
Grafica de funciones cuadraticas
Grafica de funciones cuadraticasGrafica de funciones cuadraticas
Grafica de funciones cuadraticas
 
Relaciones....
Relaciones.... Relaciones....
Relaciones....
 
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
 
Matlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecioMatlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecio
 
9 Matrices
9   Matrices9   Matrices
9 Matrices
 
Integración por Sustitución
Integración por Sustitución Integración por Sustitución
Integración por Sustitución
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
 
La derivada
La derivadaLa derivada
La derivada
 
Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punteros
 

Similar a 7. diseño por contrato

Contratos ágiles
Contratos ágilesContratos ágiles
Contratos ágiles
Gloria Figueroa
 
Caracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABAL
Caracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABALCaracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABAL
Caracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABAL
Nicolas Rivera Corrales
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4
Sol Hernández
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura Secuencial
Regina Flores
 
Que es el control automatico d villavicencio y jmiranda
Que es el control automatico   d villavicencio y jmirandaQue es el control automatico   d villavicencio y jmiranda
Que es el control automatico d villavicencio y jmiranda
Ivanovha Grace Nùñez Cornejo
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacion
Carlos G Mora
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2
karlalopezbello
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
marigelcontreras
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
marigelcontreras
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
marigelcontreras
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
marigelcontreras
 
Diagrama Logica
Diagrama LogicaDiagrama Logica
Diagrama Logica
McDonaldTrump
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y while
christianlopezth
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y while
christianlopezth
 
Mate 2
Mate 2Mate 2
Benemérita universidad autónoma de puebla
Benemérita universidad autónoma de pueblaBenemérita universidad autónoma de puebla
Benemérita universidad autónoma de puebla
Erick Martinez
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv
Ecler Mamani Vilca
 
Estructura Selectiva
Estructura Selectiva Estructura Selectiva
Estructura Selectiva
Rosbelia Balza
 
1.6 problemas con estructuras repetitivas
1.6 problemas con estructuras repetitivas1.6 problemas con estructuras repetitivas
1.6 problemas con estructuras repetitivas
SNPP
 
Definición y análisis de un problema
Definición y análisis de un problemaDefinición y análisis de un problema
Definición y análisis de un problema
Joaquin Lara Sierra
 

Similar a 7. diseño por contrato (20)

Contratos ágiles
Contratos ágilesContratos ágiles
Contratos ágiles
 
Caracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABAL
Caracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABALCaracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABAL
Caracteristicas de los algoritmos by NICOLAS RIVERA-VICTOR H. ARISTIZABAL
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura Secuencial
 
Que es el control automatico d villavicencio y jmiranda
Que es el control automatico   d villavicencio y jmirandaQue es el control automatico   d villavicencio y jmiranda
Que es el control automatico d villavicencio y jmiranda
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacion
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Diagrama Logica
Diagrama LogicaDiagrama Logica
Diagrama Logica
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y while
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y while
 
Mate 2
Mate 2Mate 2
Mate 2
 
Benemérita universidad autónoma de puebla
Benemérita universidad autónoma de pueblaBenemérita universidad autónoma de puebla
Benemérita universidad autónoma de puebla
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv
 
Estructura Selectiva
Estructura Selectiva Estructura Selectiva
Estructura Selectiva
 
1.6 problemas con estructuras repetitivas
1.6 problemas con estructuras repetitivas1.6 problemas con estructuras repetitivas
1.6 problemas con estructuras repetitivas
 
Definición y análisis de un problema
Definición y análisis de un problemaDefinición y análisis de un problema
Definición y análisis de un problema
 

Más de HectorMamani

El grito
El gritoEl grito
El grito
HectorMamani
 
9. introducción a uml
9. introducción a uml9. introducción a uml
9. introducción a uml
HectorMamani
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigos
HectorMamani
 
6. estructura de programas
6. estructura de programas6. estructura de programas
6. estructura de programas
HectorMamani
 
6. estructura de programas
6. estructura de programas6. estructura de programas
6. estructura de programas
HectorMamani
 
5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos
HectorMamani
 
Grafeno, sus propiedades y aplicaciones
Grafeno, sus propiedades y aplicacionesGrafeno, sus propiedades y aplicaciones
Grafeno, sus propiedades y aplicaciones
HectorMamani
 
4 Polimorfismo
4  Polimorfismo4  Polimorfismo
4 Polimorfismo
HectorMamani
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A Objetos
HectorMamani
 
2 ReseñA HistóRica
2  ReseñA HistóRica2  ReseñA HistóRica
2 ReseñA HistóRica
HectorMamani
 
1 El Paradigma De OrientacióN A Objetos
1  El Paradigma De OrientacióN A Objetos1  El Paradigma De OrientacióN A Objetos
1 El Paradigma De OrientacióN A Objetos
HectorMamani
 
Día internacional de Oración
Día internacional de OraciónDía internacional de Oración
Día internacional de Oración
HectorMamani
 
Día internacional de Oración
Día internacional de OraciónDía internacional de Oración
Día internacional de Oración
HectorMamani
 
Día internacional de Oración
Día internacional de OraciónDía internacional de Oración
Día internacional de Oración
HectorMamani
 
4º Festival de la canción cristiana 2009
4º Festival de la canción cristiana 20094º Festival de la canción cristiana 2009
4º Festival de la canción cristiana 2009
HectorMamani
 
Estudio Análisis Quimico de Suelos de la Ciudad de Arica
Estudio Análisis Quimico de Suelos de la Ciudad de AricaEstudio Análisis Quimico de Suelos de la Ciudad de Arica
Estudio Análisis Quimico de Suelos de la Ciudad de Arica
HectorMamani
 
Psicologia Forense.PDF
Psicologia Forense.PDFPsicologia Forense.PDF
Psicologia Forense.PDF
HectorMamani
 
Presentacion de los reyes 2009
Presentacion de los reyes 2009Presentacion de los reyes 2009
Presentacion de los reyes 2009
HectorMamani
 
Bullying Educación Básica
Bullying Educación BásicaBullying Educación Básica
Bullying Educación Básica
HectorMamani
 
Tecnologías libres para la Educación
Tecnologías libres para la EducaciónTecnologías libres para la Educación
Tecnologías libres para la Educación
HectorMamani
 

Más de HectorMamani (20)

El grito
El gritoEl grito
El grito
 
9. introducción a uml
9. introducción a uml9. introducción a uml
9. introducción a uml
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigos
 
6. estructura de programas
6. estructura de programas6. estructura de programas
6. estructura de programas
 
6. estructura de programas
6. estructura de programas6. estructura de programas
6. estructura de programas
 
5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos
 
Grafeno, sus propiedades y aplicaciones
Grafeno, sus propiedades y aplicacionesGrafeno, sus propiedades y aplicaciones
Grafeno, sus propiedades y aplicaciones
 
4 Polimorfismo
4  Polimorfismo4  Polimorfismo
4 Polimorfismo
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A Objetos
 
2 ReseñA HistóRica
2  ReseñA HistóRica2  ReseñA HistóRica
2 ReseñA HistóRica
 
1 El Paradigma De OrientacióN A Objetos
1  El Paradigma De OrientacióN A Objetos1  El Paradigma De OrientacióN A Objetos
1 El Paradigma De OrientacióN A Objetos
 
Día internacional de Oración
Día internacional de OraciónDía internacional de Oración
Día internacional de Oración
 
Día internacional de Oración
Día internacional de OraciónDía internacional de Oración
Día internacional de Oración
 
Día internacional de Oración
Día internacional de OraciónDía internacional de Oración
Día internacional de Oración
 
4º Festival de la canción cristiana 2009
4º Festival de la canción cristiana 20094º Festival de la canción cristiana 2009
4º Festival de la canción cristiana 2009
 
Estudio Análisis Quimico de Suelos de la Ciudad de Arica
Estudio Análisis Quimico de Suelos de la Ciudad de AricaEstudio Análisis Quimico de Suelos de la Ciudad de Arica
Estudio Análisis Quimico de Suelos de la Ciudad de Arica
 
Psicologia Forense.PDF
Psicologia Forense.PDFPsicologia Forense.PDF
Psicologia Forense.PDF
 
Presentacion de los reyes 2009
Presentacion de los reyes 2009Presentacion de los reyes 2009
Presentacion de los reyes 2009
 
Bullying Educación Básica
Bullying Educación BásicaBullying Educación Básica
Bullying Educación Básica
 
Tecnologías libres para la Educación
Tecnologías libres para la EducaciónTecnologías libres para la Educación
Tecnologías libres para la Educación
 

7. diseño por contrato

  • 1. Diseño por Contrato Tecnología de Objetos Raúl Herrera A.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Ejemplo: TAD PILA (De la pre-condición) Procesamiento más simple, ya que supone que la pila no está llena. (Satisfacer post-condición) Actualiza la representación de la pila, de modo que tenga a x en la cima ( item devolverá x ), count se incrementa en 1, la pila queda no vacía. Proveedor (De la post-condición) Obtiene una pila actualizada: no está vacía, tiene a x en la cima (si se aplica item se obtiene x ) y count se ha incrementado en 1. (Satisfacer pre-condición) Sólo puede llamar a put(x) en una pila que no esté llena. Cliente BENEFICIOS OBLIGACIONES put
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.