Software Architecture & Design From Scratch Of Large Systems

Posted By: ELK1nG

Software Architecture & Design From Scratch Of Large Systems
Published 10/2024
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 429.97 MB | Duration: 1h 48m

These Lectures are designed for all software professionals, architects, senior system design engineers and Managers

What you'll learn

Difference between Software Architecture & Design and their Goals of Architecture

Key Principles of Software Architecture & Design

Architecture Models of Software Architecture & Design

Software Architecture & Design Object-Oriented Paradigm

Data Flow Architecture Software Architecture & Design

Data-Centered Software Architecture

Hierarchical Software Architecture & Design

Interaction-Oriented Software Architecture & Design

Distributed Software Architecture

Component-Based Software Architecture

User Interface

Software Architecture Techniques

Requirements

Any software professional can go through this Course to get a bigger picture of how high quality software applications and products are designed.

Description

Congratulations! You're going to be a Software Architect!Are you ready to take your career to the next level?Do you want to master Software Architecture and System Design?You came to the right place!Becoming a Software Architect is the holy grail for almost all developers.Architecting software systems is a skill that is in huge demand, but it is not a readily available skill. To understand why this skill is rare to find, let's go through a few lines from Martin Fowler's blog on architecture.Great salary, working with management, dealing with up-to-date technologies and patterns, working with a variety of projects and teams - all these make the Software Architect one of the most desired positions in the software industry.ut becoming a Software Architect is not easy. There is no academic course for that, and no formal training.You might assume that being a great developer is enough to become a great Software Architect - but that's not the case.A great Software Architect employs a mix of great technical skills, the ability to take a high-level look and great interpersonal skills.If you aspire to become a Software Architect, or you are already a Software Architect and you need a good refresher, this is your best resource.This is also the perfect place for you to prepare and gain confidence for an upcoming System Design Interview.It takes a number of years for a developer to learn enough to become an architect. This learning largely depends on the kind of opportunities that you get in your career. Often these opportunities are limited to specific areas of work only. However, to be an architect, you must possess extensive technical knowledge of as many areas as possible. You must understand all the complexities and challenges in different parts of a system. You need the ability to make upfront decisions by understanding various trade-offs. You should be able to foresee or anticipate critical problems that a system can face during its evolution.This is where the 'Developer To Architect' course can be very useful for you. It assumes that you already have great development skills, and it builds from there. It extensively covers architecting non-functional properties of a system, handling large-scale deployments, and internally working on popular open-source products for building software solutions.This course is perfect for you if:You want to master Software Architecture, a topic that is not usually taught in colleges or coding boot campsYou want to become a Software Architect or a senior member of technical staff, such as a Senior / Principal Software Engineer or Technical LeadYou are preparing for a System Design Interview and want to increase your chances for success, as well as stand out from the crowd of candidates- Do I need to be a Software Architect to take this course?Absolutely not! A Software Architect is just a title. In fact, many companies don't give this official title to anyone. Most Software Architecture and System Design are done by trusted engineers within the organization. - What is the importance of Software Architecture, and why do I need to learn it?Modern software development of large-scale systems is very complex. Typically it involves many months of work by multiple software engineers. Just like no one would attempt to build a skyscraper without a solid plan and architecture, it is inconceivable to take on a big software project without proper design and an approved Software Architecture. If the Software Architecture of a system is done poorly the project will likely fail. However, if the software architecture is done correctly, it can have an enormous positive impact on many lives and help your organization grow and thrive.- Is there any coding involved in the course?No. Software Architecture is part of the design phase of a large-scale system. Coding is done only when the Software Architecture is finalized.By the end of the course, you will have all the skills you need to take on an ambiguous and high-level requirement and go through all the stages of a system design, all the way to its final Software Architecture. Although this course does not involve coding, it is a highly practical course that will give you the fundamental knowledge for building real-world systems.So what are you waiting for? :)Let's get started!

Overview

Section 1: Introduction

Lecture 1 Difference between Software Architecture & Design

Lecture 2 Goals of Architecture

Lecture 3 Role of Software Architect

Section 2: Key Principles of Software Architecture & Design

Lecture 4 Types of Software Architecture

Lecture 5 What is Architectural Style?

Lecture 6 Architecture Design Process

Section 3: Software Architecture Models

Lecture 7 UML (Unified Modeling Language)

Lecture 8 Architecture View Model (4+1 view model)

Lecture 9 Architecture Description Languages (ADLs)

Section 4: Object-Oriented Paradigm

Lecture 10 Basic concepts and terminologies of object–oriented systems

Lecture 11 OO Analysis (object-oriented analysis)

Lecture 12 Object-Oriented Design

Section 5: Data Flow Architecture

Lecture 13 What is Data Flow Architecture?

Lecture 14 Batch sequential (classical data processing model)

Lecture 15 what are Filter & Pipe?

Lecture 16 Pipe and Filter Architecture (non-sequential pipeline mode)

Lecture 17 Process Control Architecture

Section 6: Data-Centered Architecture

Lecture 18 what is data-centered architecture?

Lecture 19 Types of Components

Lecture 20 Interactions or communication between the data accessors

Lecture 21 Repository Architecture Style

Lecture 22 Blackboard Architecture Style

Section 7: Hierarchical Software Architecture

Lecture 23 what is Hierarchical Architecture

Lecture 24 Main-subroutine

Lecture 25 Master-Slave

Lecture 26 Virtual Machine Architecture

Section 8: Interaction-Oriented Software Architecture

Lecture 27 Interaction-Oriented Architecture

Lecture 28 Model-View-Controller (MVC)

Lecture 29 Presentation-Abstraction-Control (PAC)

Section 9: Distributed Software Architecture

Lecture 30 Explanation of Distributed Software Architecture

Lecture 31 Client-Server Architecture

Lecture 32 Broker Architectural Style

Lecture 33 Service-Oriented Architecture (SOA)

Section 10: Component-Based Architecture

Lecture 34 What is a Component?

Lecture 35 Concept of Component-Based Software Architecture

Lecture 36 Views of a Component

Lecture 37 Characteristics of Components

Lecture 38 Principles of Component−Based Design

Lecture 39 Conducting Component-Level Design

Section 11: User Interface

Lecture 40 what is User Interface?

Lecture 41 Graphical User Interface

Lecture 42 User Interface Models

Section 12: Software Architecture Techniques

Lecture 43 Iterative and Incremental Approach

These tutorials are designed for all software professionals, architects, and senior system design engineers.,Managers of architecture teams