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>What Is a Component?What Is a Component?• A non-trivial, nearly independent, <strong>and</strong>replaceable part of a system that fulfillsa clear function in the context of a welldefinedarchitecture• A component may be• A source code componentSource FileName• A run time component• An executable componentComponentInterfaceExecutableNameComponentNameOO Principle: Encapsulation<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 34From the <strong>UML</strong> User’s Guide (Booch, 1999): A component is “a physical <strong>and</strong>replaceable part of a system that conforms to <strong>and</strong> provides the realization of a set ofinterfaces.”Software components include:• Source code components (for example, .h, .cpp files, shell scripts, data files),• Binary code components. Examples include: Java Beans, ActiveX controls, COMobjects (DLL's <strong>and</strong> OCX's from VB), CORBA objects), <strong>and</strong>• Executable components (.exe’s).Stereotypes (<strong>with</strong> alternate icons) may be used to define these specific kinds ofcomponents.Component-based development is the creation <strong>and</strong> deployment of software-intensivesystems assembled from components. Component software development should notbe confused <strong>with</strong> object-oriented programming (OOP). OOP is a way to buildobject-based software components. Component-based development (CBD) is atechnology that allows you to combine object-based components. OOP is concerned<strong>with</strong> creating objects, CBD is concerned <strong>with</strong> making objects work together.A component conforms to <strong>and</strong> provides the physical realization of a set of interfaces.Components are implementation things. They are the physical realization of anabstraction in your design. Interfaces were discussed earlier in this module.2 - 34

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

Saved successfully!

Ooh no, something went wrong!