Software ArchitectureModule Views and Styles Inam Soomro November 2011
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
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
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.
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
Why Layered Style• Modifiability and Portability• Managing complexity• Reuse• Seperation of concerns