PDF de programación - Java y Servicios Web I - Master en Ingeniería Matemática

Imágen de pdf Java y Servicios Web I - Master en Ingeniería Matemática

Java y Servicios Web I - Master en Ingeniería Matemáticagráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.374 visualizaciones desde el 14 de Enero del 2017
1,7 MB
67 paginas
Creado hace 11a (08/05/2012)
Introducción

Java y Servicios Web I

Master en Ingeniería Matemática

Manuel Montenegro

Dpto. Sistemas Informáticos y Computación

Desp. 467 (Mat)

[email protected]

Contenidos

● Acerca de la asignatura.
● Un poco de historia (I).
● Tipos abstractos de datos.
● Características de la programación orientada a

objetos.

● Un poco de historia (II).
● Primeros pasos en Java.

8/Mayo/2012

1. Introducción

2

Objetivos del curso

● Diseño orientado a objetos con Java.
● Utilización de librerías existentes en Java.
● Introducción a:

● Diseño de interfaces gráficas (Swing).
● Acceso a bases de datos (JDBC).
● Servicios web.

8/Mayo/2012

1. Introducción

3

Requisitos

● Conocimientos básicos de programación

estructurada.
● Pascal
● Python
● C
● Basic
● …

8/Mayo/2012

1. Introducción

4

Contenidos

● Módulo I: Java y POO

1.Introducción.
2.Java para programadores.
3.Clases y objetos.
4.Herencia.
5.Polimorfismo.
6.Excepciones y E/S

8/Mayo/2012

1. Introducción

5

Contenidos

● Módulo II: Librerías de Java

7.Librerías básicas de Java.
8.Interfaces gráficas con Swing.
9.Introducción a la programación concurrente.
10. Acceso a bases de datos.
11. Aplicaciones y servicios web.

8/Mayo/2012

1. Introducción

6

¿Por qué Java?

● Es un lenguaje de propósito general.

● Aplicaciones de escritorio.
● Aplicaciones móviles (Android).
● Aplicaciones web.

● Orientado a objetos.
● Multiplataforma.

8/Mayo/2012

1. Introducción

7

¿Por qué Java?

TIOBE Programming Community Index for January 2012

8/Mayo/2012

1. Introducción

8

¿Por qué Java?

TIOBE Programming Community Index for April 2012

8/Mayo/2012

1. Introducción

9

Aplicaciones

● Cálculo numérico.
● Simulación.
● Servicios web: obtención automática de datos

desde fuentes externas.

● Programación orientada a objetos:

● Desarrollo de sistemas de complejidad media-alta.
● Extendida en el ámbito empresarial.

8/Mayo/2012

1. Introducción

10

Evaluación

● 40% - Evaluación continuada.

● 30% - Ejercicios.
● 10% - Asistencia y participación.

● 60% - Práctica final.

8/Mayo/2012

1. Introducción

11

Tutorías

● Tutorías

● Jueves y Viernes 11h-13h (Desp. 467)
● PPH en la Facultad de Informática.

● Foro del Campus Virtual
● Correo-e: [email protected]

8/Mayo/2012

1. Introducción

12

Bibliografía básica

● P. Deitel, H. Deitel

Java. How to Program (9th Edition)

● B. Eckel

Thinking in Java (3rd Edition)
Disponible en http://mindview.net
● Documentación de librerías de Java

http://docs.oracle.com/javase/6/docs/api/

8/Mayo/2012

1. Introducción

13

Contenidos

● Acerca de la asignatura.
● Un poco de historia (I).
● Tipos abstractos de datos.
● Características de la programación orientada a

objetos.

● Un poco de historia (II).
● Primeros pasos en Java.

8/Mayo/2012

1. Introducción

14

Un poco de historia: Años 50 y 60

● Inicialmente, los programadores introducían las

instrucciones de su programa mediante el sistema de
códigos del computador destino (código máquina).
● Directamente interpretable por la máquina.
● Específico de cada máquina.

● Hacia 1953, los programas eran cada vez más

complejos, y muy caros de programar.

● Programación automática: herramientas que generan

