|
|
|
John D. McGregor |
|
Clemson University |
|
|
|
|
|
|
The software architecture of a program or
computing system is the structure or structures of the system, which
comprise software elements, the externally visible properties of those
elements, and the relationships among them. |
|
|
|
|
|
|
|
|
the fundamental organization of a system,
embodied in its components, their relationships to each other and the
environment, and the principles governing its design and evolution. |
|
|
|
|
|
|
Similarities |
|
Sense
of aesthetics is present in both |
|
|
|
|
|
Differences |
|
Physical laws dont apply |
|
Software architecture still immature |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stakeholder anyone having an interest in the
architecture |
|
|
|
Client |
|
User |
|
Designers |
|
|
|
|
|
|
Stakeholders |
|
|
|
Developing Organization |
|
|
|
Technical/Deployment environment |
|
|
|
Background of architects |
|
|
|
|
Understand the requirements |
|
|
|
Create architectures that satisfy the
requirements |
|
|
|
Evaluate the trade-offs among the architectures |
|
|
|
Select appropriate architecture |
|
|
|
Repeat as requirements evolve |
|
|
|
|
|
|
|
|
description of element and relation types and a
set of constraints |
|
|
|
Architectural style |
|
|
|
Client/server implies multiple clients seeking
service from a resource |
|
|
|
|
Characteristic of the domain in this case
ecommerce |
|
|
|
|
|
|
|
|
|
|
Communication among stakeholders |
|
|
|
Early design decisions |
|
|
|
Transferable abstraction of the system |
|
|
|
|
Module structures |
|
Which piece is responsible for what |
|
|
|
Component-connector structures |
|
how do the major pieces interact at runtime |
|
|
|
Allocation structures |
|
allocates pieces of the architecture to
pieces of the external environment |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Edit multiple files |
|
Select files |
|
Bind files into a project |
|
Build a project |
|
See the individual attributes |
|