Detalle de Asignatura
Desarrollo de Software I
IN-3008 | 3º año | 2º Cuatr.
Horas Semanales
5
Horas Sincrónicas
75
Trabajo Independiente
150
Horas Totales
225
Información General
Código
IN-3008
Año
3º
Régimen
2º Cuatr.
Coef. Trabajo Independiente
2
Horas Formación Práctica
40
Objetivos
Comprender los conceptos fundamentales del desarrollo del lado del servidor.
Diseñar y construir APIs para aplicaciones web y móviles.
Aplicar buenas prácticas de arquitectura, seguridad y manejo de datos.
Introducir herramientas de pruebas y despliegue de aplicaciones back end.
Contenidos Mínimos
Arquitectura cliente–servidor. Servidores web y frameworks back end. Fundamentos de APIs y de Patrón arquitectónico REST. Formatos de intercambio de datos. Diseño de APIs REST. Rutas, controladores y middleware. Conexión a bases de datos relacionales y/o NoSQL. ORM básicos. Validación y serialización de datos. Implementación de paginación, filtros y ordenamientos. Manejo de sesiones, autenticación y autorización. Gestión de errores y logging. Buenas prácticas de seguridad en el desarrollo de APIs. Introducción a pruebas de endpoints y despliegue en entornos de producción.
Formación Práctica
Desarrollo incremental de una API REST funcional para un caso de estudio, implementando operaciones CRUD, filtrado de recursos, validación de datos y manejo consistente de errores. Integración con una base de datos relacional y/o NoSQL mediante un ORM. Incorporación de mecanismos básicos de autenticación y autorización. Ejecución de pruebas de endpoints con una herramienta software tipo Postman o equivalente. Preparación y despliegue de la aplicación en un entorno de producción o preproducción.
Competencias Específicas
- 1.3. - Especificar, proyectar y desarrollar software.
Competencias Genéricas
- Desempeñarse de manera efectiva en equipos de trabajo.
- Aprender en forma continua y autónoma.
- Comunicarse con efectividad.
- Identificar, formular y resolver problemas de ingeniería.
- Concebir, diseñar y desarrollar proyectos de ingeniería.
- Utilizar de manera efectiva las técnicas y herramientas de aplicación en la ingeniería.
Ejes Transversales
- Concepción, diseño y desarrollo de proyectos de ingeniería en sistemas de información/informática
- Fundamentos para el aprendizaje continuo
- Fundamentos para el desempeño en equipos de trabajo
- Fundamentos para una comunicación efectiva
- Identificación, formulación y resolución de problemas de ingeniería en sistemas de información/informática
- Utilización de técnicas y herramientas de aplicación en la ingeniería en sistemas de información/informática
Descriptores
- Especificación, proyecto y desarrollo de sistemas de información
- Especificación, proyecto y desarrollo de software
Correlativas Regularizadas para Cursar
- IN-3002 - Bases de Datos
- IN-3003 - Idioma Extranjero II
Correlativas Aprobadas para Cursar
- IN-1002 - Algoritmos y Programación
- IN-1005 - Teoría de Sistemas
- IN-1006 - Diseño Web
- IN-1001 - Álgebra y Geometría Analítica
- IN-1003 - Análisis Matemático I
Correlativas Aprobadas para Aprobar
- IN-3002 - Bases de Datos
- IN-3003 - Idioma Extranjero II