Definición y cumplimiento de responsabilidades Giovanni Hernández P. Nivel 4.

Slides:



Advertisements
Presentaciones similares
BizAgi - Business Agility
Advertisements

Métodos y parámetros.
Introducción a C#.
Exceptions y Assertions Introducción a la terminología Bloques: try, catch Uso de finally Bloques: try, catch, finally Categorías de Exceptions Excepciones.
Curso de java básico (scjp)
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME RMS Ing. Ronald Criollo.
Aclaraciones de la Realización del Producto
Definición de Clases y Variables de referencia.
EXCEPCIONES UNIDAD 5.
Programación Interactiva Manejo de Excepciones
Manejo de errores y excepciones
Entendiendo la definición de clases
METODO DE ANALISIS DE FALLAS
Programación en Java Instructor:.
Tipo de Dato Abstracto Tipos de datos:
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA)
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Objetos y Clases en Java
Programación Orientada a Objetos en Java
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Manejo de excepciones en Java
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
1 TEMA 5. Seguridad en Java 1.Introducción a los Controladores de Seguridad 2.Decidir qué Métodos Sobreescribir del SecurityManager 3.Escribir un Controlador.
Semana 5 Subprogramas..
Clase Teórica No. 4 Programación IV
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Programación con Assertions
Tema 11: Excepciones Antonio J. Sierra.
1 Objetos y Clases en Java ELO-329: Diseño y Programación Orientados a Objetos.
Material de apoyo Unidad 4 Estructura de datos
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
USO DE EXCEPCIONES EN JAVA LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
ANALISIS Y DISEÑO DE SISTEMA Ing. Sanchez Castillo Eddye Arturo
Módulo 8: Manejo de Errores y Excepciones
Programación Orientada a Objetos Unidad 4 Excepciones Universidad de Chile Departamento de Ciencias de la Computación.
Unidad III Manejo de Excepciones en Java y C++
Excepciones Unidad 5.
Metodología para solución de problemas
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Ingeniería de software
Java.
CONTRATOS UML.
Programación avanzada en Java Miguel Ángel Corella 26 de Septiembre de 2005.
Tratamiento de excepciones
Elaborado por: Mayoral Cruz Matilde Morales Espinoza Anllhins
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Abstracción.
Introducción a los TADs
MANEJO DE EXCEPCIONES. 21/11/2005 E.T.S de Ingenieros de Telecomunicacion.2 Índice ¿Qué es una excepción? Tipos de situaciones. Manejo de excepciones.
¿Qué son? – tipos – manejo - ejemplos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
UML – Lenguaje de Modelado Unificado
ECOM-6030 CAPÍTULO 7 EXCEPTION HANDLING Prof. Nelliud D. Torres © - Derechos Reservados.
SCITMina | by Microsoft Bienvenidos Eduardo Daniel Tenorio Mayo Microsoft Student Partner Taller de Programación Orientada a Objetos Con C# Edgar Edel.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Transcripción de la presentación:

Definición y cumplimiento de responsabilidades Giovanni Hernández P. Nivel 4

Contrato entre dos sujetos: el que lo implementa y el que lo usa. Necesito que me adicione este libro al catálogo. No he verificado si ya existe ahí. El libro esta en buen estado Ok. Yo lo adiciono si no esta en el catálogo. Si ya está le informo para que Usted decida que hacer

Contrato de un método Acuerdo entre quien implementa el método y quien lo usa Método Signatura del método Se establece claramente Condiciones para definir los resultados

Caso de estudio No 1 Club social

Caso de estudio No 1 Comprensión de los requerimientos. Comprensión del mundo del problema. Definición de la arquitectura.

Comprensión de los requerimientos

Comprensión del mundo del problema Un club tiene muchos socios Un socio tiene muchas facturas Un socio puede tener muchas personas autorizadas Solo se necesita el nombre de la persona por lo cuál se representa con String

Definición de la arquitectura Club Socio Factura ClubTest SocioTest

Declaración de las clases public class Club { } public class Socio { } public class Factura { }

Asignación de responsabilidades Técnica del experto El dueño de la información es el responsable Permite que otros tengan accedan y puedan pedir cambios en la información Tiene en cuenta las reglas del mundo Técnicas de asignación de responsabilidades Técnica de descomposición de requerimientos

Asignación de resposabilidades Caso de estudio Quíen es el responsable de agregar un nuevo socio al club? Quíen es responsible de registrar una persona autorizada por un socio?

Asignación de resposabilidades

Asignación de responsabilidades Técnica de descomposición de los requerimientos Descomponer en sub- problemas Identificar los pasos de invocación de métodos Asignar resposabilidades a las clases Técnicas de asignación de responsabilidades Técnica del experto

Asignación de responsabilidades NombreR1-Pagar una factura ResumenSe requiere pagar la factura de un socio Entradas Socio Factura a pagar Resultados Se ha cancelado la factura seleccionada.

Asignación de responsabilidades Descomposición del requerimiento 1.Buscar si el socio que quiere pagar la factura existe (buscar Socio) 2.Si el socio existe, obtener todas las facturas pendientes (darFacturas) 3.Pagar la factura seleccionada (pagar Factura)

Asignación de responsabilidades NombreR2-Registrar una persona autorizada ResumenSe requiere registrar una persona autorizada de un socio Entradas Socio Nombre autorizado Resultados Se ha registrado una persona autorizada a un socio.

Asignación de responsabilidades Descomposición del requerimiento 1.Buscar si existe el socio a quien se le va agregar una persona autorizada (buscarSocio) 2.Dado el nombre de una persona, verificar si esa persona ya pertenece al grupo de autorizados del socio (existeAutorizado) 3.Asociar con el socio una nueva persona autorizada (agregarAutorizado)

Asignación de responsabilidades R2-Registrar una persona autorizada Paso No 1. Localizar el socio buscarSocio() Paso No 2. Verificar que la persona que se va a agregar no esta ya incluida existeAutorizado() Paso No 3. Agregar al socio el nombre de la persona autorizada agregarAutorizado()

Taller no 1

Manejo de excepciones Excepción en programación Idacador de que existe un error en el programa Se produce cuando un método no termina correctamente Se produce por una acción inesperada en un método Programación Codificación en programación

Manejo de excepciones public void afiliarSocio(String cedula,String nombre) throws Exception { ….. } Con esta declaración el método advierte a todos los que lo utilizan que puede producirse una excepción al utilizarlo. Los métodos que hacen la invocación pueden capturar la excepción o dejarla.

Manejo de excepciones Instrucción try-catch try { inst1; } catch (Exception e) { instr2; } Si todo funciona bien no se ejecuta ninguna de las instrucciones catch. Así se dice que cualquier excepción que se atrape se la asigna al objeto e de tipo Exception. Se puede utilizar la variable e para pedir información sobre el error.

