Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "DAIMI(c) Henrik Bærbak Christensen1 Software Architecture Views."— Presentation transcript:

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

2 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

3 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 ?

4 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!

5 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

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

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

8 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

9 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...

10 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.

11 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

12 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?


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

Similar presentations


Ads by Google