Software Architecture Patterns & Types | What is Software Architecture? – Video & Lesson Transcript | Study.com

Video Transcript

Architecture Style

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.

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 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 reusable 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 amounts of data to handle. Typically, this type of a business requirement would use the data-centric style.

Layered 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, where each layer has a different function: presentation, business, persistence, and database. The presentation layer deals with the user interface; the business layer is responsible for the various business rules and conditions; the 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.

Object-Oriented Style

This architectural style deals with breaking down the software architecture into individual components called objects. These objects are composed of attributes and methods, and they exist as independent entities that can communicate with other objects through function or method calls and interfaces. The major advantage of this type of architecture is the reusability of objects. A software system is a collection of entities. For example, if a system has a user account, then user will be an entity, and every individual user will be an object of type user having all the properties of a user.

Lesson Summary

All right, let’s take a moment to review what we’ve learned. Software development involves the use of a software architectural style that helps create a step-by-step blueprint of the software, describing the total number of components involved and their functionalities at various stages. The software uses a pattern or an architectural style where the pattern is a reusable solution for any problem faced during software design and development, while the architectural style is the structure of the software based on which the design is created. Three types of architectural styles have been described in this lesson, including layered, object-oriented, and data-centric.

Xổ số miền Bắc