Documente Academic
Documente Profesional
Documente Cultură
Introduccin
Bienvenidos
Reglas de Juego
Entrega del programa Cronogramas Esquema de Evaluacin
Cronogramas
Cronograma de actividades Cronograma de entrega de notas
http://cupi2.uniandes.edu.co/sitio/index.php/cursos/a po1/profesores-y-secciones
El examen del nivel 6 se realizar en la fecha programada por registro Convenciones: N1-C1: Clase 1 del nivel 1 N1-L1: Laboratorio 1 del nivel 1 N1-EXAM: Examen terico del nivel 1 N1-LABO: Examen prctico del nivel 1 N1-PUBLI: Publicacin del ejercicio de nivel 1 N1-EJER: Entrega del ejercicio de nivel 1 4
Esquema de evaluacin
Esquema de evaluacin
Conrad Wolfram
Desarrollar habilidades de solucin de problemas. Desarrollar una manera de pensar. Aprender a aprender:
Since a computer program never works the first time, the userin this case, a childhas to debug it, to try again, to look at the programs behavior, iterate, and finally succeed. That process is the closest a child will ever come to understanding how to learn, to learn learning. Nicholas Negroponte
10
Objetivos
Comprender el proceso de solucin de un problema usando un programa de computador. Construir un modelo con los elementos que intervienen en el problema. Especificar los servicios de un programa. Completar una solucin parcial a un problema:
Expresiones simples Asignaciones Invocaciones a mtodos
Diseo de la solucin
Implementacin de la solucin
13
Problema
Especificacin
14
Requerimientos funcionales
Requerimientos no funcionales
Especificacin
Requerimientos funcionales: Las necesidades del cliente. Operaciones o servicios que el programa debe proveer al usuario.
15
Requerimientos funcionales
Requerimientos no funcionales
Especificacin
Mundo del Problema: Contexto en el que ocurre el problema Elementos (Datos, Informacin) que intervienen en el problema
16
Requerimientos funcionales
Requerimientos no funcionales
Especificacin
Requerimientos no funcionales: Restricciones o condiciones que impone el cliente al programa. Atributos de calidad que se deben cumplir. Ej.: La aplicacin debe atender 500 usuarios simultneamente. 17
Caso de estudio
EL EMPLEADO
18
Enunciado
Se quiere una aplicacin que permita manejar la informacin de un empleado. El empleado tiene nombre, apellido, sexo, fecha de nacimiento y una imagen asociada. Adems, como trabaja en una determinada compaa tiene una fecha de ingreso a la misma y un salario bsico asignado. En la aplicacin se puede
Modificar el salario del empleado Realizar algunos clculos con la informacin disponible:
edad actual antigedad en la empresa prestaciones a las que tiene derecho. Para el clculo de las prestaciones se utiliza la frmula p = (a * s)/12 (p: prestaciones, a: antigedad, s: salario).
19
20
21
22
Se les da un nombre significativo Pista para ubicarlas: Sustantivos del problema. En POO se denominan Clases.
24
25
Caractersticas o atributos
26
27
28
EJERCICIO
Identificar requerimientos funcionales, las entidades y sus atributos para el siguiente caso: Se quiere construir un programa que permita manejar un tringulo. Esta figura geomtrica est definida por tres puntos, cada uno de los cuales tiene dos coordenadas X, Y. Un tringulo tiene, adems, un color para las lneas y un color de relleno. Un color, por su parte, est definido por tres valores numricos entre 0 y 255 ( estndar RGB por Red-Green-Blue). El primer valor numrico define la intensidad en rojo, el segundo en verde y el tercero en azul. El programa debe (1) dibujar el tringulo en la pantalla, (2) calcular el permetro del tringulo, (3) calcular el rea del tringulo, (4) calcular la altura del tringulo.
29
30
Diseo de la solucin
Implementacin de la solucin
31
CONSTRUCCIN DE LA SOLUCIN
32
Algoritmos e instrucciones
Un algoritmo es una secuencia ordenada de pasos (o instrucciones) para realizar una actividad. Ejemplos:
Algoritmo para preparar un sndwich. Algoritmo para encontrar el mayor de 2 nmeros. Algoritmo para llegar de un punto a otro de la ciudad.
33
34
35
JAVA
Orientado a Objetos Un programa en Java est formado por un conjunto de clases. Cada clase se guarda en un archivo distinto (que debe tener el mismo nombre de la clase) y la extensin .java. Existen palabras reservadas como package, class, public.
36
37
Clase y Objeto
38
39
40
41
Clase Empleado
public class Empleado{ //Atributos: private String nombre; private String apellido; private int sexo; private int salario; private Fecha fechaNacimiento; private Fecha fechaIngreso; }
42
Mtodos
Los algoritmos de la clase. Lo que la clase sabe hacer.
Resolver un problema puntual. Un servicio que ofrece a otras clases.
Una clase es responsable de manejar la informacin que contienen sus atributos. Los mtodos son el medio para hacerlo. Se compone de: Tipo de respuesta, nombre, lista de parmetros y cuerpo del mtodo.
43
44
45
Tipos de instrucciones
Tipo Asignacin Retorno Llamada (invocacin) Descripcin Define un nuevo valor para un atributo. (=) Devuelve un resultado como resultado de un mtodo. Ejecuta un mtodo de una clase. Ejemplo numeroMonedas50 = numer oMonedas50 + 1; return numeroMonedas50; darNumeroMonedas500(); nombreAsociacion.nombreM etodo();
46
Parmetros
Se utilizan para recibir en el mtodo informacin necesaria que no est en los atributos de la clase. Los valores recibidos se pueden usar nicamente dentro del mtodo.
47
48
49
Enunciado
En la alcanca es posible guardar monedas de las siguientes denominaciones: $20, $50, $100, $200 y $500, no se guardan ni billetes ni monedas de otras denominaciones. Al dueo de la alcanca le parece muy til conocer cunto tiene en la alcanca sin necesidad de romperla, es ms, l quiere conocer cuntas monedas tiene en cada denominacin para as romper la alcanca slo cuando quiera disponer de todo su dinero ahorrado. Se quiere un programa que ilustre el manejo de la alcanca. El programa debe permitir (1) agregar una moneda de una de las denominaciones indicadas, (2) contar cuntas monedas tiene de cada denominacin, (3) calcular el total de dinero ahorrado, (4) romper la alcanca vaciando su contenido y (5) comenzar una nueva alcanca.
50
Modelo conceptual
51
Diseo de la solucin
Imaginar la solucin. Detallar, usando algn lenguaje (diagramas, ecuaciones, planos, texto), las caractersticas que tendr la solucin.
Implementacin de la solucin
52
53
Arquitectura de la solucin
Divide y vencers Definicin a grandes rasgos de los elementos que conforman la solucin. Una primera aproximacin ser identificar los paquetes y las clases que van en cada uno de ellos. NOTA: Para los problemas que trabajaremos en este curso se identifican 3 grandes grupos de clases:
Las clases que implementan la interfaz del usuario. Las clases que implementan el modelo del mundo. Las clases que implementan las pruebas.
54
uniandes.cupi2.empleado.interfaz
uniandes.cupi2.empleado.mundo
Empleado Fecha
EmpleadoTest FechaTest
55