Difference between revisions of "Software Architecture"
From Suhrid.net Wiki
Jump to navigationJump to searchLine 13: | Line 13: | ||
== Communication == | == Communication == | ||
+ | |||
+ | * There are different stakeholders (client, user, project manager, developer, maintainer) who want different qualities of the system being built. | ||
+ | * E.g. client is concerned about cost, user about usability, project manager about dividing work, developer about implementation and maintainer about making changes. | ||
+ | * An architecture provides a framework and structure for airing these concerns. | ||
== Capture early design decisions == | == Capture early design decisions == | ||
== Reusable abstraction of systems == | == Reusable abstraction of systems == |
Revision as of 06:25, 19 March 2012
Contents
Introduction to Software Architecture
- Software architecture encompasses the set of significant decisions about the organization of a software system :
- Selection of structural elements and their interfaces by which a system is composed.
- Behaviour as specified in collaborations among those elements.
- Composition of these structural and behavioural elements into larger subsystem.
- Architectural style that guides this organization.
- Definition:
- The structure or structures of the system which comprise of software elements, the externally visible properties of those elements and the relationships among them.
Why Architecture
Communication
- There are different stakeholders (client, user, project manager, developer, maintainer) who want different qualities of the system being built.
- E.g. client is concerned about cost, user about usability, project manager about dividing work, developer about implementation and maintainer about making changes.
- An architecture provides a framework and structure for airing these concerns.