
You will get an idea of the broad topics that we will cover in this course and the roles this course is suitable for. |
You will learn the basics, the meaning, and the importance of software architecture.
You will learn what are architecture requirements or architecturally significant requirements?
You will learn about business goals and architecture attributes, and how to capture architecture requirements in terms of them as architecture scenarios.
You will learn about other forces impacting the software system architecture such as constraints, architecture principles, and standards.
This lecture initiates you into how to document software architecture. It informs you about the well-known architecture content frameworks used to represent architectures.
You will learn three of the five significant perspectives used for effective software architecture creation and documentation
You will learn the remaining two of the five significant perspectives used for effective software architecture creation and documentation
This lecture helps you understand and differentiate the different levels of architecture in an enterprise, and appreciate the value of abstraction in architecture
In this lecture, you will see documented examples for the significant architecture perspectives, for a fictitious software system.
You will learn what is the output or deliverable of the software architecture work
You will learn the common techniques you can use across the various architecture perspectives, to create software architecture
In this lecture, you will learn how to understand the current context and analyse it, as key steps towards coming up with the functional architecture.
You will learn how to arrive at high-level solution as a collection of functional components to complete the functional architecture.
You will learn the different activities you can perform to arrive at the logical architecture.
This lecture will take you in detail, through the common principles used in the logical architecture.
You will learn what are architectural styles, how they are useful to you, and see two architectural styles in detail.
You will learn about the microservices architectural style in detail with an example.
You will learn what are architectural patterns and how they are useful to you in creating software architecture.
You will learn the different activities you can perform to arrive at the technical architecture.
This lecture will help you learn about the various architecture types used in the technical architecture.
You will learn the well-known approaches to integration architecture - that is, how to integrate the system components with each other and/or with other systems.
In this lecture, you will learn what are requirement patterns and the commonly used architectural approaches to address them.
You will appreciate the use of frameworks, both third party and in-house developed, for common functionalities in technical architecture.
You will learn the different activities you can perform to arrive at the physical architecture.
This lecture helps you understand the concepts related to the performance and scalability architecture attributes. You will also learn how capacity planning is done in the physical architecture.
You will learn some of the commonly used tactics for meeting system behavioral architecture attributes such as performance, scalability, reliability, and availability, to arrive at the physical architecture.
You will learn the load-balancing tactic for meeting system behavioral architecture attributes, to arrive at the physical architecture.
This lecture will help you learn the partitioning tactic for meeting system behavioral architecture attributes, to arrive at the physical architecture.
You will learn about the serverless computing architectural pattern in detail with an example, to arrive at the physical architecture.
You will learn about the containerization architectural pattern in detail with an example, to arrive at the physical architecture.
You will learn some of the commonly used tactics for meeting the security and manageability architecture attributes, to arrive at the physical architecture.
You will learn the different aspects you need to focus on to arrive at the implementation architecture.
This lecture broadly covers the role of architecture work in different types of software life-cycle (SDLC) processes such as waterfall, iterative, and agile.
You will learn the different steps in the architecture process and how the architecture process fits in the software development life-cycle SDLC.
This lecture helps you understand what is software design, and how it is, related to and distinct from, software architecture.
You will learn the flavors of architecture work in different types of SDLC such as iterative, agile and also in some ad hoc occasions.
Software architecture is a broad subject and there are various aspects to it. To be effective as a software architect you need good all-round grip on the subject. This course will help you learn software architecture comprehensively starting from the basics all the way to its science, so that you can confidently apply the techniques to create your architectures.
Learn and Master Software Architecture in this Comprehensive Course
Learn Significant Architecture Perspectives: Functional Architecture, Logical Architecture, Technical Architecture, Physical Architecture, Implementation Architecture
Differentiate Enterprise Architecture, Solution Architecture, and Software Architecture
Capture Architecture Attributes, Architecture Requirements, Architecture Scenarios
Learn Architectural Styles, Architectural Patterns, Architecture Principles, Standards
Learn Microservices, Containers, Serverless Computing
Apply Architecture Tactics
Differentiate Software Design and Software Architecture
Must-have Knowledge of Software Architecture
Well-known software systems you have come across or used, have effective software architectures underlying them. It is software architecture that primarily enables the software to achieve its expected qualities such as usability, reliability, performance, scalability, and security. Addressing software architecture holistically from concepts, methods, principles, all the way to human aspects is important to help you acquire the knowledge more effectively.
Solid knowledge of software architecture is must-have for you if you want to build your career as an architect in the IT industry. There is good demand for knowledgeable software architects, and even if you are not playing the architect role now, knowing software architecture will make it easier for you to understand the software system well to effectively work on it at various levels.
Contents and Overview
How do I become an outstanding software architect? What is the importance of architecture while working with software systems? How do I capture architecture requirements for my software system? What are the different levels of architecture that I might work with? How do I arrive at architectural decisions? How do I appreciate the software architecture of a system?
You can get answers to your above questions and more in this course.
We have designed this comprehensive course on software architecture to be easily understood by people at all experience levels. This course contains 38 lectures and over 7 hours of content which you can follow at your own pace to master the subject of software architecture. To ensure your top-class learning, this course has been prepared and delivered by practicing architects, each with over 15 years of architecting experience in the Information Technology (IT) industry.
For your smooth convenient learning, we have logically broken this course down into 10 sections and each section closes with a quiz helping you refresh your learning. You will learn both the theory and practical aspects of software architecture.
The lectures of this course are in the voice of Sensei Technologies team member based in India and the accent of the voice is largely Indian English. However, to make it easier for you to follow the voice narration in the lectures, we have enabled captions (sub-titles) (English only) on all the lectures in this course. To see the captions, while going through any lecture in this course, please click on the "CC" button on the bottom right of the lecture screen and select "English US". Captions (sub-titles) will be helpful to you - please use this feature.
In this course, you will start with learning the basic concepts of architecture.
You will then learn, using the approach of architecture scenarios involving architecture attributes, how to capture architecture requirements. You will see examples of architecture scenarios.
After that, you will learn all the significant architecture perspectives used to create and completely document software architecture. You will see examples of representations of software architecture based on these significant architecture perspectives.
You will then learn the different techniques used in coming up with the software architecture, addressing the different significant perspectives of functional architecture, logical architecture, technical architecture, physical architecture, and implementation architecture. The course will take you through architecture styles, architecture patterns, architecture principles, standards, and architecture tactics, all of which are used in arriving at your architecture. You will learn learn microservices architectural style, and serverless computing and containerization architecture patterns, explained with examples.
You will, appreciate the idea of abstraction and abstraction levels, differentiate the different architectures in your enterprise such as enterprise architecture, solution architecture, and software architecture, and also be able to link them.
After that, you will learn the full architecture process and the steps followed in it, and how to adapt the architecture process depending on the software development life-cycle processes such as agile, iterative.
And, finally, you will understand the architect role in detail with the recommended skills.
By the end of this course, you will have valuable knowledge and skills, to create effective architectures for your software systems, and to understand the architectures of existing software systems and improve those architectures in a short period of time.