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
Homepage
https://www.udemy.com/course/software-architecture-design-from-scratch-of-large-systems/