DAIMI(c) Henrik Bærbak Christensen1 Software Architecture Views.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Modeling Notations.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
An Introduction to Rational Rose Real-Time
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is an Architecture?. An Example? Invoice OrderDelivery Customer.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
Unified Modeling Language, Version 2.0
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Software Architecture in Practice Architectural description (The reduced version)
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Modelling Class T16: Conceptual Modelling – Architecture Image from
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
TAL7011 – Lecture 4 UML for Architecture Modeling.
©Kabira Technologies Inc, 2001 May 7-9, 2001 Westward Look Resort Tucson, Arizona SMUG 2001 Execution in UML.
Design Jon Walker. More UML ● What is UML again?
CIS 644 Tues. Nov 16, 1999 W13A … Software architecture.
Technology Layer. Technology Layer Metamodel Technology Layer Concepts.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Software Engineering Lecture 8 Object-Oriented Analysis.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
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 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Computer Science 340 Software Design & Testing Software Architecture.
TK2023 Object-Oriented Software Engineering CHAPTER 9 INTRODUCTION TO OBJECT DESIGN.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
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.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Software Architecture in Practice A few notes on H1.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Designing software applications
UML Diagrams By Daniel Damaris Novarianto S..
Software Architecture in Practice
Designing software applications
Object-Oriented Analysis and Design
OO Methodology OO Architecture.
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
What is an Architecture?
More Model Elements.
Software Design Lecture : 14.
An Introduction to Software Architecture
What is an Architecture?
Presentation transcript:

DAIMI(c) Henrik Bærbak Christensen1 Software Architecture Views

DAIMI(c) Henrik Bærbak Christensen2 Views “A view represents a partial aspect of a software architecture that shows specific properties of a software system.” [Buschmann] Example: Consider a bridge joint 2: Fx = fa( -cos45) + fc (cos90) + fe( cos45) = 0; Fx = - cfa + cfe = 0 joint 2: Fy = -fa(sin45) + - fc(sin90) + - fe(sin45) = 0; Fy = -sfa - fc - sfe = 0

DAIMI(c) Henrik Bærbak Christensen3 Let’s look at an example Why not look at CORBA again… Can ‘views’ explain CORBA better than this? client object impl (server) stubadapter ORB ?

DAIMI(c) Henrik Bærbak Christensen4 CORBA in Logical View Client ServerImpl > Server CORBA is about transparency –abstract away the network –programming model: normal method call Logical/conceptual view: –just plain method call on server object!

DAIMI(c) Henrik Bærbak Christensen5 CORBA in Module View Client > Server _ServerStub_ServerImplBase ServerImpl Blue classes are genereated by IDL2Java compiler White classes are written by you. From the static/class view a proxy pattern is used

DAIMI(c) Henrik Bærbak Christensen6 CORBA in Deployment View :client node :server node :Client:ServerImpl :ORB :ServerStub IIOP Deployment-wise, the ORB middleware supports marshalling and unmarshalling ect.

DAIMI(c) Henrik Bærbak Christensen7 CORBA in Execution View The invocation dynamics is pretty complex

DAIMI(c) Henrik Bærbak Christensen8 Morale Views are important for precise communication and documentation! I had to reverse engineer a Java CORBA example to really understand what was going on. This diagram is nonsense… client object impl (server) stubadapter ORB

DAIMI(c) Henrik Bærbak Christensen9 The ”View Zoo” Software architecture is a young research field. Therefore different authors stress different views and what goes into them...

DAIMI(c) Henrik Bærbak Christensen10 Bass classification Module structures –elements = units of implementation (class, package) –relations = inheritance, association, dependency –UML: class, (package) diagrams Component and Connector structures –elements = run-time components (objects/threads) run-time connectors (dataflow/controlflow/protocols) –not really first class in current languages  –UML: Active objects/object + collaboration diags.

DAIMI(c) Henrik Bærbak Christensen11 Bass classification Allocation structures –elements = physical entities nodes, files, etc. –relations = assignment modules to teams processes/objects to computing nodes –UML: Deployment diagrams for deployment

DAIMI(c) Henrik Bærbak Christensen12 Exercise What kind of views have we used so far? What kind of notation have we used? What were the –elements? –relations? –external visible properties?