SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
NIVEL 4

         ALGORÍTMICA Y PROGRAMACIÓN 1 (APO 1)




                     Mario José Villamizar Cano
                   mj.villamizar24@uniandes.edu.co
                             Oficina ML-637
http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php
  Grupo de Tecnologías de Información y Comunicación (COMIT)
       Departamento de Ingeniería de Sistemas y Computación
           Universidad de los Andes, Bogotá D.C., Colombia
NIVEL 4

             REDES SOCIALES




           mjvc007@hotmail.com




        http://twitter.com/mariocloud




http://linkedin.com/in/mariojosevillamizarcano
NIVEL 4

                          TEMAS PRINCIPALES




Definición de contratos



Uso de la clase Exception de java para manejo de problemas asociados a la
violación de contratos.



Técnicas simples para la asignación de responsabilidades de las clases
NIVEL 4

                     CASOS DE ESTUDIO
1 Caso de estudio: Un Club Social
NIVEL 4

                    CASOS DE ESTUDIO
2 Caso de estudio: Brazo Mecánico
NIVEL 4

                     HOJAS DE TRABAJO
1 Hoja de trabajo: Venta de Boletas en una Sala de Cine
NIVEL 4

                    HOJAS DE TRABAJO
2 Hoja de trabajo: Un Sistema de Préstamos
NIVEL 4

CASO DE ESTUDIO – EL CLUB DE SOCIOS
NIVEL 4

   REQUERIMIENTOS FUNCIONALES – EL CLUB DE SOCIOS



R1 - Registrar una persona autorizada por un socio


R2 - Pagar una factura


R3 - Afiliar un socio al club


R4 - Registrar un consumo en la cuenta de un socio
NIVEL 4

                         TÉCNICA DEL EXPERTO

   Nos indica quién es el responsable de hacer algo.

   Las reglas del mundo son las que nos indican cómo cumplir con dicha
responsabilidad.


¿Quién es el responsable de adicionar un nuevo socia al club?


¿Quién es el responsable de registrar una persona autorizada por un socio?


¿Quién es responsable de registrar una factura a un socio?
NIVEL 4

               DESCOMPOSICIÓN DE REQUERIMIENTOS

   Muchos requerimientos funcionales requieren más de un paso para poder
satisfacerlos.

  Se hace necesario definir los métodos para satisfacerlos, y asignar los
métodos a cada una de las clases responsables.

Se desea pagar una factura para esto se debe:

• Buscar si el socio que va a pagar la factura existe (Clase Club).

• Si el socio existe obtener todas sus facturas pendientes (Socio).

• Pagar la factura seleccionada .
NIVEL 4

                        MANEJO DE EXCEPCIONES

   Una excepción se puede ver como la indicación de que se produjo un error
en el programa.

   Las excepciones se producen cuando la ejecución de un programa no termina
correctamente sino que termina de manera excepcional como consecuencia de
una situación no esperada.

   Ejemplos de situaciones anormales:

Cuando se accede a un objeto que no ha sido inicializado.

Cuando se accede a una posición de un arreglo o vector que no existe.

Cuando se trata de acceder a un objeto que tiene el valor de null.
NIVEL 4

                      MANEJO DE EXCEPCIONES

   Si no son manejadas correctamente al momento de generarse una excepción
el programa termina abruptamente su ejecución y el usuario no sabe que fue lo
que sucedió (Mensaje rojos en la consola de Eclipse).
NIVEL 4

                       MANEJO DE EXCEPCIONES


   Cuando durante la ejecución de un método el computador detecta un error,
crea un objeto de una clase especial para representarlo, llamada Exception, el
cual incluye toda la información del problema.


   Luego dispara o lanza dicho objeto (throw en inglés) con la esperanza de
que alguien lo atrape y decida como recuperarse del error. Si nadie lo atrapa el
programa termina y en la consola aparecerá toda la información del error.


   Manejar una excepción significa que se debe atrapar y manejar antes de que
el programa deje de funcionar, para ello se debe realizar una acción para
recuperarse del error y mostrarle de una manera amigable al usuario el problema
que se está teniendo.
NIVEL 4

                    MANEJO DE EXCEPCIONES

