Software reuse can help shape the future of software development. Much of the cost and effort for software engineering come from the continual re-discovery and re-invention of patterns and components developed throughout the software industry. By using a repository developers can upload assets to a shared library for themselves or others to use at a later time. Assets can be anything used during the development process such as documentation, designs, components, knowledge base and source code. Using these shared repositories developers can prevent ‘reinventing the wheel’ and focus their efforts on new problems instead of ones that have been solved countless times before. The purpose of this paper is to discuss software reuse and the technologies used to share them and why software reuse isn’t living up to its reputation.
If assets have already been developed for a particular scenario there shouldn’t be a reason to ‘rein...
... middle of paper ...
...elopment methods for an increase in their quality, productivity, and lower maintenance costs.
Desouza, Kevin. “Four Dynamics for Bringing Reuse Back into Software Reuse.” Communication in ACM. Vol 49 No 1. January 2005.
Jordan, Kimberly. Software Reuse Term Paper. 1997.
Schmidt, Douglas. “Why Software Reuse has Failed and How to Make It Work for You.” C++ Report Magazine. January 1999.
Sommerville, Ian. Software Engineering 8. Addison-Wesley Publishers, 2007
“Code Reuse.” Wikipedia, The Free Encylopedia. 28 Mar 2007, 19:35 UTC. Wikimedia Foundation, Inc. 14 April 2007
“Hidden Costs of Code Reuse.” Information Week. 9 Nov, 1998. 14 April 2007
Need Writing Help?
Get feedback on grammar, clarity, concision and logic instantly.Check your paper »
- Software architecture represents a common abstraction of a system that most if not all of the system 's stakeholders can use as a basis for mutual understanding, negotiation, consensus, and communication [2,12]. According to Microsoft’s definition “software architecture is the process of defining a structured solution that meets all of the technical and operational requirements, while optimizing common quality attributes such as performance, security, and manageability. It involves a series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application .... [tags: Software engineering, Requirements analysis]
1218 words (3.5 pages)
- ASSIGNMENT -6 Designing Reusable classes Summary: This article was written by Ralph E.Johnson and Brian Foote which was discussed about the Designing of reusable classes and its importance in Object-Oriented programming languages and how can we make object oriented programming as reusable programming language. The initial part of the article discussed about the object oriented language attributes such as abstract classes, polymorphism and inheritance. This article will help us in understanding the importance of reusability concept in object oriented programming.... [tags: Object-oriented programming, Programming language]
1794 words (5.1 pages)
- The term Software as a Service first emerged in the year 2000 and can be defined as a means of providing services of remote access to software where both the software and the hardware components are hosted by the SaaS vendor (Torbacki, 2008). Introduced in 1999 by (Bennett et al., 2000) as being an upcoming shift towards service-orientation and virtual market places; specifically speaking to the Internet age, and the dramatic effect it has on organisations in terms of producing agile and dynamic systems, it is stated that software can no longer be produced as a single system but rather as a family of systems.... [tags: Information Technology]
544 words (1.6 pages)
- Literature Review contains a complete picture of the related work done including critical analysis of existing software architecture evaluation methods / frameworks used to ensure quality of service in software architecture. It also consists of the limitations of existing models and provides motivation for further research in the same field. This chapter has been categorized into following four sub-sections according to the specific aspects of research domain. 2.1 Quality Attributes and the Quality Model An important issue in software development today is quality.... [tags: Information Technology ]
2907 words (8.3 pages)
- ... 2.0 Coupling The coupling is a one of important aspect in the evaluation of reusability and maintainability of components or services. Coupling defines complexity between inheritance and interface programming. To make the design more flexible we have to minimize the coupling. The less coupling between a method and its environment the method is more independent. Rather than using class inheritance we can use polymorphism through interface parameter types. [AllenHolub] "...you get reuse by programming to interfaces rather than to classes.... [tags: code, segment, coupling, programming]
2098 words (6 pages)
- 1. INTRODUCTION Encouraging software reuse improves the dependability of a product, as a reusable software unit is tried and tested. It reduces the risk of developing a large component from scratch, as it is easy to estimate the cost of using a large reusable software unit. Apart from ensuring quick product delivery, it enables the architects to reuse patterns and architectures suitable for particular situation, and the developers to use a set of program libraries, which eventually reduce the time for development.... [tags: information technology]
1258 words (3.6 pages)
- Waterfall is a linear process model that follows a sequential path from requirements analysis, design, implementation, testing and delivering the product (Royce, 2005, p30). It is characterised by being a document heavy and predictable. Because of the predictability it’s strengths are when a project has concrete requirements from the beginning that are extremely unlikely to change (Boehm, 1988). Being extremely well documented, the entire process is transparent and if one was to look through the documentation all relevant information would be available such as current progress so far and expected completion dates for the entire project.... [tags: Agile software development, Waterfall model]
2404 words (6.9 pages)
- The high level development plan is made up of multiple phases. The project phases has the Engagement, Assessment, Preparation/ Planning, Deployment, Post Implementation, and Go Live. During the engagement phase we will be positioning a proper project authority structure in place with sufficient "checks and balances". A proper Executive and Senior Management and involvement in the project and milestones reached. The projects are often comprised of universal teams and must consider both cultural issues and compliance with local laws and regulations.... [tags: Project management, Management]
973 words (2.8 pages)
- Software development process is similar to manufacturing a physical product like a car or some other electric appliance. In manufacturing the creation of a product is heavily process driven. You may have a factory where each person has a specific set of tasks they follow. A worker (or robot) may tighten a screw all day long. Then the next task in the process is performed by the next specialist. The workers (and robots) do not deter from the process or make something up "on the fly". The parts churn through the through the process, and the output is a finished product.... [tags: Software development process]
1842 words (5.3 pages)
- Implementation Phase of Communication Assets Project (CAP) Abstract This paper discusses the implementation phase of the Communications Assets Project (CAP) Software Configuration Management (SCM). CAP is an interoperable communications inventory software package. The project manager for CAP has asked for an analysis for software configuration management. This paper includes the six major activities: coding, testing, installation, documentation, training and support. This document is a discussion on the transition from the design phase to the implementation phase.... [tags: Software Technology]
1536 words (4.4 pages)