Curso de Análisis y Diseño Orientados a Objetos

Fundamentos para desarrollar un software de calidad: legible, flexible al cambio, robusto y reutilizable.
Material disponible
Avanzado
12 Clases 26 h
110€
99€
Precio en promoción
En este curso vamos a abordar las disciplinas necesarias para desarrollar software de calidad, que permita reducir los costes de los proyectos y aumentar la satisfacción del cliente. Estudiaremos el análisis y diseño orientado a objetos a través de principios, leyes, patrones de asignación de responsabilidades, métricas de calidad y criterios para producir un código limpio. Aprenderemos a detectar y solucionar también situaciones indeseables como el código maloliente y los antipatrones de desarrollo.

Es un curso dirigido a profesionales con conocimientos de Programación Orientada a Objetos, indispensable para aquellos que desean aumentar su desempeño y la calidad de su trabajo como programadores.

Con el siguiente vídeo puedes encontrar una excelente aproximación al contenido del curso, que grabamos en directo con Luis Fernández, nuestro profesor.

Qué aprenderé en el Curso de Análisis y Diseño Orientados a Objetos

A lo largo del curso abordaremos diversas temáticas, de necesario conocimiento y aplicación para desarrollar proyectos con alta calidad de código, maximizando los beneficios de la Programación Orientada a Objetos.

El curso consta de 20 horas. La distribución de la carga horaria se reparte a lo largo de tres puntos fundamentales:

Tema 1: Software (4h) Definiciones generales y sus relaciones, de necesario conocimiento para entender el resto de los temas

Tema 2: Análisis (3h) Enfoques y estrategias que conducen a un análisis de calidad

Tema 3: Diseño (13h) Pautas en lógica positiva (principios, leyes, patrones de asignación de responsabilidades, …) y negativa (antipatrones y código maloliente) que conducen a un diseño de calidad

Qué tengo que saber

Para el acceso al curso de Análisis y Diseño Orientado a Objetos se requiere conocer los fundamentos de la Programación Orientada a Objetos, es decir, tener claros conceptos como Clases, objetos, métodos, atributos, herencia.

Clases y contenidos

Introducción al análisis y diseño orientados a objetos Gratis
  • Qué es el análisis y diseño orientados a objetos?
Naturaleza del código
  • Abstracción
  • Acoplamiento
  • Encapsulación
Diseño de software
  • Introducción a diversos puntos de la teoría, aclarando conceptos que se verán con detalle durante las etapas prácticas, cuando veamos código.
  • Factores de calidad del software, a distintos niveles, las cuales dependen en mayor o menor medida de la calidad del diseño. No solo se verán los aspectos fundamentales deseables en un desarrollo, sino también descripciones de los factores que reducen la calidad del software. También se introducen diversas metodologías de desarrollo.
  • Comenzamos con la parte práctica, explicando la metodología con la que vamos a seguir el resto del curso. Comenzamos a ver un código de un programa que tomaremos como base. Al principio ese código está realmente mal y a medida que se aprendan los conceptos de análisis y diseño se irá modificando y aplicando las correcciones deseadas.
Introducción al análisis
  • Siguiendo la metodología práctica del curso se identifican nuevos problemas en el código de la aplicación con la que vamos a trabajar
  • Problemas de diseño y sus soluciones
    • Código mal comentado
    • Mal nombrado
    • Descomposición funcional
    • Clases grandes
  • Comenzamos a ver análisis, abordando diversas estrategias de análisis:
    • Análisis clásico, por dominio, comportamiento.
    • Veremos algunos asuntos interesantes como GRASP DRY
