By clicking “Check Writers’ Offers”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related email
No need to pay just yet!
About this sample
About this sample
Words: 557 |
Page: 1|
3 min read
Published: Jul 30, 2019
Words: 557|Page: 1|3 min read
Published: Jul 30, 2019
Software reuse is the process of implementing or updating software systems using existing software assets.
The whole of an application system is also reused either by incorporating it without change into other systems (COTS reuse) or by developing application families. So, this is often changing into more and more common.
Components of an application from sub-systems to single objects is also reused.
Software components that implement a single well-defined object or function is also reused. One of the most important benefits of software reuse is minimizing the overall software development costs. However, this is not the only advantage of software reuse and other advantages are mentioned within the following table.
Accelerated development Bringing a system to market as early as possible is usually more important than overall development costs. Reusing software will speed up system production as a result of both development and validation time may be reduced.
Effective use of specialists Instead of doing the same work over and all over again, an application specialist will develop reusable software that encapsulates their knowledge.
Increased dependability Reused software, that has been tried and tested in operating systems, ought to be additional dependable than new software. Its design and implementation faults should have been found and fixed.
Lower development costs Development costs are proportional to the size of the software being developed. Reusing software means that fewer lines of code ought to be written Reduced process risk
The cost of existing software is already noted, whereas the costs of development are always a matter of judgment. This is an important factor for project management as a result of it reduces the margin of error in project cost estimation. This is particularly true when relatively large software components such as subsystems are reused.
Some standards, such as user interface standards, can be implemented as a set of reusable components. As an example, if menus in a user interface are implemented using reusable components, all applications present the same menu formats to users. The use of standard user interfaces improves dependability because users make fewer mistakes when presented with a familiar interface.
Furthermore, when you reuse program or design components, you have got to follow the design decisions made by the original developer of the component. This might limit the opportunities for reuse. However, a more abstract form of reuse is concept reuse when a particular approach is described in an implementation independent way and an implementation is then developed.
The 2 main approaches to concept reuse are:
Design patterns.
Generative programming.
Design patterns play several roles within the object-oriented development process. They provide a common vocabulary for design, they reduce the system complexity, they constitute a base for experience for building reusable software and they act as building blocks from which more complex designs can be built.
Program generators involve the reuse of standard patterns and algorithms. These are embedded within the generator and parameterized by user commands. A program is then automatically generated. Generator-based reuse is possible when domain abstractions and their mapping to executable code can be identified. A domain specific language is used to compose and control these abstractions.
Browse our vast selection of original essay samples, each expertly formatted and styled