Many people don’t really know the difference between software architecture and software design. Even for developers, the line is often blurry and they might mix up elements of software architecture patterns and design patterns.
The Definition of Software Architecture
In simple words, software architecture is the process of converting software characteristics such as flexibility, scalability, feasibility, reusability, and security into a structured solution that meets the technical and the business expectations.
The Characteristics of Software Architecture
As explained, software characteristics describe the requirements and the expectations of a software in operational and technical levels. Thus, when a product owner says they are competing in a rapidly changing markets, and they should adapt their business model quickly. The software should be “extendable, modular and maintainable” if a business deals with urgent requests that need to be completed successfully in the matter of time. As a software architect, you should note that the performance and low fault tolerance, scalability and reliability are your key characteristics. Now, after defining the previous characteristics the business owner tells you that they have a limited budget for that project, another characteristic
comes up here which is “the feasibility.”
Here you can find a full list of software characteristics, also known as “quality attributes,” here.

SOLID refers to Single Responsibility, Open Closed, Liskov substitution, Interface Segregation and Dependency Inversion Principles.
Software Design
While software architecture is responsible for the skeleton and the high-level infrastructure of a software, the software design is responsible for the code level design such as, what each module is doing, the classes scope, and the functions purposes, etc.
- Single Responsibility Principle means that each class has to have one single purpose, a responsibility and a reason to change.
- Open Closed Principle: a class should be open for extension, but closed for modification. In simple words, you should be able to add more functionality to the class but do not edit current functions in a way that breaks existing code that uses it

SOLID refers to Single Responsibility, Open Closed, Liskov substitution, Interface Segregation and Dependency Inversion Principles.
Other articles
infotheme
May 30, 2017Mr. Praveen Sajwan – About – Our Aim @ Infotheme
He is a professional Engineer and passionate creative moment picker, Mr. Sajwan maintain all the daily operations done in the firm. And they have another title here at InfoTheme named AMO. Cause of their best marketing skills, our firm really love them as an COO & AMD. Aim at Infotheme: Make it better then before […]
infotheme
May 30, 2017Mr. Nagendra Chauhan- About – Our Aim @ Infotheme
He is passionate to manage things as you decorate your home. Yes that’s why we love Mr. chauhan, He manage our sweet team daily and give them extra energy to boost bites on cake. And they have another title here at InfoTheme named CHRO. Yes as our mom choose a better life-partner to manage our home, […]
infotheme
May 30, 2017Mr. Rohitash Pundir – About – Aim @ InfoTheme
Mr. Pundir just completed their graduation and he is professional creative designer / engineer and really hungry to buy a sweet home @ moon. Mr. Pundir is Creative Designer / Team Head @ InfoTheme Designing & Content Creation team. Yes we love Him because he cook a dose of heavy chicken to serve our hungry […]
infotheme
May 30, 2017Mr. Amit Maithani – About – Aim @ Infotheme
Mr. Maithani is a great business analyst ever we seen in the Industry. He is C.F.O. and C.M.O. who manage all the creams at top of cake. And really help to build strong base of butter and yes sometime he do his some extra ethic to make the shape perfect. Yes that’s why we call him […]
Subscribe to Rakon
Get the latest posts delivers right to your inbox