En el siguiente caso el método NO genera ninguna excepción:
NIVEL 4

                       MANEJO DE EXCEPCIONES

   Cuando en un método se puede disparar una excepción en caso de que se
detecte una situación anormal, esta indicación debe formar parte de la signatura
del método mediante la instrucción throws Exception. Cuando queremos lanzar
una excepción utilizamos la instrucción throw.
NIVEL 4

                       MANEJO DE EXCEPCIONES

   Cuando desde la interfaz se llama al método afiliarSocio de la clase Club se
debe atrapar y manejar la excepción, para ello se utilizan las sentencias try-
catch.
NIVEL 4



PREGUNTAS
NIVEL 4

                               CONTRATOS


   En la clase Club crear el método buscarSocio. Este método recibe como
parámetro la cédula del socio y retorna el socio. En caso de que no haya un
socio con esta cédula el método retorna null. No hacer ningún tipo de
validación.




   En la clase Club adicionar el método afiliarSocio. Este método recibe como
parámetros el nombre y la cédula del nuevo socio, y no retorna nada. No hacer
ningún tipo de validación.
NIVEL 4

                                  CONTRATOS


   En la clase Club crear el método buscarSocio. Este método recibe como
parámetro la cédula del socio y retorna el socio. En caso de que no haya un
socio con esta cédula el método retorna null. Hacer todas las validaciones
posibles:

Que la cédula del socio sea diferente de null.

Que la cédula del socio no sea una cadena vacía.

Que el vector de socios esté inicializado.
NIVEL 4

                                   CONTRATOS


   En la clase Club adicionar el método afiliarSocio. Este método recibe como
parámetros el nombre y la cédula del nuevo socio, y no retorna nada. Hacer
todas las validaciones posibles.

Que la cédula del nuevo socio sea diferente de null.

Que la cédula del nuevo socio no sea una cadena vacía.

Que el nombre del nuevo socio sea diferente de null.

Que el nombre del nuevo socio no sea una cadena vacía.

Que el vector de socios esté inicializado.

Que el socio no este registrado.
NIVEL 4

                             CONTRATOS

Los contratos solucionan los siguientes problemas:



    ¿Qué se debe                                      ¿Qué no se
     suponer al                                      debe suponer
     utilizar un                                      al utilizar un
      método?                                           método?


                             Contratos
NIVEL 4

                                  CONTRATOS

    Contrato entre dos personas



  Quién escribe o                              Quién utiliza o usa
   implementa el                               el método necesita
 cuerpo del método                            saber cuáles son las
 puede hacer ciertas                            suposiciones que
 suposiciones sobre                                hizo quién lo
los parámetros o los                              construyó, sin
   atributos, y esto                          necesidad de entrar a
  puede afectar en                                  estudiar la
  algunos casos el                              implementación.
       resultado.
NIVEL 4

                                  CONTRATOS

    Contrato entre dos personas



  Quién escribe o                              Quién utiliza o usa
   implementa el                               el método necesita
 cuerpo del método                            saber cuáles son las
 puede hacer ciertas                            suposiciones que
 suposiciones sobre                                hizo quién lo
los parámetros o los                              construyó, sin
   atributos, y esto                          necesidad de entrar a
  puede afectar en                                  estudiar la
  algunos casos el                              implementación.
       resultado.

                                              En ocasiones debe
Dice qué se supone                              hacer algunas
   en el método                               validaciones antes
                                              de usar el método
NIVEL 4

                                 CONTRATOS


  El contrato de un método por lo tanto establece bajo qué condiciones el
método tendrá éxito y cual será el resultado una vez que finalice la ejecución.

   Las precondición es aquello que se exige para poder resolver el problema
planteado. Se expresan como condiciones que deben ser verdaderas para que el
método se ejecute con éxito. Estas precondiciones pueden referirse a:

El estado del objeto que va a ejecutar el método (valor de sus atributos)

El estado de algún elemento del mundo con el cual el objeto tenga una
asociación.

