1 / 23

O bject O riented A nalysis & D esign Session 5 - Architecture

O bject O riented A nalysis & D esign Session 5 - Architecture. Your host: Richard Walker.   . UML & OO concepts Polymorphism Coupling Interfaces & Components State machines Architectural analysis Analysis mechanisms Architecture in Analyze Behavior Identify design elements

claral
Download Presentation

O bject O riented A nalysis & D esign Session 5 - Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Oriented Analysis & DesignSession 5 - Architecture Your host: Richard Walker

  2.  • UML & OO concepts • Polymorphism • Coupling • Interfaces & Components • State machines • Architectural analysis • Analysis mechanisms • Architecture in Analyze Behavior • Identify design elements • Reconcile UC realization • Qualify analysis mechanisms • A few words about RUP • Agenda Activities

  3. UML & OO concepts Polymorphism "The ability to take on many different forms" A consequence of generalization A polymorphic objectcan take the form of it's parent class • An employee can be considered as a person A polymorphic operation can have different behaviors based on the class of the object's that's doing it • The operation breath of the animal class is conducted differently for a fish than for a dog ALTRAN CIS Belgium – OOAD Training

  4. UML & OO concepts Coupling "how strongly one element is connected to others" Applicable to any artifact (class, packages, subsystems, ...) Problem with high coupling • Local change when change in related element • Harder to understand in isolation • Harder to reuse Solution • Classes: use principle to evaluate alternatives • Packages: group coupled elements • Never talk to stranger (Demeter's law) • Focus on unstable areas Generalization is the stronger form of class coupling ALTRAN CIS Belgium – OOAD Training

  5. UML & OO concepts Coupling example Who should be responsible for creating instance of payment? The register?  • Asale object? ALTRAN CIS Belgium – OOAD Training

  6. UML & OO concepts • Polymorphism • Coupling • Interfaces & Components • State machines • Architectural analysis • Analysis mechanisms • Architecture in Analyze Behavior • Identify design elements • Reconcile UC realization • Qualify analysis mechanisms • A few words about RUP • Agenda  Activities

  7. UML & OO concepts Interfaces "A class whose features are all abstract" Simplify inheritance hierarchy Allow polymorphism Improve cohesion (Encapsulation) Key to component based development (CBD) abstract elements are written in italics dependency (requires) implementation (provides) Lollipop style notation Class style notation ALTRAN CIS Belgium – OOAD Training

  8. UML & OO concepts Composite Structures Model structured classes Show runtime groupings Useful for modeling components and subsystems Think of the related class diagram ! Tip ALTRAN CIS Belgium – OOAD Training

  9. UML & OO concepts • Polymorphism • Coupling • Interfaces & Components • State machines • Architectural analysis • Analysis mechanisms • Architecture in Analyze Behavior • Identify design elements • Reconcile UC realization • Qualify analysis mechanisms • A few words about RUP • Agenda Activities 

  10. UML & OO concepts State machines diagrams Complex objects only ! Internal activities Transition syntax Gothic castle safe lock controller trigger [guard] / activity ALTRAN CIS Belgium – OOAD Training

  11. UML & OO concepts State machines keywords ALTRAN CIS Belgium – OOAD Training

  12. UML & OO concepts • Polymorphism • Coupling • Interfaces & Components • State machines • Architectural analysis • Analysis mechanisms • Architecture in Analyze Behavior • Identify design elements • Reconcile UC realization • Qualify analysis mechanisms • A few words about RUP • Agenda Activities 

  13. Software Architecture "Reflects important decisions" ALTRAN CIS Belgium – OOAD Training

  14. Architectural Analysis Introduction "define a candidate architecture" based on experience and similar projects Architecture is rarely built from scratch • Constrained by existing environment • Reuse of existing assets Steps • Develop Architecture Overview • Survey Available Assets • Define the High-Level Organization of Subsystems • Identify Key Abstractions • Identify Stereotypical Interactions • Develop Deployment Overview • Identify Analysis Mechanisms • Review the Results 2 possibilities without prototype with prototype ALTRAN CIS Belgium – OOAD Training

  15. Architectural Analysis Analysis Mechanisms "A placeholder" For a well known recurring problem in software applications Discovered • Top-down - from knowledge • Bottom-up - as you go Support functional requirements Technology independent Typically business independent But more and more in upper layer (since emergence of business related patterns) Facilitate analysis! ALTRAN CIS Belgium – OOAD Training

  16. Persistency Architectural Analysis Analysis Mechanisms draw a map between classes and mechanisms At first, only a name Then, refined with characteristics • Granularity • Volume • Duration • Retrieval mechanism • Update frequency • Reliability ALTRAN CIS Belgium – OOAD Training

  17. UML & OO concepts • Polymorphism • Coupling • Interfaces & Components • State machines • Architectural analysis • Analysis mechanisms • Architecture in Analyze Behavior • Identify design elements • Reconcile UC realization • Qualify analysis mechanisms • A few words about RUP • Agenda Activities 

  18. Architecture in Analyze Behavior Identify design elements • Signals • Internal or external • Priority • Frequency • Frequency distribution • Response requirements • Kind • Design Classes • Active Classes • Physical devices • Logical concurrent activities • Active object controllers • Guardians ofshared resources • Subsystems • For complex analysis classes • = packages+ interfaces • Can be designed by separate teams • Elements ofproduct line • Interfaces • Realized by subsystems • Have dependencies • May needstate machines • Grouped in packages From analysis classes ALTRAN CIS Belgium – OOAD Training

  19. Architecture in "Analyze Behavior" Reconcile Use Case Realizations Performed together by Architect & Designer Each use case has been analyzed separately • Resolve inconsistencies • Remove duplicates Cost is reduced by a good Architectural Analysis ALTRAN CIS Belgium – OOAD Training

  20. Architecture in "Analyze Behavior" Qualify analysis Mechanisms Performed by the Designer Informal at this stage To help select appropriate design mechanisms later Example: qualification of the persistency mechanism ALTRAN CIS Belgium – OOAD Training

  21. UML & OO concepts • Polymorphism • Coupling • Interfaces & Components • State machines • Architectural analysis • Analysis mechanisms • Architecture in Analyze Behavior • Identify design elements • Reconcile UC realization • Qualify analysis mechanisms • A few words about RUP • Agenda Activities 

  22. A few words about RUP (& ESUP) RUP is my baby, there is a lot of good stuff in it But the problem is that it's just too big! We have to find a way to simplify... Every process is a soup of ideas Instead of "process", let's talk about practices Add one practice at a time Ivar Jacobson Essential Unified Process (ESUP) is my new baby It defines 8 practices ALTRAN CIS Belgium – OOAD Training

  23. Thank you for your attention ALTRAN CIS Belgium – OOAD Training

More Related