Open In App

Fundamentals of Software Architecture Design

Prerequisite : Fundamentals of Software Architecture

Software Architecture Design :
Software architecture design, software architectural modelling or software architectural patterns are used to represent how the system will act on the basis of software elements, relationships and properties. It is mostly used as the blueprint of the project which is to be built. Software architecture design helps to connect the technical and operational aspects by defining and structuring a solution. The architecture and designing part can be broken down into two pieces



Importance Of Software Design Architecture :

Software Architecture Design Factors :
When a structured framework is designed for the product to conceptualize its behavior, software elements and relationship etc. in that case different aspects related to the software product are considered for designing the software architecture. The below figure represents all these factors.



Major Goals Of Software Design Principles :

Design principles :
When different design principles are followed during software architecture design it not only makes the designing process simpler but also it results easier and faster development of the product with low cost, low effort, and minimized requirement maintenance and follow-up.

  1. Separation Of Concerns – 
    This principle states that the software should be distinguished based on the working of the software. For example this can be achieved by segregating the business model from the implementation part so that the different people concerned for each module do not have to worry about the other one.
  2. Encapsulation –
    It helps in hiding parts of application from the other parts. This helps in improving the project as it ensures changes in one part will not affect to the other part of the application.
  3. Don’t Repeat Yourself (DRY) –
    Avoids the duplication of the functionality which comes within a single application. Means avoids repetition and implement one piece of code for a single component. This principle will decrease the complexity of the application.
  4. Principle of Least Knowledge –
    It is also called as LoD (Law of Demeter) which helps in avoiding interdependency in between the components. As the components are unknown about internal architecture of the product which contains other components or objects.
Article Tags :