Condiciones sobre los parámetros de entrada entregados al método.
NIVEL 4

                                 CONTRATOS


  El contrato de un método por lo tanto establece bajo qué condiciones el
método tendrá éxito y cual será el resultado una vez que finalice la ejecución.

   Las postcondición describe el resultado obtenido después de la ejecución
del método. Se expresan como un conjunto de condiciones que deben ser
verdaderas después de que el método ha sido ejecutado, siempre y cuando el
método no haya lanzado una excepción. Estas postcondiciones hacen referencia
referirse a:

Una descripción del valor de retorno.

Una descripción del estado del objeto después de que el método ha sido
ejecutado.
NIVEL 4

                               CONTRATOS


   Las precondiciones se ve como el conjunto de condiciones que impone aquel
que desarrolla el método y las postcondiciones como los compromisos que
asume.

  “Si todas las condiciones de la precondición se cumplen
  antes de llamar al método, éste asume el compromiso de
    llegar a cumplir todas las condiciones incluidas en la
                       postcondición”
NIVEL 4

DOCUMENTACIÓN JavaDoc
NIVEL 4

DOCUMENTACIÓN JavaDoc
NIVEL 4



PREGUNTAS

Contenu connexe

Tendances

Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrenciapuracastillo
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.Vinay Agnihotri
 
White Box Testing
White Box TestingWhite Box Testing
White Box TestingAlisha Roy
 
Structure of java program diff c- cpp and java
Structure of java program  diff c- cpp and javaStructure of java program  diff c- cpp and java
Structure of java program diff c- cpp and javaMadishetty Prathibha
 
10th class computer science notes in english by cstechz
10th class computer science notes in english by cstechz10th class computer science notes in english by cstechz
10th class computer science notes in english by cstechzShahbaz Ahmad
 
Equivalence partitions analysis
Equivalence partitions analysisEquivalence partitions analysis
Equivalence partitions analysisVadym Muliavka
 
OCA Java SE 8 Exam Chapter 3 Core Java APIs
OCA Java SE 8 Exam Chapter 3 Core Java APIsOCA Java SE 8 Exam Chapter 3 Core Java APIs
OCA Java SE 8 Exam Chapter 3 Core Java APIsİbrahim Kürce
 
OCA Java SE 8 Exam Chapter 6 Exceptions
OCA Java SE 8 Exam Chapter 6 ExceptionsOCA Java SE 8 Exam Chapter 6 Exceptions
OCA Java SE 8 Exam Chapter 6 Exceptionsİbrahim Kürce
 
Error handling and debugging in vb
Error handling and debugging in vbError handling and debugging in vb
Error handling and debugging in vbSalim M
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testingpooja deshmukh
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coveragePushpa Yakkala
 

Tendances (20)

Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrencia
 
Linguaggio C++ - Basi
Linguaggio C++ - BasiLinguaggio C++ - Basi
Linguaggio C++ - Basi
 
system verilog
system verilogsystem verilog
system verilog
 
Cobol basics 19-6-2010
Cobol basics 19-6-2010Cobol basics 19-6-2010
Cobol basics 19-6-2010
 
Nested class in java
Nested class in javaNested class in java
Nested class in java
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
White Box Testing
White Box TestingWhite Box Testing
White Box Testing
 
verification resume
verification resumeverification resume
verification resume
 
Structure of java program diff c- cpp and java
Structure of java program  diff c- cpp and javaStructure of java program  diff c- cpp and java
Structure of java program diff c- cpp and java
 
Four Pillers Of OOPS
Four Pillers Of OOPSFour Pillers Of OOPS
Four Pillers Of OOPS
 
10th class computer science notes in english by cstechz
10th class computer science notes in english by cstechz10th class computer science notes in english by cstechz
10th class computer science notes in english by cstechz
 
Equivalence partitions analysis
Equivalence partitions analysisEquivalence partitions analysis
Equivalence partitions analysis
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
OCA Java SE 8 Exam Chapter 3 Core Java APIs
OCA Java SE 8 Exam Chapter 3 Core Java APIsOCA Java SE 8 Exam Chapter 3 Core Java APIs
OCA Java SE 8 Exam Chapter 3 Core Java APIs
 
