0% found this document useful (0 votes)
15 views28 pages

Lesson 8

Uploaded by

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

Lesson 8

Uploaded by

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

Software

Architecture and
Architectural Views
What is Software Architecture?

• The high-level structure of a software system,


encompassing elements, their interactions,
and the rules governing their interactions
• Defines the system’s structure and behavior,
and impacts the system’s success and
sustainability
Characteristics of Software
Architecture

● Organizes large-scale systems


● Facilitates communication between
stakeholders
● Manages complexity through abstraction
● Supports system evolution and
maintenance
What are Architectural Styles?

● It is known as the common solutions for


recurring design problems.
● It provides a blueprint for system design,
improving scalability and maintainability.
Examples of
Architectural
Styles
Layered
Architecture
This architecture consists
of components are
organized into layers,
each with a specific role.
Client-Server
Architecture
This architecture divides
the system into clients and
servers.
Microservices
This architecture is a
collection of loosely
coupled services.
Structural Layers of Software
Elements

● It is the elements of architecture that are


organized in layers.
● It provides a benefits in layering like:
separation of concerns, modularity,
flexibility.
Examples of
Structural
Layers
Presentation Layer
This layer consists of
user interface
components.
Business Logic
Layer
This layer consists of
Application core
functions.
Data Layer
This layer consists of
data storage and
management.
Impact of Software Architecture

●Performance
●Scalability
●Security
●Flexibility
What are Architectural Views?

● It is defined as different perspectives or


views that describe the system’s
architecture.
● It provides a communication from
architecture to various stakeholders with
different concerns (e.g., developers, users,
business analysts).
4+1 Architectural
View Model
It is developed by Philippe Kruchten to
describe system architecture using 5
different views
Logical View
This view focuses on
system functionality
Process View
This view addresses the
system performance and
concurrency.
Development View
This view organizes the
software in modules for
development and
management.
Physical View
This view maps software
onto hardware for system
deployment.
+1 Scenario View
This view captures use
cases to illustrate how
different components
interact.
C4 View Model
It is another method for
documenting architecture using
hierarchical views
Context Diagram
This diagram shows how
the system interacts with
external entities
Container Diagram
This diagram depicts
major containers like
databases, applications
Component
Diagram
This diagram describes
individual components
within containers
Code (Class)
Diagram
This diagram details the
specific classes within a
component
Effective Development of
Architectural Views

●Iterative development of views


●Incorporating feedback from
stakeholders
●Keeping views consistent and
updated
Thank
you!

You might also like