Manejo de excepciones La construcción de un objeto Exception y la instrucción throw public void afiliarSocio(String cd, String nm) throws Exception { // Revisa que no exista un socio con la misma cédula Socio s = buscarSocio( cd ); if ( s == null) { //Se crea el objeto socio Socio nuevoSocio = new Socio( cd, nm ); // Se agrega el socio al club socios.add( nuevoSocio); } else { // Si el socio ya existia lanza la excepción throw new Exception( “El socio ya existe” ); }

Manejo de excepciones Flujo de control en el manejo de excepciones public void m1() { try { o1.m2(); } catch( …) { } public void m2() throws Exception { o2.m3(); } public void m3() throws Exception { o3.m4(); } public void m4() throws Exception { … } Lanza la excepción Dejar pasar la excepción Atrapa la excepción y se recupera

Contrato de un método Acuerdo entre quien implementa el método y quien lo usa Método Signatura del método Se establece claramente Condiciones para definir los resultados

Contrato de un método public void afiliarSocio( String cedula, String nombre ) throws Exception Antes de ejecutar el método: 1.La lista de socios ya fue creada 2.La cédula no es null, ni vacía 3.No se ha verificado si ya existe un socio con esa cédula. 4.El nombre no es null ni vacío. Después de ejecutar el método, el resultado debe ser: 1.Todo funciona bien y el socio se afilia al club. 2.Se produjo un error y se informó del problema con una excepción.

Contrato de un método Precondiciones y postcondiciones Precondición : Aquello que se exige para poder resolver un problema planteado a un método (Condiciones que se imponen al hacer el método). Pueden referirse a: 1.El estado de un objeto que va a ejecutar el método. 2.El estado de algún elemento del mundo con el cual el objeto tiene asociación. 3.Condiciones sobre los parámetros de entrada entregados al método.

Taller No 2 Identificar precondición de un método

Contrato de un método Precondiciones y postcondiciones Postcondición : Descripción del resultado obtenido después de ejecutar un método (Compromiso que asume al hacer el método). Pueden referirse a: 1.Una descripción del valor de retorno. 2.Una descripcion del estado del objeto después de haber ejecutado el método.

Taller No 3 Identificar precondición de un método

Preguntas 1.¿Un método debe verificar en algún punto las condiciones que hacen parte de la precondición? – No. 2.¿Qué lugar ocupan las excepciones en los contratos? – Únicamente lanza la excepción. 3.¿Qué incluir en la precondición? – Condiciones fáciles de garantizar 4.¿Por qué es inconveniente verificar todo dentro de un método invocado? – Por eficiencia.

Documentación de los contratos con Javadoc Hace parte de la documentación del método Generar automáticamente la documentación con Javadoc El contrato se expresa como un comentario en javadoc /** … */, inmediatamente antes del método.

Documentación de los contratos con Javadoc El contrato empieza con una descripción general del método /** * Este método afilia un nuevo socio al club

Documentación de los contratos con Javadoc Precondiciones relacionados con el estado del objeto que ejecuta el método. Allí se incluye únicamente las restricciones y las relaciones que deben cumplir los atributos y los objetos con los cuales tiene una asociación. * pre: La lista de socios esta inicializada (no es null).

Documentación de los contratos con Javadoc Postcondiciones que hacen referencia al estado del objeto después de la ejecución del método. Allí se deben describir la modificación de los atributos y objetos asociados que pueden esperarse después de su ejecución. * post: Se ha afiliado un nuevo socio al club con los datos dados.

Documentación de los contratos con Javadoc Parámetros se describe los parámetros de entrada y las precondiciones asociadas con ellos. Para cada parámetro se debe utilizar la seguido de nombre del parámetro, una descripción y las suposiciones que el método hace sobre el. cedula Es la cédula del nuevo socio. Cedula != null, cedula != “” nombre Es el nombre del nuevo socio. nombre != null, cedula != “”

Documentación de los contratos con Javadoc Retorno se describe el valor de retorno que se devolverá como si fuera una variable. Para el retorno se utiliza la Para el ejemplo, no tiene retorno

Documentación de los contratos con Javadoc Excepciones se describe las excepciones que el método dispara. Se utiliza la seguida del tipo de excepción y una descripción de la situación en la que puede ser disparada. Exception si un socio con la misma cédula ya estaba afiliado al club, dispara una excepción indicando que la nueva afiliación no se puede llevar a cabo.

Documentación de los contratos con Javadoc /** * Este método afilia un nuevo socio al club * pre: La lista de socios esta inicializada (no es null). * post: Se ha afiliado un nuevo socio al club con los datos dados. cedula Es la cédula del nuevo socio. Cedula != null, cedula != “” nombre Es el nombre del nuevo socio. nombre != null, cedula != “” Exception si un socio con la misma cédula ya estaba afiliado al club, dispara una excepción indicando que la nueva afiliación no se puede llevar a cabo. */ public void afiliarSocio( String cedula, String nombre) throws Exception { }

Taller No 4 Identificar precondición de un método