Versión para impresoraCódigo: OO-226 Total Horas: 25 (5 días) Modalidad: presencial
Precio Promocional: 1.750 € - 1.400 euros - 20% descuento !! (IVA no incl.)
Programia Bilbao
Fecha 1: del 15 al 19 de feb. de 2010 Horario: de 09:00 a 14:00 h
Fecha 2: del 26 al 30 de abr. de 2010 Horario: de 09:00 a 14:00 h
Programia Madrid
Fecha: del 8 al 12 de marzo del 2010 Horario: de 16:00 a 21:00 h
Descripcion del Curso
Este curso combina de manera eficaz formación sobre los procesos de desarrollo de software, las tecnologías de programación orientada a objetos y la notación UML (Unified Modelling Language). Para ello utiliza sesiones teóricas, grupos de discusión y otras actividades complementarias (como el análisis de entrevistas de interés) que tienen como objetivo proporcionar una guía práctica y completa del análisis y diseño OO donde se abarca desde la recopilación de requisitos hasta la implantación del sistema. Se proporciona a los alumnos un enfoque pragmático del desarrollo de software OO utilizando para ello una metodología de uso generalizado (Unified Process), la última especificación de UML (versión 1.4) y tecnologías de programación OO como el lenguaje Java. El curso empieza con una introducción a la tecnología OO y las metodologías de desarrollo de software para continuar con la identificación y el análisis de los requisitos (para lo cual se apoya en entrevistas con los responsables), la arquitectura y el diseño de los sistemas, la implementación, las pruebas y la implantación. Durante las clases teóricas se exponen también otras prácticas utilizadas para el análisis y desarrollo OO, como el análisis CRC (utilizado para descubrir entidades de Dominio) y el análisis de fiabilidad y solidez (Robustness analysis, utilizado para pasar del análisis al diseño).
Objetivo
Las personas que realicen el curso aprenderán a:
- Describir el proceso de desarrollo de software orientado a objetos, lo que incluye las metodologías y flujos de trabajo de programación OO.
- Identificar los requisitos del sistema mediante entrevistas con las personas apropiadas.
- Desarrollar y probar un programa Java.
- Analizar los requisitos del sistema para determinar los casos de uso y el modelo del dominio dado (modelo de Requisitos).
- Crear una arquitectura de sistemas (modelo de Arquitectura) que soporte los requisitos no funcionales y las restricciones del desarrollo.
- Crear un diseño de sistemas (modelo de Solución) que soporte los requisitos funcionales.
Prerequisitos
Para obtener el máximo aprovechamiento del curso, los alumnos necesitan:
- Tener conocimientos generales de programación, preferiblemente con lenguaje Java.
- Conocer los fundamentos del proceso de desarrollo de sistemas.
A quién va dirigido
Expertos en arquitectura de sistemas, ingenieros de software y analistas y diseñadores de sistemas encargados de concebir y crear aplicaciones OO.
Cursos Relacionados a realizar antes
SL-275-SE6 Programación Java
Cursos Relacionados a realizar después
SL-285-SE6: Desarrollo de Aplicaciones Avanzadas en Java
SL-425-EE5: Arquitectura y Diseño de Aplicaciones Java EE
SL-500: Patrones de Programación J2EE
Contenido
Introducción al proceso de desarrollo del software
- Describir el proceso de desarrollo de sistemas orientados a objetos (OOSD).
- Describir la compatibilidad del lenguaje de modelado con el proceso OOSD.
- Explicar la finalidad, las actividades y los artefactos de los siguientes flujos de trabajo OOSD: recopilación de requisitos, análisis de requisitos, arquitectura, diseño, implementación, prueba e implantación.
Análisis de la tecnología de diseño OO
- Describir cómo afectan los principios del diseño OO al proceso de desarrollo de software.
- Describir los principios fundamentales del diseño OO.
Elección de una metodología de diseño OO
- Explicar las mejores prácticas en relación con las metodologías OOSD.
- Describir las funciones de varias metodologías comunes.
- Elegir una metodología que se adecue al proyecto.
Determinación de la visión del proyecto
- Entrevistar a los propietarios del negocio para determinar los requisitos funcionales del sistema.
- Analizar los resultados de la entrevista para identificar los requisitos no funcionales (NFR), los riesgos y las limitaciones.
- Crear un documento de visión del proyecto a partir de los resultados de las entrevistas y de los análisis de riesgos.
Identificación de los requisitos del sistema
- Planificar el proceso a seguir para recopilar los requisitos.
- Planificar entrevistas de interés para confirmar y depurar los FR y NFR en función del documento elaborado.
- Documentar el sistema en la especificación de requisitos del sistema (SRS) de cada uno de estos requisitos.
Creación del diagrama de caso de uso inicial
- Identificar y describir los elementos esenciales de un diagrama de caso de uso UML.
- Crear un diagrama de caso de uso para el sistema a partir de SRS.
- Tomar nota de los escenarios de caso de uso con aspectos arquitectónicos significativos.
Depuración del diagrama de caso de uso
- Documentar un caso y sus escenarios en un formulario de caso de uso.
- Identificar y documentar los antecedentes del caso de uso y del ejecutor.
- Reconocer y documentar las dependencias del caso de uso.
- Identificar los elementos esenciales en un diagrama de actividad.
- Validar un caso de uso con un diagrama de actividad.
Determinación de las abstracciones clave
- Identificar una serie de posibles abstracciones clave.
- Identificar las abstracciones clave mediante el análisis CRC.
Construcción del modelo de dominio dado
- Identificar los elementos fundamentales de un diagrama de clases UML.
- Construir un modelo de dominio utilizando un diagrama de clases.
- Identificar los elementos fundamentales en un diagrama de objetos UML.
- Validar el modelo de dominio con uno o varios diagramas de objetos.
Creación del modelo de análisis con el análisis de solidez
- Explicar la finalidad y los elementos del modelo de diseño.
- Identificar los elementos fundamentales de un diagrama de colaboración UML.
- Crear un modelo de diseño para un caso de uso utilizando el análisis de solidez.
- Identificar los elementos fundamentales de un diagrama de secuencia UML.
- Generar una vista de diagrama de secuencia del modelo de diseño.
Introducción a los conceptos fundamentales de la arquitectura
- Explicar la función de la arquitectura.
- Distinguir entre arquitectura y diseño.
- Describir SunTone Architecture Methodology.
Analizar el flujo de trabajo de la arquitectura.
- Describir el flujo de trabajo de la arquitectura.
- Describir los diagramas de las vistas de arquitectura clave.
- Seleccionar el tipo de arquitectura.
- Crear artefactos del flujo de trabajo de arquitectura.
Creación del modelo de arquitectura para las capas cliente y presentación
- Analizar las interfaces de usuario.
- Documentar una aplicación de interfaz gráfica (GUI) en la capa cliente del modelo de arquitectura.
- Documentar una aplicación de interfaz gráfica (GUI) en la capa presentación del modelo de arquitectura.
Creación del modelo de arquitectura para la capa negocio
- Analizar la programación orientada a objetos distribuida.
- Documentar la capa negocio del modelo de arquitectura.
Creación del modelo de arquitectura para las capas recurso e integración
- Documentar el mecanismo de persistencia en la capa recurso del modelo de arquitectura.
- Documentar el mecanismo de persistencia en la capa integración del modelo de arquitectura.
Creación del modelo de solución
- Crear un modelo de solución para una aplicación de interfaz gráfica.
- Crear un modelo de solución para una aplicación de interfaz de usuario web.
Depuración del modelo de dominio
- Mejorar los atributos del modelo de dominio.
- Mejorar las relaciones del modelo de dominio.
- Mejorar los métodos del modelo de dominio.
- Declarar los constructores del modelo de dominio.
Aplicación de patrones de diseño al modelo de solución
- Definir los elementos esenciales de un patrón de software.
- Describir el patrón Composite.
- Describir el patrón Strategy.
- Describir el patrón Observer.
- Describir el patrón Abstract Factory.
Creación del modelo de estados de objeto compuestos con diagramas de estados
- Crear el modelo de estados de objeto.
- Describir las técnicas de programación de estados de objeto compuestos.