Your SlideShare is downloading. ×
Software architecture
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Software architecture

702
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
702
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Software ArchitectureModule Views and Styles Inam Soomro November 2011
  • 2. Agenda• GENERALIZATION STYLE – ELEMENTS, RELATION AND PROPERTIES – CONSTRAINSTS – WHY GENERALISATION STYLE – NOTATION• LAYERED STYLE – ELEMENTS, RELATION AND PROPERTIES – CONSTRAINSTS – WHY LAYERED STYLE – LAYER TYPES – NOTATION• ASPECTS STYLE – ELEMENTS, RELATION AND PROPERTIES – CONSTRAINSTS – WHY ASPECTS STYLE – NOTATION – BEFORE AND AFTER ASPECT ORIENTATION
  • 3. GENERALIZATION STYLE• Abstraction of common properties and attributes• Employs “IS A“ relationship• Parent module is a more general version of child modules• interface Realization• Architects emphasis on interface, not the implementation
  • 4. An Example of generalisation Style
  • 5. Elements, Relation and Properties• Element – Module• Relation – Generalisation• Constraints – A module can have multiple parents, bad design! – Loopholes are not allowed
  • 6. Why Generalisation• Expressing inheritance in OOD• Evolution and Extension• Support reuse• Capturing commonalities
  • 7. Notation for Generalisation Style• UML
  • 8. Layered Style• Reflects division of software into smaller units• Offers a cohesive set of services• unidirectional and• “allowed to use“• A System with uses relation from lower to upper layer is not a layered architecture; however it may conveys an ideal design an architect was trying to achieve.
  • 9. Example
  • 10. What do u think of this design??
  • 11. Elements, Relation and Properties• Elements – Layer• Relation – Allowed to use• Constraints – Every piece of software is allocated only one layer – At least two layers – Lower layers cannot use the upper layers
  • 12. Why Layered Style• Modifiability and Portability• Managing complexity• Reuse• Seperation of concerns
  • 13. Notation of Layered Style• Stack
  • 14. Segmented Layers
  • 15. Rings
  • 16. Layers with a Sidecar
  • 17. UMLSegmented Layers
  • 18. Example of Java EE Application
  • 19. Aspects Style• Aspects are modular units that complement objects to modularize the cross cutting concerns
  • 20. ELEMENTS, RELATION AND PROPERTIES• Elements – Aspect modules• Relation – Crosscuts• Properties – Pointcut – Advice• Constrains
  • 21. Why Aspects Style• provide systematic means to modularize by allowing separation of crosscutting concerns• promotes modularity• Address separation of concerns
  • 22. Notation• UML
  • 23. Before and after Aspect Orientation
  • 24. Problems with Traditional Object Orientation
  • 25. After Aspect Orietation
  • 26. Aspect Oriented Programming• Facililitates in implementation of crosscutting concerns• AspectJ , Spring AOP, Jboss AOP, AspectC++ and Aspect#
  • 27. The chapter is taken from the bookDocumenting Software Architectures: Viewsand BeyondBy: Paul Clements; Felix Bachmann; Len Bass;David Garlan; James Ivers; Reed Little; RobertNord; Judith Stafford
  • 28. Thanks!