In: Computer Science
Software Evolution:
1. Mention one reason why software change is unavoidable.
2. Suppose two system maintenance requests have emerged for the in-store automated
supermarket system in the following situations:
Situation 1: A new payment method (e.g., Bitcoins) is
needed to be added to the system.
Situation 2: This situation is based on the mix payment method where a customer can use
multiple methods of payments, such as cash and card, in a single transaction. Suppose a customer
decides to pay using cash and card. The customer first pays a portion of the full amount through
cash and then the balance using the card. In this case, it has been identified that the system
incorrectly charges the amount paid in cash from the card instead of the balance and completes
the transaction.
a. Specify what categories of system maintenance are described above.
b. Assume that you are performing an impact analysis of the changes. Identify a
consequence that could occur due to each of changes requested above.
A software is inevitable. That is, it requires new updates when the system is used. And it is also used to correct errors which is occurred during the running stage of the software. Modification is mandatory because new equipment is added to the current version of the software. So, the compatibility may not be support to the current system. And also, the performance or reliability may have to be improved. Software updates are important because they often include critical patches to security holes. They can also improve stability of your software and remove outdated software.
a) A conventional type of maintenance is used to keep the system valuable and running effectively.
So, in an in-store automated supermarket system a new payment method is adapted for customers. And it also supports multiple payment options to the customers. That is the customers can use both the option like cash or card payment method in a single transaction. In such situation customers can opt for the cash transaction for their payment and the remaining payment can be done through card. So, there is no such transaction or total amount incompatibility in the transaction.
For that, we can use the perfective maintenance of the software. When the software functions are changed according to their customers need then it satisfies the customer. It enhances the function of the software and increase the performance. Code and system efficiency is another reason why this type of maintenance is always necessary.
It focuses on speed, user interface, optimization and improvement on usability.
Modification of the payroll is one of the main functionalities of the perfective maintenance. It focusses on customer demand. And it also displays the warning message for the customers what they supposed to do in next.
b) Impact analysis defines the impact of changes in the deployed product or application.
The impact is analysed on requirement, design & architecture, impact on test and impact on schedule.
In in-store automated supermarket system the payment method is improvised, then the new system may show some compatibility issues like variation in the total amount payable at the time of both the system of cash and card are used.
And also it may be arise some kind of updated software support issue. So, the features of the system cannot be completely support it.