Software Architecture Fundamentals
Essential Concepts & Patterns
Although software architecture plays a decisive role in defining software reliability, performance, and maintenance cost, most developers are left to struggle with it and to learn through expensive mistakes and pitfalls!
This 3 day course introduces essential software architecture concepts and patterns. It takes a practitioner's approach and includes many case studies and real-life stories. The focus shifts quickly from essential concepts to different architecture viewpoints and decision making.
The course introduces essential architectural styles like microservices and patterns as well as touching hot topics like architecting for cloud.
Topics to be covered
- Introduce the Case Study to be used during the course
- What is Software Architecture [R1 - Ch 1]
2.1 What is software architecture?
2.2. Why is software architecture important?
2.3. Who are the consumers of software architectures?
2.4. Types of Software Architects and the role of each type[R1 - Ch2]
2.5. Documenting and Communicating Architecture
- Software Development Methodologies [R1 - Ch 2]
3.1. The Waterfall Model
3.2. Rational Unified Process [R2- Ch4]
3.3. The Agile Software Development Methodologies
3.4. Twelve-Factor App methodology
- Requirements Engineering [R1 - Ch 3.3]
4.1. Types of software requirements
4.1.1. Business requirements
4.2. The System Context [R6- Ch 8.2]
4.1.2. Functional requirements (Use Case Modeling [R6-Ch8.2], User Stories)
4.1.3. Non-functional requirements
4.3. SMART Software requirements
- Software Architecture Fundamentals
5.1. Software Architecture Concepts [R2 - Ch2]
5.2. Architectural Viewpoints, Views, and Perspectives R2 - Ch3]
5.3. Architecture Styles , Patterns and Reference Architectures
5.4. Architecture Decisions
5.5. Architecting for Cloud
- Functional Viewpoint
6.1. Develop Architecture Overview Diagrams
6.2. Component Modeling
- Information Viewpoint
7.1. Data Model
7.2. Information Models
- Operational Viewpoint
8.1. Operational Modeling
- Software architects/designers
- Technical leads
- Senior application developers
- Criteria 1: Complete the Modern Software Design Course
- Criteria 2:
2.1. Understand UML
2.2. Understand Design Patterns
2.3. Having several years of software development experience is preferred to gain the full benefits of this course.
||For more information about training courses, please send an email with the name of the required training to firstname.lastname@example.org
One of our representatives will respond to your inquiry via email within three working days.
All rights reserved © SECC