Fifo+ +lifo
Fifo+ +lifoFifo+ +lifo
Fifo+ +lifo
 
OCA Java SE 8 Exam Chapter 6 Exceptions
OCA Java SE 8 Exam Chapter 6 ExceptionsOCA Java SE 8 Exam Chapter 6 Exceptions
OCA Java SE 8 Exam Chapter 6 Exceptions
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Error handling and debugging in vb
Error handling and debugging in vbError handling and debugging in vb
Error handling and debugging in vb
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coverage
 

En vedette (11)

APO1 - Presentacion nivel 3
APO1 - Presentacion nivel 3APO1 - Presentacion nivel 3
APO1 - Presentacion nivel 3
 
APO1 - Presentacion nivel 2
APO1 - Presentacion nivel 2APO1 - Presentacion nivel 2
APO1 - Presentacion nivel 2
 
APO1 - Presentacion nivel 1
APO1 - Presentacion nivel 1APO1 - Presentacion nivel 1
APO1 - Presentacion nivel 1
 
APO2 - Presentacion nivel 8
APO2 - Presentacion nivel 8APO2 - Presentacion nivel 8
APO2 - Presentacion nivel 8
 
APO1 - Presentacion nivel 6
APO1 - Presentacion nivel 6APO1 - Presentacion nivel 6
APO1 - Presentacion nivel 6
 
APO2 - Presentacion nivel 10
APO2 - Presentacion nivel 10APO2 - Presentacion nivel 10
APO2 - Presentacion nivel 10
 
APO2 - Presentacion nivel 9
APO2 - Presentacion nivel 9APO2 - Presentacion nivel 9
APO2 - Presentacion nivel 9
 
De diagrama de clase a Codigo Java
De diagrama de clase a Codigo JavaDe diagrama de clase a Codigo Java
De diagrama de clase a Codigo Java
 
Persistencia jpa
Persistencia jpaPersistencia jpa
Persistencia jpa
 
Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017
 
Tecnicas grupales
Tecnicas grupalesTecnicas grupales
Tecnicas grupales
 

Similaire à APO1 - Presentacion nivel 4

Vencer la resistencia al Diseño Centrado en el Usuario
Vencer la resistencia al Diseño Centrado en el UsuarioVencer la resistencia al Diseño Centrado en el Usuario
Vencer la resistencia al Diseño Centrado en el UsuarioJuan Manuel Carraro
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de softwarevivymoreno
 
Taller Evento TestingUY 2018 - Probando la experiencia de usuario
Taller Evento TestingUY 2018 - Probando la experiencia de usuarioTaller Evento TestingUY 2018 - Probando la experiencia de usuario
Taller Evento TestingUY 2018 - Probando la experiencia de usuarioTestingUy
 
Taller en TestingUy 2018: Probando la experiencia de usuario
Taller en TestingUy 2018: Probando la experiencia de usuarioTaller en TestingUy 2018: Probando la experiencia de usuario
Taller en TestingUy 2018: Probando la experiencia de usuarioClaudia Badell
 
Metodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacionMetodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacioncaroyu
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativaDiego Sinche
 
Anexo 18 actividad 5 adminsitracion de sistemas operativos en red 1
Anexo 18  actividad 5 adminsitracion de sistemas operativos en red 1Anexo 18  actividad 5 adminsitracion de sistemas operativos en red 1
Anexo 18 actividad 5 adminsitracion de sistemas operativos en red 1Angel Rene
 
9. Cómo identificar el conocimiento
9. Cómo identificar el conocimiento9. Cómo identificar el conocimiento
9. Cómo identificar el conocimientoCRISEL BY AEFOL
 
Caso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitarioCaso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitarioChamilo Venezuela
 
Caso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitarioCaso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitarioChamilo Association
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitosJoamarbet
 
Manual de procedimientos
Manual de procedimientosManual de procedimientos
Manual de procedimientosLina Vega
 
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacionClase 04b requerimientos documentacion
Clase 04b requerimientos documentacionDemián Gutierrez
 
Requerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitarRequerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitarDharma Consulting
 
Unidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas deUnidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas depheramrh
 

Similaire à APO1 - Presentacion nivel 4 (20)

clase5.pdf
clase5.pdfclase5.pdf
clase5.pdf
 
Obtencion de requisitos
Obtencion de requisitosObtencion de requisitos
Obtencion de requisitos
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Vencer la resistencia al Diseño Centrado en el Usuario
Vencer la resistencia al Diseño Centrado en el UsuarioVencer la resistencia al Diseño Centrado en el Usuario
Vencer la resistencia al Diseño Centrado en el Usuario
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Práctica 4 (anexo19)
Práctica 4 (anexo19)Práctica 4 (anexo19)
Práctica 4 (anexo19)
 
Taller Evento TestingUY 2018 - Probando la experiencia de usuario
Taller Evento TestingUY 2018 - Probando la experiencia de usuarioTaller Evento TestingUY 2018 - Probando la experiencia de usuario
Taller Evento TestingUY 2018 - Probando la experiencia de usuario
 
Taller en TestingUy 2018: Probando la experiencia de usuario
Taller en TestingUy 2018: Probando la experiencia de usuarioTaller en TestingUy 2018: Probando la experiencia de usuario
Taller en TestingUy 2018: Probando la experiencia de usuario
 
Metodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacionMetodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacion
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
 
Anexo 18 actividad 5 adminsitracion de sistemas operativos en red 1
Anexo 18  actividad 5 adminsitracion de sistemas operativos en red 1Anexo 18  actividad 5 adminsitracion de sistemas operativos en red 1
Anexo 18 actividad 5 adminsitracion de sistemas operativos en red 1
 
9. Cómo identificar el conocimiento
9. Cómo identificar el conocimiento9. Cómo identificar el conocimiento
9. Cómo identificar el conocimiento
 
Caso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitarioCaso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitario
 
Caso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitarioCaso: Chamilo en el ámbito universitario
Caso: Chamilo en el ámbito universitario
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitos
 
Manual de procedimientos
Manual de procedimientosManual de procedimientos
Manual de procedimientos
 
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacionClase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
 
Requerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitarRequerimientos del Software: 8 trampas a evitar
Requerimientos del Software: 8 trampas a evitar
 
Unidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas deUnidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas de
 

Plus de Mario Jose Villamizar Cano

e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...Mario Jose Villamizar Cano
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsMario Jose Villamizar Cano
 
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Mario Jose Villamizar Cano
 
An Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipAn Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipMario Jose Villamizar Cano
 
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureEnergy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureMario Jose Villamizar Cano
 
Emprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsEmprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsMario Jose Villamizar Cano
 
e-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computinge-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific ComputingMario Jose Villamizar Cano
 
Cloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresCloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresMario Jose Villamizar Cano
 
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceUnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceMario Jose Villamizar Cano
 
Bio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionBio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionMario Jose Villamizar Cano
 
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Mario Jose Villamizar Cano
 
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...Mario Jose Villamizar Cano
 
Una grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaUna grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaMario Jose Villamizar Cano
 
Infraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridInfraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridMario Jose Villamizar Cano
 

Plus de Mario Jose Villamizar Cano (16)

e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
 
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
 
An Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipAn Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and Entrepreneurship
 
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureEnergy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
 
Emprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsEmprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet Startups
 
e-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computinge-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computing
 
Cloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresCloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedores
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
 
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceUnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
 
Bio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionBio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow execution
 
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
 
An Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGridAn Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGrid
 
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
 
Una grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaUna grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombia
 
Infraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridInfraestructura computacional: Computación en grid
Infraestructura computacional: Computación en grid
 

Dernier

Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 

Dernier (20)

Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 

