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