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
1. Comprender claramente el criterio para dividir un sistema en módulos.
2.
Aplicar dicho criterio en problemas prácticos.
3. Entender la importancia de la herencia en el diseño.
4.
Establecer los documentos que deben comprender un diseño de software.
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 y asistencia
21 horas, distribuidos en 3 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas.
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.
1.
Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas.
2.
Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados.
Contenido
1. El diseño como etapa del proceso de producción de software
2.
Diseño vs. modelo funcional
3.
Diseño basado en ocultación de información
4.
Diseño basado en tipos abstractos de datos
5.
Diseño orientado a objetos
6.
Documentación de un diseño
Este curso es el primer módulo de otros dos (Patrones de diseño de software y Arquitectura de Software). |