StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Benefits of Software Reuse and Its Potential Problems - Essay Example

Cite this document
Summary
The paper "Benefits of Software Reuse and Its Potential Problems " states that the Navy and Marine Corps have adopted open architecture to reduce the rising cost and increase the capabilities of naval warfare systems and platforms. The open architecture of the Navy is a multifaceted strategy…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER94.6% of users find it useful
Benefits of Software Reuse and Its Potential Problems
Read Text Preview

Extract of sample "Benefits of Software Reuse and Its Potential Problems"

?Software Reuse Introduction: The interchangeable standard proposed by Dough McIlroy over 20 years ago, software reuse is still far from crystallizing the ideas of a software industry. According to Estublier and Vege (2005), the reuse is not a goal itself, it aims at speeding up and decreasing maintenance cost. Reusing of software is the process of reusing the existing software to produce new software with a new requirement and qualities. Software development artifacts of all types i.e. use cases, test cases, requirements, designs, architectures, patterns, documentation, codes etc can be reused potentially if they are developed for reuse purposes from their beginning. 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). Potential Problems with Software Reuse: Sobh (2010) stated the following facts, which affect the software reusing process: There is an enormous variety of techniques application and experience that can be reused other than code. These are such as design, architecture, requirement, user manual and test plans as product artifacts: life cycle model, methods and techniques as processes and other forms of experience cost model, baseline of defeat classes, etc. But sometime reuse of product architecture enables the developer for reuse of others e.g. code. However, it is very difficult to reuse a code module in an object oriented design, which was developed by using functional design. For the reuse of code in software reusing process, there has been some domain of analysis for emphasizing on the code reuse. Some forms of modification are required to adjust the object to the context in which it will be used while trying to use some form of experience (Larman 2012). In complex cases, the parts need to be changed although the basic framework can be reused. The major goal is to maximize the information reused. While reuse of an artifact requires modification, there is an implication that someone has to package artifacts to make them reusable. It becomes hard during the development of software reuse where the product should be getting in the shortest period of time. To maximize the potential of package artifacts, the other resources such as people, time, and money, which must be expanded for their reuse? In modification of package artifacts the activities needed are analysis, generalization, tailoring and formalization of existing experiences and there must be on the critical path of reuse project. Development processes need to define in a way to take the advantages of these reusable artifacts, for example searching and modifying experiences online, during project development, must be provided with appropriate process and sufficient resources. For software reuse development, the other option is to create an organization, which performs analyzing and synthesizing experience for reuse (Berkun 2008). Caffall and Michael (2005) also propose that applying software reuse for a system of systems in a critical situation, because a system is a legacy of systems and developing systems, which provides the capability higher in value than any other individual systems within the system of systems. In the system of systems, there is risk and uncertainty associated with the components of its systems. Because of the associated emergent hazards, a large number of potential system configuration and their non-stationary positions and safety requirements for their delivery. Reuse Planning Factors: A reuse application can be planned or implemented in four basic stages: Initiation: Reusable components are selected from existing software. The initialization informs the software developers and engineers. This first stage raises the level of awareness of reuse in projects (Schmid 2011). Expansion: As the existing software identifies for reuse, the size of catalogue increases more and more. For supporting the distribution and availability of the catalogue, an automated library system could be contemplated based on data from the feasibility study. This stage requires more resources and in this stage the further growth is estimated by the availability of an automated and a well defined catalogue (Mahmood and Saeed 2013). Contraction: Common components and standard architecture models are grouped together to support basic generic function. Ineffective components are retired from the collection leaving only those components that support the features of the reuse domain architecture. Then the collection and classification are updated. This stage also needs more resources (Jacobson et al., 2013). Steady State: After the initialization, expansion and contraction, the steady state comes forward in which identified essential components for software systems in a specific domain, existing components are progressively replaced by components supporting specific functions. In this stage the current components are made more reliable and efficient. Performance and reusability data are based on feedback to domain analysis for model refinement (Madachy 2008). Application Framework: According to Department of Defense Directives USA (2007), the U.S. Department of Navy adopted an open architecture initiative to realize some improvements in software development. The specifications of open architecture are public which include officially approved standards as well as non-standard architecture. The open architecture will create a greater competition among developers through the use of open standards and publish interfaces. But the contractor department must have an understanding of sharing of software and propriety rights. In the contract process of an open architecture, contractor has to define, document and follow an open system approach for using modular design; standard based interfaces and widely supported consensus-based standards (Braude 2004). Other than the standard in the contract process, there are some other standards for which code of sharing and reuse is written. Code should be according to industry standards format that develop and maintain architecture that incorporates appropriate consideration for portability, maintainability, technology insertion, vendor independence, reusability, scalability, interoperability and long term supportability (Sojer 2010). The Navy and Marine Corps have adopted open architecture to reduce the rising cost and increase the capabilities of naval warfare systems and platform. The open architecture of Navy is a multifaceted strategy. It provides a framework for developing joint interoperable system that adapts and exploits an open system design. This framework consists of principles, processes and best practices, which provide opportunities for competition and innovation. (Department of Defense Directives USA 2010). Conclusion: In this paper, software reusability issues have been discussed briefly. Advantages of the software reusability enable the programmer to develop the new application at a low cost in a short period of time. Reusability of a code module from functional design module in an object oriented module is harder. Reuse planning factors are categorized into basic four parts such as initiation, expansion, contraction and steady state. In the final part of paper, application framework related with software reusability is given. References: Berkun, S. (2008). Making things happen: Mastering project management, O’Reilly Media Inc. Braude, E. (2004). Software Design: from Programming to Architecture, Hoboken, John Wiley & Sons. Caffall, D. and Michael, B. (2005) “Architecture Framework for a System of Systems in a Proc of IEEE International Conference of Systems Man and Cybernetics”, IEEE. Vol 2, p.1876. Department of Defense USA (2012). System Safety, MIL-STD-882E. Available from http://www.system-safety.org/Documents/MIL-STD-882E.pdf Accessed on 17/11/2013. Department of Defense USA (2007) Directive, Available from http://www.dtic.mil/whs/directives/corres/pdf/500001p.pdf Accessed on 16/11/2013. Estublier, J., and Vega, G. (2005) “Reuse and variability in large scale applications, in Proceedings of the 10th European Software Engineering Conference”, ACM, Lisbon, Portugal, pp 316-325. Glisic, S., and Lorenzo, B. (2009). Advanced Wireless Networks: Cognitive, Cooperative & Opportunistic 4G Technology, (2nd Ed.). John Wiley & Sons. Jacobson, I., Ng, P., McMahon, P., Spence, I., and Lidman, S. (2013). The essence of software engineering: applying the SEMAT Kernel, Pearson Education Inc. Jones, C., and Bonsignour, O. (2012). The Economics of Software Quality, Pearson Education Inc. Larman, C. (2012).Applying UML and Patterns, (3rd Ed.). Pearson Education Inc. Lim, W. (1998) Managing Software Reuse, A Comprehensive Guide to Strategically Reengineering the Organization for Reusable Components, Prentice Hall. Madachy, R. (2008). Software process dynamics, John Wiley & Sons, Inc. Mahmood, Z., and Saeed, S. (2013). Software Engineering Frameworks for the cloud computing paradigm. Springer. Pressman, R. (2010) Software Engineering A Practitioner’s Approach, McGraw-Hill Education. Schmid, K. (2011), Top Productivity through software reuse: 12th international conference on, Springer. Sobh, T. (2010). Innovations and advances in computer sciences and engineering, Springer. Sojer, M. (2010). Reusing open source code, (1st Ed.). Springer. Sommerville, I. (2004) Software Engineering, (7th), Addison Wesley. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Software Reuse Essay Example | Topics and Well Written Essays - 1500 words”, n.d.)
Software Reuse Essay Example | Topics and Well Written Essays - 1500 words. Retrieved from https://studentshare.org/information-technology/1492251-software-reuse
(Software Reuse Essay Example | Topics and Well Written Essays - 1500 Words)
Software Reuse Essay Example | Topics and Well Written Essays - 1500 Words. https://studentshare.org/information-technology/1492251-software-reuse.
“Software Reuse Essay Example | Topics and Well Written Essays - 1500 Words”, n.d. https://studentshare.org/information-technology/1492251-software-reuse.
  • Cited: 0 times

CHECK THESE SAMPLES OF Benefits of Software Reuse and Its Potential Problems

The Software Debates: Pros and Cons of Software Patents

This research aims to evaluate and present numerous reasons given as to why software should not be subject to patenting and why people support the issuance of software patents.... This article analyzes the evidence both for and against the use of software patents, and considers what effect that these have on the industry as well what the best direction is for the future.... The field of software creation has been growing rapidly, and as a consequence is characterized by strong competition....
14 Pages (3500 words) Essay

Should Games be Used for Education Purposes in the Classroom

Proponents of using video games say that its use increases motivation among students but this point is contradicted by other educators who believe that it may also lead to problems in motivation because students have different likes and preferences (Bakar, Inal and Kagiltay 5).... Bouchaut, Cig, et al concluded that VLEs enriches a student's education because of its “potential benefits in engagement, attitude, and learning intensity as well as increased collaboration, healthy competition, and detailed learning discussions” (Bouchaut, Cig and Dekker 9)....
3 Pages (750 words) Research Paper

The Development of a Software Application

Up till now, this company has been using a traditional approach for the management of its business operations.... In this scenario, Nancy's Novelty Cakes business is looking for an effective way to replace its old manual system they have had for the last 5 years with a new computerized system.... The paper "The Development of a software Application" concerns that computerized systems provide several advantages such as reduced decision cycle time, availability of more appropriate information for decision making, and increased employee efficiency....
18 Pages (4500 words) Assignment

PeopleSoft - State of the Art Software

This helps save money on account of software acquisition and installation and training costs.... Through its various applications which are PeopleSoft Enterprise Human Capital Management (HCM) 9.... One of the differentiating features of this software is its Web 2 capabilities.... its ability to talk to previously released versions of applications helps save its customer acquisition costs as there is no need to replace the previous applications to enable the installation of the new ones....
15 Pages (3750 words) Thesis

Qualitative Research Proposal

Data will be analyzed by the researcher's rationale before coding and application of SPSS software for descriptive statistics and comparisons.... Application of the software reduces probability of bias.... My proposed research seeks to explore the association between drug abuse and domestic violence with the aim of ascertaining significance of drug abuse as a factor to domestic violence....
15 Pages (3750 words) Essay

Crowdsourcing

Throughout its growth, crowdsourcing has greatly affected the field of interface design.... Regardless of a few challenges facing crowdsourcing, incorporating crowdsourcing guarantees several benefits that offset its shortcomings to project implementers.... This paper is about crowdsourcing has become as one of the aspects revolutionizing the modern era where computers are inescapable assets across all organizations....
15 Pages (3750 words) Literature review

Software Reuse in Software Development

"Software Reuse Issues in the Software Development Process" paper covers the extent of software reuse in the development process and the primary issues and impediments it its implementation.... software reuse is the method of updating software systems using currently available software resources.... This concern is caused by software reuse initiative that addresses the wrong or non-existing problem of duplication rather than the more serious architectural flaws....
10 Pages (2500 words) Essay

Managing Software Reuse

This essay "Managing software reuse" presents software reuse that involves the development of software systems from existing software.... Accelerated development - Reuse of codes will enhance the speed of software development and thus it leads to faster delivery of products to the market, which in itself is more beneficial.... The development of the existing software depends on different issues which must be considered when determining the functionality of reuse software....
7 Pages (1750 words) Essay
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us