Architectural Design
Architectural Design
Architectural Design
• Introduction: The software needs the architectural design to
represents the design of software. IEEE defines architectural design as
“the process of defining a collection of hardware and software
components and their interfaces to establish the framework for the
development of a computer system.” The software that is built for
computer-based systems can exhibit one of these many architectural
styles.
system category consists of :
• A set of components(eg: a database, computational modules) that will
perform a function required by the system.
• The set of connectors will help in coordination, communication, and
cooperation between the components.
• Conditions that how components can be integrated to form the
system.
• Semantic models that help the designer to understand the overall
properties of the system. The use of architectural styles is to establish
a structure for all the components of the system.
Taxonomy of Architectural styles:
1] Data centered architectures:
• A data store will reside at the center of this architecture and is accessed
frequently by the other components that update, add, delete or modify the
data present within the store.
• The figure illustrates a typical data centered style. The client software access
a central repository. Variation of this approach are used to transform the
repository into a blackboard when data related to client or data of interest
for the client change the notifications to client software.
• This data-centered architecture will promote integrability. This means that
the existing components can be changed and new client components can be
added to the architecture without the permission or concern of other clients.
• Data can be passed among clients using blackboard mechanism.
Advantage of Data centered architecture
• Repository of data is independent of clients
• Client work independent of each other
• It may be simple to add additional clients.
• Modification can be very easy
2] Data flow architectures:
• This kind of architecture is used when input data is transformed into output
data through a series of computational manipulative components.
• The figure represents pipe-and-filter architecture since it uses both pipe and
filter and it has a set of components called filters connected by lines.
• Pipes are used to transmitting data from one component to the next.
• Each filter will work independently and is designed to take data input of a
certain form and produces data output to the next filter of a specified form.
The filters don’t require any knowledge of the working of neighboring filters.
• If the data flow degenerates into a single line of transforms, then it is termed
as batch sequential. This structure accepts the batch of data and then applies
a series of sequential components to transform it.
Advantages of Data Flow architecture
• Advantages of Data Flow architecture
• It encourages upkeep, repurposing, and modification.
• With this design, concurrent execution is supported.
The disadvantage of Data Flow
architecture
• It frequently degenerates to batch sequential system
• Data flow architecture does not allow applications that require
greater user engagement.
• It is not easy to coordinate two different but related streams
3] Call and Return architectures:
• It is used to create a program that is easy to scale and modify. Many sub-
styles exist within this category. Two of them are explained below.