Architecture Quality extraordinarily large systems, services, strategic design, scalability and reliability, large datasets, latency, service-oriented.

Slides:



Advertisements
Similar presentations
Dr. Rogelio Dávila Pérez
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Executional Architecture
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Software Architecture Lecture 2
CHAPTER 3 COLLECTIONS Abstract Data Types. 2 A data type consists of a set of values or elements, called its domain, and a set of operators acting on.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Foundations for the Study of Software Architecture by Dewayne Perry & Alexander Wolf ACM SIGSOFT, Oct Presented by Charles Reid 2/7/2005.
Site Skin Structure Services Space plan Stuff Software Architecture and Software Architecture Patterns (1)
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Unified Modeling (Part I) Overview of UML & Modeling
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Essential Software Architecture Ian Gorton CS590 – Winter 2008.
Software Architecture in Practice
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
WORKFLOWS IN CLOUD COMPUTING. CLOUD COMPUTING  Delivering applications or services in on-demand environment  Hundreds of thousands of users / applications.
Software Architecture for DSD The “Uses” Relation.
Architectural Design.
What is Software Architecture?
Cloud MapReduce : a MapReduce Implementation on top of a Cloud Operating System Speaker : 童耀民 MA1G Authors: Huan Liu, Dan Orban Accenture.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Software Architecture
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
What is Software Architecture? | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Chapter 2, Authors: Len Bass, Paul,
SOFTWARE DESIGN.
Software Architecture CS3300 Fall Beware the Fuzzy Front End We are already almost 1/3 of the way done Need to negotiate deliverable schedule: SDP.
ENM 503 Lesson 1 – Methods and Models The why’s, how’s, and what’s of mathematical modeling A model is a representation in mathematical terms of some real.
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Lecture 11 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Design Concepts By Deepika Chaudhary.
Presented By Riyadh Mahmood 3/2/2010 Software Architecture Styles for Network-based Applications Original Paper by: Roy T. Fielding.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Kemal Baykal Rasim Ismayilov
Architecture Quality extraordinarily large systems, services, strategic design, scalability and reliability, large datasets, latency, service- oriented.
M180: Data Structures & Algorithms in Java Trees & Binary Trees Arab Open University 1.
Slide 1 Lecture 15 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
1 Prof. Dr. Nizamettin AYDIN
Basic Concepts and Definitions
CS223: Software Engineering Lecture 13: Software Architecture.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
CS 325 Spring ‘09 Chapter 1 Goals:
Software Architecture Lecture 3
Software Architecture
Software Architecture
Software Architecture and Quality BY
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
Object-Oriented Analysis and Design
Unified Modeling Language
Software Architecture
Single Point of Entry (SPOE)
Software Architecture Lecture 3
Software Architecture Lecture 2
Software Architecture and
Software Architecture Lecture 3
Software Architecture Lecture 3
Software Architecture Lecture 3
Software Architecture Lecture 3
Software Design Lecture : 5
Segments Introduction: slides minutes
From Use Cases to Implementation
Software Architecture
Presentation transcript:

Architecture Quality extraordinarily large systems, services, strategic design, scalability and reliability, large datasets, latency, service-oriented systems, manage architectural change, scaling domain driven design

A definition "Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled." – Eoin Woods

Intension/Locality Hypothesis Non-local statements: architecture Local and intensional statements: design Local and extensional statements: implementation Amnon Eden, Yoram Hirshfeld, and Rick Kazman

Perry and Wolf In one of the seminal papers on software architecture from 1992, they draw an analogy between building architecture and software architecture to develop an intuition about software architecture Blueprints, skeletons of the big picture etc.

Analogy Similarity in some respects between things that are otherwise dissimilar.

Pantheon Originally built in 27 BC, destroyed (as a prototype should be) and rebuilt in 125 AD. So the real structure of this building is actually only 1882 years old... Originally built as a general purpose church, to all the gods. In 609 converted into a Christian church.

Colosseum

Charles de Gaulle Airport Perfection!

Crash years later....

Being John Malkovich I have nothing to add....

Back to the analogy Right, it might not be perfect, but buildings can be used to say something intuitive about software architecture.

The speakers of the track today  “Architectures of extraordinarily large, self- sustaining systems” Richard Gabriel  “Three steps for turning your Tier- Based/Spring-Application into dynamically Scalable Services (without Web Services)” Nati Shalom  “Strategic Design” Eric Evans  “The Top 10 Ways to Botch Enterprise Java Application Scalability and Reliability” Cameron Purdy  “Amazon and Hadoop” Jinesh Varia

Some numbers from Google  1,750,000 hits on “software architecture”  33,600 hits on “architecture quality” Should we be worried?

Software architecture definitions The structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them.

Garlan and Shaw, beyond the algorithms and data structures of the computation; designing and specifying the overall system structure emerges as a new kind of problem. Structural issues include gross organization and global control structure; protocols for communication, synchronization, and data access; assignment of functionality to design elements; physical distribution; composition of design elements; scaling and performance; and selection among design alternatives."

Perry and Wolf, 1992 A set of architectural (or, if you will, design) elements that have a particular form. Perry and Wolf distinguish between processing elements, data elements, and connecting elements, and this taxonomy by and large persists through most other definitions and approaches.

Nice mathematics! No two methods with the same signature are defined in the same class: ∀ m1 ∈ Method ∀ m2 ∈ Method ∀ c ∈ Class ・ SameSignature(m1,m2) ∧ Member(m1,c) ∧ M ember(m2,c) ⇒ m = m