设为首页 | 收藏本站
新闻详情

Software maintenance

发表时间:2018-07-09 00:00

Nowadays, software engineering has become one of the important disciplines. It makes everything simple and organized. It replaces the human brain to process all kinds of complicated information and complete various things. However, there will be no perfect software. As the complexity of the things to be processed becomes higher and higher, the requirements for software are getting higher and higher. In order to ensure that the software can complete people's work according to quality and quantity, the software is continuously executed. Maintenance has become a part of software engineering, and its importance is also obvious. Good software maintenance can make the software last longer and meet people's needs.

    Modifications to software products during the software run/maintenance phase are called maintenance.

There are four types of maintenance:

1. Corrective maintenance: After the software is delivered and used, due to incomplete and incomplete testing during development, some hidden errors will inevitably remain in the running phase. These hidden errors are exposed in certain specific usage environments. In order to identify and correct software errors, correct software performance defects, and eliminate misuse in implementation, the process of diagnosing and correcting errors should be called corrective maintenance.

2. Adaptive maintenance: in the process of use, external environment (new hardware, software configuration), data environment (database,

The data format, data input/output method, and data storage medium may vary. The process of modifying software to adapt the software to this change is called adaptive maintenance.

3. Complete maintenance: During the use of the software, users often put forward new functional and performance requirements for the software.

In order to meet these requirements, software needs to be modified or re-developed to expand software capabilities, enhance software performance, improve processing efficiency, and improve software maintainability. The maintenance activities carried out in this case are called perfect maintenance.

4. Preventive maintenance: Preventive maintenance is to improve the maintainability and reliability of the software, and further improve it in the future.

Enter the software to lay a good foundation. Preventive maintenance is defined as the use of advanced software engineering methods to design, program, and test a portion of the software or software that needs to be maintained (re).


    Of all the work spent on the entire software maintenance phase, perfect maintenance accounts for almost half of the workload. Software maintenance activities account for more than 70% of the total lifetime workload. This is due to the need to continually modify the software during the long software run to correct newly discovered errors, adapt to new environments and new users. These changes require a lot of effort and time, and sometimes introduce new errors.

Factors affecting maintenance workload

In the maintenance process of the software, it takes a lot of work, which directly affects the cost of software maintenance. You should consider what factors affect the workload of software maintenance, and what maintenance strategy should be adopted to effectively maintain the software and control the cost of maintenance. The factors affecting are as follows:

• System size: The larger the system, the harder it is to understand. The larger the system, the more complex the functions performed. Therefore, more maintenance work is required.

• Programming language: The size of the program can be controlled using a powerful programming language. The more powerful the language, the higher the modularity and structuring of the generator, the fewer the number of instructions required, and the better the readability of the program.

• System age: The old system is getting more and more chaotic as it is constantly being modified; maintenance personnel are constantly changing and the program becomes more and more difficult to understand. Many old systems were not developed at the time of software engineering requirements, so there were no documents or too few documents. In the long-term maintenance process, the documentation becomes inconsistent with the program implementation in many places, and it is very difficult to maintain.

• Application of database technology: Using the database, you can manage and store data in the user program simply and efficiently, and reduce the maintenance workload of generating user report applications.

• Advanced software development technology: In software development, if you use analysis and design techniques that make the software structure more stable, and programming techniques, such as object-oriented technology, multiplexing technology, etc., can reduce a lot of work.

Software maintenance strategy

• Corrective maintenance: It is not always cost-effective to generate 100% reliable software, which is too costly. But by using

New technology can greatly reduce the need for corrective maintenance. These technologies include: database management systems, software development environments, automatic program generation systems, and higher-level (fourth generation) languages. New development methods, software reuse, error-proof programming, and periodic maintenance reviews.

• Adaptive maintenance: This type of maintenance is inevitable but can be controlled.

(1) Take into account possible changes in hardware, operating system, and other related environmental factors when configuring management.


(2) 把与硬件、操作系统,以及其它外围设备有关的程序归到特定的程序模块中。

(3) 使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。

• 完善性维护:利用前两类维护中列举的方法,也可以减少这一类维护。特别是数据

库管理系统、程序生成器、应用软件包,可减少维护工作量。此外,建立软件系统的原型,把它在实际系统开发之前提供给用户。用户通过研究原型,进一步完善他们的功能要求,就可以减少以后完善性维护的需要。

软件维护活动

为了有效地进行软件维护,应事先就开始做组织工作;

A.首先建立维护的机构;

B.申明提出维护申请报告的过程及评价的过程;

C.为每一个维护申请规定标准的处理步骤;

D.建立维护活动的登记制度以及规定评价和评审的标准。


分享到: