Diseño Nivel 4 - Cupi2 - Universidad de los Andes

Anuncio
Universidad de los Andes
Ingeniería de Sistemas y Computación
Proyecto
CUPI2
Diseño de un nivel - Curso C1
J. Villalobos, R. Casallas
Enero 20/2006
Documento
Elaborado por
Fecha
Nivel: 4
Propósito general
Modelaje &
solución de
problemas
Introducir el concepto de contrato y un conjunto de técnicas metodológicas
para asignación de responsabilidades, diseño de métodos y solución de
problemas. En este nivel se hace énfasis en el eje de metodología.
C
Conceptos de precondición y postcondición, como condiciones sobre la situación
inicial del problema y sobre la situación final.
División de la precondición entre condiciones sobre los parámetros y
condiciones sobre los atributos y las asociaciones (estado del mundo).
División de la postcondición entre condiciones sobre el retorno, condiciones
sobre el estado del mundo después de ejecutar el método y excepciones
posibles al contrato.
Concepto de contrato, definido de la siguiente manera: (1) El método tiene que
suponer que la precondición se cumple (no hace ninguna validación al
respecto), (2) el método se compromete a llegar a la postcondición, (3) si se
presenta una situación que haga imposible llegar a la postcondición debe lanzar
una de las excepciones definidas como parte del contrato.
H
El estudiante debe ser capaz de expresar en lenguaje natural una condición de
manera no ambigua, que haga referencia a los valores válidos de los
parámetros, el retorno, los atributos y las asociaciones.
El estudiante debe ser capaz de escribir un contrato a partir de la descripción
informal de lo que debe hacer un método.
Algorítmica
C
Concepto de algoritmo que cumple un contrato. Responsabilidades del
algoritmo en cuanto a la precondición (se da siempre por cumplida) y a la
postcondición. Responsabilidad de quien usa el algoritmo (verificar que cumple
la precondición y asegurarse de manejar de manera adecuada las excepciones).
H
El estudiante debe ser capaz de escribir un algoritmo siguiendo una
especificación expresada como un contrato.
El estudiante debe ser capaz de leer un algoritmo y escribir el contrato que
implementa.
Elementos
estructuradores
C
Concepto de contrato, como una responsabilidad explícita que asume un
elemento de la arquitectura con respecto a los demás.
y arquitecturas
Procesos de
software
H
El estudiante debe ser capaz de escribir y leer un contrato simple, y de
entender las responsabilidades que éste conlleva.
C
Estándar de documentación del contrato de un método en javadoc:
/**
* <descripción>
* @param <nombre> <descripción> <precondición>
* @param <nombre> <descripción> <precondición>
* pre: <precondición>
* @return <descripción> <postcondición>
* post: <postcondición>
* @throws Exception <descripción>
*/
Localización de las pruebas en el espacio de trabajo (directorio test). Estructura
interna de directorios y archivos.
H
El estudiante debe ser capaz de expresar un contrato usando el estándar
definido.
El estudiante debe ser capaz de ejecutar las pruebas de una clase, y localizar un
problema en caso de que exista.
Tecnología y
programación
C
javadoc: sintaxis y etiquetas
Concepto de excepción como un mecanismo de manejo y recuperación de
situaciones anormales. Introducción de la clase Exception de java y de los
métodos principales.
Instrucción try – catch de java
Declaración throws e instrucción thow de java
H
El estudiante debe ser capaz de documentar correctamente un método usando
javadoc y utilizar los comandos para generar la respectiva documentación
El estudiante debe ser capaz de escribir un método que lance una excepción.
El estudiante debe ser capaz de escribir un método que llame un método de
puede lanzar una excepción, manejarla con la instrucción try – catch, y
recuperarse de diferentes maneras.
Herramientas
programación
C
Uso de la aplicación que genera el javadoc de un programa
H
El estudiante debe ser capaz de generar el javadoc de un programa, y de
escribir el bat correspondiente
Cupi2 – Diseño de un nivel
2
Técnicas de
programación y
metodologías
C
Técnica de dividir y conquistar, aplicada a un requerimiento funcional complejo
que debe ser partido en tareas más simples para facilitar su solución. Concepto
de plan de solución expresado como un conjunto de tareas bien definidas y de
metas intermedias.
Patrón experto como guía en el proceso de asignación de responsabilidades.
Relación entre el “quién sabe qué y el quién es responsable de qué”.
Técnicas para definir los parámetros de un método
Técnicas para diseñar el tipo de retorno de un método, en el cual informe el
resultado de lo que se le pidió hacer.
H
El estudiante debe ser capaz de utilizar la técnica de dividir y conquistar para
resolver un requerimiento funcional complejo
EL estudiante debe ser capaz de asignar las responsabilidades de una clase
utilizando como guía el patrón experto.
El estudiante debe ser capaz de diseñar un método: (1) tipo de retorno, (2) tipo
de cada parámetro, (3) lista de excepciones que debe lanzar.
Entrenadores
•
Brazo mecánico (para dividir y conquistar de requerimientos funcionales)
Cupi2 – Diseño de un nivel
3
Descargar