Detalle de Asignatura

Desarrollo de Software I

IN-3008 | 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

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