Prácticas de análisis y diseño
  • Conceptos de análisis como cohesión, acoplamiento, etc., necesarios para entender las siguientes decisiones de modificación de nuestro proyecto.
  • Durante las prácticas del curso pasaremos a crear nuevas versiones de la aplicación. Creando diversos pasos:
    • De una clase muy grande, atendiendo a los nuevos conocimientos de análisis pasaremos a una nueva versión con una jerarquía de varias clases.
    • En la nueva versión del código detectamos nuevos problemas, como cambios divergentes o código muerto.
    • En la siguiente aplicaremos YAGNI para obtener una nueva versión de nuestro código. Nuevas versiones del código en las que observaremos problemas como clases perezosas, cirugía a escopetazos, el principio de la mínima sorpresa...
Nuevas prácticas
  • Nuevas prácticas en las que vamos reconociendo nuevos problemas en el código y creando nuevas versiones de la aplicación para solucionarlas.
    • DRY y Listas de parámetros largas
    • KISS y Métodos largos
  • Nuevos conceptos de diseño de clases, como el diseño por contrato, aplicando estos conocimientos a nuevas versiones de nuestra aplicación.
Resumen del análisis y diseño visto hasta el momento
  • Repaso a todos los conceptos de análisis y diseño aplicados durante las clases prácticas, con la intención de recopilar toda la teoría vista hasta el momento y organizar las ideas de manera global.
  • Práctica para seguir implementando cambios en la aplicación, para reflejar mejoras atendiendo a relaciones entre clases
Nuevas mejoras de análisis y diseño
  • Nuevas mejoras en la aplicación y nuevos conceptos de análisis y diseño:
    • Inapropiada intimidad
    • Reusabilidad por herencia y relación por herencia
    • Principio de sustitución de Liskov
    • Relación de herencia vs composición
    • Controlador por caso de uso etc
Ampliando la funcionalidad
  • Código sucio por herencia rechazada y patrón método plantilla
  • Polimorfismo
  • Diseño deseable pensando en la ampliación de funcionalidad por el cambio de requisitos
  • Inversión de control
Retorciendo el diseño
  • Nuevas modificaciones para retorcer el diseño y conseguir que todo pueda crecer hasta el punto que se desee, manteniendo todos los principios vistos hasta el momento.
  • Además vemos jerarquías de herencia paralelas, creador, leyes de Demeter, etc.
Llevando el diseño más allá
  • Cómo el empaquetado facilita o permite la colisión de nombres.
  • Principio de única responsabilidad (uno de los principios SOLID).
  • Técnica del doble despacho e inversión de dependencias.
Extra repaso final, Inversión de dependencias y Open Close
  • Inversión de dependencias y el principio abierto/cerrado.
  • Qué ventajas conseguimos gracias al diseño final: robusto, flexible, legible, reusable…
  • Repaso final a todo el conocimiento del curso y cómo debemos orientar nuestro conocimiento para trabajar a partir de ahora.

Valoraciones

Rafael Escala

Roberto Delgado Sánchez

Jaime Aguila Sanchez

Jaime Vilca

Jean Pool

Daniel

David Domenech

isainz753

Francisco Javier Herrera Sanchez

Pedro Escudero

JOSÉ MANUEL SOTELO JIMENEZ

Fahed

Jaime Castrillo Elvir

eniel lorenzo

JMSanchez

Jose Alberto Chamorro Moreno

Ingrid Carolina Peláez

Arturo Portable

Jose Joaquin Meseguer Jimenez

Holden

José Ramón Barreras Flores

ZyControl Richard Alvarez Mamani

Lisandro Martinez

Juan Torres Villarroel

Jonhathan Rodas

Xabier Bikuña

Manuel Argiz

Iván Roldán

Christian Barrios Fragozo

Renso Valencia

El profesor es un capo, espero pueda brindar una charla sobre cómo empezó en el software hasta que termino convirtiéndose en el arquitecto que es

DAVID MANUEL

Roberto Mendoza Ulecia

Rafael Cruz Mendoza

David J. Corrales Sánchez

Oscar Andres Guevara Arias

Es el curso definitivo para entender POO

Lydia Tapiero Eljarrat