automáticamente programas a partir de notaciones
de más alto nivel.

● Su viabilidad era cuestionable en los inicios.

8/Mayo/2012

1. Introducción

15

Un poco de historia: Años 50 y 60

● Lenguajes de alto nivel (1954)
● FORTRAN (FORmula TRANslating system)

[Backus 1957]
● Vectores, matrices, variables con subíndices,

instrucción DO para construir iteraciones.

● Código eficiente, comparable al construido por un

programador.

● Primer lenguaje de alto nivel independientemente

de la máquina.
● Gran difusión.

8/Mayo/2012

1. Introducción

16

Un poco de historia: Años 50 y 60

● ALGOL 60 (ALGOrithmic Language)

[Bauer, Naur 1958]
● Gran influencia en lenguajes posteriores.
● Instrucciones estructuradas, tipos, recursividad.

● COBOL (COmmon Business-Oriented Language)
● Lenguaje adaptado a la programación de gestión.
● Énfasis en aspectos de descripción de datos, y manipulación de

ficheros.

● LISP (LISt Processing Language)

[McCarthy, 1956]
● Lenguaje funcional.
● Aplicaciones de inteligencia artificial.

8/Mayo/2012

1. Introducción

17

La crisis del software

● Años 60: Fase de burbuja, optimismo desmesurado.

● Se podían realizar programas más grandes con menos

esfuerzo.

● Programas cada vez más grandes.

● Sistemas operativos.
● Compiladores, editores de texto.
● Multiprogramación.

● Sonados fracasos:

● OS/360 del IBM 360 (1964)
● Sonda espacial Mariner I

8/Mayo/2012

1. Introducción

18

La crisis del software

● Búsqueda de un lenguaje que “sirviera para

todo”

● PL/I (IBM 360)

● Lenguaje con muchas características, no

ortogonales.

● ALGOL 68

● Lenguaje poco comprensible, y difícil de

implementar.

● Conclusión: no basta un lenguaje de

programación; hace falta una metodología.

8/Mayo/2012

1. Introducción

19

Años 70

● Programación estructurada.

● Utilizar lenguajes más modestos que los existentes

hasta el momento, pero sobre los que se pueda
razonar (evitar sentencia goto).

● Permite la verificación matemática de programas.
● Abstracción procedimental.

[6, 9, 1, 3, 4]

for i = 1..n
for j = 1..n-i
if a[j] > a[j+1]
extra a[j]
a[j] a[j+1]
a[j+1] extra





[1, 3, 4, 6, 9]

8/Mayo/2012

1. Introducción

20

Años 70

● Programación estructurada.

● Utilizar lenguajes más modestos que los existentes

hasta el momento, pero sobre los que se pueda
razonar (evitar sentencia goto).

● Permite la verificación matemática de programas.
● Abstracción procedimental.

[6, 9, 1, 3, 4]

ORDENAR

[1, 3, 4, 6, 9]

8/Mayo/2012

1. Introducción

21

Años 70

● PASCAL [Wirth, 1970]
● C [Ritchie, 1973]
● ADA [DoD EEUU, 1975-1983]

8/Mayo/2012

1. Introducción

22

Contenidos

● Acerca de la asignatura.
● Un poco de historia (I).
● Tipos abstractos de datos.
● Características de la programación orientada a

objetos.

● Un poco de historia (II).
● Primeros pasos en Java.

8/Mayo/2012

1. Introducción

23

Tipos abstractos de datos

type Fecha = record
dia, mes, año: integer;
end;

function DiferenciaFechas(f1, f2:Fecha):integer;
begin


end;

8/Mayo/2012

1. Introducción

24

Tipos abstractos de datos

type Fecha = record
dia, mes, año: integer;
end;

var actual, f: fecha;

write(f.dia, '/', f.mes, '/', f.año)

if f.año < … then
diff := DiferenciaFechas(actual, f);
end;

function DiferenciaFechas(f1, f2:Fecha):integer;
begin


end;

case f.mes of

end;

8/Mayo/2012

1. Introducción

25

Tipos abstractos de datos

¿Puedes hacer la diferencia entre fechas

más eficiente?

Ok.

8/Mayo/2012

1. Introducción

26

Tipos abstractos de datos

type Fecha = record
// número de días transcurridos desde el
// 1 de enero de 1970
numeroDias:integer;
end;

function DiferenciaFechas(f1, f2:Fecha):integer;
begin
return f2.numeroDias – f1.numeroDias;
end;

8/Mayo/2012

1. Introducción

27

Tipos abstractos de datos

type Fecha = record
// número de días transcurridos desde el
// 1 de enero de 1970
numeroDias:integer;
end;

function DiferenciaFechas(f1, f2:Fecha):integer;
begin
return f2.numeroDias – f1.numeroDias;
end;

var actual, f: fecha;

write(f.dia, '/', f.mes, '/', f.año)

if f.año < … then
diff := DiferenciaFechas(actual, f);
end;

case f.mes of

end;

8/Mayo/2012

1. Introducción

28

Tipos abstractos de datos

● Un tipo abstracto de datos es aquel cuyas

operaciones relacionadas (interfaz) pueden
describirse independientemente de su
representación interna (implementación).

IMPLEMENTACIÓN

type Fecha = record
// número de días transcurridos desde el
// 1 de enero de 1970
numeroDias:integer;
end;

function DiferenciaFechas(f1, f2:Fecha):integer;
begin
return f2.numeroDias – f1.numeroDias;
end;

function Dia(f:Fecha):integer;
begin
...
end;
function Mes(f:Fecha):integer;
begin
...
end;

INTERFAZ

tipo Fecha
Operaciones:
Dia(f:fecha);
Mes(f:fecha);
Año(f:fecha);
DiferenciaFechas(f1,f2:Fecha);

8/Mayo/2012

1. Introducción

29

Tipos abstractos de datos

type Fecha = record
// número de días transcurridos desde el
// 1 de enero de 1970
numeroDias:integer;
end;

function DiferenciaFechas(f1, f2:Fecha):integer;
begin
return f2.numeroDias – f1.numeroDias;
end;

function Dia(f:Fecha):integer;
begin
...
end;
function Mes(f:Fecha):integer;
begin
...
end;

var actual, f: fecha;

write(Dia(f), '/', Mes(f), '/', Año(f)

if Año(f) < 1920 then
diff := DiferenciaFechas(actual, f);
end;

case Mes(f) of

end;

OK

tipo Fecha
Operaciones:
Dia(f:fecha);
Mes(f:fecha);
Año(f:fecha);
DiferenciaFechas(f1,f2:Fecha);

8/Mayo/2012

1. Introducción

30

Tipos abstractos de datos

type Fecha = record
dia, mes, año: integer;
end;

function DiferenciaFechas(f1, f2:Fecha):integer;
begin
...
end;

function Dia(f:Fecha):integer;
begin
return f.dia;
end;
function Mes(f:Fecha):integer;
begin
return f.mes;
end;

var actual, f: fecha;

write(Dia(f), '/', Mes(f), '/', Año(f)

if Año(f) < 1920 then
diff := DiferenciaFechas(actual, f);
end;

case Mes(f) of

end;

OK

tipo Fecha
Operaciones:
Dia(f:fecha);
Mes(f:fecha);
Año(f:fecha);
DiferenciaFechas(f1,f2:Fecha);

8/Mayo/2012

1. Introducción

31

Contenidos

● Acerca de la asignatura.
● Un poco de historia (I).
● Tipos abstractos de datos.
● Características de la programación orientada a

objetos.

● Un poco de historia (II).
● Primeros pasos en Java.

8/Mayo/2012

1. Introducción

32

Programación orientada a objetos

● Características de la POO:

● Encapsulación.
● Herencia.
● Polimorfismo.

8/Mayo/2012

1. Introducción

33

Encapsulación

● Ocultamiento del estado interno de un objeto,

de modo que sólo puede ser cambiado
mediante las operaciones definidas para ese
objeto.

type Fecha = record
// númer
  • Links de descarga
http://lwp-l.com/pdf811

Comentarios de: Java y Servicios Web I - Master en Ingeniería Matemática (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad