1 / 12

What’s the Difference Between Architecture and Design

What’s the Difference Between Architecture and Design. Paul Clements Subrahmanyam Allamaraju. Architecture and Design. All architecture is design NOT all design is architecture Architect draws the boundary between architectural and non-architectural design. Traits of the Software Architect.

iria
Télécharger la présentation

What’s the Difference Between Architecture and Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What’s the Difference Between Architecture and Design Paul Clements Subrahmanyam Allamaraju

  2. Architecture and Design • All architecture is design • NOT all design is architecture • Architect draws the boundary between architectural and non-architectural design

  3. Traits of the Software Architect • Gained enough breadth and depth in the relevant domain • Strong communication/development/debugging skills • “cross domain and technology proficiency and appreciation” • “knowledge of patterns in domain/technology areas” • Looking for challenging problems • In summary: SUPER ENGINEER

  4. What is Software Architecture? • Represents the structure of the software • Expressed using certain views • Includes principles behind the design and evolution of the software • Essential characteristics of architecture: • High level view • Realize ALL the use case scenarios • Present a systemic view to all stakeholders

  5. Examples of Architectures(all of these are incomplete) • High level Design • Only contains the implementer’s view of the software • Deployment • Concerns how software is deployed across various platforms • Generic Technology Architectures • Examples: COM, CORBA • Does not address the domain the software must exist and evolve in

  6. Survival and Evolution • Software survives as long as it meet the requirements for which it was built • Software must evolve to meet future requirements • Software Architecture’s fundamental requirement: “design a structure for the software considering the long-term consequences”

  7. Architecture ParadoxSurvival vs Evolution • There is pressure on successful to change • New requirements • Changing environment • Software must evolve to survive • Changes increase the entropy of the software • Changes eventually increase the entropy to a point to where further changes are impossible • Software cannot evolve, therefore cannot survive

  8. How to defy the Software Paradox • Identify the goals of the architecture • Discover the principles based on the goals • Design an architecture integrating these principles

  9. Identify the goals of architecture • best-case requirements • long term organizational focus • reuse considerations • User wish lists • Other anticipated changes

  10. Goals to principles • “discover” the principles the software must follow to meet its goals • Principles will guide designers to find the “right” implementation • Principles may be expressed as rules • DOs and DONTS • Enforcing these principles is difficult

  11. Integration of Principles and Architecture • Remove the human element from enforcement of principles • Software structure will dictate: • How the software will be changed • What changes are possible • What changes are not possible

  12. Summary • Software can defy the architecture paradox if: • The structure can accommodate changes • A set of architecture goals is abstracted • Devise a set of principles to realize the goals • Integrate the principles into the architecture

More Related