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>What Is an Architectural Pattern?What Is an Architectural Pattern?• An architectural pattern expresses a fundamentalstructural organization schema for softwaresystems. It provides a set of predefinedsubsystems, specifies their responsibilities, <strong>and</strong>includes rules <strong>and</strong> guidelines for organizing therelationships between them – Buschman et al,“Pattern-<strong>Oriented</strong> Software Architecture — A System ofPatterns”• Layers• Model-view-controller (M-V-C)• Pipes <strong>and</strong> filters• Blackboard<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 13Architectural <strong>Analysis</strong> is where you consider architectural patterns, as this choiceaffects the high-level organization of your object model.Layers: The layers pattern is where an application is decomposed into different levelsof abstraction. The layers range from application-specific layers at the top toimplementation/technology-specific layers on the bottom.Model-View-Controller: The MVC pattern is where an application is divided intothree partitions: The Model, which is the business rules <strong>and</strong> underlying data, theView, which is how information is displayed to the user, <strong>and</strong> the Controllers, whichprocess the user input.Pipes <strong>and</strong> Filters: In the Pipes <strong>and</strong> Filters pattern, data is processed in streams thatflow through pipes from filter to filter. Each filter is a processing step.Blackboard: The Blackboard pattern is where independent specialized applicationscollaborate to derive a solution, working on a common data structure.Architectural patterns can work together. (That is, more than one architectural patterncan be present in any one software architecture.)The architectural patterns listed above imply certain system characteristics,performance characteristics, <strong>and</strong> process <strong>and</strong> distribution architectures. Each solvescertain problems but also poses unique challenges. For this course, you willconcentrate on the Layers architectural pattern.5 - 13

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

Saved successfully!

Ooh no, something went wrong!