Introducción:
¿Qué aporta una Formación a Foundation Level?
Los cursos de formación con licencia Certified Professional for Software Architecture - Foundation Level (CPSA-F) proporcionarán a los participantes los conocimientos y aptitudes necesarios para diseñar, especificar y documentar una arquitectura de software adecuada para cumplir los requisitos correspondientes a sistemas de tamaño pequeño y mediano. Los participantes aprenderán a tomar decisiones arquitectónicas en función de su experiencia práctica individual y de sus competencias actuales, a partir de una visión de sistema existente y de los requisitos adecuadamente detallados. En los cursos de formación del CPSA-F se enseñan métodos y principios para el diseño, la documentación y la evaluación de arquitecturas de software, independientemente de los procesos de desarrollo específicos.
Objetivos:
• Debatir y conciliar las decisiones arquitectónicas fundamentales con los implicados provenientes de requisitos, gestión, desarrollo, operaciones y prueba.
• Comprender las actividades esenciales de la arquitectura de software y llevar a cabo aquellas correspondientes a los sistemas de tamaño pequeño y mediano.
• Documentar y comunicar arquitecturas de software basadas en vistas arquitectónicas, patrones de arquitectura y conceptos técnicos.
Adicionalmente, esta formación abarca:
• El concepto y el significado de la arquitectura de software.
• Las tareas y responsabilidades de los arquitectos de software.
• El papel de los arquitectos de software en los proyectos de desarrollo.
• Métodos y técnicas correspondientes al estado del arte para desarrollar arquitecturas de software.
Examen:
Para obtener la certificación será necesario superar un examen.
Requisitos:
El iSAQB e. V. puede comprobar los siguientes prerrequisitos en los exámenes de certificación mediante las preguntas correspondientes.
Los participantes deberán contar con los siguientes conocimientos y/o experiencia. En particular, la experiencia práctica sustancial en el desarrollo de software en equipo es un prerrequisito importante para la comprensión del material de aprendizaje y la obtención de la certificación.
- Más de 18 meses de experiencia práctica en el desarrollo de software, obtenida mediante el desarrollo en equipo de varios sistemas fuera de la formación académica.
- Conocimiento y experiencia práctica con al menos un lenguaje de programación de alto nivel, especialmente:
- Conceptos de
- Modularización (paquetes, espacio de nombres, etc).
- Paso de parámetros (llamada por valor, llamada por referencia).
- Alcance (es decir tipo), declaración y definición de variables.
- Fundamentos de sistemas de tipos (tipos estáticos frente a tipos dinámicos, tipos genéricos de datos).
- Tratamiento de errores y excepciones en el software.
- Problemas potenciales de estado global y variables globales.
- Conocimientos básicos de:
- Modelado y abstracción.
- Algoritmos y estructuras de datos (por ejemplo, Listas, Árboles, Tablas Hash, Diccionario, Mapa).
- UML (diagramas de clase, de paquetes, de componentes y de secuencia) y su relación con el código fuente.
Además, los siguientes temas serán útiles para comprender diferentes conceptos:
- Fundamentos y diferencias de la programación imperativa, declarativa, orientada a objetos y funcional.
- Experiencia práctica en
- Un lenguaje de programación de alto nivel.
- Diseñar e implementar aplicaciones distribuidas, como sistemas cliente-servidor o aplicaciones web.
- Documentación técnica, especialmente la documentación del código fuente, el diseño del sistema o conceptos técnicos.