Architectural Style and categories of architectural styles
- The software that is built for computer-based systems also exhibits one of many architectural styles.
- Each style describes a system category that encompasses (1) a set of components that perform a function required by a system; (2) a set of connectors that enable “communication, coordination and cooperation” among components; (3) constraints that define how components can be integrated to form the system; and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts.
- An architectural style is a transformation that is imposed on the design of an entire system.
- The intent is to establish a structure for all components of the system.
the imposition of an architectural style will result in fundamental changes to the structure of the software including a reassignment of the functionality of components.
Categories of Architectural style
·
Data-centered architectures.
o
A
data store resides at the center of this architecture and is accessed
frequently by other components that update, add, delete, or otherwise modify
data within the store.
o
client
software accesses the data independent of any changes to the data or the
actions of other client software.
o
A
variation on this approach transforms the repository into a “blackboard” that
sends notifications to client software when data of interest to the client
changes.
Data-centered architectures promote
integrability.That is, existing components can be changed and new client
components added to the architecture without concern about other clients.
·
Data-flow architectures.
o
This
architecture is applied when input data are to be transformed through a series
of computational or manipulative components into output data.
o
A
pipe-and-filter pattern has a set of components, called filters, connected by
pipes that transmit data from one component to the next.
o
Each
filter works independently of those components upstream and downstream, is
designed to expect data input of a certain form, and produces data output of a
specified form.
If
the data flow degenerates into a single line of transforms, it is termed batch
sequential.
·
Call and return architectures
o
This
architectural style enables you to achieve a program structure that is
relatively easy to modify and scale.
§
Main
program/subprogram architectures.
·
This
classic program structure decomposes function into a control hierarchy where a
“main” program invokes a number of program components that in turn may invoke
still other components.
·
Object-oriented architectures.
o
The components of a system encapsulate data and
the operations that must be applied to manipulate the data.
o
Communication and coordination between
components are accomplished via message passing.
·
Layered architectures.
o
A number of different layers are defined, each
accomplishing operations that progressively become closer to the machine
instruction set.
o
At the outer layer, components service user
interface operations.
o
At the inner layer, components perform operating
system interfacing.
o
Intermediate layers provide utility services and
application software functions.
General model for a sequential or state machine
ReplyDeleteDescriptor tables 80386
Comparison between Kerberos Version 4 And Version 5
Human-Oriented Names
Passive time Server Algorithms
Points and Lines
Testing Strategies – Integration Testing
16-Bit Data operations
Single Pass Assembler Intel x86