Architectural Styles in Software Engineering
Architectural Styles in Software Engineering
L STYLES IN
SOFTWARE
ENGINEERING
Fundamentals of Software Engineering
LAYERED ARCHITECTURE
Layered architecture is a software architecture pattern where the system is divided into
multiple layers, each responsible for a specific set of functions.
MAIN TAKEAWAYS
Layers in software architecture are typically structured hierarchically
Each layer is responsible for specific functionalities.
Communication between layers usually follows a sequential pattern, with data being passed
from one layer to the next.
Layers facilitate the separation of concerns, enhancing modularity and simplifying
maintenance of the system.
Common layers include the presentation layer, which handles user interface, the business logic
layer, responsible for processing and decision-making, and the data access layer, managing
data retrieval and storage.
EXAMPLE
Challenges in distributed architectures include network latency, data consistency, and security.
Peer-to-Peer networks.
CLIENT-SERVER
ARCHITECTURE
Client-server architecture is a software architecture pattern where client devices request
services or resources from servers, which fulfill these requests.
MAIN TAKEAWAYS
In client-server architecture, clients initiate requests for data or services, while servers respond
to these requests and provide the necessary resources.
Client-server architectures can be either two-tier (client and server) or multi-tier (client,
application server, and database server).
Types of client-server architectures include thin clients, thick clients, and web-based clients.
Email systems
TYPES OF CLIENT-SERVER
ARCHITECTURE
Two-Tier Architecture
Client and server layers.
Client handles presentation logic.
Server manages data storage.
Example: FTP, Telnet.
Three-Tier Architecture
Presentation, application, and data layers.
Better scalability and flexibility.
Example: Web-based applications.
Web-Based Architecture
Presentation: web browser.
Application: web server.
Example: Online shopping websites.
Thin Client vs. Thick Client
Thin Client: