0% found this document useful (0 votes)
26 views19 pages

Software Design & Architecture

Best preparation for Navttc

Uploaded by

Hamza Nadeem
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)
26 views19 pages

Software Design & Architecture

Best preparation for Navttc

Uploaded by

Hamza Nadeem
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/ 19

Software Design & Architecture

Software Architecture styles


Software Architecture
 The software architecture of a program or computing system is the
structure or structures of the system which comprise:
◦ The software components
◦ The externally visible properties of those components
◦ The relationships among the components
Software architectural design represents the structure of the data and program
components that are required to build a computer based system
 An architectural design model is transferable
 It can be applied to the design of other system
 It represents a set of abstraction that enables software engineers to
describe architecture in predictable ways
Software Architecture
 The architecture is not the operational software. Rather, it is a
representation that enables a software engineer to:
1. analyze the effectiveness of the design in meeting its stated requirements
2. consider architectural alternatives at a stage when making design changes is
still relatively easy, and
3. reduce the risks associated with the construction of the software
Architecture Definition
 The IEEE computer society has proposed IEEE- Std- 1471-2000, Recommended
Practice for Architectural description of Software Intensive System, [IEEE]
◦ To establish a conceptual framework and vocabulary for use during the design of
software architecture,
◦ To provide detailed guidelines for representing an architectural description and
◦ To encourage sound architectural design practices.
 The IEEE Standard defines an architectural description (AD) as a “a collection of
products to document an architecture”.
◦ The description itself is represented using multiple views, where each view is “ a
representation of a whole system from the perspective of a related set
A taxonomy of Architectural Styles
Data Flow Style
 Whole software system is seen as a series of transformations on consecutive pieces
or set of input data, where data and operations are independent of each other.
 Data enters the system and then flows through the components one at a time until
they are assigned to output or a data store
 Batch sequential style
◦ The processing steps are independent components
◦ Each step runs to completion before the next step begins
 Pipe and filter style
◦ Emphasizes the incremental transformation of data by successive components
◦ The filters incrementally transform the data
Pipes and Filters
 Each component has a set of inputs and a set of outputs.
 A component reads streams of data on its inputs and produces streams of data on its output,
delivering a complete instance of the results in a standard order.
 Suitable for applications that require a defined series of independent computations to be
performed on data
 COMPONENTS: called filters, apply local transform to their input streams and often do
their computing incrementally so that output begins before all input is consumed.
 CONNECTORS: called pipes, transmitting outputs of one filter to inputs of another filter.
Cont. ….

Advantages
1. Easy to understand the overall input/output behavior of a system as
a simple composition of the behaviors of the individual filters.
2. They support reuse, since any two filters can be hooked together,
provided they agree on the data that is being transmitted between
them.
3. Systems can be easily maintained and enhanced, since new filters
can be added to existing systems and old filters can be replaced by
improved ones.
Cont. …
Disadvantage:
 Not good choice for interactive systems, because of their transformational

character.
Batch Sequential Architecture
 A transformation subsystem or module cannot start its process until the previous
module complete its computation.
 Data flow carries a batch of data as a whole from a module to next
 Series of transformation on successive sets of data
 Data sets and operations are independent of each other.

Application
 Business data processing in banking and utility billing.
Cont. ….
Advantages
• Provides simpler divisions on subsystems.

• Each subsystem can be an independent program working on input data and producing output

data.
Disadvantages
• Provides high latency and low throughput.

• Does not provide concurrency and interactive interface.

• External control is required for implementation.


Process Control Architecture
 It is a type of data flow architecture where data is neither batched sequential nor
pipelined stream. The flow of data comes from a set of variables, which controls the
execution of process.
 Subsystems:
◦ Processing unit for changing the process control variables
◦ Controller unit for calculating the amount of changes.
Applications
• Embedded system software design, where the system is manipulated by
process control variable data.
• Applications, which aim is to maintain specified properties of the outputs
of the process at given reference values.
• Applicable for building temperature control systems.
• Real-time system software to control automobile anti-lock brakes, nuclear
power plants, etc.
Data Centered Architecture

 The data is centralized and accessed frequently by other


components, which modify data.
 Example: database architecture
 Categorized in:

◦ Repository Architecture Style


◦ Blackboard Architecture Style
Repository Architecture Style

 The repository architecture style is a data centered architecture that supports


user interaction for data processing.
 The software component agents of the data store control the computation

and flow of logic of the system.


Cont. …
 Consists of a central data structure (often a database) and a
collection of independent components which operate on the central
data structure.
 Component do not interact directly, interact through repository.
Blackboard Architecture Style
 behavioral pattern that allows several components to coordinate and work
together to build up solutions to non deterministic models.
 the components interact only through the blackboard. The data-store alerts

the clients whenever there is a data-store change.


 Parts:

1. Knowledge Source
2. Blackboard
3. Control

You might also like