About the Course
The CSPA-F course provides participants with the knowledge and skills necessary to design, specify, and document software architecture to fulfil the respective requirements of 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 with adequately detailed requirements.
The course will teach methods and principles for design, documentation, and evaluation of software architectures that are independent of specific development processes. Join us today, and get certified!
Chapter 1: Basic Concepts of Software Architecture
- Discuss definitions of software architecture
- Understand and explain the goals and benefits of software architecture
- Understand software architecture as part of the software lifecycle
- 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
- Challenges of distributed systems
Chapter 2: Design And Development of Software Architectures
- Select and use approaches and heuristics for architecture development
- Design software architectures
- Design and implement cross-cutting concepts
- Describe, explain and appropriately apply important solution patterns
- Explain and use design principles (Abstraction, Modularization etc)
- Manage 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 concepts
- 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 assessment 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
By the end of the course, participants will be able to:
- Successfully coordinate essential decisions for a software architecture with other project participants from the fields of requirements management, project management, testing, and development.
- Document and communicate software architectures based on architecture patterns and technical concepts.
- Understand the essential steps of software architecture design and to independently implement software architecture for small and medium-sized systems.