Me gustaría que se enviaran ejercicios prácticos, para que el curso fuera todavía más perfecto. Y a veces se hacen pesadas tantas preguntas.

Ramón de la Guía

Maximiliano Pablo Perrone

Sashir Estela

Hugo Felipe Alavez Bautista

Javier Vañó

italoberrospi

Iban Laya Rouco

ARSYS INTERNET SLU

Andres Cubillos Salazar

Excelente el contenido y el profesor. En ningún otro sitio he podido encontrar esta calidad de contenido.

Ricardo Luizaga

Jhon Zevallos

Jose María Rodríguez Medina

Decir que es interesante se queda corto, es genial

rafasu

Luis es demasiado bueno

Toni

Samuel Taboas Rodriguez

xavier gomez canals

Es un maquina Luis!, Sabe, y sabe enseñar!

Nicolas

El profesor es claro en los conceptos y tiene un estilo distendido para explicar,muy interesante el tema y como lo comunica

Jorge Luis Campos Moreno

muy bueno

Antonio Ramón Padrón Ferrer

Mejor imposible

Dan Milgram

muy bueno

Juan Aguilar

el profesor es realmente un experto en la materia, y sabe expresar sus ideas de forma clara y entendible

Ana

Gracias! muchas!

Salvador Ródenas Marquez

Imprescindible este conocimiento.

Mario Alejandro Armenta

Excelente curso. Tomen los anteriores cursos de Luis antes de tomar este

Matias Peñafiel

Estas clases son de película !. La claridad con la que explica Luis es excelente. Saludos desde Argentina.

Oscar Obregón Martín

Alex Albuja

Antonio Aldrin Miranda Peñaranda

Excelente curso!!!!, realmente no es teclear y esperar que salga el código; debe hane un Análisis y Diseño. Luis eres fenomenal!!!

Eduard Gallofré Asens

Jose Antonio

Este curso no tiene precio. No es un curso para ver. Es un curso para estudiar a lo largo de toda una vida.

Daniel Gutiérrez de Benito

Cesar Abraham Saavedra Drouet

Excelente calidad de la informacion

OSCAR APARICIO ESCRIBANO

David García

El mejor curso online, de lejos, que he consumido hasta la fecha. Contenido que debería ser obligatorio cuando nos enseñan a programar. Gracias a la carisma de Luis, los conceptos se aprenden muy bien, y para lo extenso que es el curso, no se hace para nada pesado. Ojalá este contenido llegue a mucha gente, que falta hace!

Héctor Garcia Peris

Un curso fantástico, que te hace replantearte toda tu trayectoria como programador

Daniel Díaz Ramos

Rubén Badenas Castellanos

Carlos V

Muy Profesional!..entretenida...importante...como siempre Luis colocando las cosas en su lugar...

David Moral

Sergio García Sánchez

Antonio Pichardo Pérez

Alvaro BM

Yonny Coyla

BENIGNO JUAN PAREJA MARTINEZ

Waldo Araya

Luis Fernandez es un crack. Un docente increible. Imperdible total.

David Manero

Rufino Bernedo

Monica Fernández

Gracias a Luis y al equipo por ofrecernos tanto aprendizaje junto...y además ameno!

Lucas Frias

Luis es el mejor profe que tuve hasta el momento!!

santiago Vélez Suárez

Geovani Robles

Jose Luis Garcia Cabeza

Inprescindible si quieres considerarte un profesional del desarrollo. Tanto este como todos los cursos impartidos por este docente, hasta la fecha no he encontrado mejor maestro.

MARIBEL NARGANES

Samuel Guardado

Jose Manuel Campos Soberano

de lo mejor

Alvaro Ramirez Castillo

muy bueno

Rubén Galán Jiménez

Se hace ameno

Víctor La Hoz

Carlos Hernández Güell

Jorge Rodríguez Santos

Miguel Valiente

