Directory:
1 Overview of software reuse
2. Two-Dimensional view chart for Software Reuse
3.1 software reuse
3.1 code-level Software Reuse
3.2 component-level Software Reuse
3.3 system-level Software Reuse
4. component-based software development process
Body:
1 Overview of software reuse
At first, I wanted to share one of my dreams:
New projectNow, the requirement analysis is complete, and the system integrator directly goesComponent Library of the companyCall related software components and assemble them into a system.
Starting from this dream, we will analyze the processes that we can reuse in software development to ensure that software reuse is feasible.
2. Two-Dimensional view chart for Software Reuse
|
Specific Service Level |
Business field level |
Technical Level |
Category level |
|
|
|
Component level |
|
|
|
System Level |
|
|
|
In actual software engineering, we will analyze software reuse from two perspectives.
Reusable object level:
Reusable objects mainly include code-level, component-level, and system-level
Category level: The primary reusable object is class or object.
Component level: Reusable objects are components.
System Level: The primary reusable object is subsystem.
Reuse level:
The reuse level mainly includes the specific business level, business field level, and technical level.
Specific business level:The content of a reusable object at a specific business level is a specific business. In the three reusable levels, the specific business level is the minimum scope of the reusable object. Reusable objects at a specific business level can generally be applied to special mechanisms in projects.
Business field level: The content of reusable objects in the business field is a common business in the business field. It is applicable to general fields, for exampleWorkBusiness Accounting.
Technical Level: The Reuse objects at the technical level are not related to specific services. The Reuse objects at the technical level are also the most widely used.
3.1 software reuse
3.1 code-level Software Reuse
Implementation Process of Code-level Software Reuse
Code-level software reuse mainly implements the process of directly copying code to a specified project.
Code-level software reuse is the most common method of reuse.
Advantages and disadvantages of Code-level Software Reuse
Advantages: simple and easy to operate
Disadvantage: compared with other reuse methods, you need to ReView the code.
3.2 component-level Software Reuse
Scope and implementation process of component-level Software Reuse
Component development process:
Component Interface document definition à component development à component package and documentation are submitted to the Company Building Library
Note: The Key to Component Reuse success or failure lies inComponent Management
Component Management is divided into several parts
Component Design Review, source code management, version management, and component usage document management.
Example: log4, the log component of the current process, is reused.
Advantages and disadvantages of component-level Software Reuse
Advantage: easy to use
Disadvantage: high management requirements
3.3 system-level Software Reuse
Scope and implementation process of system-level Software Reuse
Subsystem function definition (including system integration interface) à normal subsystem Development (this process is consistent with the normal system development process)
Advantages and disadvantages of system-level Software Reuse
Advantage: high reuse Efficiency
4. component-based software development process
In the software implementation process.
Step One: the system analyst designs the system framework based on the analysis requirements.
Step TwoSystem assemblerSubmit the current component list based on the system framework (the existing component list and the component list to be developed)
Step Three project team develops components based on the component list and submits them to the component library administrator.
Step fourSystem assemblerAssemble components into a system and submit them to the test group for testing.
Step five test group Test System
Step Six customer Deployment System