Difference between revisions of "Software Architecture"

From Suhrid.net Wiki
Jump to navigationJump to search
Line 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

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.

Capture early design decisions

Reusable abstraction of systems