Download Actividades

Document related concepts
no text concepts found
Transcript
11.1.1. Cuadro sinóptico de objetivos e indicadores del módulo
Indicadores de
evaluación
Se espera que los
estudiantes sean capaces
de:
Se espera que los
estudiantes sean capaces
de:
Los estudiantes que han alcanzado este aprendizaje:
Construir aplicaciones
computacionales
basadas en
programación orientada
a objetos, de manera de
cumplir con las
exigencias técnicas y de
los usuarios
Construye las unidades de
prueba en JAVA para
verificar el correcto
funcionamiento de la
codificación realizada
Analiza el código de
programación JAVA para
verificar su correcto
comportamiento y detectar
errores.
Reconoce
las
clases
predefinidas en el lenguaje
JAVA para resolver un
problema dado
Utiliza
las
clases
predefinidas en el lenguaje
JAVA para resolver un
problema dado
Diseña
componentes
reutilizables en el lenguaje
JAVA de manera de dar
solución
a
problemas
frecuentes
Utiliza el framework JUnit para construir casos de prueba.
Revisa la codificación de clases programadas en Java utilizando
la herramienta de debugging del entorno de desarrollo
Identifica clases asociadas al framework asociado a la capa de
acceso a datos
Identifica clases asociadas a Hibernate para implementar la
capa de acceso a datos
Identifica clases asociadas a la presentación y a la lógica de la
aplicación
11.2.1. Actividades de Aprendizajes
APRENDIZAJE ESPERADO:
Construye las unidades de prueba en JAVA para verificar el correcto funcionamiento de la codificación realizada
Analiza el código de programación JAVA para verificar su correcto comportamiento y detectar errores.
Reconoce las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Utiliza las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Diseña componentes reutilizables en el lenguaje JAVA de manera de dar solución a problemas frecuentes
APRENDIZAJE ESPERADO:
Construye las unidades de prueba en JAVA para verificar el correcto funcionamiento de la codificación realizada
Actividad 1: JUnit
El docente hace una presentación que expone la importancia de las pruebas de caja negra sobre una aplicación o
los componentes de la aplicación ya sea de escritorio o web, mostrando los criterios para crear un plan de
pruebas, entendiendo la importancia que se desprende en la planificación del proyecto sobre los requisitos
funcionales y no funcionales, como también la calidad esperada de la solución.
El docente propone un ejercicio para realizar pruebas con JUnit a partir de un plan de pruebas, en donde se
ilustra cada una de las alternativas y casos en donde una aplicación puede generar errores, excepciones o
situaciones de borde, aplicando la orientación objeto obtenidas por el estándar O.R.M. (Mapeo Objeto-Relacional)
Caso: Prueba Unitaria
Ref#
R.1.1
Función
Informac
ión del
Cliente
Cat.
evidente
R.1.2
Promedi
o de
Ventas
evidente
Entrada
rut=1
nombre=”Pedro”
apPaterno=”Astorga”
apMaterno=”Berrios”
Cliente
rut=1
nombre=”Pedro”
apPaterno=”Astorga”
apMaterno=”Berrios”
Venta
id=1 fecha=”21/02/2013”
Productos
Producto1
Codigo=1
Nombre=”Tuerca”
Valor=50
Cantidad=20
Producto2
Codigo=2
Nombre=”Clavo”
Valor=10
Cantidad=100
Venta
id=2
fecha=”23/02/2013”
Productos
Producto1
Codigo=1
Nombre=”Tuerca”
Valor=50
Cantidad=40
Producto2
Proceso
Muestra los atributos de la clase de
la forma
Cliente{rut,nombre,apPaterno,
apMaterno}
Calcula el promedio de ventas de
un cliente.
Resultado
Cliente{rut=1,
nombre=Pedro,
apPaterno=Astorga,
apMaterno=Berrios}
1500
Codigo=2
Nombre=”Clavo”
Valor=10
Cantidad=200
R.1.3
Calcula
total de
la venta
evidente
Venta
id=1 fecha=”21/02/2013”
Productos
Calcula el total de la venta a partir
de los productos que contiene
sumando el subtotal de cada
producto valor*cantidad
2000
Calcula la cantidad de los
productos que tienen en la venta
sumando la cantidad de cada
producto
120
Calcula el subtotal a partir de
multiplicar el valor por la cantidad
1000
Producto1
Codigo=1
Nombre=”Tuerca”
Valor=50
Cantidad=20
Producto2
Codigo=2
Nombre=”Clavo”
Valor=10
Cantidad=100
R.1.4
Calcula
Cantidad
de
producto
s de la
Venta
evidente
Venta
id=1 fecha=”21/02/2013”
Productos
Producto1
Codigo=1
Nombre=”Tuerca”
Valor=50
Cantidad=20
Producto2
Codigo=2
Nombre=”Clavo”
Valor=10
Cantidad=100
R.1.5
Calcula
el
subtotal
del
producto
Solución R.1.1
evidente
Producto1
Codigo=1
Nombre=”Tuerca”
Valor=50
Cantidad=20
Solución R.1.2
Solución R.1.3.
Solución R.1.4.
Solución R.1.5.
Observaciones para el docente
El docente aclara el funcionamiento de los assert y los fail que ocurren dentro de una prueba unitaria, teniendo en
cuenta como se compara la orientación a objetos con un resultado esperado.
APRENDIZAJE ESPERADO
Analiza el código de programación JAVA para verificar su correcto comportamiento y detectar errores.
Actividad 2: Debug
El docente hace una presentación para profundizar las pruebas de caja blanca, explicando como ocupar y conocer
los diferentes comportamientos del código, analizando variables, instrucciones paso a paso y saltos de
instrucciones.
El docente propone un ejercicio práctico en donde se analiza un método de una clase en un debug, creando un
plan de resultados parciales para la prueba de caja blanca.
Caso: Prueba Caja Blanca Cantidad Total
A partir de la actividad anterior se requiere analizar desde la instrucción
int result = v1.cantidadTotal();
los resultados parciales del método cantidadTotal()
Solución
Detener con un breakpoint en la instrucción señalada y seleccionar paso a paso en el método cantidadTotal()
Al ingresar al método se posiciona en la clase Venta y en el método cantidadTotal()
Notar que por cada iteración cada objeto producto es extraído de la lista productos, en la primera iteración debe
obtener del método getCantidad() el valor 20, la última o segunda iteración debe obtener del método
getCantidad() el valor 100.
Obteniendo finalmente la suma de ambos que es 120
Notar que vuelve de la clase Venta a su unidad de Test de JUnit con el resultado esperado.
Observaciones para el docente
El docente aclara el funcionamiento de la prueba de caja blanca y la importancia de probar cada uno de los
métodos desarrollados, incentivando al alumno que justifique el desarrollo de su código con ejemplos
descriptivos.
APRENDIZAJE ESPERADO
Reconoce las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Actividad 3: ORM
El docente hace una presentación para describir la transformación desde un modelo de base de datos a un
diagrama de clases, detallando los estándares de nombres de tablas respecto a clases de acuerdo a la certificación
SCJP, adicionalmente se explica la relación entre los campos y atributos, por último se traduce la relación de
foreign keys con las colecciones de objetos.
El docente propone un ejercicio práctico de mapeo a partir de un modelo de base de datos a orientación a objetos
Caso: Base de datos de Seguro
CREATE DATABASE BDSEGURO;
USE BDSEGURO;
CREATE TABLE POLIZA
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50),
DESCRIPCION VARCHAR(250)
);
CREATE TABLE CLIENTE
(
RUT INT NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(30),
);
AP_PATERNO VARCHAR(30),
AP_MATERNO VARCHAR(30)
CREATE TABLE SEGURO
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FECHA_INICIO DATE,
FECHA_FIN DATE,
CLIENTE_RUT INT NOT NULL,
POLIZA_ID INT NOT NULL,
CONSTRAINT CLIENTE_FK FOREIGN KEY (CLIENTE_RUT) REFERENCES CLIENTE(RUT),
CONSTRAINT POLIZA_FK FOREIGN KEY (POLIZA_ID) REFERENCES POLIZA(ID)
);
Convertir el modelo de datos a orientación a objetos bajo el estándar O.R.M. Manualmente.
Solución
package entidad;
import java.util.HashSet;
import java.util.Set;
public class Cliente implements java.io.Serializable {
private int rut;
private String nombre;
private String apPaterno;
private String apMaterno;
private Set seguros = new HashSet(0);
public Cliente() {
}
public Cliente(int rut) {
this.rut = rut;
}
public Cliente(int rut, String nombre, String apPaterno, String apMaterno, Set seguros) {
this.rut = rut;
this.nombre = nombre;
this.apPaterno = apPaterno;
this.apMaterno = apMaterno;
this.seguros = seguros;
}
public int getRut() {
return this.rut;
}
public void setRut(int rut) {
this.rut = rut;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApPaterno() {
return this.apPaterno;
}
}
public void setApPaterno(String apPaterno) {
this.apPaterno = apPaterno;
}
public String getApMaterno() {
return this.apMaterno;
}
public void setApMaterno(String apMaterno) {
this.apMaterno = apMaterno;
}
public Set getSeguros() {
return this.seguros;
}
public void setSeguros(Set seguros) {
this.seguros = seguros;
}
package entidad;
import java.util.HashSet;
import java.util.Set;
public class Poliza implements java.io.Serializable {
private Integer id;
private String nombre;
private String descripcion;
private Set seguros = new HashSet(0);
public Poliza() {
}
public Poliza(String nombre, String descripcion, Set seguros) {
this.nombre = nombre;
this.descripcion = descripcion;
this.seguros = seguros;
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDescripcion() {
return this.descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public Set getSeguros() {
return this.seguros;
}
public void setSeguros(Set seguros) {
this.seguros = seguros;
}
}
package entidad;
import java.util.Date;
public class Seguro implements java.io.Serializable {
private Integer id;
private Poliza poliza;
private Cliente cliente;
private Date fechaInicio;
private Date fechaFin;
public Seguro() {
}
public Seguro(Poliza poliza, Cliente cliente) {
this.poliza = poliza;
this.cliente = cliente;
}
public Seguro(Poliza poliza, Cliente cliente, Date fechaInicio, Date fechaFin) {
this.poliza = poliza;
this.cliente = cliente;
this.fechaInicio = fechaInicio;
this.fechaFin = fechaFin;
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public Poliza getPoliza() {
return this.poliza;
}
public void setPoliza(Poliza poliza) {
this.poliza = poliza;
}
public Cliente getCliente() {
return this.cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Date getFechaInicio() {
return this.fechaInicio;
}
public void setFechaInicio(Date fechaInicio) {
this.fechaInicio = fechaInicio;
}
public Date getFechaFin() {
return this.fechaFin;
}
public void setFechaFin(Date fechaFin) {
this.fechaFin = fechaFin;
}
}
Observaciones para el docente
El docente aclara el proceso de crear objetos de acuerdo a sus relaciones de atributos y cardinalidad convertida
en Colecciones de objetos.
APRENDIZAJES ESPERADOS:
Reconoce las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Actividad 4: Persistencia
El docente hace una presentación para describir las diferentes clases de datos presentes en JAVA, desde sus
comienzos con el JDBC pasando por iBATIS, EJB, Hibernate, JPA en donde se detalla las conexiones y
transacciones que ocurren con el lenguaje SQL, HQL, JPQL.
El docente propone un ejercicio práctico en donde se detalla la persistencia con las transacciones clásicas con
statement, resultset y Connection de la librería java.sql.
Caso: Métodos de datos
SCRIPT MYSQL
CREATE DATABASE BDSEGURO;
USE BDSEGURO;
CREATE TABLE POLIZA
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50),
DESCRIPCION VARCHAR(250)
);
CREATE TABLE CLIENTE
(
RUT INT NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(30),
AP_PATERNO VARCHAR(30),
AP_MATERNO VARCHAR(30)
);
CREATE TABLE SEGURO
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FECHA_INICIO DATE,
FECHA_FIN DATE,
CLIENTE_RUT INT NOT NULL,
POLIZA_ID INT NOT NULL,
CONSTRAINT CLIENTE_FK FOREIGN KEY (CLIENTE_RUT) REFERENCES
CLIENTE(RUT),
CONSTRAINT POLIZA_FK FOREIGN KEY (POLIZA_ID) REFERENCES POLIZA(ID)
);




Crear método de dato para agregar un cliente
Crear método de dato para agregar una poliza
Crear método de dato para agregar un seguro
Crear método para obtener todos los seguros asociados a una poliza
Solución
Agregar cliente modalidad String
public void agregarCliente(Cliente p) throws Exception {
Connection con;
Statement st;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/BDSEGURO");
st = con.createStatement();
String sql = "INSERT INTO CLIENTE(RUT,NOMBRE,AP_PATERNO,AP_MATERNO) VALUES
(%s,’%s’,’%s’,’%s’);";
sql = String.format(sql,p.getRut(),p.getNombre(),p.getApPaterno(),p.getApMaterno());
st.executeUpdate(sql);
}
Agregar poliza modalidad PreparedStatement
public void agregarPoliza(Poliza p) throws Exception {
Connection con;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/BDSEGURO");
PreparedStatement pSt = con.prepareStatement(‘INSERT INTO
POLIZA(NOMBRE,DESCRIPCION) VALUES (?,?)”);
pSt.setString(1,p.getNombre());
pSt.setString(2,p.getDescripcion());
pSt.execute();
}
Agregar un seguro modalidad PreparedStatement en adelante
public void agregarSeguro(Seguro s) throws Exception {
Connection con;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/BDSEGURO");
PreparedStatement pSt = con.prepareStatement(‘INSERT INTO
SEGURO(FECHA_INICIO,FECHA_FIN,CLIENTE_RUT, POLIZA_ID) VALUES (?,?,?,?)”);
pSt.setDate(1,s.getFechaInicio());
pSt.setDate(2,s.getFechaFin());
pSt.setInt(3,s.getCliente().getRut());
pSt.setInt(4,s.getPoliza().getId());
pSt.execute();
}
Obtener todos los seguros asociados a una poliza
public List<Perro> obtenerSeguroPorPoliza(int poliza) throws Exception {
Connection con;
Statement st;
ResultSet rs;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/BDSEGURO");
st = con.createStatement();
String sql = "SELECT ID,FECHA_INICIO, FECHA_FIN, CLIENTE_RUT,POLIZA_ID FROM
SEGURO INNER JOIN POLIZA ON SEGURO.POLIZA_ID = POLIZA.ID WHERE POLIZA.ID = " +
poliza + “;”;
rs = st.executeQuery(sql);
List<Seguro> seguros = new ArrayList();
while(rs.next()) {
Seguro s = new Seguro();
s.setId(rs.getInt("ID"));
s.setFechaInicio(rs.getDate("FECHA_INICIO"));
s.setFechaFin(rs.getDate("FECHA_FIN"));
s.setCliente(obtenerClientePorRut(rs.getInt("CLIENTE_RUT")));
s.setPoliza(obtenerPolizaPorId(rs.getInt(“POLIZA_ID”)));
seguros.add(s);
}
return seguros;
}
Observaciones para el docente
El docente aclara las ventajas de la utilización nativa con Connection, Statement, PreparedStatement, ResultSet,
en donde se detalla el uso y omisión de ciertas funcionalidades para obtener mejor rendimiento en las
aplicaciones que usen métodos de datos.
APRENDIZAJES ESPERADOS:
Utiliza las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Actividad 5: Hibernate
El docente hace una presentación que ilustra las diferentes funcionalidades de hibernate para la creación de
conexiones a través del XML (hibernate.cfg), y extraer la definición de las tablas a través de la Ingenieria Inversa
(hibernate.reveng), además de crear la orientación a objetos con la norma O.R.M. con los POJOS (Plain ordinary
Object) que provee hibernate.
El docente propone una experiencia para la creación del hibernate.cfg, hibernate.reveng y posteriormente la
creación de la orientación a objetos.
Experiencia configuración de hibernate
En esta experiencia se detalla de manera simple la configuración de hibernate con los pasos
- Hibernate Configuration Wizard
- Hibernate Reverse Engineering Wizard
- Hibernate Mapping Files and POJOs from Database
Observaciones para el docente
El docente aclara los diferentes producto resultado obtenidos de cada uno de los pasos, entendiendo que el
hibernate configuration wizard y su establecimiento de una conexión con la base datos, Hibernate reverse
engineering wizard para la producción de las tablas candidatas a conversión bajo O.R.M., hibernate mapping files
and POJOs from Database como se mescla la conexión con las tablas candidatas para crear las clases java y el
mapeo relacional con la base de datos.
APRENDIZAJES ESPERADOS:
Utiliza las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Actividad 6: Hibernate business
El docente hace una presentación del uso de la librería org.hibernate destacando el uso de las clases Transaction
con los diferentes usos bajo D.M.L. insert, update, delete y la diferenciación que tiene el insert cuando la base de
datos en su clave primaria posee un identity.
El docente propone un ejercicio práctico para la creación de métodos de negocio utilizando HibernateUtil
Caso: Mantenedor de clientes en hibernate
SCRIPT MYSQL
CREATE DATABASE BDCLIENTE;
USE BDCLIENTE;
CREATE TABLE CLIENTE(
RUT INT NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(30),
AP_PATERNO VARCHAR(30),
AP_MATERNO VARCHAR(30)
);
CREATE TABLE PRODUCTO(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50),
VALOR INT
);
A partir de la base de datos cliente crear los métodos de negocio para agregar, modificar y eliminar un cliente y
producto.
Solución
Crear el HibernateUtil en la capa de negocio
Crear la clase de negocio Cliente
Crear la clase de negocio Producto que tiene la diferencia que el primary key id de la tabla producto es un campo
auto-incremental, por lo tanto la base de datos asigna un número correlativo cuando es ingresado.
Observaciones para el docente
El docente aclara el uso de la clase Transaction y como interviene el compromiso de datos con commit,
adicionalmente aclara la diferencia del ingreso de objetos a la base de datos dependiendo de su primary key,
destacando si es auto-incremental o no.
APRENDIZAJES ESPERADOS:
Utiliza las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Actividad 7: Hibernate Query
El docente hace una presentación que ilustra el funcionamiento de las consultas a la base de datos a través del
HQL, destacando el uso de la orientación a objetos como guía para crear consultas más robustas.
El docente propone un ejercicio práctico para la creación de filtros de búsqueda sobre una tabla en particular.
Caso: Filtro de Productos
Script MYSQL
CREATE DATABASE BDPRODUCTO;
USE BDPRODUCTO;
CREATE TABLE PRODUCTO(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50),
VALOR INT
);
Crear filtros de búsqueda para producto por Id, Nombre, Valor, Nombre-Valor
Solución
Observaciones para el docente
El docente aclara la relación que existe entre las clases creadas en la creación de orientación a objetos por POJO, y
como se filtran a través de la cláusula “where”
APRENDIZAJES ESPERADOS:
Utiliza las clases predefinidas en el lenguaje JAVA para resolver un problema dado
Actividad 8: HQL Inner Join
El docente hace una presentación que ilustra la importancia de las consultas que involucran tablas que poseen
relaciones de cardinalidad por llaves foráneas, proponiendo consultas más avanzadas entre 2 o más entidades.
El docente propone un ejercicio práctico para el uso de inner join explicando el uso de los alias para cumplir la
relación entre varias entidades.
Caso: Filtro de búsqueda geográfica.
CREATE DATABASE BDGEOGRAFICA;
USE BDGEOGRAFICA;
CREATE TABLE REGION(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50)
);
CREATE TABLE CIUDAD(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50),
REGION_ID INT NOT NULL,
CONSTRAINT REGION_FK FOREIGN KEY (REGION_ID) REFERENCES REGION(ID)
);
CREATE TABLE COMUNA(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50),
CIUDAD_ID INT NOT NULL,
CONSTRAINT CIUDAD_FK FOREIGN KEY (CIUDAD_ID) REFERENCES CIUDAD(ID)
);
Crear un buscador de:
- Ciudades por id Region
- Ciudades por nombre Region
- Comunas por id Ciudad
- Comunas por nombre Ciudad
- Comunas por id Region
- Comunas por nombre Region
Solución
Observaciones para el docente
El docente aclara el uso inner join con hql teniendo en cuenta la colección dentro de cada clase, entendiendo
como se unen cada entidad con los alias declarados.
APRENDIZAJES ESPERADOS:
Diseña componentes reutilizables en el lenguaje JAVA de manera de dar solución a problemas frecuentes
Actividad 9: JSP + Servlets
En docente hacer una presentación que ilustra los elementos básicos para la creación de páginas web,
adicionalmente se hace mención a los componentes web, identificando como se unen los formularios web con la
capa de negocio.
El docente propone un ejercicio práctico en donde se crea una página web de ingreso de clientes.
Caso: Ingreso de Cliente
Prototipo
Código HTML
A partir de la página web del prototipo relacionar el servlet AddCliente, la finalidad es ocupar a una entidad de
negocio NegCliente para lograr ingresar el cliente a la base de datos.
Solución
Observaciones para el docente
El docente aclara el uso de la capa de presentación de interfaz web, en donde se relaciona un servlet para el
ingreso de un objeto cliente a la base de datos.
APRENDIZAJES ESPERADOS:
Diseña componentes reutilizables en el lenguaje JAVA de manera de dar solución a problemas frecuentes
Actividad 10: JSP + Servlets + Session
El docente hace una presentación que ilustra el uso de sesiones como transporte de datos entre componentes
web para la creación de páginas dinámicas.
El docente propone un ejercicio práctico para creación de un informe de todos los clientes de una base de datos.
Caso: Informe de Clientes
Primero se crea el servlet para ocupar una variable de sesión.
Pagina web
Observaciones para el docente
El docente aclara el uso iteraciones de colecciones de objetos que provienen de una sesión para convertirlos en
html.
11.2.2. Sugerencias evaluación
APRENDIZAJES ESPERADOS
Identifica las principales entidades, procesos y sus interrelaciones para poder diseñar un modelo que permita la
interacción de los elementos
Construye el modelo de datos que responda a las necesidades de información transaccional del negocio
Implementa el modelo en la BBDD que da solución a la problemática expuesta
Actividad de evaluación
Criterios de evaluación
Como actividades de evaluación en lo que
respecta al aprendizaje se sugiere:
Construye las unidades de prueba en JAVA para verificar el
correcto funcionamiento de la codificación realizada
El docente entrega a los estudiantes un
problema sobre la plataforma web, en Analiza el código de programación JAVA para verificar su
donde realizará la capa de negocios, correcto comportamiento y detectar errores.
presentación y servlets.
Reconoce las clases predefinidas en el lenguaje JAVA para
resolver un problema dado
Utiliza las clases predefinidas en el lenguaje JAVA para resolver
un problema dado
Diseña componentes reutilizables en el lenguaje JAVA de manera
de dar solución a problemas frecuentes
11.2.3. Recursos : Materiales y equipamiento
Laboratorio apropiado: Amplia y con buena visibilidad de la pizarra,
Computadores con los programas de entorno de desarrollo para cada alumno (Mysql, NetBeans).
Una red en buenas condiciones para el traspaso de archivos,
Guía para los ejercicios y evaluaciones teórico-prácticas.
11.2.4. Perfil Docente
Técnico de Nivel Superior en programación con formación pedagógica.
El docente debe tener conocimientos y habilidades manejo de soluciones informáticas: J2SE, J2EE, Modelos de
datos, Programación SQL. Además de conocer distintos modelos de negocio de diferentes empresas y/o rubros.
11.2.5. Bibliografía y Sitios recomendados
Bibliografía para el docente
Luque Ruiz, Irene; Bases de datos : desde Chen hasta Codd con Oracle; México, D. F. : Alfaomega, 2002 -- 422p
Programacion Java
Autor: Herbert Schilt
Título: La Biblia de java 2 v5.0
N ° Edición: 1°
Lugar de Publicación: España
Editorial: Anaya Multimedia
Año de Publicación: 2005
Código Biblioteca Duoc: 005.133LJ S334b
Java Servlets (Tata McGraw-Hill Second Edition) w/CD-Rom [Paperback]
Karl Moss (Author)
Paperback: 514 pages
Publisher: McGraw-Hill (1999)
Language: English
ISBN-10: 0074637398
ISBN-13: 978-0074637395
Deitel, Harvey M., 1945-. Cómo programar en Java. México, D. F.:
Pearson Educación, 1998, 2004, 2008. 1325 p.
http://books.google.cl/books?id=is2J44U4DpsC&printsec=frontcover&hl=es#v=onepage&q&f=false
Eckel, Bruce. Piensa en Java. Madrid : Pearson, 2002, 2006. viii-xiix, 906 p.
Froufe Quintas, Agustín. Java 2 : manual de usuario y tutorial.
México, D. F. : Alfaomega, 2000, 2003, 2006, 2008, 2009. 832 p.
Gamma, Erich. Patrones de diseño. Madrid: Addison-Wesley, 2003. 364 p.
Houlette, Forrest. Fundamentos de SQL. México, D. F. : McGraw-Hill, 2003. 422 p.
Bibliografía para el estudiante
Programacion Java
Autor: Herbert Schilt
Título: La Biblia de java 2 v5.0
N ° Edición: 1°
Lugar de Publicación: España
Editorial: Anaya Multimedia
Año de Publicación: 2005
Código Biblioteca Duoc: 005.133LJ S334b
Sitios web recomendados
Mysql
http://dev.mysql.com/doc/
Java
http://www,java.com/es/download