21-February-2003cse403-14-Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Architecture Representation
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Outline About author. The problem that discussed in the article.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Site Skin Structure Services Space plan Stuff Software Architecture and Software Architecture Patterns (1)
Software Architecture: A Roadmap David Garlan Presented by: Divya Chopra.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
Using Architecture Frameworks
Software Architecture in Practice
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
SWE Introduction to Software Engineering
19-February-2003cse LCA © 2003 University of Washington1 Architecture Milestone CSE 403, Winter 2003 Software Engineering
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
Chapter 10 Architectural Design
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
1 The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools Yi Liu, H. Conrad Cunningham and Hui Xiong Computer & Information Science.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.1.
An Introduction to Software Architecture
Designing a DSL for Information Systems Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: (1) analyze the.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
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.
Software Architecture in Practice Architectural description (The reduced version)
Slide 1 Introduction to Software Architecture TV Prabhakar.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Chapter 13 Architectural 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.
10 Software Architecture CSCU 411 Software Engineering.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 6 – Architectural Design CSE-411, Dr. Shamim H Ripon.
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.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
Slide 1 Software Architecture SSE. Slide 2 Typical description of software architectures l Descriptions of software systems often include a section on.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Basic Concepts and Definitions
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Unified Modeling Language
Architectural Design.
Rumbaugh’s Objectmodeling Technique
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Chapter 9 Architectural Design
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
Architecture Description Languages
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Chapter 5 Architectural Design.
Presentation transcript:

21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering

21-February-2003cse Architecture © 2003 University of Washington2 Readings and References References »Software Architecture, David Garlan, CMU, »A Practical Method for Documenting Software Architectures, Clements, et al, CMU, »Enterprise JavaBeans Specification, Sun Java Community Process

21-February-2003cse Architecture © 2003 University of Washington3 Software Architecture The software architecture of a program or computing system is the structure or structures of the system, which comprise »software components »the externally visible properties of those components »and the relationships among them. From Software Architecture in Practice, Bass, Clements, Kazman, referenced in Garlan

21-February-2003cse Architecture © 2003 University of Washington4 View The architecture of a system describes its gross structure using one or more views Structure in a view illuminates a set of top- level design decisions »how the system is composed of interacting parts »where are the main pathways of interaction »key properties of the parts »sufficient information to allow high-level analysis and critical appraisal

21-February-2003cse Architecture © 2003 University of Washington5 Uses of an Architectural Description Understanding »Abstraction means that we can grasp the major elements in a view and the rationale behind them Reuse »Reusable chunks must be visible to be recognized, extracted, generalized and reapplied to new areas Construction »Some views provide a partial blueprint for development - components and dependencies

21-February-2003cse Architecture © 2003 University of Washington6 More Uses of an Architectural Description Evolution »Expose the “load-bearing walls” of the design and distinguish between components and connectors Analysis »Consistency, performance, conformance Management »Milestone: successful analysis of valid architecture Communication »Stakeholders can prioritize explicit tradeoffs

21-February-2003cse Architecture © 2003 University of Washington7 How to describe an architecture? “Boxes and lines” »graphical, adaptable, intuitive »traditional architecture description Some issues »meaning of the graphical symbols varies »inconsistent or incomplete information »difficult to formally analyze for consistency, completeness, correctness »constraints are hard to show, enforce

21-February-2003cse Architecture © 2003 University of Washington8 Architectural Description Languages Formal notations for representing and analyzing architectural descriptions Provide a conceptual framework and concrete syntax for characterizing software architectures »also provide tools for parsing, displaying, compiling, analyzing, or simulating the architectural description Details of the ADL vary widely depending on the intended application domain »Like metrics - useful but judgement required for use

21-February-2003cse Architecture © 2003 University of Washington9 Multiple views A key understanding is that multiple views of the architecture are valid »different stakeholders need to see different things »different aspects of the system are best viewed from different points of view Code-oriented views »modular structure of the system, layers Execution-oriented views »dynamic configurations, performance, reliability

21-February-2003cse Architecture © 2003 University of Washington10 Entities in an execution-oriented view System and Software Components »hardware, programs, data blocks Connectors »mediate interactions among components Configurations »combinations of components and connectors Constraints »resource limitations, operating environment

21-February-2003cse Architecture © 2003 University of Washington11 Enterprise Java Bean Examples This is the specification of the Enterprise JavaBeans TM architecture. The Enterprise JavaBeans architecture is a component architecture for the development and deployment of component-based distributed business applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-user secure. These applications may be written once, and then deployed on any server platform that supports the Enterprise JavaBeans specification.

21-February-2003cse Architecture © 2003 University of Washington12 Chap 3: Roles and Scenarios Discusses the responsibilities of »Enterprise Bean Provider (Aardvark, Wombat) »Application Assembler (Wombat) »Deployer (IT Staff) »EJB Container and Server Providers (Acme) »System Administrator (IT Staff) with respect to the Enterprise JavaBeans architecture.

21-February-2003cse Architecture © 2003 University of Washington13 Module view of deployed application

Another module view

Inheritance Relationships

State Transition Diagram

Object Interaction Diagram

21-February-2003cse Architecture © 2003 University of Washington18 Data Flow Diagrams (DFD) DFDs document a process by documenting the flow of data throughout the process. »squareexternal data source or sink »arrowdata flow »circleprocess input data to output data »parallel linesdata store

21-February-2003cse Architecture © 2003 University of Washington19 Why do boxes and lines persist? Boxes and Lines are generally understandable and adaptable Figure 4: Some mismatch repair techniques, from Garlan, Software Architecture