Architectural styles for Software Design

The architectural styles that are used while designing the software as follows:

1. Data-centered architecture

  • The data store in the file or database is occupying at the center of the architecture.
  • Store data is access continuously by the other components like an update, delete, add, modify from the data store.
  • Data-centered architecture helps integrity.
  • Pass data between clients using the blackboard mechanism.
  • The processes are independently executed by the client components.
data centered architecture

2. Data-flow architecture

  • This architecture is applied when the input data is converted into a series of manipulative components into output data.
  • A pipe and filter pattern is a set of components called as filters.
  • Filters are connected through pipes and transfer data from one component to the next component.
  • The flow of data degenerates into a single line of transform then it is known as batch sequential.

3. Call and return architectures

This architecture style allows to achieve a program structure which is easy to modify.

Following are the sub styles exist in this category:

1. Main program or subprogram architecture
  • The program is divided into smaller pieces hierarchically.
  • The main program invokes many of program components in the hierarchy that program components are divided into subprogram.
2. Remote procedure call architecture
  • The main program or subprogram components are distributed in network of multiple computers.
  • The main aim is to increase the performance.

4. Object-oriented architectures

  • This architecture is the latest version of call-and-return architecture.
  • It consist of the bundling of data and methods.

5. Layered architectures

  • The different layers are defined in the architecture. It consists of outer and inner layer.
  • The components of outer layer manage the user interface operations.
  • Components execute the operating system interfacing at the inner layer.
  • The inner layers are application layer, utility layer and the core layer.
  • In many cases, It is possible that more than one pattern is suitable and the alternate architectural style can be designed and evaluated.
layered architecture