Introducción al curso CONTENIDOS Y REGLAS
Agenda Contexto del curso Objetivos Motivación Modus operandi Contenido del curso Evaluación
Contexto del curso 1. SOBRE E L SOFT WA RE 2. MOT IVA CIÓN PROFESIONA L
Contexto del curso Qué es el software? Definición básica Una secuencia de instrucciones relativas a un ambiente de ejecución. El ambiente de ejecución establece el conjunto de funciones disponibles. El software utiliza las funciones para conformar un programa. Para qué sirve? Inicialmente su espíritu es el de realizar cálculos. Apoyar los procesos y actividades de las organizaciones que requieren realizar cálculos masivos. Hoy en día no sólo realizan cálculo, sino también apoyan las operaciones de las organizaciones.
Contexto del curso Tipos de Software Programa auto- contenido Una secuencia de instrucciones en el lenguaje de máquina, ejecutado en un ambiente de ejecución. No posee dependencias con otros programas. Programa con dependencias Requiere de funciones que se obtienen a través del ambiente de ejecución. Programas en Windows que requieren librerías (DLL) que provee el sistema operativo. Programas ios que poseen dependencias de módulos.
Contexto del curso Tipos de Software Programa complejo (sistema) Es una abstracción constituida por varios programas, con dependencias entre ellos. Cada programa se encuentra en el mismo ambiente de ejecución Programa distribuido Es un programa complejo, pero donde una o más programas se ejecutan en ambientes de ejecución diferentes. La localización geográfica no es exactamente relevante para la definición.
Contexto del curso Programación de Software Qué es la programación? El mecanismo con el cual se puede obtener una pieza de software (secuencia de instrucciones relativas a un ambiente de ejecución). Cómo se programa? No en lenguaje de máquina (generalmente). Lenguajes de alto nivel (o de altas generaciones). Usando paradigmas de programación: Establece un marco de modelamiento. Usa entidades que representan unidades de programación. Ejemplos: Procedurales, funcionales, orientado a objetos, orientado a componentes, orientados a servicios.
Contexto del curso Qué hace el Ingeniero de Software? La Ingeniería de Software El Software Desarrollar Software Gestionar el Software Apoyar una organización Investigación
Introducción al curso Arquitecto de Software Qué es un Arquitecto de Software? Es quien establece la anatomía de un programa complejo, determinando la mejor manera en que sus partes pueden trabajar en conjunto. Entiende el rol del área de TI en el negocio. Las cualidades deseadas: Nivel de conocimiento técnico (abstracto) de nivel Experto. Es muy creativo: inventa soluciones. Conoce bien la infraestructura tecnológica de su organización. Entiende los requerimientos no funcionales transversales a su organización.
Motivación Valor del profesional de TI en el mercado Programador $[350K- 1.2MM] Visual Basic / ASP MVC: Spring / Struts / JSF: +$[100K- 200K] HTML / JavaScript: +$[50K- 100K] J2EE: +$[300K- 500K] De responsabilidad Jefe de proyecto: $[600K- 2.4MM] Arquitecto: $[1400K- 2.4MM]
Sobre el curso 1. OBJ ET IVOS 2. CONTENID OS D EL CURSO 3. SIST EMA D E EVA LUA CIÓN
Introducción al curso Objetivos 1. Desarrollo de Aplicaciones empresariales TI en la vida real Comprender las necesidades de las organizaciones Qué esperan las organizaciones de los sistemas que apoyan sus procesos? Aplicaciones Empresariales Conocer los aspectos no funcionales de los sistemas. Aprender a diseñar arquitecturas para aplicaciones empresariales. 2. Conocimientos teóricos Diseño de aplicaciones basadas en componentes / servicios. UML aplicado al diseño. Estándares XML. Patrones de diseño empresariales 3. Conocimientos técnicos Desarrollo de aplicaciones Usando el estándar JEE. Patrones de diseño. Desarrollo de componentes. Interacción con COTS Bases de datos empresariales. LDAP s. Servidores de aplicaciones.
Sobre el curso Contenido del curso Introducción Programación por componentes. Introducción Java Enterprise Edition Patrones Arquitecturales El protocolo HTTP. Aplicaciones web JEE Lenguaje HTML, CSS & JavaScript. Servlets. JSP, JCT & JSTL. Struts / JSF (MVC). JDB.C Componentes JEE Session Beans Message driven Beans Entity Beans Patrones de Diseño JEE Servicios Web Servicios JEE Seguridad Timer Transacciones
Sobre el curso Evaluaciones Controles y Exámenes (40%) 3 Controles (60%) Carácter técnico, aunque sin programación. Orientados a medir conceptos generales, de base. SIN apuntes. Examen (40%) Toda la materia. Exención: 5.5. Proyecto (60%) Proyecto en etapas incrementales de conocimiento técnico. Grupos de n > 3 alumnos. Cada etapa tendrá un peso ponderador distinto. La nota final del proyecto se calcula como el promedio ponderado de cada una de las etapas. Lecturas (Bonus) Bonus para nota de control. 100% Opcionales. Evaluación binaria: 1pto si nota > 80% correcto. 0pto en otro caso.
Sobre el curso Requisitos Conocimientos: Generales de Programación orientada a objetos. Sólidos de programación en Java (1.4 al menos). Generales de HTML / XML. Hardware & Software Una buena CPU (ojalá i5) 4GB de memoria disponibles
Gracias por la atención