CPSA-F

iSAQB® Certified Professional for Software Architecture - Foundation Level

Description

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.

Target Audience

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'.

Requirements

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:
    • Concepts of
      • modularization (packages, namespaces, etc.)
      • parameter-passing (call-by-value, call-by-reference)
      • scope, i.e. of type- and variable declaration and definition
    • Basics of type systems (static vs. dynamic typing, generic data types)
    • Error- and exception handling in software
    • Potential problems of global state and global variables
  • Basic knowledge of:
    • modelling and abstraction
    • algorithms and data structures (i.e. Lists, Trees, HashTable, Dictionary/Map)
    • UML (class, package, component and sequence diagrams) and their relation to source code

 

Furthermore, the following will be useful for understanding several concepts:

  • Basics and differences of imperative, declarative, object-oriented and functional programming
  • Practical experience in:
    • an object-oriented programming language (i.e. Java or C#)
    • designing and implementing distributed applications, such as client-server systems or web applications
    • technical documentation, especially documenting source code, system design or technical concepts

Download the syllabi for this certification or see sample exams.

Go to resources

Book your Certification Exam

brightest green exam

Brightest Green

Exam

Electronic group exams of at least 6 participants in six different languages, anywhere in the world.

Contact us
brightest-center-exam

Brightest Center

Exam

Electronic exam for individuals at any of the 5200+ Test Centres with easy registration via the Pearson VUE website.

Pearson VUE website
brightest paper exam

Brightest Paper

Exam

The classic exam experience for groups of at least 6 participants in a growing number of languages.

Contact us
brightest private exams

Brightest Private

Exams

Electronic exams for individuals administered by a Pearson VUE expert in real time via webcam (now also available for ISTQB).

Pearson VUE website