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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>DEV475</strong> <strong>Mastering</strong> <strong>Object</strong>-<strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Resilient Component-Based ArchitecturesResilient Component-Based Architectures• Resilient• Meets current <strong>and</strong> future requirements• Improves extensibility• Enables reuse• Encapsulates system dependencies• Component-based• Reuse or customize components• Select from commercially available components• Evolve existing software incrementally<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 reserved16Architecture is a part of <strong>Design</strong>. It is about making decisions on how the system willbe built. But it is not all of the design. It stops at the major abstractions, or, in otherwords, the elements that have some pervasive <strong>and</strong> long-lasting effect on systemperformance <strong>and</strong> ability to evolve.A software system’s architecture is perhaps the most important aspect that can beused to control the iterative <strong>and</strong> incremental development of a system throughout itslifecycle.The most important property of an architecture is resilience –flexibility in the face ofchange. To achieve it, architects must anticipate evolution in both the problemdomain <strong>and</strong> the implementation technologies to produce a design that can gracefullyaccommodate such changes. Key techniques are abstraction, encapsulation, <strong>and</strong>object-oriented <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong>. The result is that applications are fundamentallymore maintainable <strong>and</strong> extensible.1 - 16

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

Saved successfully!

Ooh no, something went wrong!