Page 181 -
P. 181
164 Chapter 6 Architectural design
Architectural patterns for control
There are specific architectural patterns that reflect commonly used ways of organizing control in a system.
These include centralized control, based on one component calling other components, and event-based control,
where the system reacts to external events.
http://www.SoftwareEngineering-9.com/Web/Architecture/ArchPatterns/
those invoices that have been paid, a receipt is issued. For those invoices that have
not been paid within the allowed payment time, a reminder is issued.
Interactive systems are difficult to write using the pipe and filter model because
of the need for a stream of data to be processed. Although simple textual input
and output can be modeled in this way, graphical user interfaces have more complex
I/O formats and a control strategy that is based on events such as mouse clicks or
menu selections. It is difficult to translate this into a form compatible with the
pipelining model.
6.4 Application architectures
Application systems are intended to meet a business or organizational need. All busi-
nesses have much in common—they need to hire people, issue invoices, keep
accounts, and so on. Businesses operating in the same sector use common sector-
specific applications. Therefore, as well as general business functions, all phone
companies need systems to connect calls, manage their network, issue bills to
customers, etc. Consequently, the application systems used by these businesses also
have much in common.
These commonalities have led to the development of software architectures
that describe the structure and organization of particular types of software sys-
tems. Application architectures encapsulate the principal characteristics of a
class of systems. For example, in real-time systems, there might be generic archi-
tectural models of different system types, such as data collection systems or
monitoring systems. Although instances of these systems differ in detail, the
common architectural structure can be reused when developing new systems of
the same type.
The application architecture may be re-implemented when developing new
systems but, for many business systems, application reuse is possible without re-
implementation. We see this in the growth of Enterprise Resource Planning (ERP)
systems from companies such as SAP and Oracle, and vertical software packages
(COTS) for specialized applications in different areas of business. In these systems,
a generic system is configured and adapted to create a specific business application.