Software Architecture Fundamentals
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
Fundamental concepts in software architecture
- 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
Describing and communicating software architectures
- 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
Developing software architectures
- 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
Software architectures and quality
- 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
Tools for software architects
- Modeling tools
- Tools for statistical analysis
- Tools for dynamic analysis
- Tools for code generation
- Requirements engineering tools
- Documentation tools
- Build systems/tools
- Configuration management
Selected examples of software architectures
Are you looking for more?
We offer you this course as an inhouse training for your company. Here you can learn more about our service packages. Tell us more about your needs, so that we can tailor an offer that perfectly fits your requirements.
Right now we are not offering this course as a public training in English.
You can find all upcoming dates for our open trainings in German on our Website.