Patrones de diseño de software
Introducción
Según estudios realizados, el esfuerzo para el mantenimiento de un producto de software comprende entre el 60% y el 80%.
Gran parte de este esfuerzo podría ser reducido notablemente si el software se diseñara previendo futuros cambios (mantenibilidad).
En las últimas décadas se ha avanzado notablemente en la definición de nuevas técnicas orientadas al diseño del software, las mismas han demostrado su eficacia y el valor agregado que representan para las organizaciones que las implementan.
El curso “Diseño de software” es el primer módulo de la serie de cursos (“Diseño de software” ´+ “Patrones de diseño de software” + “Arquitecturas de software”), los cuales permitirán a los asistentes adquirir los conocimientos para diseñar un software: con mayor facilidad para el cambio, con menor cantidad de errores por línea de código, con menor re-trabajo.
En momentos en que existe una alta demanda de recursos que dominen lenguajes de programación, es necesario que los mismos estén provistos además de los conocimientos que le permitirán construir software de mayor calidad.
Objetivos
Que los asistentes puedan aplicar patrones de diseño para estructurar los sistemas que deban desarrollar.
Que los asistentes comprendan la relación de estos con el diseño de software en general.
Destinatarios
El curso está dirigido a los cuadros técnicos involucrados en el desarrollo de software. Aquellos ingenieros o programadores que se enfrentan cotidianamente a los múltiples problemas que surgen de tener que trabajar sobre sistemas con una estructura deficiente, aquellos que no saben cómo documentar un diseño o que perciben que la documentación sugerida en la literatura resulta inadecuada, aquellos que no entienden claramente por qué es mejor una clase que otra, encontrarán los contenidos de este curso especialmente útiles tanto desde el punto de vista teórico como práctico.
Duración
21 hs
Metodología
Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides.
Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas.
Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados.
Contenido
Vocabulario, conceptos y problemas
Un caso de estudio para la aplicación de patrones de diseño
Patrón de diseño: Composite
Patrón de diseño: Abstract Factory
Patrón de diseño: Bridge
Patrón de diseño: Strategy
Patrón de diseño: Visitor
Patrón de diseño: Iterator
Patrón de diseño: Command
Patrón de diseño: Decorator (Wrapper)
Este curso es el primer módulo de otros dos (Patrones de diseño de software y Arquitectura de Software).
Este curso es el segundo módulo de otros dos (Diseño de software y Arquitectura de software).
|