Object Oriented Software Engineering   View all facts   Glossary   Help
subject > component
Next subjectconnection    Upsubject    Previous subjectcombinatorial explosion   

component comparison table
Subject adapt reuse abbreviate as write in communicate with communicate using lack divide into have be is part of is a synonym of catalog is a kind of is a subtopic of be usually have example implement simplify enable document has part has definition use be of provide see represent have well-defined interface contain have high cohesion replace with
database         reusable if it can be used in several different systems with little or no modification   component9.1 - The Process of Design                 
dynamic link library  DLL     bugs and incompatibilitiesreusable if it can be used in several different systems with little or no modification   software library9.1 - The Process of Design                 
executable file         reusable if it can be used in several different systems with little or no modification   file9.1 - The Process of Design                 
frameworkto handle the requirements of particular customers  any programming language     incomplete   component9.1 - The Process of Design A framework for a rental store could do such things as manage membership, handle deposits, process rentals and returns, and compute penalties for late returns  the reuse of both design and code slotsReusable software that implements a generic solution to a generalized problem. It provides common facilities applicable to different application programsclasses or methods that are missing common facilities applicable to different application programs the structure of an entire application or subsystem important functionality  
isolated component         reusable if it can be used in several different systems with little or no modification   component9.1 - The Process of Design                a different component that has equivalent functionality
layer    the layer immediately below itprocedure calls or by inter-process communication where the lower layers can become servers and the higher layers can become clients smaller subsystems reusable if it can be used in several different systems with little or no modificationmulti-layer system  component9.2 - Principles Leading to Good Design The set of related services which could form a layer might include:
  • Services for computation
  • Services for transmission of messages or data
  • Services for storage of data
  • Services for managing security
  • Services for interacting with users
  • Services provided by an operating system
  • Services provided directly by the hardware
         A subsystem that provides a set of services and has layer cohesion  services through an APIa lower layer as a set of services it can use that is used by layer immediately above   
    module      side effects if it does not modify any data, and does not leave behind any information, other than its result, that would have an effect on other computations  reusable if it can be used in several different systems with little or no modification   component9.1 - The Process of Design       A component that is defined at the programming language level, such as file, method or package       if related aspects of a system are kept together in this module, and unrelated aspects are kept out 
    reusable component if it is of high quality      software engineer available to properly maintain itreusable if it can be used in several different systems with little or no modification   component9.1 - The Process of Designmore reliable than software not designed to be reused because it is tested in all the systems it is used in, and because it is used in different contexts, exposing any weak points  the design of software systems   A piece of software, such as a library, command, framework or application that is reused in a software system high quality if its designer followed the same steps as the development of complete applications: domain and requirements analysis, design, documentation, testing and inspection, and if a software engineer is available to properly maintain it       
    source file         reusable if it can be used in several different systems with little or no modification   fileThe Basics of Java              source code  
    transaction handler         reusable if it can be used in several different systems with little or no modification   component9.5 - Architectural Patterns the dynamic binding and dispatching of polymorphic methods               
    user interface component         reusable if it can be used in several different systems with little or no modification widget component7.4 - The Basics of User Interface Design       A component used to create the user interface such as a menu, list, input field etc.         
    virtual machine  VM      reusable if it can be used in several different systems with little or no modification   componentThe Basics of Java        just-in-time compilation        

    Next subjectconnection    Upsubject    Previous subjectcombinatorial explosion