Software Architecture and Design Essentials

Software Architecture and Design Essentials

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 5.5 Hours | 4.70 GB

For Developers & Programmers who aspire to learn Software Design & love to Architect great Software Products

This course will take you on an elaborate journey from the inception of an Idea to the final Solution teaching every aspect of the software life cycle emphasizing on the significance of Architecture and Design .

One of the major activities performed by the development team is Requirement Analysis . This course clears every doubt that a tech guy has on his mind ‘on what must be done during requirements phase ‘. Detailed lectures with illustrations , animations using real world examples provide the required depth of information covering the topics of Object Oriented Analysis .

Dedicated lectures on Non-Functional Requirements /Quality Attributes will provide you with so much detail that , every design you create hence forth will have you think about these attributes as top priorities. No more discussions or changes after production release.

You will learn a variety of architectural styles covering the Tenets of all major architecture styles that are prevalent in the industry.

This course also attempts to demystify some of the confusions that exist between the usage of terminology and/or the characteristics of the architectures with appropriate examples and illustrations .

You will learn Layered , Tiered Architecture styles, the tenets of SOA , core attributes of Microservices , overview of Containers and the latest Serverless Architecture styles . You will gain knowledge on all required architectural elements that constitute the respective style.

OOAD will no more be a tough concept after you go through the course ; this course enwraps all relevant concepts of the Object Oriented Paradigm , the Object Oriented Design Approach Guidelines and Principles . Visual Models that must be created and their benefits. All these with step-by-step modelling tutorial using real-world examples.

Everything is by Design : You will learn Design Patterns , SOLID principles , Distributed Transaction Patterns , Structure Diagrams , Behavior Diagrams for the real-world examples discussed during Requirement and Architecture discussions .

This will provide you with a wholistic picture of architectural analysis and design. You would have done an end-to-end solutioning when you go through each lecture one by one.

You will learn UML Modeling and together we will create design diagrams step-by-step.

We have embedded real world code examples for all sections as appropriate.

What you’ll learn

  • Design Principles , Design Patterns with real world illustrations and code examples. Original Assignments and Quizzes for practice.
  • Create UML models step-by-step for different real-world scenarios . Create Design Diagrams (Structure and Behavior) required for software design.
  • Introduction to Architectural Styles covering the evolution from monolith to microservices and benefits of their usage .
  • Patterns for handling distributed transactions in microservices for complex scenarios.
  • Coding Principles and Techniques to write Clean Code.
  • Understand requirements in the perspective of a software designer /architect. Detailed analysis of Quality Attributes.
  • Identify architecturally significant requirements to make mindful design decisions.
  • Real world Case studies using a Retail Point of Sale application ; covered across the course.
  • Mindset techniques and build awareness of common mistakes and anti-patterns .
  • Create Design and Architecture for your software projects / products .
Table of Contents

Introduction
1 Story Board – What is inside the course !

Technology – The art of writing clean code
2 Technology Introduction
3 Simplicity is the ultimate sophistication – The KISS Principle
4 Reference Article Builder
5 Don’t Repeat Yourself – The DRY Principle
6 Consistency at its best – The Single Level of Abstraction Principle
7 You Aren’t Gonna Need It ! – The YAGNI Principle
8 GRASP – General Responsibility Assignment Software Patterns
9 Unified Modeling Language – UML

Requirement Engineering – An Object Oriented Approach for Requirement Analysis
10 Requirement Engineering Introduction
11 Requirement Elicitation – Essentials for a good software design
12 Requirement Specification and Classification – Requirement Grooming
13 Analyzing Quality Attributes – Usability , Reliability & Availability
14 Quality Attributes – Modifiability , Flexibility & Scalability
15 Other Significant Quality Attributes that impact Architecture
16 Architecturally Significant Requirements and Constraints – Impactful Factors
17 Requirement Analysis – Object Oriented Analysis Method
18 Step-By-Step Usecase Modeling
19 Create Domain Model Step-By-Step

The Bridge – Object Oriented Design
20 Object Oriented Design – The Method

Software Architecture – Styles and Practices
21 Introduction
22 The Big Ball of Mud
23 Layers of Isolation – Layered Architecture Style
24 The Client-Server Model – Tiered Architecture
25 Service Oriented Architecture Service-Based Model
26 Microservices Architecture – Part 1
27 Microservices Architecture – Part 2
28 Serverless Architecture

Everything is by Design – Design Principles
29 Introduction
30 Single Responsibility Principle
31 Open Closed Principle
32 Liskov Substitution Principle
33 Interface Segregation Principle
34 Dependency Inversion Principle
35 Principles of Package and Component Design

Everything is by Design – Design Patterns
36 Introduction
37 (new) Singleton w Object Pool Design Pattern
38 The Factories
39 Strategy design pattern
40 (new) The Observer
41 The Adapter Pattern
42 The Facade
43 Distributed Transactions in Microservices – Introduction
44 Distributed Transactions in Microservices – Two Phase Commit 2 PC
45 SAGA Orchestration – Patterns for distributed transactions in Microservices
46 SAGA Choreography – Patterns for distributed transactions in Microservices

Everything is by Design – Architectural Views and Design Diagrams
47 Class Diagrams – Building blocks of the system
48 Sequence Diagram
49 Component Diagram
50 Physical View – Deployment Diagram

Evaluate – Reviews for Architecture and Design
51 ATAM – Architecture Trade-Off Analysis Method
52 Software Design Evaluation