12.07.2015 Views

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Module 5 - Architectural <strong>Analysis</strong>Architectural Pattern: LayersArchitectural Pattern: LayersEquipment <strong>and</strong>customer-specificcodeProcesses <strong>and</strong> otherapplication code54ApplicationMajor abstractions,classes, etc.Mechanisms,servicesH/W specific code, O/Sspecific code, generalpurposecode (forexample, ORB, MQS)321InfrastructureApplicationFramework<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reserved 15ContextA large system that requires decomposition.ProblemA system that must h<strong>and</strong>le issues at different levels of abstraction; for example:hardware control issues, common services issues, <strong>and</strong> domain-specific issues. Itwould be extremely undesirable to write vertical components that h<strong>and</strong>le issues at alllevels. The same issue would have to be h<strong>and</strong>led (possibly inconsistently) multipletimes in different components.Forces• Parts of the system should be replaceable.• Changes in components should not ripple.• Similar responsibilities should be grouped together.• Size of components — complex components may have to be decomposed.SolutionStructure the systems into groups of components that form layers on top of eachother. Make upper layers use services of the layers below only (never above). Try notto use services other than those of the layer directly below. (Do not skip layers unlessintermediate layers would only add pass-through components.)A strict layered architecture states that design elements (classes, components,packages, <strong>and</strong> subsystems) only utilize the services of the layer below them. Servicescan include event-h<strong>and</strong>ling, error-h<strong>and</strong>ling, database access, <strong>and</strong> so forth. It containsmore palpable mechanisms, as opposed to the raw operating system level callsdocumented in the bottom layer.5 - 15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!