iSAQB® Certified Professional for Software Architecture - Foundation Level
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.
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.
This curriculum reflects the contents currently considered by the iSAQB members to be necessary and useful for achieving the learning goals of CPSA-F. It is not a comprehensive description of the entire domain of 'software architecture'.
Participants should have the following knowledge and/or experience. In particular, substantial practical experience from software development in a team is an important prerequisite for understanding the learning material and successful certification.
More than 18 months of practical experience with software development, gained through team-based development of several systems outside of formal education
Knowledge of and practical experience with at least one higher programming language, especially: