KEMBAR78
Software Architectural Styles | PDF | Operating System | Object Oriented Programming
0% found this document useful (0 votes)
14 views2 pages

Software Architectural Styles

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views2 pages

Software Architectural Styles

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Software Architectural Styles

1. Data-Centered Architecture
- Definition:
A central data repository is used, and multiple components interact with it to read, modify, or update data.
- Characteristics:
- A single data source (repository or blackboard).
- Loose coupling between components.
- Components communicate indirectly through the data store.
- Examples:
- Database Management Systems (DBMS)
- Version Control Systems (Git, SVN)
- Blackboard Systems (used in AI and expert systems)

2. Data Flow Architecture


- Definition:
Data moves through a sequence of processing elements, where each step transforms the data before pas
- Characteristics:
- Transformation-based processing (input -> process -> output).
- Components are loosely coupled.
- Well suited for stream processing and signal processing applications.
- Types:
- Batch Processing Systems (e.g., payroll systems).
- Pipeline Architecture (e.g., image processing, compilers).
- Examples:
- Unix Pipes and Filters
- Compilers (Lexical Analysis -> Syntax Analysis -> Code Generation)

3. Call and Return Architecture


- Definition:
This architecture is based on function calls where a main program calls submodules, forming a hierarchica
- Characteristics:
- Modular and structured approach.
- Control flows from the main module to submodules via function calls.
- Used in procedural programming.
- Types:
- Main-Subroutine Architecture (e.g., C, Pascal).
- Object-Oriented Architecture (e.g., Java, C++).
- Examples:
- Library-based applications
- Object-oriented software (Java, C++)
- Client-Server Systems (e.g., Web Applications)
4. Layered Architecture
- Definition:
The system is organized into layers, where each layer provides services to the layer above it and depends
- Characteristics:
- Separation of concerns (each layer has a specific role).
- Encapsulation and abstraction are used.
- Changes in one layer do not affect other layers.
- Examples:
- Operating Systems (OS) (Hardware -> Kernel -> Shell -> Applications)
- Network Protocols (TCP/IP, OSI Model)
- Web Applications (Presentation -> Business Logic -> Data Layer)

Comparison Table:

| Architecture Style | Key Feature | Example Applications |


|-------------------|--------------------------------|------------------------------|
| Data-Centered | Centralized data storage | DBMS, Git |
| Data Flow | Sequential data transformation | Compilers, Unix Pipes |
| Call and Return | Function-based structure | OOP, Client-Server Apps |
| Layered | Organized into hierarchical layers | OS, Web Apps, TCP/IP |

You might also like