Software Architecture Fundamentals

Duration in days
PDUs for Your Recertification
Price (net)

About the training

What’s involved in the day-to-day work of a software architect? In this course, you’ll learn, through practical examples, the fundamentals of software architecture. You’ll learn in detail what activities are involved in a software architect’s job, both with regard to projects and apart from projects. We’ll discuss methods for developing software architectures and put them into practice. In the process, we’ll also go into the subject of tools for defining software architectures. Finally, this course also covers how all the above are tied to quality management for software architectures.

Goal

This course will teach you in detail the activities involved in the day-to-day work of software architects. You’ll be provided with the fundamental methods required for taking on software architect tasks, both with regard to projects and apart from projects.

Target Group

Software architects, system architects, software designers, solution designers, developers

Content

  • Comparison of software architecture definitions
  • Definitions and reference to source code
  • Software architecture analogies
  • Advantages and goals of software architecture
  • Classification of software architecture in development
  • Tasks of software architects
  • Architecture and design decisions
  • Communicating software architectures to different stakeholders
  • Definition of architecture views and their meaning
  • Documenting architecture views
  • Explaining the meaning of general technical concepts
  • Describing and communicating interfaces
  • Technical documentation – essential fundamentals and quality characteristics
  • Approaches and heuristics for developing architectures
  • Designing architectures on the basis of known functional and non-functional requirements
  • Targeted use of black boxes and white boxes
  • Step-wise refinement and specification of components
  • Designing individual architecture views (components, distribution, run time)
  • Specification of architecture mapping onto source code
  • Separation of business and technical components in architectures
  • Impact of quality requirements
  • Impact of technical decisions and concepts
  • UML notation for various software architecture components
  • Key architecture patterns (e.g. MVC)
  • 7 design principles
  • Making use of component dependencies and associations
  • Relevant quality models
  • Tactics, practices and technical options for achieving quality goals
  • Qualitative assessment of software architectures per ATAM
  • Testing software architectures with regard to implementation
  • Modeling tools
  • Tools for statistical analysis
  • Tools for dynamic analysis
  • Tools for code generation
  • Requirements engineering tools
  • Documentation tools
  • Build systems/tools
  • Configuration management

This course includes the following:

Printed Certificate of Participation
Digital and Printed Course Material
Delicious Lunch and Snacks
Hot and Cold Beverages