Introduction To Architectural Design Architectural Design Relationship between


Introduction To Architectural Design

Architectural Design • Relationship between - Data & components - is represented • i. e. • Layout of the system - (or Program structure) is created • Done by - “Software Architect”

Software Architecture

• Architectural design – Is – the design process for identifying - The subsystems And framework - for subsystem control and communication • Architectural design – • Establishes overall structure of the software system

• Software architecture – is - a structure of systems – - which consists of – - various components, externally visible properties of these components & the inter-relationships among these components





Importance of SA • SA gives • the representation of the computer based system, • that is to be built. • Some early design decisions • can be taken using SA • & • hence system performance and operations • remain under control.

Structural Partitioning (partitioning the Architecture)

Partitioning the Architecture • “horizontal” and “vertical” partitioning is required

Structural Partitioning • The program structure can be partitioned - Horizontally or vertically • i. e. • Horizontal partitioning • Vertical partitioning

Horizontal Partitioning • Defines – separate branches, for each major program function - ex. College Hierarchy (Principal, Ho. D, Staff, Students, etc) • System is partitioned into – input, data transformation (processing) and output. • in horizontal partitioning, Design making modules are at the top of the architecture.

Fig. Horizontal Partitioning decision-makers workers

Vertical Partitioning • Control & Work is distributed in top-down manner • Define – • separate branches of the module hierarchy • for each major function • Ex. Departments in the college • Control module – • is used • to coordinate the communication between functions

Fig, . Vertical Partitioning function 3 function 1 function 2

Architectural Styles & Patterns

1. Data-centered Architectures 2. Data Flow Architectures 3. Call And Return Architectures 4. Object-oriented Architectures 5. Layered Architectures

1. Data-centered Architectures • Data-store • lies at the centre & - Other components frequently access it • By performing - Add, - Delete, - And modify operations

Fig. - Data-Centered Architecture

2. Data Flow Architectures • Series of transformations are applied to produce the output data • The set of components (Filters) are connected by pipes - To transform data from one component to another. • These filters work independently (Without bothering bout the working of neighboring filter)

Data Flow Architecture

3. Call And Return Architectures • Program structure • is organized into modules • This architecture shows – - How modules call each other How they are decomposed & How they are combined again • To get an integrated module

Call and Return Architecture

4. Object-oriented Architectures • System is decomposed • into number of interacting objects • This architecture identifies - Object classes - Their attributes & - the corresponding operations

5. Layered Architectures • Composed of different layers - From higher-level to lower-level • Outer layer performs – - user interface operations • While • Components in inner layer - perform OS interfaces & machine level interfaces.

Layered Architecture
- Slides: 29