0% found this document useful (0 votes)
23 views10 pages

SS ZG653 (RL 2.1) : Software Architecture: Software Structure and Views

This document discusses different views and structures in software architecture. It describes several architectural frameworks that use different views. It then focuses on three key structures: module structure, component-and-connector structure, and allocation structure. For each structure, it explains the elements, relationships, and purposes. It also maps the structures to the Rational Unified Process 4+1 architectural views.

Uploaded by

abhay
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)
23 views10 pages

SS ZG653 (RL 2.1) : Software Architecture: Software Structure and Views

This document discusses different views and structures in software architecture. It describes several architectural frameworks that use different views. It then focuses on three key structures: module structure, component-and-connector structure, and allocation structure. For each structure, it explains the elements, relationships, and purposes. It also maps the structures to the Rational Unified Process 4+1 architectural views.

Uploaded by

abhay
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/ 10

SS ZG653 (RL 2.

1): Software
Architecture

BITS Pilani Software Structure and Views


Pilani|Dubai|Goa|Hyderabad Instructor: Prof. SantonuSarkar

Jan 11, 2015


Views and Architectural Structure- Recap..
• Architecture is a set of Views
– Each view represents certain architectural aspects of the system, created for a stakeholder
– All the views combined together form the consistent whole
• A Structure is the underlying part of a view- essentially the set of elements, and
their properties
– A view corresponding to a structure is created by using these elements and their inter-
relationships

Many Views exist

• Rational Unified Process/Kruchten 4+1 view (uses UML notations to describe these views)
• Siemens architecture framework- Conceptual, Module, Code, Execution views
• C4ISR framework – Operational, system and technical
• Classical approach – Data flow and control flow views
• RM-ODP (suitable for distributed system development) – 5 viewpoints

03/26/2024 SS ZG653 2
Three Structures will be covered
• Module Structure
– How is the system to be structured as a set of functional units
(modules)?

• Component-and-connector structures
– Here component means a computation unit at runtime
– Connector is the communication channel between the components
– Models parallel execution

• 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 …)

03/26/2024 SS ZG653 3
Software Structures
• Module Structure includes
– Decomposition Module
• Sub-modules
• All sub-mobiles combined together is the
module
– Uses Decomposition
• A modules uses the functionality of another Class
module for its behavior
Uses
– Layered
• Hierarchical organization with restrictions
that layer n uses the service of layer n-1 Layered
– Class or generalization
• Similar to OO concept

03/26/2024 SS ZG653 4
Component and Connectors
Components-and-connector

Client-Server Concurrency Process Shared data

• 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

03/26/2024 SS ZG653 5
Allocation
Allocation

Deployment Implementation Work assignment

• 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
03/26/2024 SS ZG653 6
Architectural Structures
Software Structure Relations Useful For
Decomposition Is a sub-module of Resource allocation and
project structuring;
information hiding,
encapsulation;
configuration control

Uses Requires the correct Engineering subsets;


presence of engineering extensions
Layered Requires the correct Incremental development;
presence of; uses the implementing systems on
services of; provides top of “virtual machines”
abstraction to portability

Class Is an instance of; shares In object-oriented design


access methods of systems, producing rapid
most-alike implementations
from a common template

03/26/2024 SS ZG653 7
Architectural Structures
Software Structure Relations Useful For
Client-Server Communicates with; Distributed operation;
depends on separation of concerns;
performance analysis; load
balancing

Process Runs concurrently with; Scheduling analysis;


may run concurrently with; performance analysis
excludes; precedes; etc.
Concurrency Runs on the same logical Identifying locations where
thread resource contention exists,
where threads may fork,
join, be created or be killed

Shared Data Produces data; consumes Performance; data integrity;


data modifiability

03/26/2024 SS ZG653 8
Architectural Structures
Software Structure Relations Useful For
Deployment Allocated to; migrates to Performance, availability,
security analysis
Implementation Stored in Configuration control,
integration, test activities
Work assignment Assigned to Project management, best
use of expertise,
management of
commonality

03/26/2024 SS ZG653 9
Which Structure to Choose?
• Many opinions exist
• We will consider 4+1 view. This has been institutionalized as
Rational Unified Process of Architecture description
Infrastructure team
End-user • concerned with topology, communication,
• concerned with functionality security
• essentially module structure • essentially allocation (deployment). Other
l View people also call it as deployment view
Use-case- Binds all the four
Logica Physical View
views together and describes
the behavior of the system in Use case/ Scenarios View
a semi-structured text
nt
Process View opme
Devel
Architect/Integrator Development team
• concerned with performance, • concerned with software management
scalability.. • essentially allocation (implementation
• essentially component-connector and work-assignment)
03/26/2024 SS ZG653 10

You might also like