Waiting for answer This question has not been answered yet. You can hire a professional tutor to get the answer.
Provide a 6 pages analysis while answering the following question: Software Reuse. Prepare this assignment according to the guidelines found in the APA Style Guide. An abstract is required.
Provide a 6 pages analysis while answering the following question: Software Reuse. Prepare this assignment according to the guidelines found in the APA Style Guide. An abstract is required. Software reuse has its roots it software and computer programming in the development of software libraries, which contains functions and subroutines, they are called reusable units of software. Now day’s software reuse contains the spectrum of system artifacts including these software libraries as software requirements and patterns. In software engineering, the last fifty years were a tremendous change. In 1990’s, there had been a shift from tools, processes, documentation and plans to individuals, working software, collaborations and responding to change. Organizations have been moved from typical waterfall models to spiral, evolutionary or iterative process models. Software reuse is categorized into two different types: opportunistic and systematic. Opportunistic means the unplanned and euphemistically reuse of software artifacts that are not originally designed for reuse of it in mind. But as well as concerned with systematic reuse of software, the software artifacts are designed in a sense that they are deliberately reused (Glisic and Lorenzo 2009). Benefits of Software Reuse: The concept behind software reuse is clear cut. Software reuse enables developers to create new software from existing ones using strategies, principles and techniques. A powerful concept proposed by Jones and Bonsignour (2012) has been focused on the software reusability. Software reuse results in a huge productivity, better quality and decrease in time for products. It is a mean to achieve the improvement in the overall software production. A high quality software reuse process improves productivity, quality and dependability as well as schedule, cost and performance of software. In short, software reuse development helps in reduction of risks in legacy and new system development. Estublier and Vege (2005) suggested that a really reusable component had a significant cost. Therefore, to be cost effective, a reusable component must be widely reused. Reuse backdrop encompasses a range of reuse techniques (Sommerville 2004). Once software reuse is established, it enables the organization to accomplish more without using addition resources. Software reuse is important for business trying to gain and maintain a competitive advantage. It allows organizations to avoid duplicating past efforts. Software issues are also decreased by using these reusing techniques, and it represents a strategy to meet the challenges of rapidly changing complex environment (Pressman 2010). Lim (1998) identifies many benefits of software reuse, which are given as following: Improved software quality Short time to market Increase development productivity Consistent application functionality Reduce the risk of cost and schedule overruns Allow prototyping for validating user requirements Leveraging of technical skills and knowledge There are many benefits of software reuse, however, cannot be realized until effective implementation is not applied. Reuse of a software component, which cannot meet the requirements, cannot present the evident until verification and validation activities. Software reuse has broader benefits, but these benefits may be overlooked or go largely unrealizable without the organizational support for reuse and incentives for reuse (Larman 2012).