Licensed Certified Professional for Software Architecture – Foundation Level (CPSA-F) trainings will provide participants with the knowledge and skills required to design, specify and document a software architecture adequate to fulfil the respective requirements for small and medium-sized systems. Based upon their individual practical experience and existing skills participants will learn to derive architectural decisions from an existing system vision and adequately detailed requirements. CPSA-F trainings teach methods and principles for design, documentation and evaluation of software architectures, independent of specific development processes.
Focus is education and training of the following skills:
- Discuss and reconcile fundamental architectural decisions with stakeholders from requirements, management, development, operations and test
- Understand the essential activities of software architecture, and carry out those for small- to medium sized systems
- Document and communicate software architectures based upon architectural views, architecture patterns and technical concepts.
Chapter 1: Basic concepts of software architecture
- Discuss definitions of software architecture.
- Understand and identify the benefits of software architecture.
- Understand software architecture as part of the software life cycle.
- Understand software architects' tasks and responsibilities.
- Relate the role of software architects to other stakeholders.
- Can explain the correlation between development approaches and software architecture.
- Differentiate between short- and long-term goals.
- Distinguish explicit statements and implicit assumptions.
- Responsibilities of software architects within the greater architectural context.
- Differentiate types of IT systems
Chapter 2: Design and development of software architectures
- Select and use approaches and heuristics for architecture development.
- Design software architectures.
- Identify and consider factors influencing software architecture.
- Design and implement cross-cutting concerns.
- Describe, explain and appropriately apply important architectural patterns.
- Explain and use design principles.
- Planning dependencies between building blocks.
- Achieve quality requirements with appropriate approaches and techniques.
- Design and define interfaces.
Chapter 3: Specification and communication of software architectures
- Explain and consider the quality of technical documentation.
- Describe and communicate software architectures.
- Explain and apply notations/models to describe software architecture.
- Explain and use architectural views.
- Explain and apply context view of systems.
- Document and communicate cross-cutting concerns.
- Describe interfaces.
- Explain and document architectural decisions.
- Use documentation as written communication.
- Know additional resources and tools for documentation.
Chapter 4: Software architecture and quality
- Discuss quality models and quality characteristics.
- Clarify quality requirements for software architectures.
- Qualitative analysis and asessment of software architectures.
- Quantitative evaluation of software architectures.
Chapter 5: Examples of Software architectures
- Know the relation between requirements, constraints, and solutions.
- Know the rationale of a solution’s technical implementation.