Politécnico ICAFTPolitécnico ICAFT
BuscarContactoInscríbete →
Inicio/Educación continua/Diplomado
DiplomadoTecnología y desarrollo de software

Programación orientada a objetos

El diplomado Programación orientada a objetos proporciona al estudiante el diseño y la construcción de software con clases, herencia, polimorfismo, colecciones, principios SOLID y patrones de diseño en Java y Python, modelado con UML y verificado con pruebas unitarias. Le permite escribir código mantenible, extensible y probado.

A quién va dirigido

Estudiantes y desarrolladores que dominen variables, condicionales, ciclos y funciones en algún lenguaje de programación.

Objetivos
✓Comprender el paradigma de objetos: clases, objetos, atributos, métodos, constructores y ciclo de vida.
✓Analizar un problema del dominio para modelarlo con diagramas UML de clases, de secuencia y casos de uso.
✓Aplicar encapsulamiento, herencia, interfaces, polimorfismo, genéricos, excepciones y lambdas en Java y Python.
✓Diseñar soluciones con los principios SOLID y los patrones Factory, Singleton, Strategy y Observer.
✓Evaluar la calidad del código con pruebas unitarias en JUnit 5 y pytest, TDD y refactorización de olores de código.
Plan de estudios por sesión
1
Clases y objetosClases, objetos, atributos y métodos · Constructores y ciclo de vida de los objetos
2
Entorno de desarrollo y estilo de códigoEntorno de trabajo: JDK, IntelliJ IDEA o VS Code y Maven · Convenciones de nombres y estilo de código
3
Encapsulamiento y herenciaModificadores de acceso y propiedades · Herencia, sobrescritura y clases abstractas
4
Polimorfismo y composiciónInterfaces y polimorfismo · Composición frente a herencia
5
Colecciones y genéricosColecciones de Java: List, Set y Map · Genéricos y tipado
6
Excepciones y programación funcionalManejo de excepciones propias y verificadas · Programación funcional con lambdas y streams
7
Diagramas de clases y de secuenciaDiagramas de clases y asociaciones · Diagramas de secuencia
8
Modelo de dominio y herramientas de modeladoDe los casos de uso al modelo de dominio · Herramientas de modelado: draw.io y PlantUML
9
Principios SOLIDResponsabilidad única y abierto/cerrado · Sustitución de Liskov, segregación de interfaces e inversión de dependencias
10
Patrones de diseñoPatrones creacionales: Factory y Singleton · Patrones de comportamiento: Strategy y Observer
11
Pruebas unitarias y desarrollo guiado por pruebasPruebas unitarias con JUnit 5 y pytest · Desarrollo guiado por pruebas (TDD)
12
Presentación del proyecto final: aplicación con patrones y pruebasRefactorización y olores de código · Aplicación de consola o escritorio con persistencia en archivos
Evaluación
Inicial30%Ejercicios de clases y objetos en Java con Maven e IntelliJ IDEA o VS Code; revisión de convenciones de estilo de código.
Intermedio30%Programa con jerarquía de clases, interfaces y colecciones; diagrama de clases y de secuencia en PlantUML o draw.io.
Final40%Proyecto final: aplicación orientada a objetos (por ejemplo, un sistema de inventario) con diagrama de clases, al menos dos patrones de diseño y batería de pruebas unitarias, con sustentación.
Proyecto final

Aplicación orientada a objetos (por ejemplo, un sistema de inventario) con diagrama de clases, al menos dos patrones de diseño y una batería de pruebas unitarias.

WhatsApp