Software Verification and Validation

--Originally published at Hermes's Blog

Validation and verification are two different concepts in software engineering, each one can be abbreviated to the questions: are we building the right system? and are we building the system right?

Software Verification and Validation

Validation is concerned with checking that the software actually satisfies the customer’s needs and its objective is to demostrate that the product fulfills its intended use when placed in its intended enviroment, whereas verification is the process which checks if the software is functioning correctly and its objective is to ensure that work products meet their specified requirements.

Software Verification and Validation

Source:

The difference between Verification and Validation

Verification vs Validation


Software Verification and Validation

Software Maintenance

--Originally published at Hermes's Blog

Software maintenance stands for all the modifications done after the delivery of a software product. A software maintenance is needed in order to mantain our software up to date.

Modifications in the software may be required because of changes in the market conditions, changes in the client requirements or even host modifications.

There are some types of maintenances based on their characteristics:

Software Maintenance

flickr photo by Pia https://www.flickr.com/photos/omgdolls/16382202136 shared under a Creative Commons (BY-SA) license

Corrective Maintenance:

This includes modifications and updates done in order to correct or fix problems, which are either discovered by user or concluded by user error reports.

Adaptative Maintenance:

This includes modifications applied to keep the software product up-to date and tuned to the ever changing world of technology and business environment.

Perfective Maintenance:

This includes updates done in order to keep the software usable over long period of time. It includes new features, new user requirements for refining the software and improve its reliability and performance.

Preventive Maintenance:

It aims to attend problems, which are not significant at this moment but may cause serious issues in future.

Sources:

http://swebokwiki.org/Chapter_5:_Software_Maintenance

https://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm


Software Maintenance