Home » Software Engineering

Software Maintenance | Software Engineering

In this article, we are going to study how software maintenance is done and why is it essential?
Submitted by Monika Sharma, on November 24, 2019

Software maintenance is turning into a significant work for an enormous number of software developing organization. Maintenance is important. Additionally, at whatever point the help condition of a product item changes, the product item requires to revamp to adapt up to the more current interface. In this manner, each product item keeps on advancing after its advancement through Software Maintenance endeavors. Hence it very well may be expressed that product support is expected to address mistakes, improve highlights, port the product to new stages, and so forth.

Types of Software Maintenance

There are basically three types of software maintenance. These are,

  1. Corrective:
    Corrective Maintenance of a product item is important to amend the bugs watched while the framework is being used.
  2. Adaptive:
    A product item may require maintenance when the clients need the item to run on new platforms or on new working frameworks, or when they need the item to interface with new hardware or software.
  3. Perfective:
    A software product needs maintenance to help the new highlights that clients need it to support, to change various functionalities of the framework as indicated by client requests, or to improve the presentation of the framework.

Factors that affect Software Maintenance

The activities associated with a software maintenance project are not interesting and rely upon many factors, for example,

  • The degree of change to the item required.
  • The assets accessible to the maintenance team.
  • The state of the current item (e.g., how organized it is, how all around recorded it is, and so forth?)
  • The normal undertaking dangers, and so forth.

Software Maintenance Process Models

Two general classifications of process models for software maintenance can be proposed.

The primary model is favored for tasks including little revises where the code is changed straightforwardly and the progressions are reflected in the important reports later. This support procedure is graphically displayed.

software maintenance (1)

The subsequent procedure model for software maintenance is favored for projects where the measure of revise required is significant. This methodology can be depicted by a reverse engineering cycle followed by a forward engineering cycle. Such a methodology is otherwise called software reengineering. This procedure model is portrayed.

software maintenance (2)

The reverse engineering cycle is required for previous versions. During reverse engineering, the old code is examined (disconnected) to separate the module particulars. The module determinations are at that point dissected to create the plan. The plan is examined (disconnected) to create the first necessities determination. The change requests are then applied to this prerequisite particular to land at the new requirements specification.

Estimation of Approximate Maintenance Cost

It is well known that maintenance endeavors require about 60% of the absolute life cycle cost for a common software item. Be that as it may, maintenance expenses shift broadly from one application space to another. For inserted frameworks, the support cost can be as much as 2 to multiple times the advancement cost.

Boehm proposed an equation for assessing support costs as a component of his COCOMO cost estimation model. Boehm's upkeep cost estimation is made regarding an amount called the Annual Change Traffic (ACT).

Boehm characterized ACT as the division of a product item's source directions which experience change during a run of the mill year either through expansion or erasure.






Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.