3.45 out of 5
25 reviews on Udemy

Software Architecture

A course on Software Design, Coupling, Architecture genres and style
Aishwarya Mukherjee
7,048 students enrolled
English [Auto-generated]
Learn about software design and coupling
Understand software architecture, object oriented design
Master function oriented design and function oriented design
Know about user interface design, architecture genres

When we talk about the architecture of a software, we talk about a plan that describes a set of aspects and decisions that are important to a software. This implies taking into consideration all kinds of requirements (performance, security, etc.), the organisation of the system, how do the the system parts communicate between each other, if there are some external dependencies, what are the guidelines and implementation technologies, what are the risks to take into consideration, and many more.

The architecture of a Software includes decisions. If you would make a change to one of the software’s aspects or decisions, would there be a huge impact and would it be very hard to change it?

Most probably, the answer will be yes. So why is it that we talk so much about having a good software architecture?

Here are the three main reasons why a good software architecture is so important when it comes to development.

  • A basis for communication: software architecture is a sort of plan of the system and is primordial for the understanding, the negotiation and the communication between all the stakeholders (user side, customer, management, etc.). In fact, it makes it easier to understand the whole system and therefore makes the decisions process more efficient.

  • The earliest decisions: the first decisions taken are at this stage. Those early decisions have a huge importance on the rest of the project and become very difficult to change the more we advance in the process  

  • Transferability of the model: software architecture defines the model of the software and how it will function. Having it makes it possible to reuse this model for other softwares; code can be reused as well as the requirements. All the experience we get while doing that architecture is also transferred. This mean that we know and can reuse the consequences of the early decisions we took on the first place.

 In this course, you will learn the main aspects of software architecture in detail.

SE Part 6

Software design
Coupling Classification
Software Architecture
Object oriented design
Function oriented design
User interface design
Architecture genres
Architecture style
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
3.5 out of 5
25 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


1 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion