Process and significance of software reuse

Source: Internet
Author: User
Software reuse refers to the process in which identical or similar software elements are repeatedly used in two or multiple different software development processes. Software elements includeProgramCode, Test cases, design documents, design processes, documents to be analyzed, and even domain knowledge. For new software development projects, they are components that constitute the entire target software system, or play a role in the software development process. These software elements are often referred to as software components.
To be able to reuse existing software components during software development, software components must be accumulated and organized into a Software Component Library before that. This means that software reuse should not only discuss how to retrieve the required software components, but also how to trim them as needed, but also how to select software components and how to organize Software Component Libraries. Therefore, Software Reuse Methodology usually requires software development projects to consider both reusing existing software components and the system to consider producing reusable software components. Such projects are generally referred to as software reuse projects.

depending on whether important activities span multiple application fields with less similarity, Software Reuse can be divided into horizontal and vertical reuse. Horizontalreuse refers to reusing software elements in different application fields, such as data structures, classification algorithms , and man-machine interface components. The standard function library is a typical and original horizontal reuse mechanism. Vertical reuse refers to the reuse of software components among a category of public application fields. Because there is little potential to implement software reuse between two completely different application fields, vertical reuse is widely noticed and becomes the true place of software reuse technology. It is not difficult to understand that the main key point of vertical reuse activities is domain analysis. the reusability of software components is predicted based on the characteristics and similarity of application fields. Once the reuse value of software components is determined based on the domain, the machine can develop software components and generalize software components with reuse value so that they can adapt to new similar application fields. Then, the software components and their documents can enter the Software Components Library to become reusable resources for subsequent development projects. These components constitute a soft part construction activity. Obviously, it is a gradual process of accumulating and improving software components. As software components are constantly enriched, the size of the Software Component Library will be constantly expanded. Therefore, the organizational structure of the library will directly affect the retrieval effect of software components, especially when the retrieval method is not limited to the simple name matching method used by the standard function library. After the available software components are retrieved from the database, you must understand their functions and behaviors to determine whether they are applicable to the current project. If necessary, you may consider slightly modifying a soft part that matches the desired function/behavior, or even adding the modified soft parts to the soft parts to replace the original soft parts. Of course, this requires that the modified soft parts have higher reuse value than the original soft parts.
Software Reuse can help computers. The main task of the CASE tool supporting software reuse is to use an organizational structure to store Software Component Libraries, provide friendly man-machine interfaces, and help users browse, search, and modify software component libraries, and read the questions that interest users to explain. In fact, almost all software reuse activities are now carried out with the help of the CASE tool.
using reuse technology can reduce a large amount of repetitive work in software development activities, which can improve software productivity, reduce development costs, and shorten the development cycle. At the same time, because most of the software components have undergone strict quality certification and have been tested in the actual operating environment, reusing software components helps improve the software quality. In addition, software flexibility and standardization are also expected to be improved when software components are widely used.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.