Types of service development

During the service life of the software, the type of service may vary depending on its character. It can simply be routine services, such as some errors found by any user, or it can be a large event in itself depending on the size or nature of the service. Below are some types of service based on their characteristics:

Correcting maintenance – this includes modifications and updates made to correct or correct the problems that are either found by the user or consist in user error reports.

Adaptive maintenance-this includes modifications and updates used to maintain a software product in the current condition and in accordance with the constantly changing world of technology and business environment.

Impeccable maintenance – this includes modifications and updates made in order for the software to work for a long period of time. It includes new functions, new user requirements for finalizing software and increasing its reliability and performance.

Preventive maintenance – includes modifications and updates to prevent future software problems. It is aimed at solving problems that are not essential at the moment, but can cause serious problems in the future.

Correcting maintenance – this includes modifications and updates made to correct or correct the problems that are either found by the user or consist in user error reports.

Adaptive maintenance-this includes modifications and updates used to maintain a software product in the current condition and in accordance with the constantly changing world of technology and business environment.

Impeccable maintenance – this includes modifications and updates made in order for the software to work for a long period of time. It includes new functions, new user requirements for finalizing software and increasing its reliability and performance.

Preventive maintenance – includes modifications and updates to prevent future software problems. It is aimed at solving problems that are not essential at the moment, but can cause serious problems in the future.

The cost of service

Reports show that the cost of service is high. The study assessment of software service showed that the cost of maintenance is 67% of the cost of the total software processing cycle.

Service cost table

On average, the cost of maintenance of software is more than 50% of all SDLC phases. There are various factors that cause a high cost of service, such as:

Actual factors affecting the cost of service

The standard age of any software is from 10 to 15 years.

Old software products that were supposed to work on slow computers with a smaller memory and storage capacity cannot withstand new improved software tools on modern equipment.

As technologies develop, the maintenance of old software becomes expensive.

Most maintenance engineers are beginners and use the test and error method to correct the problem.

Often, changes can easily damage the initial software structure, making any subsequent changes.

Changes often remain undocumented, which can cause more conflicts in the future.

The final factors affecting the cost of service

Software structure

Programming language

Dependence on the external environment

Reliability and accessibility of personnel

Service activities

IEEE provides the basis for consistent maintenance actions. It can be used by iterative and can be expanded so that tired elements and processes can be turned on.

Service activities

These actions go hand in hand with each of the following stages:

Identification and tracking – includes actions related to the identification of the requirements of modification or maintenance. It is generated by the user or the system itself can report through magazines or error messages. The type of service is also classified here.

Analysis – modification is analyzed for its impact on the system, including consequences for security. If the probable impact is serious, an alternative solution is looking for. The set of necessary modifications is then materialized in the specification of requirements. The cost of modification / maintenance is analyzed and the assessment is completed.

Design. New modules that need to be replaced or modified are developed taking into account the requirements established at the previous stage. Control examples are created for verification and confirmation.

Implementation. New modules are encoded using a structured project created at the design stage. It is assumed that each programmer will perform modular testing in parallel.

System testing – integration testing is carried out among newly created modules. Integration testing is also carried out between new modules and the system. Finally, the system is tested in general, following the regressive testing procedures.

Accepting testing. After internal testing, the system is checked for reception using users. If the user is in this state, he complains about some problems that he solves or notes to solve in the next iteration.

Delivery – after acceptance testing, the system unfolds throughout the organization using a small package of updates or a new installation of the system. The final testing is carried out on the side of the client after the delivery of software.

The training center is provided, if necessary, in addition to the printed user manual.

Maintenance management. Configuration management is an integral part of the system maintenance. This helps to control versions control versions, semi-versions or corrections.

Software reengineering

When we need to update software to fit the current market without affecting its functionality, this is called software reengineering. It is a thorough process where software design changes and programs are rewritten.

Outdated software cannot continue to be configured with the latest technologies available on the market. As hardware becomes obsolete, updating software becomes a headache. Even if the software ages over time, its functionality does not.

For example, Unix was originally developed in assembler. When the C language came along, Unix was redesigned to C because assembly language was difficult to work with.

In addition, sometimes programmers notice that only a few pieces of software need more maintenance than others, and they also need reengineering.

Previous PostNextNext Post