www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar Contacto: Dr. Alejandro Fernández Transferencia de Tecnología alejandro.fernandez@lifia.info.unlp.edu.ar Tel/fax: +54 221 422-8252 int. 218 Servicios de capacitación y entrenamiento en Orientación a Objetos y tecnologías asociadas v.1.18 Página 1 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar Tabla de contenidos 1. PROPÓSITO DEL DOCUMENTO...................................................................................................... 3 2. PRESENTACIÓN DEL LIFIA ............................................................................................................. 3 3. ORGANIZACIÓN DEL SERVICIO .................................................................................................... 3 4. OFERTA DE CAPACITACIÓN POR ÁREAS ................................................................................... 4 4.1. ÁREA PROGRAMACIÓN ORIENTADA A OBJETOS ................................................................... 4 INTRODUCCIÓN A OBJETOS (LIO16) ................................................................................................................. 4 JAVA BÁSICO (LJB20) ..................................................................................................................................... 4 TALLER DE DESARROLLO DE APLICACIONES CON ECLIPSE , SVN Y JAVA (LTJE16) ........................................ 4 UML BÁSICO (LUMLB16) .............................................................................................................................. 4 DISEÑO ORIENTADO A OBJETOS (LDOO16) ...................................................................................................... 5 TALLER DE DISEÑO OO (LTDOO12) ............................................................................................................... 5 4.2. ÁREA ANÁLISIS Y DISEÑO ............................................................................................................... 5 DISEÑO ORIENTADO A OBJETOS CON PATRONES (LDOOP16) ........................................................................... 5 INGENIERÍA DE REQUERIMIENTOS (LIR16) ....................................................................................................... 5 ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS APLICANDO RUP (LRUP20) ......................................................... 6 DISEÑO CENTRADO EN EL USUARIO (LDCU12) ............................................................................................... 6 TALLER DE DISEÑO, CONSTRUCCIÓN Y EVALUACIÓN DE PROTOTIPOS DE IU (LTDCU12) ............................... 6 MÉTODOS Y TÉCNICAS DE USABILIDAD PARA INGENIERÍA DE SOFTWARE (LDCUIS16) ................................... 6 USABILIDAD ORIENTADA A UN ESTILO DE INTERACCIÓN (LDCUOI12) ........................................................... 7 4.3. ÁREA BASES DE DATOS .................................................................................................................... 7 PROGRAMACIÓN CON PL SQL (LPPS16) ......................................................................................................... 7 DISEÑO Y OPTIMIZACIÓN DE BBDD RELACIONALES –ORIENTACIÓN ORACLE-(LDOBDRO16) ....................... 7 4.4. ÁREA DESARROLLO ENTERPRISE JAVA .................................................................................... 7 DESARROLLO DE APLICACIONES WEB CON JSP, SERVLETS YSTRUTS 2.0 (LWJSS16) ...................................... 7 TALLER DE DESARROLLO WEB CON JSP, SERVLETS Y STRUTS 2.0 (LTJSS12) ................................................. 8 PERSISTENCIA CON HIBERNATE (LPH16) ......................................................................................................... 8 TALLER DE PERSISTENCIA CON HIBERNATE (LTPH12) .................................................................................... 8 INTRODUCCIÓN A WEB SERVICES (LIWS16)..................................................................................................... 8 TECNOLOGÍAS DE INTEGRACIÓN DE APLICACIONES – WEB SERVICES Y REST (LTIAWS24).......................... 8 5. CHARLAS DE EXPERTO .................................................................................................................... 9 ARQUITECTURAS WEB ...................................................................................................................................... 9 RICH INTERNET APPLICATIONS (AJAX, ECHO2, DOJO, DWR) ........................................................................... 9 ECLIPSE RICH CLIENT PLATFORM ..................................................................................................................... 9 ALTERNATIVAS DE PERSISTENCIA ..................................................................................................................... 9 DESARROLLO DE APLICACIONES EMPRESARIALES CON SPRING......................................................................... 9 USABILIDAD Y ARQUITECTURA DE SOFTWARE ................................................................................................. 9 USABILIDAD, PATTERNS Y GUÍAS ..................................................................................................................... 9 METODOLOGÍAS ÁGILES ................................................................................................................................... 9 SERVICE ORIENTED ARCHITECTURES ............................................................................................................... 9 SCRUM ........................................................................................................................................................... 9 REDES DE TELECOMUNICACIONES.................................................................................................................... 9 Página 2 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar 1. PROPÓSITO DEL DOCUMENTO El presente documento incluye la oferta de formación y entrenamiento en orientación a objetos y tecnologías asociadas del Laboratorio de Investigación y Formación en Informática Avanzada (LIFIA), de la Facultad de Informática de la Universidad Nacional de La Plata (UNLP), Argentina. Se listan cursos y talleres detallando contenidos, duración y requisitos. 2. PRESENTACIÓN DEL LIFIA El Laboratorio de Investigación y Formación en Informática Avanzada (LIFIA), además de su actividad principal de formación y de investigación de alto nivel, tiene una larga historia de casos exitosos de Transferencia de Tecnología de vanguardia para entidades bancarias, financieras, industria de las telecomunicaciones, así como entidades públicas y privadas. Durante los últimos 15 años LIFIA ha desarrollado proyectos de tecnología con empresas nacionales e internacionales como Siemens, Telefónica de Argentina, IBM, JP Morgan, Banco Galicia, Cablevisión, Fraunhofer (Alemania) y con instituciones públicas como el Ministerio de Cultura y Educación, Ministerio de Defensa, Dirección General de Escuelas de la Pcia. de Buenos Aires, Corte Suprema de la Pcia. de Buenos Aires, Secretaría de Hacienda del Ministerio de Economía y Producción de la Nación, la Administración Federal de Ingresos Públicos (AFIP), la Administración Nacional de la Seguridad Social (ANSES) y el Banco Central de la República Argentina (BCRA) entre otros. A través de varios casos exitosos de capacitación, de mentoring y/o de desarrollo de software, el LIFIA ha sumado experiencia en manejo de proyectos con clientes importantes en diferentes dominios. De esta forma el LIFIA combina la experiencia sumada de dichos proyectos con su expertise técnico para proponer servicios adaptados a las exigencias actuales del mercado de software. 3. ORGANIZACIÓN DEL SERVICIO El servicio de capacitación de LIFIA propone tres tipos de capacitaciones/ formas de capacitación orientados a necesidades diferentes: cursos, talleres y charlas de experto. Los cursos, comúnmente de 16 horas de duración, tienen como objetivo instruir a los asistentes en teorías y tecnologías. Son ricos en ejemplos y motivan la participación por medio de ejercicios que son resueltos en grupos y discutidos con el instructor. Los talleres tienen como objetivo generar experiencia concreta de trabajo. El instructor define las tareas y proyectos que son resueltos por los participantes (en forma individual o grupal dependiendo del caso). El instructor, en conjunto con un grupo de colaboradores acorde al tamaño del curso, guían y asisten a los participantes. Los talleres requieren una disponibilidad de estaciones de trabajo que permita a los asistentes trabajar individualmente o en pares. Las charlas de experto tienen como objetivo comunicar en corto tiempo (normalmente una sesión de 4 horas) los aspectos claves de nuevas tecnologías o casos de éxito en la aplicación de las mismas y proveer información valiosa para la toma de decisiones, por Página 3 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar ejemplo para la gestión de cambio tecnológico o planificación de la formación de recursos humanos. 4. OFERTA DE CAPACITACIÓN POR ÁREAS 4.1. ÁREA PROGRAMACIÓN ORIENTADA A OBJETOS INTRODUCCIÓN A OBJETOS (LIO16) Duración: 16 horas Código: LIO16 Prerrequisitos: conocimientos básicos de programación. Contenidos: Introducción al paradigma orientado a objetos, elementos básicos del modelo de desarrollo orientado a objetos: objeto, mensaje, clase, método, variable instancia, encapsulamiento; ciclo de vida de los objetos: creación e inicialización, destrucción y finalización; herencia, polimorfismo y subclasificación; introducción a lenguajes de desarrollo. JAVA BÁSICO (LJB20) Duración: 20 horas Código: LJB20 Prerrequisitos: LIO16 (requerido), LUMLB16 (idealmente), LDOO16 (idealmente) Contenidos: Introducción al lenguaje Java, elementos básicos del lenguaje, tipos y estructuras de datos; clases, objetos, paquetes, ciclo de vida de los objetos, visibilidad; herencia, interfaces, casting e inner classes; API básica; colecciones; JDK 5: nuevas características del lenguaje. TALLER DE DESARROLLO DE APLICACIONES CON ECLIPSE , SVN Y JAVA (LTJE16) Duración: 16 horas Código: LTJE16 Prerrequisitos: LJB20 Contenidos: Desarrollo de un proyecto sencillo desarrollado en Java con Eclipse, trabajando a su vez en una simulación de un entorno real de trabajo distribuido organizado con SVN. Instrucción en la configuración del entorno y utilización básica de SVN. UML BÁSICO (LUMLB16) Duración: 16 horas Código: LUMLB16 Prerrequisitos: LIO16 Contenidos: Introducción a UML: historia, arquitectura de software basada en UML; modelado funcional: diagramas de caso de uso; modelado estático: diagramas de clases, objetos, componentes, despliegue y paquetes; modelado dinámico: diagramas de interacción, actividades y máquinas de estado. Página 4 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar DISEÑO ORIENTADO A OBJETOS (LDOO16) Duración: 16 horas Código: LDOO16 Prerrequisitos: Introducción a objetos (LIO16) Contenidos: Brindar a los asistentes los elementos de arquitectura conceptuales que ofrece la Orientación a Objetos, y que permiten construir software robusto, mantenible, extensible y reusable. TALLER DE DISEÑO OO (LTDOO12) Duración: 12 horas Código: LDOOM12 Prerrequisitos: LDOO16 Contenidos: Se desarrolla un ejercicio práctico en algún dominio conocido (el ejercicio puede ser preparado de acuerdo a las necesidades del cliente) y se asiste a los alumnos en el desarrollo de un modelo orientado a objetos acabado. 4.2. ÁREA ANÁLISIS Y DISEÑO DISEÑO ORIENTADO A OBJETOS CON PATRONES (LDOOP16) Duración: 16 horas Código: LDOOP16 Prerrequisitos: LDOO16, LUMLB16 Contenidos: Discusión sobre qué es un patrón, fundamentos y cuestiones avanzadas de teoría de patrones; categorías de patrones; ejemplos de patrones de cada categoría; discusiones sobre los patrones que pueden prestar a confusión. A lo largo del curso se desarrollan varios ejercicios de diseño en base a los patrones vistos, algunos de los cuales tienen un alto nivel de integración de patrones. INGENIERÍA DE REQUERIMIENTOS (LIR16) Duración: 16 horas Código: LIR16 Prerrequisitos: En deseable haber participado en algún proceso de desarrollo de software de mediana magnitud y haber tenido contacto con algún cliente. Contenidos: Introducción a la Ingeniería de Requerimientos: Modelo del dominio, objetivos y requerimientos (funcionales y no funcionales), Procesos de la ingeniería de requerimiento, Traceability de requerimientos, Descripción de técnicas de elicitación, Documento de especificación de requerimientos Casos de Uso: Conceptos básicos, Relaciones entre casos de uso, Niveles de casos de uso, Documentación de casos de uso, Relación del modelo de casos de uso con las reglas del negocio e interfaces de usuario, Herramientas para casos de uso, Estimación de esfuerzo a través de use case points, Practica de escritura de casos de uso Lecciones aprendidas (experiencias): Técnicas de relevamiento, Artefactos generados por el grupo de análisis, Trazabilidad entre los modelos, Organización, control de calidad y seguimiento de las entregas , Estimación inicial en base a los casos de uso Página 5 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS APLICANDO RUP (LRUP20) Duración: 20 horas Código: LRUP20 Prerrequisitos: LUML16, LDOO16 Contenidos: Introducción: desarrollo iterativo y el proceso unificado; etapa inicial del proceso de desarrollo: requisitos, casos de uso; elaboración de la iteración 1: modelo de dominio, GRASP, modelo de diseño, modelo de implementación; elaboración de la iteración 2: patrones de responsabilidades, relaciones entre casos de uso, refinamiento del modelo de dominio, modelado de comportamiento y diagramas de estado; elaboración de la iteración 3: diagramas de secuencia del sistema y contratos. DISEÑO CENTRADO EN EL USUARIO (LDCU12) Duración: 12 horas Código: LDCU12 Prerrequisitos: No son necesarios conocimientos previos de DCU o Usabilidad Contenidos: Discusión sobre las formas de poner en práctica un proceso de Diseño de software Centrado en el Usuario. Aspectos de la cognición pertinentes a la interacción con productos de software; los modelos mentales; el manejo de errores. Presentación de varias técnicas de DCU. TALLER DE DISEÑO, CONSTRUCCIÓN (LTDCU12) Y EVALUACIÓN DE PROTOTIPOS DE IU Duración: 12 horas Código: LTDCU12 Prerrequisitos: LDCU12 Contenidos: Prototipos de interfaces: utilización en Análisis y Diseño; Prototipos de alta y baja fidelidad. Prototipos de papel, de software, híbridos. Taller de prototipado de baja fidelidad: Análisis y Desarrollo de casos. Observaciones: • Ejercitación sobre ejemplos propios del cliente que deberán ser provistos con una semana de anticipación al comienzo del Curso • Se acordará con anticipación al comienzo del Dictado la técnica de elaboración de prototipos compatible con la realidad del Cliente, entre tres opciones: a) modelos de papel, b) modelos de software no funcional (similares a presentaciones MS Visio o MS Power Point) y c) una combinación híbrida entre ambos. MÉTODOS Y TÉCNICAS DE USABILIDAD PARA INGENIERÍA DE SOFTWARE (LDCUIS16) Duración: 16 horas Código: LDCUIS16 Prerrequisitos: LDCU12 Contenidos: Ingeniería de requerimientos: análisis de contenidos, entrevistas, diagramas de afinidad, escenarios de uso, análisis de tareas, construcción de personajes. Diseño y construcción de software: patrones de arquitectura y de diseño de interfaces, guías de diseño y de estilo, construcción y evaluación de usabilidad con prototipos rápidos, evaluación de heurísticas, storyboarding, cognitive walkthrough. Prueba y Página 6 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar corrección de software: testing de performance, evaluación de heurísticas, testing post release. USABILIDAD ORIENTADA A UN ESTILO DE INTERACCIÓN (LDCUOI12) Duración: 12 horas Código: LDCUOI12 Prerrequisitos: LDCU12 Contenidos: Revisión de tópicos conceptuales: principios elementales de DCU; Guías de diseño para la navegación y la organización de la pantalla, para capturar la atención del usuario y para facilitar el ingreso de datos; Especificación de interfaces de usuario; Diseño de interfaces de usuario basadas en menúes, formularios y cajas de diálogo. 4.3. ÁREA BASES DE DATOS PROGRAMACIÓN CON PL SQL (LPPS16) Duración: 16 horas Código: LPPS16 Prerrequisitos: LDOBDRO16 Contenidos: Sintaxis. Tipos primitivos. Constructores de tipos. Declaración de Procedimientos y funciones. Manejo de EXCEPTION y bloques. Cursores. Ejecución de querys de manera dinámica. Declaración de paquetes. Paquetes de sistema. Ofuscación de código. Objetos definidos por usuarios. Operadores pragma. DISEÑO Y OPTIMIZACIÓN (LDOBDRO16) DE BBDD RELACIONALES –ORIENTACIÓN ORACLE- Duración: 16 horas Código: LDOBDRO16 Prerrequisitos: Contenidos: Modelos DER y normalización orientada a un modelo performante. Mapeo de Objetos a Relacional visto desde la BD. Modelos de DW (Diseño multidimensional). Creación de tablas. Consultas SQL. Definición de índices. Índices para diseños multidimensionales de DW. Optimizadores de Oracle. Cálculo de estadísticas: explain plan – trace. Hints para queries. Buenas prácticas para optimización. 4.4. ÁREA DESARROLLO ENTERPRISE JAVA DESARROLLO DE APLICACIONES WEB CON JSP, SERVLETS YSTRUTS 2.0 (LWJSS16) Duración: 16 horas Código: LWJSS16 Prerrequisitos: LIO16, LJB20 Contenidos: Protocolo HTTP; conceptos básicos HTML y XML; evolución de arquitecturas web; MVC en la web; servlets: concepto de contenedor, ciclo de vida, principales conceptos, manejo de sesión (request, session); páginas JSP, scriplets, objetos predefinidos, tags, manejo de errores. Introducción a Struts 2.0, arquitectura, acciones, formularios, librerías de tags, internacionalización, JSTL, tiles, evolución (Shale); servidor de aplicaciones Jakarta Tomcat. Página 7 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar TALLER DE DESARROLLO WEB CON JSP, SERVLETS Y STRUTS 2.0 (LTJSS12) Duración: 12 horas Código: LTJSS12 Prerrequisitos: LWJSS16, LTJE8 Contenidos: Desarrollo corto basado en los proyectos de los talleres de Java + Eclipse + CVS, aplicando los conceptos de JSP, Servlets y Struts 2.0 aprendidos durante el curso teórico. Se utilizará Tomcat como contenedor de referencia y Eclipse como plataforma de desarrollo. PERSISTENCIA CON HIBERNATE (LPH16) Duración: 16 horas Código: LPH16 Prerrequisitos: LIO16, LJB20, conocimiento sobre bases de datos relacionales. Contenidos: Mecanismo simples de persistencia: serialización; archivos XML y JDBC. Teoría de mapeo objeto-relacional: conceptos básicos, alternativas en el mercado, productos vs. estándares. Hibernate: configuración, mapeos, ejemplos, manejo de la conexión, consultas (hql, criteria). TALLER DE PERSISTENCIA CON HIBERNATE (LTPH12) Duración: 12 horas Código: LTPH12 Prerrequisitos: LJB20, LPH16, LTJE8 Contenidos: Crear un proyecto en eclipse que utiliza hibernate. Configurar Hibernate en un ambiente local. Mappings: muchos a muchos bidireccionales ,uno a muchos unidireccionales y bidireccionales. Componentes. Colecciones de componentes. Jerarquías. Tabla por subclase concreta. Tabla por jerarquía. Guardar y recuperar objetos. Realizar queries y criterias. Externalizar consultas y paginar resultados INTRODUCCIÓN A WEB SERVICES (LIWS16) Duración: 16 horas Código: LIWS16 Prerrequisitos: LJB20 Contenidos: XML: introducción, relación con los web services; protocolos: capas de protocolos y utilización más frecuente; SOAP o XML-RPC; otros protocolos: XML mediante HTTP, FTP o SMTP; WSDL, UDDI, WS-Security; SAML, XACML y XKMS: tratamiento de encriptación y remodificación sobre XML. TECNOLOGÍAS (LTIAWS24) DE INTEGRACIÓN DE APLICACIONES – WEB SERVICES Y REST Duración: 24 horas Código: LTIAWS24 Prerrequisitos: LIWS16, LJB20 Contenidos: introducción a web services SOAP y Rest; estándares de Java para Web Services SOAP y Rest; soporte del framework Spring para Web Services y Rest; integración de Spring con implementaciones de JAX-WS y JAX-RS. Página 8 de 9 www.lifia.info.unlp.edu.ar alejandro.fernandez@lifia.info.unlp.edu.ar 5. CHARLAS DE EXPERTO ARQUITECTURAS WEB Duración: 4 horas RICH INTERNET APPLICATIONS (AJAX, ECHO2, DOJO, DWR) Duración: 4 horas ECLIPSE RICH CLIENT PLATFORM Duración: 4 horas ALTERNATIVAS DE PERSISTENCIA Duración: 4 horas DESARROLLO DE APLICACIONES EMPRESARIALES CON SPRING Duración: 4 horas USABILIDAD Y ARQUITECTURA DE SOFTWARE Duración: 4 horas USABILIDAD, PATTERNS Y GUÍAS Duración: 4 horas Prerrequisitos: LDCU12 METODOLOGÍAS ÁGILES Duración: 4 horas SERVICE ORIENTED ARCHITECTURES Duración: 4 horas SCRUM Duración: 8 horas REDES DE TELECOMUNICACIONES Duración: 12 horas Página 9 de 9