APO1 - Presentacion nivel 4

  • 1. NIVEL 4 ALGORÍTMICA Y PROGRAMACIÓN 1 (APO 1) Mario José Villamizar Cano mj.villamizar24@uniandes.edu.co Oficina ML-637 http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php Grupo de Tecnologías de Información y Comunicación (COMIT) Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá D.C., Colombia
  • 2. NIVEL 4 REDES SOCIALES mjvc007@hotmail.com http://twitter.com/mariocloud http://linkedin.com/in/mariojosevillamizarcano
  • 3. NIVEL 4 TEMAS PRINCIPALES Definición de contratos Uso de la clase Exception de java para manejo de problemas asociados a la violación de contratos. Técnicas simples para la asignación de responsabilidades de las clases
  • 4. NIVEL 4 CASOS DE ESTUDIO 1 Caso de estudio: Un Club Social
  • 5. NIVEL 4 CASOS DE ESTUDIO 2 Caso de estudio: Brazo Mecánico
  • 6. NIVEL 4 HOJAS DE TRABAJO 1 Hoja de trabajo: Venta de Boletas en una Sala de Cine
  • 7. NIVEL 4 HOJAS DE TRABAJO 2 Hoja de trabajo: Un Sistema de Préstamos
  • 8. NIVEL 4 CASO DE ESTUDIO – EL CLUB DE SOCIOS
  • 9. NIVEL 4 REQUERIMIENTOS FUNCIONALES – EL CLUB DE SOCIOS R1 - Registrar una persona autorizada por un socio R2 - Pagar una factura R3 - Afiliar un socio al club R4 - Registrar un consumo en la cuenta de un socio
  • 10. NIVEL 4 TÉCNICA DEL EXPERTO Nos indica quién es el responsable de hacer algo. Las reglas del mundo son las que nos indican cómo cumplir con dicha responsabilidad. ¿Quién es el responsable de adicionar un nuevo socia al club? ¿Quién es el responsable de registrar una persona autorizada por un socio? ¿Quién es responsable de registrar una factura a un socio?
  • 11. NIVEL 4 DESCOMPOSICIÓN DE REQUERIMIENTOS Muchos requerimientos funcionales requieren más de un paso para poder satisfacerlos. Se hace necesario definir los métodos para satisfacerlos, y asignar los métodos a cada una de las clases responsables. Se desea pagar una factura para esto se debe: • Buscar si el socio que va a pagar la factura existe (Clase Club). • Si el socio existe obtener todas sus facturas pendientes (Socio). • Pagar la factura seleccionada .
  • 12. NIVEL 4 MANEJO DE EXCEPCIONES Una excepción se puede ver como la indicación de que se produjo un error en el programa. Las excepciones se producen cuando la ejecución de un programa no termina correctamente sino que termina de manera excepcional como consecuencia de una situación no esperada. Ejemplos de situaciones anormales: Cuando se accede a un objeto que no ha sido inicializado. Cuando se accede a una posición de un arreglo o vector que no existe. Cuando se trata de acceder a un objeto que tiene el valor de null.
  • 13. NIVEL 4 MANEJO DE EXCEPCIONES Si no son manejadas correctamente al momento de generarse una excepción el programa termina abruptamente su ejecución y el usuario no sabe que fue lo que sucedió (Mensaje rojos en la consola de Eclipse).
  • 14. NIVEL 4 MANEJO DE EXCEPCIONES Cuando durante la ejecución de un método el computador detecta un error, crea un objeto de una clase especial para representarlo, llamada Exception, el cual incluye toda la información del problema. Luego dispara o lanza dicho objeto (throw en inglés) con la esperanza de que alguien lo atrape y decida como recuperarse del error. Si nadie lo atrapa el programa termina y en la consola aparecerá toda la información del error. Manejar una excepción significa que se debe atrapar y manejar antes de que el programa deje de funcionar, para ello se debe realizar una acción para recuperarse del error y mostrarle de una manera amigable al usuario el problema que se está teniendo.
  • 15. NIVEL 4 MANEJO DE EXCEPCIONES En el siguiente caso el método NO genera ninguna excepción:
  • 16. NIVEL 4 MANEJO DE EXCEPCIONES Cuando en un método se puede disparar una excepción en caso de que se detecte una situación anormal, esta indicación debe formar parte de la signatura del método mediante la instrucción throws Exception. Cuando queremos lanzar una excepción utilizamos la instrucción throw.
  • 17. NIVEL 4 MANEJO DE EXCEPCIONES Cuando desde la interfaz se llama al método afiliarSocio de la clase Club se debe atrapar y manejar la excepción, para ello se utilizan las sentencias try- catch.
  • 19. NIVEL 4 CONTRATOS En la clase Club crear el método buscarSocio. Este método recibe como parámetro la cédula del socio y retorna el socio. En caso de que no haya un socio con esta cédula el método retorna null. No hacer ningún tipo de validación. En la clase Club adicionar el método afiliarSocio. Este método recibe como parámetros el nombre y la cédula del nuevo socio, y no retorna nada. No hacer ningún tipo de validación.
  • 20. NIVEL 4 CONTRATOS En la clase Club crear el método buscarSocio. Este método recibe como parámetro la cédula del socio y retorna el socio. En caso de que no haya un socio con esta cédula el método retorna null. Hacer todas las validaciones posibles: Que la cédula del socio sea diferente de null. Que la cédula del socio no sea una cadena vacía. Que el vector de socios esté inicializado.
  • 21. NIVEL 4 CONTRATOS En la clase Club adicionar el método afiliarSocio. Este método recibe como parámetros el nombre y la cédula del nuevo socio, y no retorna nada. Hacer todas las validaciones posibles. Que la cédula del nuevo socio sea diferente de null. Que la cédula del nuevo socio no sea una cadena vacía. Que el nombre del nuevo socio sea diferente de null. Que el nombre del nuevo socio no sea una cadena vacía. Que el vector de socios esté inicializado. Que el socio no este registrado.
  • 22. NIVEL 4 CONTRATOS Los contratos solucionan los siguientes problemas: ¿Qué se debe ¿Qué no se suponer al debe suponer utilizar un al utilizar un método? método? Contratos
  • 23. NIVEL 4 CONTRATOS Contrato entre dos personas Quién escribe o Quién utiliza o usa implementa el el método necesita cuerpo del método saber cuáles son las puede hacer ciertas suposiciones que suposiciones sobre hizo quién lo los parámetros o los construyó, sin atributos, y esto necesidad de entrar a puede afectar en estudiar la algunos casos el implementación. resultado.
  • 24. NIVEL 4 CONTRATOS Contrato entre dos personas Quién escribe o Quién utiliza o usa implementa el el método necesita cuerpo del método saber cuáles son las puede hacer ciertas suposiciones que suposiciones sobre hizo quién lo los parámetros o los construyó, sin atributos, y esto necesidad de entrar a puede afectar en estudiar la algunos casos el implementación. resultado. En ocasiones debe Dice qué se supone hacer algunas en el método validaciones antes de usar el método
  • 25. NIVEL 4 CONTRATOS El contrato de un método por lo tanto establece bajo qué condiciones el método tendrá éxito y cual será el resultado una vez que finalice la ejecución. Las precondición es aquello que se exige para poder resolver el problema planteado. Se expresan como condiciones que deben ser verdaderas para que el método se ejecute con éxito. Estas precondiciones pueden referirse a: El estado del objeto que va a ejecutar el método (valor de sus atributos) El estado de algún elemento del mundo con el cual el objeto tenga una asociación. Condiciones sobre los parámetros de entrada entregados al método.
  • 26. NIVEL 4 CONTRATOS El contrato de un método por lo tanto establece bajo qué condiciones el método tendrá éxito y cual será el resultado una vez que finalice la ejecución. Las postcondición describe el resultado obtenido después de la ejecución del método. Se expresan como un conjunto de condiciones que deben ser verdaderas después de que el método ha sido ejecutado, siempre y cuando el método no haya lanzado una excepción. Estas postcondiciones hacen referencia referirse a: Una descripción del valor de retorno. Una descripción del estado del objeto después de que el método ha sido ejecutado.
  • 27. NIVEL 4 CONTRATOS Las precondiciones se ve como el conjunto de condiciones que impone aquel que desarrolla el método y las postcondiciones como los compromisos que asume. “Si todas las condiciones de la precondición se cumplen antes de llamar al método, éste asume el compromiso de llegar a cumplir todas las condiciones incluidas en la postcondición”