Me gusta mucho. Luis es un excelente profesor, sobre todo por como consigue transmitirte esa pasión por la importancia de hacer las cosas bien, y la visión general que te da constantemente sobre el proceso completo del desarrollo de software. Como apunte a mejorar, algunas clases se hacen bastante lentas por tema de comentarios y preguntas de los asistentes. Muchas son repetitivas y otras cuantas fuera de contexto, que no vienen mucho a cuento y relentizan mucho la clase.

Iván Aguilar

Eduardo Lizano Arrieta

Carlos Alberto Bolaños Hernandez

Jose Toro

Raul Garcia

Federico Estape

Herney Salazar

Excelente como siempre

Diego Forero Torres

Marcos hurtado

Jorge González Morales

Diego

Luis Alexis Benvenuto Calderón

Me gusta mucho el curso, ya que está enfocado en el código sin descuidar la base teórica fundamentada con los mejores autores del medio.

Jose Carlos Gómez López

RUBEN GOMEZ RODRIGUEZ

Excelente.

Gustavo Andrés Lizio

Excelente!!

Daniel Taborda Rueda

Guido Beltrame

Excelente curso, super bien explicado y con un repaso por muchos conceptos interesantes.

Gonzalo Iglesias Vilachán

Top!

Alberto Maldonado

Fantástico, como todos los cursos de Luis.

Julian Gomez Fernandez

Muy buen curso, me esta encantando, lo recomendaría sin duda!!!

Alonso García Gascón

Es muy bueno el curso, definitivamente tomaré todos los que siguen.

David Alonso

Excelente curso y profesor

Luis Guillermo Solano Marin

Adrián Camacho Mora

Etzel Mencias Valderrama

Excelente curso

Sergio Aguilar Flores

Excelente curso, cuyo valor se mantiene aún con el paso de los años.

Felipe Gaete Gonzalez

Increíble

Nathan Pedreño Martinez

jack belinson

Este curso ha cambiado mi manera de pensar al momento de programar. Luis eres un crack

juan francisco martinez simi

Mejor profesor que puede haber, creo que no hay mucho que pueda decir que no se halla dicho anteriormente

Alberto Alonso Fernandez

Curso elemental para programar con unas bases sólidas

José García Abadillo Valencia

John Alexander Montoya Osorio

Estoy muy contento con la estuctura del curso y con el contenido. Me da la impresión de que si asimilas todo el conocimiento de este plan de estudios, estarás en el camino de convertirte en profesional senior.

Francisco Yago

Muy bueno. Para los que de verdad quieran mejorar el diseño del código

Alejandro Squella

Alfonso Javier Imedio Sanchez-Ballesteros

Muy buen curso, como todos los que he hecho. Explica los conceptos principales a tener en cuenta en las fases de diseño y análisis.

Anthony Carvajal

el profesor Luis, un gran profecional en la materia tengo mas de 5 años de experiencia y la verdad el contenido me viene de maravilla, muy acertado y directo !!

Roberto Gonzalez Vazquez

Carlos Alberto Ruíz Ayala

Como siempre muchas gracias por la información, comentarios y experiencia que nos aportan como alumnos de cada curso, gracias profesor Luis & equipo escuelaIT.

Raúl Grados

Es impresionante el nivel de conocimientos que posee el maestro Luis.

Alberto TS

Germán Osvaldo Beltrán

Muy bueno !

JESUS RUEDA GONZALEZ

El curso es excelente, pero creo que la interrupción continua a Luis para contestar preguntas (muchas veces sin fundamento) de los asistentes, hace dificil seguirlo. Creo que sería interesante que, para futuros cursos, las preguntas se realizasen al final.

Miguel Angel Zúñiga

Muy buen curso

Oscar Omar Flores Sotomayor

Excelente curso, Luis es un master

Antonio Zamora Saiz

Antonio Berbel Gonzalez

Luis explica muy bien

José Luis Ramiro Veliz Castillo

Muy buen curso

Jorge Álvaro Barrera Vásquez

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete