1 / 40

Definición y cumplimiento de responsabilidades

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.

wallis
Télécharger la présentation

Definición y cumplimiento de responsabilidades

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

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

  4. Caso de estudio No 1 Club social

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

  6. Comprensión de los requerimientos

  7. Comprensión del mundo del problema Un club tienemuchossocios Solo se necesita el nombre de la persona por lo cuál se representa con String Un socio tienemuchasfacturas Un socio puedetenermuchas personas autorizadas

  8. Definición de la arquitectura ClubTest SocioTest Club Socio Factura

  9. Declaración de lasclases public class Club { } public class Socio { } public class Factura { }

  10. Asignación de responsabilidades Técnica del experto • Técnicas de asignaciónde responsabilidades El dueño de la informaciónes el responsable • Técnica de descomposición de requerimientos Permitequeotrostenganaccedan y puedanpedircambios en la información Tiene en cuentalasreglas del mundo

  11. Asignación de resposabilidades Caso de estudio • Quíenes el responsable de agregar un nuevo socio al club? • Quíenes responsible de registrar una persona autorizadapor un socio?

  12. Asignación de resposabilidades

  13. Asignación de responsabilidades Técnica de descomposición de los requerimientos • Técnicas de asignaciónde responsabilidades Descomponer en sub-problemas Identificar los pasos de invocación de métodos • Técnica del experto Asignarresposabilidades a lasclases

  14. Asignación de responsabilidades

  15. Asignación de responsabilidades Descomposición del requerimiento • Buscarsi el socio quequierepagar la facturaexiste (buscar Socio) • Si el socio existe, obtenertodaslasfacturaspendientes (darFacturas) • Pagar la facturaseleccionada (pagarFactura)

  16. Asignación de responsabilidades

  17. Asignación de responsabilidades Descomposición del requerimiento • Buscarsiexiste el socio a quien se le vaagregaruna persona autorizada (buscarSocio) • Dado el nombre de una persona, verificarsiesa persona yapertenece al grupo de autorizados del socio (existeAutorizado) • Asociar con el socio unanueva persona autorizada (agregarAutorizado)

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

  19. Taller no 1

  20. Manejo de excepciones • Programación Idacador de queexiste un error en el programa • Codificación en programación Excepción en programación Se produce cuando un método no terminacorrectamente Se produce porunaaccióninesperada en un método

  21. Manejo de excepciones public void afiliarSocio(String cedula,Stringnombre) 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.

  22. Manejo de excepciones Instruccióntry-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.

  23. Manejo de excepciones • La construcción de un objeto Exception y la instrucción throw public void afiliarSocio(String cd, String nm) throws Exception { // Revisaque no exista un socio con la mismacé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 yaexistialanza la excepción throw new Exception( “El socio yaexiste” ); } }

  24. Manejo de excepciones Flujo de control en el manejo de excepciones publicvoid m1() { try { o1.m2(); } catch( …) { } } publicvoid m2() throwsException { o2.m3(); } publicvoid m3() throwsException { o3.m4(); } Atrapa la excepción y se recupera Dejarpasar la excepción publicvoid m4() throwsException { … } Lanza la excepción

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

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

  27. Contrato de un método Precondiciones y postcondiciones Precondición: Aquelloque se exigeparapoder resolver un problemaplanteado a un método (Condicionesque se imponen al hacer el método). Puedenreferirse a: • El estado de un objetoqueva a ejecutar el método. • El estado de algúnelemento del mundo con el cual el objetotieneasociación. • Condicionessobre los parámetros de entradaentregados al método.

  28. Taller No 2 Identificarprecondición de un método

  29. Contrato de un método Precondiciones y postcondiciones Postcondición: Descripción del resultadoobtenidodespués de ejecutar un método (Compromisoqueasume al hacer el método). Puedenreferirse a: • Unadescripción del valor de retorno. • Unadescripcion del estado del objetodespués de haberejecutado el método.

  30. Taller No 3 Identificarprecondición de un método

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

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

  33. Documentación de los contratos con Javadoc • El contratoempieza con unadescripción general del método /** * Este métodoafilia un nuevo socio al club

  34. Documentación de los contratos con Javadoc • Precondicionesrelacionadoscon el estado del objetoqueejecuta el método. Allí se incluyeúnicamentelasrestricciones y lasrelacionesquedebencumplir los atributos y los objetos con los cualestieneunaasociación. * <b>pre:</b>La lista de sociosestainicializada (no es null). </br>

  35. Documentación de los contratos con Javadoc • Postcondicionesquehacenreferencia al estado del objetodespués de la ejecución del método. Allí se debendescribir la modificación de los atributos y objetosasociadosquepuedenesperarsedespués de suejecución. * <b>post:</b>Se ha afiliado un nuevo socio al club con los datos dados. </br>

  36. Documentación de los contratos con Javadoc • Parámetros se describe los parámetros de entrada y lasprecondicionesasociadas con ellos. Para cadaparámetro se debeutilizar la etiqueta @paramseguido de nombre del parámetro, unadescripción y lassuposicionesque el métodohacesobre el. * @paramcedula Es la cédula del nuevo socio. Cedula != null, cedula != “” * @paramnombre Es el nombre del nuevo socio. nombre != null, cedula != “”

  37. Documentación de los contratos con Javadoc • Retorno se describe el valor de retornoque se devolverácomosifuerauna variable. Para el retorno se utiliza la etiqueta @return. Para el ejemplo, no tieneretorno * @return

  38. Documentación de los contratos con Javadoc • Excepciones se describe lasexcepcionesque el métododispara. Se utiliza la etiqueta @throws seguida del tipo de excepción y unadescripción de la situación en la quepuede ser disparada. * @throws Exception si un socio con la mismacédulayaestabaafiliado al club, disparaunaexcepciónindicandoque la nuevaafiliación no se puedellevar a cabo.

  39. Documentación de los contratos con Javadoc /** * Este métodoafilia un nuevo socio al club * <b>pre:</b>La lista de sociosestainicializada (no es null). </br> * <b>post:</b>Se ha afiliado un nuevo socio al club con los datos dados. </br> * @paramcedula Es la cédula del nuevo socio. Cedula != null, cedula != “” * @paramnombre Es el nombre del nuevo socio. nombre != null, cedula != “” * @throws Exception si un socio con la mismacédulayaestabaafiliado al club, disparaunaexcepciónindicandoque la nuevaafiliación no se puedellevar a cabo. */ public void afiliarSocio( String cedula, String nombre) throws Exception { }

  40. Taller No 4 Identificarprecondición de un método

More Related