Answer to Question #33735 in Other Programming & Computer Science for Victoria
Your question (max 1024 symbols)
identfy the features being offered by a reusable component and explain them.
Software component reuse is the software engineering practice of creating new software applications from existing components, rather than designing and building them from scratch. Reusable components can be requirements specifications, design documents, source code, user interfaces, user documentation, or any other items associated with software. All products resulting from the software development life cycle have the potential for reuse.
In order for a component (specification, design, code) to be reusable, it needs to have certain qualities that contribute to its reusability. Reusability is defined as the extent to which a software component can be used with or without changes in multiple software systems, versions, or implementations (McClure 97). A list of those characteristics generally sought after to promote reusability as presented by McClure are as follows: oGeneral with build-in adaptability/specialization oWidely applicable oModular/self-contained oComplete and consistent oMachine independent oImplementation/application independent oData model independent oReliable oRobust (good error/exception handling built in) oUnderstandable/well documented oAdaptable/extensible oStandardized oPortable (across hardware and operating systems) oCertified/testable oMaintainable oEncapsulated (details are isolated and hidden from user)