Software Architecture Styles: Patterns & Components

Instructor: Meghalee Goswami

Meghalee has a masters of computer science and communication engineering.

Software architecture is the blueprint of a software system. In this lesson, you will learn about the different styles of software architecture like data-centric, layered and object-oriented styles.

Introduction

Every software requires a proper plan and detailed blueprint before stepping into the development. Software architecture is the high level structure used for creating software systems and is actually a step-by-step blueprint of the entire software that is to be built. The purpose of the software and its specific functionalities are defined by the software's architectural style and pattern used.

Architectural style

The architectural style is a very specific solution to a particular software which typically focuses on how to organize the code created for the software. It is the granularity of highest level that focuses on creating the layers and modules of the software and allowing an appropriate interaction between the various modules for giving the right results upon implementation.

The architectural pattern is the description of relationship types and elements along with a set of constraints to implementing a software system. The patterns are usually resuable solutions for common problems or models.

There are various types of architectural styles followed for software creation. In this lesson, we discuss data-centric, object-oriented, and layered architectural patterns.

Data-Centric Style

As the name suggests, the data-centric architecture style has centralized data that is used by various components of the software, and these components access the data repositories of the software. The best example for such an architectural style is the relational database system that follows a database schema in which data stored in various tables inside the database is accessible by various components used in the software. Think about an inventory management software with huge amount of data to handle. Typically this type of a business requirement would use the data-centric style.


Data-centred architectural style
Fig1


Layered Architecture Style

Also known as n-tier architectural style, it is one of the most common styles used in software development life cycle. This style is divided into various horizontal layers and each layer has some specific function. Generally, this architectural style has four layers namely presentation, business, persistence, and database, where each layer has a different function. Presentation layer deals with the user interface, the business layer is responsible for the various business rules and conditions, persistence layer makes data accessible to the other layers and the database layer stores and provides data to the other components. Large business organizations with a focus on user interface, use this architectural style. Because of the layered approach, different teams can be allocated to work on the different layers.


Layered Architecture Style
Layered


To unlock this lesson you must be a Study.com Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back
What teachers are saying about Study.com
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? Study.com has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account
Support