GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 1. IDENTIFICACIÓN DE LA GUÍA DE APRENDIZAJE Programa de Formación: Sistemas de Información Análisis y Desarrollo de Código: 228106 Versión: 101 Nombre del Proyecto: SISTEMA DE GESTIÓN ADMINISTRATIVA Y CONTEO Código: 315944 PARA EVENTOS DE TODO TIPO (SIGACETOTI) Fase del proyecto: EVALUACIÓN Actividad (es) del Proyecto: Diseño del Sistema de Información Resultados de Aprendizaje: Diseñar la arquitectura Competencia: DISEÑAR EL del software, mediante la interpretación de las clases, SISTEMA DE ACUERDO CON LOS objetos y mecanismos de colaboración, utilizando REQUERIMIENTOS DEL CLIENTE. herramientas tecnológicas de diseño, de acuerdo con las tendencias de las tecnologías de la información y la comunicación. Duración de la guía ( en horas): 66 En esta guía se relacionan cuatro actividades enfocadas a la compresión de los conceptos asociados a la programación orientada a objetos en java, que sería el punto de partida para interactuar posteriormente con el diseño de interfaces gráficas de usuario y conexiones a bases de datos, además de temas específicos como JSP, Servlets y servicios WEB. Cabe destacar que la programación orientada a objetos POO es importante porque : - Fomenta la reutilización y extensión del código. - Relaciona el sistema al mundo real, facilitando la creación de sistemas más complejos. - Facilita la creación de programas visuales. - Permite la construcción de prototipos. - Agiliza el desarrollo de software. - Facilita el trabajo en equipo. - Facilita2.elPRESENTACIÓN mantenimiento del software. Pag1 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 3. ESTRUCTURA DE LAS ACTIVIDADES DE APRENDIZAJE 3.1 Actividades de Reflexión inicial. Con base en el material de apoyo: “ Importancia de la Programación Orientada a Objetos (POO) en el Desarrollo de Software” disponible en la carpeta “Diego Vasco” de plataforma Blackboard, realice las siguientes actividades: a. Sopa de letras en la que se identifiquen los conceptos de POO b. Participación en foro en la BlackBoard sobre: Importancia sobre la POO en el desarrollo de software Con base en el ejercicio planteado en el documento de apoyo. Que concepto de la POO considera que es el más apropiado para implementar de forma eficiente dicho ejercicio? Justifique sus respuesta Evidencia de Aprendizaje Pag2 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 Para evaluar su proceso de aprendizaje, se requiere que usted reúna las siguientes evidencias de aprendizaje y las entregue de la siguiente manera. Sopa de letras: enviar pantallazo del crucigrama resuelto por la plataforma BB Participación en el foro dando respuesta a los interrogantes planteados. 3.2 Actividades de contextualización e identificación de conocimientos necesarios para el aprendizaje. La siguiente actividad tiene como objetivo conocer las herramientas para desarrollar software haciendo uso de la POO, además de identificar la estructura en código de temas como estructuras secuenciales, condicionales, repetitivas, objetos, clases, métodos, constructores, herencia y polimorfismo para posteriormente implementarlo en dichas herramientas. Se plantean las siguientes actividades: a. Realizar un cuadro comparativo sobre los principales entornos integrados de desarrollo (IDE) en java para desarrollar aplicaciones que tengan asociada la POO. Esta actividad debe realizarse en grupos y cada uno debe presentar una exposición sobre una herramienta de software. b. Instalar el IDE Netbeans 6.9 en su computador e interactuar con el entorno de desarrollo para implementar clases, métodos, constructores, herencia y polimorfismo, para ello debe leer el material “Instalación de Netbeans y JDK “ disponible en la plataforma. Pag3 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 c. Leer el material de apoyo “Estructuras algorítmicas en java ” y “Captura de Datos con JOptioPane y librería Math ” y realizar el taller “Estructuras de programación en java” d. Realizar una investigación en la que se describa e interprete los conceptos tales como clase, objetos, métodos, constructores, herencia y polimorfismo. Esta actividad debe realizarse en grupos y cada uno debe presentar una exposición explicando dicho procedimiento en alguna de los IDE para desarrollar aplicaciones en java. e. Leer el material de apoyo “Introducción a la POO “ y desarrollar el taller “Introducción a la programación orientada a objetos (POO)” disponible en la plataforma Blackboard, el cual tiene como objetivo identificar y conocer la estructura en código de los temas asociados a clase, objetos, métodos, constructores, herencia y polimorfismo Evidencia de Aprendizaje Para evaluar su proceso de aprendizaje, se requiere que usted reúna las siguientes evidencias de aprendizaje y las entregue de la siguiente manera. Cuadro comparativo: enviarlo por la plataforma BB Investigación conceptos POO: enviarlo por la plataforma BB Taller “Introducción a la programación orientada a objetos (POO)”: Enviarlo por la plataforma BB Taller “Estructuras de programación en Java “:Enviarlo por la plataforma BB Pag4 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 3.3Actividades de apropiación. Resuelva las siguientes actividades que tienen como objetivo apropiar y aplicar los conocimientos necesarios para el desarrollo de las actividades prácticas: a. Lea el documento sobre “Constructores y sobrecarga de Métodos” y resuelva el taller propuesto en el documento, en equipos de trabajo de tres aprendices. b. Cada equipo debe escoger 1 ejercicio del taller y socializar con el grupo. Debe argumentar las respuestas justificando la creación de los constructores, métodos y las instancias de las clases. c. Lea el documento “Herencia en Java” y resuelva el taller propuesto. d. Cada equipo de trabajo debe escoger 2 preguntas del taller y socializar con el grupo. Debe argumentar las respuestas con ejemplos en el tablero. e. Lea el documento sobre “Polimorfismo en Java” y resuelva el taller propuesto en el documento, en equipos de trabajo de tres aprendices. f. Cada equipo de trabajo debe escoger 2 preguntas del taller y socializar con el grupo. Debe argumentar las respuestas con ejemplos en el tablero. Evidencias de Aprendizaje Pag5 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 Para evaluar su proceso de aprendizaje, se requiere que usted reúna las siguientes evidencias de aprendizaje y las entregue de la siguiente manera. Taller “Sobrecarga de Métodos y Constructores”. Enviarlo por la plataforma BB Exposición del taller Sobrecarga de Métodos y Constructores Taller “Herencia en Java”. Enviarlo por la plataforma BB Exposición del taller Herencia en java Taller “Polimorfismo en Java”. Enviarlo por la plataforma BB Exposición del taller polimorfismo en java o Actividades de transferencia del conocimiento a.) Interfaces de usuario en Java Una interfaz gráfica de usuario GUI, se refiere a la abreviación para Graphical User Interface (Interfaz Gráfica de Usuario), lo que se traduce en ventanas, botones, campos de texto, etiquetas descriptivas, etc. La creación de GUI´s en Java, como en cualquier otro lenguaje de programación es algo fundamental en el diseño de cualquier aplicación, ya que es la parte con la que el usuario final interactúa, y por lógica, este tema ha evolucionado con el tiempo, porque hoy en dia las interfaces no se asocian a líneas de comando. Para la actividad de transferencia de conocimientos en lo que respecta a interfaces gráficas se propone lo siguiente: Leer el material de apoyo “Interfaces graficas de usuario GUI en java “y desarrollar las interfaces graficas del documento “Requerimientos Pag6 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 sistema bancario “usando Netbeans 6.9 o superior. Desarrollar las Interfaces gráficas del proyecto utilizando como referencia el documento de requerimientos del proyecto de formación, denominado: “Requerimientos Proyecto ADSI”. Evidencias de Aprendizaje Para evaluar su proceso de aprendizaje, se requiere que usted reúna las siguientes evidencias de aprendizaje y las entregue de la siguiente manera. a.) Taller desarrollo de Interfaces para el sistema bancario. Enviar por la plataforma BB. b.) Desarrollo de las Interfaces del proyecto de formación. Enviar por la plataforma BB. c.) Examen de conocimientos. b.) Eventos en Java La mayoría de programas actuales se relacionan con los usuarios a través de lo que se denomina como Interfaz Gráfica de Usuario (Graphical User Interface – GUI por su sigla en Inglés), la cual se puede componer de ventanas, botones, menús, barras de desplazamiento, áreas de texto, íconos e imágenes, y otros componentes gráficos visualizados en la pantalla, y que fundamentalmente Pag7 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 intermedian entre el ususario y el sistema (hardware y software), para llevar a cabo procesos de interacción de entrada y salida de información. Se entiende por componente gráfico un objeto que tiene una representación gráfica deplegable en la pantalla y que dentro de sus métodos se encuentra la posibilidad de interactuar con el usuario (que puede ser otro objeto). Es importante resaltara que los programas basados en la GUI de java, se basan en eventos, los cuales en su mayoría tienen que ver interacciones del usuario. Una interacción del usuario se pasa al applet y se trata de acuerdo al método encargado de manejar el tipo de evento determinado, generado por el usuario. Para la actividad de transferencia de conocimientos en lo que respecta a Eventos se propone lo siguiente: Implementar los eventos a las interfaces creadas para el sistema bancario Implementar los eventos de las interfaces creadas para el proyecto de formación. Evidencias de Aprendizaje Para evaluar su proceso de aprendizaje, se requiere que usted reúna las siguientes evidencias de aprendizaje y las entregue de la siguiente manera. a. Taller eventos del sistema bancario. Enviarlo por la plataforma BB. Pag8 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 b. Eventos del Proyecto Formativo. Enviarlo por la plataforma BB. c. Examen de conocimientos c.) Conexión a Bases de Datos (JDBC) La información contenida en un servidor de bases de datos es normalmente el bien más preciado dentro de una empresa. La API JDBC ofrece a los desarrolladores Java un modo de conectar con dichas bases de datos. Utilizando la API JDBC, los desarrolladores pueden crear un cliente que pueda conectar con una base de datos, ejecutar instrucciones SQL y procesar el resultado de esas instrucciones. La API proporciona conectividad y acceso a datos en toda la extensión de las bases de datos relacionales. JDBC generaliza las funciones de acceso a bases de datos más comunes abstrayendo los detalles específicos de una determinada base de datos. El resultado es un conjunto de clases e interfaces, localizadas en el paquete java.sql, que pueden ser utilizadas con cualquier base de datos que disponga del driver JDBC apropiado. La utilización de este driver significa que, siempre y cuando una aplicación utilice las características más comunes de acceso a bases de datos, dicha aplicación podrá utilizarse con una base de datos diferente cambiando simplemente a un driver JDBC diferente.Para la actividad de transferencia de conocimientos en lo que respecta a conexión a bases de datos se propone lo siguiente: Pag9 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 Leer el material de apoyo “Conexión a Bases de Datos en java - JDBC “, interactuar con los ejemplos planteados y desarrollar el ejercicio propuesto. Desarrollar la conexión a las bases de datos, con relación a las Interfaces gráficas del proyecto utilizando como referencia el documento de requerimientos del proyecto de formación, denominado: “Requerimientos Proyecto ADSI”. JAVA SWING El paquete javax.swing nos proporciona una serie de componentes "ligeros" (todo en lenguaje java) que, al máximo grado posible funcionan igual en todas las plataformas. swing nos permite dotar de una interfaz gráfica de usuario a nuestras aplicaciones, dotándolas de interactividad y riqueza visual. JLABEL Un Label o etiqueta puede mostrar texto plano, una imagen o una imagen con un texto. A continuación veremos cómo crear una etiqueta, sus metodos, y applet donde veremos toda la funcionalidad y utilidad del JLabel. Evidencias de Aprendizaje Para evaluar su proceso de aprendizaje, se requiere que usted reúna las siguientes evidencias de aprendizaje y las entregue de la siguiente manera. a-Explique que es un Jlabel b- cree un método Pag10 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 constructor, para crear una variable etiqueta que diga “programación Java”, definiendo las medidas del setBounds, y se agregue la etiqueta Package swing; Import java.swing.*; Public class Swing extends Jframe { Private JLabel etiqueta1; Public Swing () { setLayout (null); etiqueta1 = new JLabel (“Hola Swing”); etiqueta1.setBounds (10,20,200,30); add (etiqueta1); } Public static void main(String[] args) { Swing ventana1 = new Swing (); Ventana1.setBounds (10,10,400,300); Ventana1.setVisible(true); } d.) e.) Taller Bases de datos JDBC. Enviar por la plataforma BB Conexión de las bases de datos del proyecto. Enviar por la Pag11 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 f.) plataforma BB Evaluación de conocimientos 3.3 Actividades de evaluación. Las evidencias que serán sujetas de evaluación descritas en cada actividad, serán ponderadas de la siguiente manera: ACTIVIDAD Talleres-Exposiciones Evaluaciones Criterios Desempeño PUNTAJE 0-5 0-5 0-5 Totales PORCENTAJE TOTAL 30 % 50 % 20% 100% 4. RECURSOS PARA EL APRENDIZAJE Talento Humano: En el proceso de formación se cuenta con la orientación de instructores del área de Programación de Software, los cuales tienen competencias en lenguajes de programación orientado a eventos y manejadores de Bases de Datos combinados con herramientas Ofimática, manejo de herramientas tecnológicas de trabajo colaborativo y plataformas de Redes Sociales en la Web. Ayudas Metodológicas y Medios Didácticos: Para facilitar el desarrollo de las capacidades, los aprendices disponen de equipos de Pag12 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 cómputo con sistemas operativos, aplicaciones y software necesario para desarrollar las actividades además de textos, manuales, videos, tutoriales y páginas técnicas en la red. Escenarios, Equipos e Instrumentos: El ambiente de aprendizaje apropiado para el logro de las capacidades de los aprendices, es el taller de informática, el cual consta de 24 computadores dotados de todas las aplicaciones necesarias para desarrollar las actividades propuestas. 5. GLOSARIO DE TÉRMINOS Abstracción: Propiedad y/o técnica de software que oculta los detalles de la implementación. Java soporta abstracción de clases y abstracción de métodos. La abstracción de métodos se define separando el uso de un método sin conocer como está implementado ese método. Si decide combinar la implementación, el programa cliente será afectado. De modo similar la abstracción de clases oculta la implementación de la clase del cliente. Atributo: Los atributos de una clase sirven, en principio, para almacenar datos de los objetos que se instancian a partir de esa clase Clase: Colección encapsulada de datos y operaciones que actúan sobre los datos. El concepto de clase es fundamental en programación orientada a objetos. Una clase consta de métodos y datos. Los métodos de una clase definen el conjunto de operaciones permitidas sobre los datos de una clase (sus atributos). Una clase puede tener muchas instancia de la clase u objetos. Constructor: Método especial utilizado para inicializar el estado de un nuevo objeto. El constructor permite crear objetos utilizando el operador new. El constructor tiene exactamente el mismo nombre que la clase que lo contiene. Los constructores se pueden sobrecargar con el objetivo de facilitar la construcción de objetos con diferentes tipos de valores iniciales. Herencia: Una relación entre clases en que una subclase se extiende desde una superclase. IDE: Un entorno de desarrollo integrado, llamado también IDE (sigla en inglés Pag13 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios. Método de la clase: Sinónimo de método estático. Un método que se puede invocar sin crear una instancia de la clase. Para definir métodos de clases, se ha de poner un modificador static en la declaración del método. Netbeans: Es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Objeto: Un objeto es una representación de un valor del tipo implementado por su clase. La clase declara un objeto de variables, instancia que forman la estructura de un objeto y un conjunto de métodos que se pueden llamar en un objeto. Polimorfismo: el polimorfismo se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterogénea. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. 6. BIBLIOGRAFÍA / WEBGRAFÍA B. Selic, G. Gullekson, J. McGee, and I. Engelberg. "ROOM: An ObjectOrientedMethodology for Developing Real-Time Systems". In Fifth International Workshop on Computer-Aided Software Engineering (CASE'92), Montreal,Canada. July 2006. Thomas C. Wu. "Introducción a la programación orientada a objetos". McGraw-Hill. 2006. Herbert Schilt"Java 2.Manual de referencia”. McGraw-Hill 2011. Pag14 de14 GUÍA DE APRENDIZAJE N° F1Ap2Ga1 SERVICIO NACIONAL DE APRENDIZAJE DIRECCIÓN GENERAL DIRECCIÓN DE FORMACIÓN PROFESIONAL Sistema Integrado de Mejora Continua FORMATO PE04 7. CONTROL DEL DOCUMENTO Elaborada por: Diego Fernando Vasco Fecha: Junio 2013 Revisada por: Fecha: Ajustada por: (solo en contenido) Fecha: Revisada por: Fecha: Pag15 de14