Educación y la industria de software costarricense

Reviews
Educación y la industria de software costarricense Ignacio Trejos Zelaya Cenfotec e Instituto Tecnológico de Costa Rica Mes de la Ciencia y la Tecnología – 13 de agosto del 2001, CENAT Temas      Costa Rica tiene ingenieros y técnicos de primer orden. En Costa Rica se hace software de clase mundial. La competitividad y sostenibilidad de la industria dependen de la gente. La actividad informática puede potenciar la prosperidad nacional. Hay mucho por hacer. Objetivos     Analizar el entorno. Ilustrar las demandas impuestas sobre la formación de recursos humanos. Presentar algunos retos y oportunidades que se ofrecen para los profesionales costarricenses. Exponer requerimientos para que la capacidad pueda perfeccionarse y hacerse sostenible. El software El software consiste de programas, datos, documentación y procedimientos operativos mediante los cuales los sistemas computacionales son útiles al ser humano. Algunas características Innovación constante  Retos intelectuales  Creatividad es apreciada y estimulada  Programación disciplina el pensamiento riguroso  Se faculta el estudio de la naturaleza... por ejemplo: la inteligencia humana, la biodiversidad, los genomas  Una profesión Personas y organizaciones dependen del correcto funcionamiento de la tecnología de información.  El cambio constante del entorno y del conocimiento exige una actualización profesional continua.  Hay responsabilidades ante la sociedad, las organizaciones y la profesión.  Status actual      Las sociedades dependen crecientemente de la tecnología de información Internet ha provocado una enorme demanda de nuevas aplicaciones innovadoras y urgentes Hay aplicaciones de seguridad crítica gobernadas por software Se produce software de variada calidad: metódica o heurísticamente Hay madurez relativa en buenas prácticas de ingeniería de software, minoritariamente asimiladas en CR Ingeniería del software La aplicación de la ingeniería al software: la aplicación de enfoques sistemáticos, disciplinados y cuantificables al desarrollo, operación y matenimiento del software.  Aquella rama de la ingeniería que se ocupa del desarrollo, operación y mantenimiento de software.  IEEE Computer Society Evolución desarrollo de software 1965..1970: algoritmos y estructuras de datos ciencia ingeniería profesional producción comercial artesanía ejemplos aislados: algoritmos, estructuras de datos, métodos y herramientas (compilación), diseño de bases de datos 1980: métodos de desarrollo de software Mary Shaw Status - números Por cada 6 proyectos nuevos de gran tamaño, otros 2 se cancelan  Re-trabajo afecta presupuesto total: 40% a 50% presupuesto real  31% se cancelan antes de terminar  52.7% completados exceden 89% presupuesto  Standish Group Aplicaciones de negocios         Negocio a consumidor Negocio a negocio Consumidor a consumidor Mercados Subastas Agentes Servicios distribuidos Clientes móviles Los desafíos           Nuevos patrones de uso Nuevas expectativas de los usuarios Competencia creciente Tiempo: ciclo de vida acortado Innovación Especificaciones cambiantes Desarrollo basado en componentes Integración e interoperabilidad Exposición => seguridad Ajuste del proceso ¿Cómo era? Los dinosaurios: tarjetas perforadas, AutoCoder, COBOL, PL/I.  El oligopolio IBM, Burroughs.  Las minis: el fenómeno MAI/BasicFour.  Las otras minis: Data General, Honeywell, etc.  El surgimiento de las carreras universitarias.  Algunos hitos      Buena calidad de la educación universitaria (estatal) en informática. Eliminación de impuestos a las microcomputadoras. Surgimiento de actividad empresarial nacional en desarrollo de software. Programa de informática educativa FOD-MEP. Se inician los programas de postgrado en informática. ¿Cómo estamos hoy?      Exportamos software a Latinoamérica y otras regiones del mundo. Conformación de un sector empresarial que se organiza en una Cámara. El gobierno impulsa la atracción de inversiones en “alta tecnología”. Comienzan iniciativas estratégicas (proyecto BID-Caprosoft, ICCI). Hay dificultades para crecer y perfeccionarse: madurez industrial, capital, recurso humano, otros. ¿Qué hacemos bien? Sistemas de gestión    Sistemas administrativos, financiero-bancarios, manufactura, oficinas, gestión agrícola, cooperativas, hospitales, distribución, automatización de manufactura, hotelería y turismo. Originados en necesidades del mercado nacional. Ahora enfocados en necesidades de mercados internacionales. ¿Qué hacemos bien? Software “no tradicional”          Texto y lenguaje Reingeniería automática de software Sistemas colaborativos Herramientas de desarrollo Inteligencia de negocios y sistemas de apoyo a la toma de decisiones Internet Informática educativa Redes y sistemas distribuidos Sistemas digitales Demanda de tecnología   Mundialmente, la demanda por TI crece muy rápidamente Las aplicaciones de TI son variadas: • Computadoras en empresas e instituciones • Computadoras en oficinas y hogares • Microprocesadores incrustados en aparatos domésticos • Internet, comercio digital, servicios públicos • Dispositivos móviles  La TI está cambiando a las sociedades modernas Demanda de personal  La tecnología la hace la gente: • Invención (concepto, diseño, construcción de prototipos) • Construcción y fabricación • Comercialización • Soporte técnico, soporte a usuarios • Educación, capacitación, entrenamiento • Documentación (manuales, guías, etc.) • Administración  ¡La industria de TI exige más que informáticos! Oferta insuficiente      Crecimiento de demanda RH, en varias empresas del 20% al 100% anual ArtInSoft prevé contratar, en promedio, 10 especialistas en TI por mes para el 2001 Las universidades públicas gradúan a los mejores, pero son insuficientes (entre 150 y 250 al año) Hasta ahora (2001) se están estudiando la oferta y la demanda de profesionales en TI en Costa Rica (Caprosoft-BID) La demanda por parte de colegiales ha crecido y está en primer lugar (> 4,000 aspirantes, > 12%) Educación informática en CR Matriculados (aprox.): > 5,000  Graduados al año (est.): 550  22 instituciones de educación superior ofrecen estudios en informática:  • 4 universidades públicas • 13 universidades privadas • 6 colegios universitarios y centros postsecundarios Pronóstico Linear Estimate of Totals for Selected Careers 1200 Total Systems/Computer University Graduates in Engineering R2 = 0.8807 1000 Industrial Electric/Electronic Mechanical 800 600 400 200 0 1990 1991 1992 1993 1994 1995 1996 Years 1997 1998 1999 2000 2001 2002 Source: CINDE Los mejores 1. ¿Cuáles son, a su juicio, las 4 mejores universidades costarricenses para la formación de profesionales en informática? OPCIÓN 1 ITCR UCR UNA ULATIN ULACIT UIA ITCR UCR UNA ULATIN ULACIT UIA 10 5 0 0 0 0 4 9 0 2 0 0 OPCIÓN 3 ITCR UCR UNA ULATIN ULACIT UIA ITCR UCR UNA ULATIN ULACIT UIA 1 1 6 0 1 2 0 0 1 1 3 4 OPCIÓN 2 OPCIÓN 4 Fuente: encuesta a empresas del Club de Investigación Tecnológica. 12/1999 Ingreso a Us públicas UCR - demanda: 1000, aceptados: 230  ITCR - demanda: 2500, aceptados: 180  UNA - demanda: 2200, aceptados: 200  Fuente: universidades Demanda instatisfecha 7. ¿Consideran ustedes que logran reclutar suficientes profesionales con la calidad educ adec? SÍ NO 4 6 N/A 2 Necesidades - 1 8. ¿Consideran ustedes necesario el contar con personal con preparación técnica de alta calidad, pero con un grado académico inferior al de bachiller universitario? SÍ NO 11 1 N/A 1 Necesidades - 2 Aplicaciones WEB Bases de datos relacionales Bases de datos orientados a objetos Lenguajes orientados a objetos Lenguajes visuales para desarr rápid de aplicac Modelaje de sistemas Redes y Telemática Aseguramiento de la calidad Sistemas Distribuidos Habilidades matemáticas Diseño de interfaces de usuario Redacción técnica Capacidad de trabajo en equipo Habilidades comunicativas Muy Nec 8 11 6 6 9 7 7 6 3 2 7 4 13 12 Nec 3 2 4 7 4 6 5 7 9 8 6 8 0 1 Poco Nec 2 0 1 0 0 0 0 0 1 3 0 1 0 0 No nec 0 0 2 0 0 0 1 0 0 0 0 0 0 0 Retos Crecer y mejorar      Expandir sustancialmente la actividad de producción de software. Aumentar sensiblemente la capacidad de producir software innovador y de calidad. Fomentar creación, crecimiento y expansión de empresas nacionales. Atraer inversión y sub-contratación. Enfocarse globalmente. Algunas estrategias - 1     Subir los estándares nacionales en disciplina de ingeniería de software. Promover la consolidación y creación de empresas productoras de software. Darles financiamiento y asesoría para salir a competir. Estimular la formación de emprendedores en los centros de educación superior. Coordinar nacionalmente la formación de recursos humanos en TI: técnica, pregrado, grado, postgrado. Algunas estrategias - 2  Atraer más mujeres a las ingenierías informáticas. Experiencias de práctica durante estudios. Estimular la educación continua. Establecer sistemas de becas y financiamiento educativo. Definir estrategia de formación de postgrado: “conversión”, especialización, investigación. Ofrecer oportunidades de postgrado en CR y becas al exterior.      Algunas estrategias - 3 Promover la formación de recursos humanos en otras áreas de apoyo.  Promover cambios en sistema educativo, desde la primaria: ciencias, idioma, matemática, razonamiento lógico, creatividad, valores  Favorecer la “alfabetización informática”.  Algunas estrategias - 4       Fomentar cooperación empresas-universidades. Estimular grupos y programas de investigación. Financiar proyectos de investigación y prototipaje pre-comercial. Estimular: cooperación pre-competitiva entre empresas, incubación de empresas. Estimular la competencia leal. Alianzas: co-desarrollo, inversión, cocomercialización, co-mercadeo, subcontratación, licenciamiento, financiamiento de I&D. Optimizante Mejorando continuamente Madurar Prevención de defectos Administración cambio tecnológico Administración cambio proceso Administrado Cuantificable y predecible Administración de la calidad Administración cuantitativa proceso Definido Estándar y consistente Revisiones Coordinación intergrupos Ingeniería de producto Administración integrada Programa capacitación Definición proceso Repetible Disciplinado, controles básicos Administración de configuraciones Aseguramiento de calidad Manejo de subcontratos Seguimiento de proyectos Planificación de proyectos Manejo de requerimientos Inicial Capacidad depende de los individuos ¿Por qué importa el proceso? Experiencia de proyectos con poca atención en el proceso durante las etapas tempranas Trabajo no productivo Porcentaje de esfuerzo Trabajo productivo Proceso Tiempo Mc Connell Atención al proceso Experiencia de proyectos que ponen atención al proceso en etapas tempranas de desarrollo. Trabajo no productivo Porcentaje de esfuerzo Trabajo productivo Proceso Tiempo Mc Connell Calidad Calidad Disciplinarse Especificación de requerimientos Casos de prueba Revisión Especificación de requerimientos Casos de prueba Pruebas de integración Pruebas de aceptación Software probado Revisión Diseño arquitectónico Eficiencia en V&V           Revisiones informales de diseño: 25% a 40% Inspecciones formales de diseño: 45% a 65% Revisiones informales de código: 20% a 35% Inspecciones formales de código: 45% a 70% Pruebas unitarias: 15% a 50% Pruebas de nueva funcionalidad: 20% a 35% Pruebas de regresión: 15% a 30% Pruebas de integración: 25% a 40% Pruebas del sistema: 25% a 55% Inspección formal de código y diseño+pruebas sistemáticas: 97% Proceso iterativo + V&V R D PA PI R D C PA PI PU R D C PA PI PU C PU iteración Reutilizar Hacer, reutilizar Ing. Dominios vs Ing. Aplicaciones Reutilizar Localizar, adaptar Requerimientos Mercado abierto Conceptos Sistemas existentes Adquirir-adaptar Desarrollar Re-ingeniería Inventario de componentes Proceso de desarrollo Generalizar Aplicación [Wooding 95] Modelos Diagrama de objetos Diagrama de clases Diagramas de Transición Casos de uso Diagramas de Colaboración Diagramas de Secuencia Vista estática. (estructura) Relaciones entre objetos ej. diagrama de clases. Vista dinámica. (comportamiento) Orden de acciones, ej. diagrama de secuencias. El software El mundo Modelos intermedios Vista arquitectónica. Dividir un sistema en subsistemas ej. Paquetes Modus operandi Requerimientos Requerimientos Arquitectura de software Método 1 Método 2 Implementaciones Implementaciones Objetos Componentes y plataformas Aplicaciones interoperables Web, flujos, colaboración Ética y profesionalismo La bola de cristal Ingresos por salarios 600.00 500.00 400.00 300.00 200.00 100.00 0.00 1 2 3 4 5 6 7 8 9 10 Millones US$ Producción anual año Personal en formación 9,000 8,000 7,000 6,000 5,000 4,000 3,000 2,000 1,000 0 1 2 3 4 5 6 7 8 9 10 Total educándose Año Graduados por año Total graduados 4,000 3,000 2,000 1,000 0 1 2 3 4 5 año 6 7 8 9 10 Costo Costo formación 16.00 14.00 12.00 10.00 8.00 6.00 4.00 2.00 0.00 1 2 3 4 5 año 6 7 8 9 10 Millones US$

Related docs
premium docs
Other docs by rockman16