SOA Lectura Act1
SOA Lectura Act1
Architectural design
Objectives
The objective of this chapter is to introduce the concepts of software
architecture and architectural design. When you have read the chapter,
you will:
know the architectural patterns that are often used in different types
of application system, including transaction processing systems and
language processing systems.
Contents
6.1
6.2
6.3
6.4
148
Architecture in the small is concerned with the architecture of individual programs. At this level, we are concerned with the way that an individual program
is decomposed into components. This chapter is mostly concerned with program architectures.
2.
Architecture in the large is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components. These enterprise systems are distributed over different computers,
which may be owned and managed by different companies. I cover architecture in the large in Chapters 18 and 19, where I discuss distributed systems
architectures.
149
Vision
System
Object
Identification
System
Arm
Controller
Gripper
Controller
Packaging
Selection
System
Packing
System
Conveyor
Controller
Stakeholder communication The architecture is a high-level presentation of the system that may be used as a focus for discussion by a range of different stakeholders.
2.
System analysis Making the system architecture explicit at an early stage in the
system development requires some analysis. Architectural design decisions
have a profound effect on whether or not the system can meet critical requirements such as performance, reliability, and maintainability.
3.
150
2.
As a way of documenting an architecture that has been designed The aim here
is to produce a complete system model that shows the different components in
a system, their interfaces, and their connections. The argument for this is that
such a detailed architectural description makes it easier to understand and evolve
the system.
Block diagrams are an appropriate way of describing the system architecture during the design process, as they are a good way of supporting communications
between the people involved in the process. In many projects, these are often the
only architectural documentation that exists. However, if the architecture of a system
is to be thoroughly documented then it is better to use a notation with well-defined
semantics for architectural description. However, as I discuss in Section 6.2, some
people think that detailed documentation is neither useful, nor really worth the cost
of its development.