0% found this document useful (0 votes)
50 views

Assignment 9

notes

Uploaded by

ainur.taskynova
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Assignment 9

notes

Uploaded by

ainur.taskynova
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Assignment 9

9.1 Explain how advances in technology can force a software subsystem to undergo change or
run the risk of becoming useless.
If software is not updated, it may become outdated due to technological advances. New
hardware, such as faster computers or operating systems may not be compatible with older
programs. Security vulnerabilities evolve, necessitating updates to keep software secure. If a
software subsystem does not adapt to work with new technology (increase its performance, or
meet modern standards) it may become inefficient because it fails to satisfy current needs and
expectations.

9.4 Some software subsystems are seen as “low quality, high business value.” Discuss how
those subsystems can be re-engineered with minimal impact on the operations of the
organization.
It is vital to begin by addressing the biggest problems first and incrementally improving
the system rather than rebuilding it entirely at once. Running a new version enables for
extensive testing of each modification to guarantee proper functionality. This strategy allows the
system to continue working during the improvement process, lowering the likelihood of serious
issues of downtime.

9.5 What are the strategic options for legacy system evolution? When would you normally
replace all or part of a system rather than continue maintenance of the software?
Continued maintenance, incremental improvements of the system, and complete
replacement are all strategic alternatives for modernizing a legacy system. Maintenance is
typically chosen when the system still fulfills business requirements but needs minor changes.
Gradual changes, or “refactoring” are performed when elements of the system require
improvement without complete redesign. If the program no longer meets the current company’s
goal, is too costly to maintain or has security problems, it is advisable to replace it entirely.

9.7 . As a software project manager in a company that specializes in the development of


software for the offshore oil industry, you have been given the task of discovering the factors
that affect the maintainability of the systems developed by your company. Suggest how you
might set up a program to analyze the maintenance process and determine appropriate
maintainability metrics for the company.
Starting with keeping track of all maintenance tasks, such as bug fixes and feature
additions, will help to learn what influences system maintainability. It should be recorded the
duration of each task and the areas of the system that require the most attention. Moreover, it is
important to talk to the maintenance team to learn about common issues. Then, fundamental
measurements should be created using this data such as time it takes to resolve problems and
the frequency of updates required. Then, managers should check these metrics on a regular
basis to assess how simple it is to maintain the software and identify areas for improvement.

9.8 Briefly describe the three main types of software maintenance. Why is it sometimes difficult
to distinguish between them?
Corrective, adaptive and perfective software maintenance are the three primary
categories. Corrective maintenance repairs software faults and bugs. Updating the program to
accommodate changes in the environment, such as new hardware or operating systems is
known as adaptive maintenance. The goal of perfective maintenance is to enhance the
functionality of the program or add new features in response to user input. Because various
types of modification frequently overlap, it can be challenging to distinguish between them.

You might also like