Professional Documents
Culture Documents
Sewp Zg651 Software Architectures: Akumbhar@wilp - Bits-Pilani - Ac.in
Sewp Zg651 Software Architectures: Akumbhar@wilp - Bits-Pilani - Ac.in
Sewp Zg651 Software Architectures: Akumbhar@wilp - Bits-Pilani - Ac.in
SEWP ZG651
Software Architectures
1
akumbhar@wilp.bits-pilani.ac.in
9225505631
Welcome Aboard !
• Online contact session instructions
– Google meet for presentation
– Google sheet for attendance
– Schedule , next 4 weeks consecutive
• Introduction to Course
– Faculty + Students
– Course objectives and curricular
• First topic Today
• Introduction to Software Architecture
edition)
What we understand
VIEWER COMPOSER • The system has 5
elements
• They are
interconnected
• One is on the top
of another
PROTOCOL UTILITY
STORAGE
ENGINE FUNCTIONS
04/08/2020 SS ZG653 22
Architecture Styles
• Architecture style first proposed by Shaw and Garlan–
synonymous to “architecture pattern”
– A set of element types (what the element does- data store,
compute linear regression function)
– A set of interaction types (function call, publish-subscribe)
– Topology indicating interactions and interaction types
– Constraints
– Also known as architectural pattern
• We shall cover some of these patterns in details
Architectural
Pattern
X • Actual software system blueprint
derived from requirement
• Not architecture by • Contains design decisions
itself!! • Describes how it is deployed
• Addresses Quality of Service concerns
• Component-and-connector structures
– How is the system to be structured as a set of elements that have
runtime behavior (components) and interactions (connectors)
– What are major executing components and how do they interact
• Allocation structures
– How is the system to relate to non-software structures in it’s
environment (CPU or cluster of CPUs, File Systems, Networks,
Development Teams …)
• Client-Server
– Components are clients and servers and connectors are how they interact
• Concurrency
– Opportunities of parallelism, where connectors are logical thread of execution
dependency
• Process, or communicating processes
– Components that are processes and connectors are how they communicate
• Shared data, or repository
– Components have data store, and connectors describe how data is created,
stored, retrieved
• Deployment
– Units are software (processes from component-connector) and hardware
processors
– Relation means how a software is allocated or migrated to a hardware
• Implementation
– Units are modules (from module view) and connectors denote how they
are mapped to files, folders
• Work assignment
– Assigns responsibility for implementing and integrating the modules to
people or team
04/08/2020 SEWP ZG651 31
Architectural Structures
Software Structure Relations Useful For
Decomposition Is a sub-module of Resource allocation and
project structuring;
information hiding,
encapsulation;
configuration control
e
L
a
i
il
c
w
V
o
e
g
a
L
a
i
V
l
i
e
V
w
i
e
w
a semi-structured text
w
e
i
w
V
e
i
s
V
s
w
e
i
V
t
n
e
m
p
o
l
e
v
e
D
e
s
c
w
e
i
V
t
n
e
m
p
o
l
e
v
e
D
so
e
r
Architect/Integrator
c
P
Development team
o
r
P
• Thank You !
• All the Best !!