Ideally changes can all be scheduled to keep the code documents and plans all

Ideally changes can all be scheduled to keep the code

This preview shows page 373 - 375 out of 517 pages.

Maintenance plan outline from the IEEE 1219-1998 Standard for Maintenance in Systems and Software Engineering. Ideally, changes can all be scheduled to keep the code, documents, and plans all in synchronization with an upcoming release. Alas, some changes are so urgent that everything else is dropped to try to get the new version to the customer as fast as possible. For example: The software product crashes. A security hole has been identified that makes the data collected by the product particularly vulnerable. New releases of the underlying operating system or libraries force changes to the product for it to continue to function. A competitor brings out product or feature that if not matched will dramatically affect the business of the customer. New laws are passed that affect the product. Backfilling is the term maintenance engineers use to describe getting code back in synch after emergencies. While the assumption is that the team will update the documentation and plans as soon as the emergency is over, in practice emergencies can be so frequent that the maintenance team can’t keep everything in synch. Such a buildup is called a technical debt . Such procrastination can lead to code that is increasingly difficult to maintain, which in turn leads to an increasing need to refactor the code as the code’s “viscosity” makes it more and more difficult to add functionality cleanly. While refactoring is a natural part of Agile, it less likely for the Change Control Committee to approve changes that require refactoring, as these changes are much more expensive. That is–as the name is intended to indicate–if you don’t repay your technical debt, it grows: the “uglier” the code gets, the more error-prone and time- consuming it is to refactor! In addition to estimating the cost of each potential change for the Change Control Board, an organization’s management may ask what will be the annual cost of maintenance of a project. The maintenance manager may base this estimate on software metrics, just as the project manager may use metrics to estimate the cost to develop a project (see Section 7.10 ). The metrics are different for maintenance, as they are measuring the maintenance process. Examples of metrics that may indicate increased difficulty of maintenance include the average time to analyze or implement a change request and increases in the number of change requests made or approved. At some point in the lifecycle of a software product, the question arises whether it is time for it to be replaced. An alternative that is related to refactoring is called reengineering . Like refactoring, the idea is to keep functionality the same but to make the code much easier to maintain. Examples include: Changing the database schema. Using a reverse engineering tool to improve documentation.
Image of page 373
Using a structural analysis tool to identify and simplify complex control structures.
Image of page 374
Image of page 375

You've reached the end of your free preview.

Want to read all 517 pages?

  • Spring '19
  • Dr.Marcos

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors