1 5/18/2007ã 2007, Spencer Rugaber Software Architecture (Informal Definition) The organization of a system into component subsystems or modules Box and.

Slides:



Advertisements
Similar presentations
A component- and message-based architectural style for GUI software
Advertisements

Architecture Representation
By Xiangzhe Li Thanh Nguyen.  Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Architectural Styles. Definitions of Architectural Style  Definition. An architectural style is a named collection of architectural design decisions.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Introduction to Software Engineering Lecture 6 André van der Hoek.
Lecture 23: Software Architectures
Site Skin Structure Services Space plan Stuff Software Architecture and Software Architecture Patterns (1)
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
Unified Modeling (Part I) Overview of UML & Modeling
Application architectures
Software Architecture Lecture 5
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Chapter 6: Architectural Design
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Application architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Architectural Design.
What is Software Architecture?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
The Design Discipline.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
CS451 Lecture 13: Architectural Design Chapter 10
Topic 7Summer ICS 52: Introduction to Software Engineering Lecture Notes for Summer Quarter, 2003 Michele Rousseau Topic 7 Partially based on lecture.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecture 9: Chapter 9 Architectural Design
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
 2004 by SEC Chapter 4 Software Design. 2  2004 by SEC Chapter 4 Software Design 4.1 Design Fundamentals 4.2 Design Method 4.3 Architecture Design
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architectural Styles Part I Software Architecture Lecture 5.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
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.
Chapter 6 Architectural Design.
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
Krista Lozada iAcademy First Term 2009
Developing Component- Based Systems X LIU, School of Computing, Napier University TIP This chapter discusses the techniques to develop component-based.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
ARCHITECTURAL DESIGN. Why is Architecture Important? Representations of software architecture are an enabler for communication between all parties (stakeholders)
Chapter 7: Architectural Design Chapter 11 in textbook 1.
CSCI 578 Software Architectures Exam #1 Review. Materials you are responsible for Chapters 1-8 in the text book All lecture material up to but not including.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Unified Modeling Language, Version 2.0 Chapter 2.
1 Lecture 3 Major Architectural Models View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
1 5/18/2007ã 2007, Spencer Rugaber Acme Architectural interchange language – CMU and ISI Extensible Tool support –AcmeStudio.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Chapter : 9 Architectural Design
CS223: Software Engineering
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
1 5/18/2007ã 2007, Spencer Rugaber Architectural Documentation Graphical (views) and textual Kruchten's 4+1 Views –Philippe B. Kruchten. "The 4+1 View.
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
CSCI 578 Software Architectures Exam #1 Review. Materials you are responsible for Chapters 1-7 in the text book All lecture material through intro to.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
OO Methodology OO Architecture.
Architecture Description Languages
Chapter 6: Architectural Design
Presentation transcript:

1 5/18/2007ã 2007, Spencer Rugaber Software Architecture (Informal Definition) The organization of a system into component subsystems or modules Box and Arrow diagrams Iteratively refined Driven by non-functional requirements Often makes use of stereotypical architectural styles

2 5/18/2007ã 2007, Spencer Rugaber Architecture (USP Definition) The set of significant decisions about the organization of a software system, the selection of the structural elements and their interfaces by which the system is composed, together with their behavior as specified in the collaborations among those elements, the composition of these structural and behavioral elements into progressively larger subsystems, and the architectural style that guides this organization: these elements and their interfaces, their collaborations, and their composition. Software architecture is concerned not only with structure and behavior but with usage, functionality, performance, resilience, reuse, comprehensibility, economics and technology constraints and trade-offs, and aesthetic concerns.

3 5/18/2007ã 2007, Spencer Rugaber Representing Architectures Component: computational or data element plus interface (ports) to the rest of the system –Requires: what the component needs from the rest of the system –Provides: what the component supplies to the rest of the system Connector: communication protocols among components Configuration: components hooked up with connectors

4 5/18/2007ã 2007, Spencer Rugaber Architectural Styles High-level, generic abstractions summarizing a related set of design decisions Example: client-server –What are the decisions? Benefits –Encoded experience –Standards: validation; selection criteria –Reuse –Support of process

5 5/18/2007ã 2007, Spencer Rugaber Catalog Of Architectural Styles Master control: hierarchical call and return Pipe and filter: one-way, sequential, stdin- stdout, ASCII streams Batch sequential: validate, edit, update cycle Implicit invocation: callbacks, registration- broadcast Table-driven interpreter: parse and dispatch

6 5/18/2007ã 2007, Spencer Rugaber More Styles Client-server: transaction processing, multi- tiers Process control: with feedback loop Blackboard: repository, opportunistic control, cooperating agents Shared memory: with locks for synchronization Production systems: rule base, conditional firing

7 5/18/2007ã 2007, Spencer Rugaber And More Coroutines: inverted implementation Abstract data type: ADT, hide representation Layered architecture: abstract machines, limited visibility State-transition systems: reactive, real-time Object-oriented: asynchronous message passing, independent threads of control Peer-to-peer: equal partners sharing responsibility

8 5/18/2007ã 2007, Spencer Rugaber Style Issues Some systems have more than one style –Heterogeneous Domain-specific software architecture (DSSA) –Sometimes called reference architecture Semantics Architecture Description Languages (ADLS) –Acme, Wright, Rapide, ArTek, Demeter, CODE, Modechart, PSDL/CAPS, Resolve, UniCon

9 5/18/2007ã 2007, Spencer Rugaber Architectural Evaluation Systematic assessment of architecture properties Software Architecture Assessment Method (SAAM), Architecture Tradeoff Analysis Method (ATAM) Uses –Impact assessment –Architecture review board

10 5/18/2007ã 2007, Spencer Rugaber SAAM Generate Architecture Generate Scenarios Analyze Individual Scenarios Summarize results