COMP 3521 chapter 9

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What distinguishes the servicing stage from the evolution stage in a software system's lifecycle?

  • Servicing involves adding new functionalities, while evolution focuses on bug fixes.
  • Servicing only includes changes to keep the software operational, like bug fixes, without adding new functionalities, while evolution implements new requirements. (correct)
  • Servicing is the initial development phase, whereas evolution is when the software is used and maintained.
  • There is no clear distinction; the terms 'servicing' and 'evolution' are interchangeable.

Why should proposals for change in software evolution be linked to specific components?

  • To automatically implement the changes without manual intervention.
  • To facilitate better communication with the end-users about upcoming updates.
  • To allow for accurate estimation of the cost and impact of the proposed changes. (correct)
  • To ensure that all team members are aware of the proposed changes.

In the context of software evolution, what is the primary focus during the program understanding phase?

  • Testing the software to identify bugs and errors.
  • Understanding the program's structure, functionality, and the potential impact of proposed changes. (correct)
  • Implementing urgent changes without rigorous analysis to expedite the process.
  • Designing new features to be added to the software.

In which situations might urgent changes be implemented without undergoing all stages of the software engineering process?

<p>When a serious system fault needs immediate repair, or when changes to the system's environment have unexpected effects. (D)</p> Signup and view all the answers

How do agile methods facilitate software evolution?

<p>By using incremental development, making the transition from development to evolution seamless. (A)</p> Signup and view all the answers

What challenges might arise when a development team uses an agile approach, but the evolution team prefers a plan-based approach?

<p>The evolution team may expect detailed documentation that is not produced in agile processes. (A)</p> Signup and view all the answers

Why is replacing legacy systems considered a risky endeavor?

<p>Due to the lack of complete system specifications and tight integration with business processes. (A)</p> Signup and view all the answers

Which factor contributes to the high cost of changing legacy systems?

<p>No consistent programming style and inadequate system documentation. (C)</p> Signup and view all the answers

What should the choice of strategy for evolving a legacy system depend on?

<p>The system's quality and its business value. (B)</p> Signup and view all the answers

What is the recommended course of action for legacy systems that are of low quality and have low business value?

<p>Scrap the system completely. (C)</p> Signup and view all the answers

When assessing the business value of a system, which viewpoints should be taken into account?

<p>Different viewpoints, including system end-users, business customers, and senior managers. (A)</p> Signup and view all the answers

What does system dependability indicate about a system's business value?

<p>If a system is not dependable and the problems directly affect business customers, the system has a low business value. (D)</p> Signup and view all the answers

When assessing the quality of a legacy system, what does 'environment assessment' primarily evaluate?

<p>Effectiveness of the system's environment and how expensive it is to maintain. (A)</p> Signup and view all the answers

In the context of assessing system quality, what does the 'Understandability' factor refer to in application assessment?

<p>How difficult it is to understand the source code of the current system. (C)</p> Signup and view all the answers

What quantitative data might be collected to assess the quality of an application system?

<p>The number of system change requests. (A)</p> Signup and view all the answers

What distinguishes software maintenance from software evolution?

<p>Software maintenance is mostly used for changing custom software, while generic software products evolve to create new versions. (A)</p> Signup and view all the answers

Which activity is classified as environmental adaptation in software maintenance?

<p>Modifying a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation. (A)</p> Signup and view all the answers

Why is it generally more expensive to add new features to a system during maintenance than during development?

<p>A new team has to understand the programs being maintained, and program maintenance work is unpopular. (D)</p> Signup and view all the answers

What is the primary concern of maintenance prediction in software engineering?

<p>Assessing which parts of the system may cause problems and have high maintenance costs. (D)</p> Signup and view all the answers

What factor indicates a potential decline in maintainability when using process metrics?

<p>An increase in the average time taken to implement a change request. (D)</p> Signup and view all the answers

What is the objective of software re-engineering?

<p>To restructure or rewrite part or all of a legacy system without changing its functionality. (B)</p> Signup and view all the answers

What is a key advantage of re-engineering over developing new software?

<p>Re-engineering is generally less expensive and risky than developing new software. (C)</p> Signup and view all the answers

Which of the following is a re-engineering process activity?

<p>Converting code to a new language. (C)</p> Signup and view all the answers

Which factor has the greatest impact on re-engineering costs?

<p>The quality of the software to be re-engineered. (A)</p> Signup and view all the answers

What is refactoring?

<p>Modifying a program to improve its structure without changing its functionality. (D)</p> Signup and view all the answers

How does refactoring differ from re-engineering?

<p>Re-engineering takes place after a system has been maintained for some time, and automated tools are employed, while refactoring is a continuous process. (C)</p> Signup and view all the answers

Which of the following program characteristics would be considered a 'bad smell' in program code?

<p>Duplicate code. (A)</p> Signup and view all the answers

What is 'data clumping' in the context of program code?

<p>The same group of data items reoccurring in several places in a program. (A)</p> Signup and view all the answers

According to the key points, what model can software development and evolution be represented by?

<p>Spiral model (D)</p> Signup and view all the answers

What is true of the costs of software maintenance for custom systems compared to software development costs?

<p>Maintenance costs exceed software development costs. (A)</p> Signup and view all the answers

According to the key points, what drives the software evolution process?

<p>Requests for changes and includes change impact analysis, release planning and change implementation. (C)</p> Signup and view all the answers

What defines legacy systems?

<p>Older software systems, developed using obsolete software and hardware technologies, that remain useful for a business. (C)</p> Signup and view all the answers

What is often cheaper and less risky than developing a replacement system using modern technology?

<p>Maintaining a legacy system. (B)</p> Signup and view all the answers

How is the business value of a legacy system assessed?

<p>By assessing the business value of a legacy system and the quality of the application. (A)</p> Signup and view all the answers

Which of the following is one of the three types of software maintenance identified?

<p>Bug fixing (C)</p> Signup and view all the answers

What is the purpose of software re-engineering?

<p>To restructure and redocument software to make it easier to understand and change. (A)</p> Signup and view all the answers

What describes refactoring?

<p>Making program changes that preserve functionality, is a form of preventative maintenance. (D)</p> Signup and view all the answers

Why is it important for proposals for change to be linked to specific components of a system undergoing evolution?

<p>To accurately estimate the cost and impact of the changes. (B)</p> Signup and view all the answers

In the context of software evolution, which of the following is a key aspect considered during the 'impact analysis' phase?

<p>Assessing how the proposed changes might affect other parts of the system. (A)</p> Signup and view all the answers

Under which circumstances might a software system undergo an emergency repair process?

<p>To address a severe system fault that disrupts normal operation. (B)</p> Signup and view all the answers

Which statement reflects the role of automated regression testing in agile software evolution?

<p>It helps ensure that new changes do not adversely affect existing functionality. (A)</p> Signup and view all the answers

What potential outcome can arise when the development team prefers agile methods, while the evolution team favors a plan-based approach?

<p>Conflict in documentation needs and support for the evolution processes. (B)</p> Signup and view all the answers

Which of the following is a characteristic of legacy systems?

<p>They may incorporate a broad sociotechnical system. (A)</p> Signup and view all the answers

Why is system replacement considered a risky option for evolving legacy systems?

<p>Due to lack of complete system specification, tight integration with business processes, and undocumented business rules. (A)</p> Signup and view all the answers

Why are legacy systems often expensive to change?

<p>Due to the complexity arising from data errors, duplication, inconsistencies, inconsistent programming styles, and inadequate documentation. (B)</p> Signup and view all the answers

An organization is deciding how to evolve a legacy system. Which factor should have the biggest impact on their choice of strategy?

<p>The system quality and its business value. (D)</p> Signup and view all the answers

If a legacy system is assessed to have low quality and low business value, what is the recommended course of action?

<p>Scrap it completely and modify business processes. (A)</p> Signup and view all the answers

When assessing the business value of a system, why is it important to consider viewpoints from different stakeholders?

<p>To get a more complete and balanced understanding of the system's importance. (A)</p> Signup and view all the answers

In the context of business value assessment, what does 'system dependability' indicate about a system's business value?

<p>If the system is undependable and directly affects business customers, the system has a low business value. (B)</p> Signup and view all the answers

What does 'environment assessment' primarily evaluate when assessing the quality of a legacy system?

<p>The effectiveness of the system's environment and its maintenance costs. (A)</p> Signup and view all the answers

When assessing system quality, what does the 'Understandability' factor refer to in application assessment?

<p>How difficult it is to understand the source code of the current system. (A)</p> Signup and view all the answers

Which quantitative data could be collected to assess the quality of an application system?

<p>The number of system change requests. (A)</p> Signup and view all the answers

How does software maintenance differ from software evolution regarding changes implemented?

<p>Software maintenance implements changes by modifying existing components and adding new ones but does not normally involve major architectural changes. (B)</p> Signup and view all the answers

Which maintenance task is classified as environmental adaptation?

<p>Modifying software to operate in a different environment. (C)</p> Signup and view all the answers

Why is adding new features to a system generally more expensive during maintenance than during development?

<p>A new team has to understand the programs being maintained. (C)</p> Signup and view all the answers

What is assessed by maintenance prediction in software engineering?

<p>Which parts of the system may cause problems and have high maintenance costs. (C)</p> Signup and view all the answers

What does an increase in the average time required for impact analysis, when using process metrics, indicate?

<p>A potential decline in maintainability. (C)</p> Signup and view all the answers

What is the core purpose of software re-engineering?

<p>To restructure or rewrite part or all of a legacy system without changing its functionality. (C)</p> Signup and view all the answers

What is a primary benefit of re-engineering compared to developing new software?

<p>Reduced risk. (A)</p> Signup and view all the answers

Which of the following activities would be considered part of the re-engineering process?

<p>Analyzing the program to understand it (reverse engineering). (D)</p> Signup and view all the answers

Which factor most significantly influences the cost of re-engineering a software system?

<p>The quality of the software to be re-engineered. (D)</p> Signup and view all the answers

Which of the following best describes 'data clumping' as a 'bad smell' in program code?

<p>Occurrence of the same group of data items in several places in a program. (D)</p> Signup and view all the answers

Flashcards

Software Change

Changes to software are inevitable after it is put into use.

Importance of Evolution

Organizations have massive investments in software, so evolution is very important.

Evolution Stage

The stage in a software system's life cycle where it is in operational use and is evolving as new requirements are proposed and implemented in the system.

Software Servicing

Software remains useful, but the only changes made are those required to keep it operational such as bug fixes and changes to reflect changes in the software's environment. No new functionality is added.

Signup and view all the flashcards

Phase-out

The software may still be used, but no further changes are made to it.

Signup and view all the flashcards

Software evolution processes

Software evolution processes depend on these three things.

Signup and view all the flashcards

Proposals for change

The driver for system evolution.

Signup and view all the flashcards

Change implementation

Iteration of the development process where revisions are designed, implemented and tested.

Signup and view all the flashcards

Urgent change requests

Changes implemented without going through all stages of software engineering process.

Signup and view all the flashcards

Agile methods

Agile methods are based on incremental development so the transition from development to evolution is a seamless one.

Signup and view all the flashcards

Legacy systems

Older systems that rely on languages and technology that are no longer used for new systems development.

Signup and view all the flashcards

System hardware

Legacy systems may have been written for hardware that is no longer available.

Signup and view all the flashcards

Support software

Legacy system may rely on a range of support software, which may be obsolete or unsupported.

Signup and view all the flashcards

Application software

Application system that provides the business services is usually made up of a number of application programs.

Signup and view all the flashcards

Application data

Data that are processed by the application system, may be inconsistent, duplicated or held in different databases.

Signup and view all the flashcards

Business processes

Processes that are used in the business to achieve some business objective.

Signup and view all the flashcards

Business policies

Definitions of how the business should be carried out and constraints on the business.

Signup and view all the flashcards

Legacy replacement challenges

Legacy system replacement is risky and expensive.

Signup and view all the flashcards

Evolving legacy systems

Organizations must choose a strategy for evolving legacy systems.

Signup and view all the flashcards

Business value assessment

Assessment should take different viewpoints into account.

Signup and view all the flashcards

Business process assessment

How well does the business process support the current goals of the business?

Signup and view all the flashcards

Software maintenance

Modifying a program after it has been put into use.

Signup and view all the flashcards

Fault repairs

Changing a system to fix bugs/vulnerabilities and correct deficiencies.

Signup and view all the flashcards

Environmental adaptation

Maintenance to adapt software to a different operating environment.

Signup and view all the flashcards

Functionality Modification

Modifying the system to satisfy new requirements.

Signup and view all the flashcards

Maintenance prediction

Maintenance prediction is concerned with assessing which parts of the system may cause problems and have high maintenance costs

Signup and view all the flashcards

Complexity metrics

Predictions of maintainability can be made by assessing the complexity of system components.

Signup and view all the flashcards

Re-engineering process activities

Source code translation, reverse engineering, program structure improvement, program modularization and data re-engineering.

Signup and view all the flashcards

Source code translation

Convert code to a new language.

Signup and view all the flashcards

Reverse engineering

Analyze the program to understand it.

Signup and view all the flashcards

Program structure improvement

Restructure automatically for understandability.

Signup and view all the flashcards

Program modularization

Reorganize the program structure.

Signup and view all the flashcards

Data re-engineering

Clean-up and restructure system data.

Signup and view all the flashcards

Refactoring

Refactoring is the process of making improvements to a program to slow down degradation through change.

Signup and view all the flashcards

Preventative maintenance

Making program changes that preserve functionality, is a form of preventative maintenance.

Signup and view all the flashcards

Duplicate code

Very similar code may be included at different places in a program.

Signup and view all the flashcards

Long methods

Method is too long.

Signup and view all the flashcards

Data clumping

Data clumps occur when the same group of data items reoccur in several places in a program.

Signup and view all the flashcards

Study Notes

Software Evolution

  • Software evolution encompasses the processes involved in modifying software after its initial deployment.
  • Software evolution includes evolution processes, software maintenance, and legacy systems.

Inevitability of Software Change

  • Software change is unavoidable due to evolving requirements during use.
  • Software change is also needed because the business environment changes over time.
  • Errors must be fixed.
  • New tech will be added.
  • System improvements and reliability updates.
  • Managing change to systems presents a key problem for organizations.

Importance of Software Evolution

  • Organizations possess large stakes in their software systems, making them critical assets.
  • Changes and updates are essential to preserve the value of these assets.
  • Most of the software budget in large companies is allocated to evolving existing software instead of creating new ones.

Development and Evolution Spiral Model

  • Specification outlines what the system should do.
  • Implementation creates the code for the system.
  • Validation checks if the system meets the specified requirements.
  • Operation is the phase where the system is used and maintained.
  • Releases are the different versions of the system.

Evolution and Servicing

  • Software development involves the initial creation of the software.
  • Software evolution involves adaptations and modifications after deployment.
  • Software servicing involves bug fixes and environmental changes.
  • Software retirement is when that software is no longer supported.

Evolution

  • Evolution is the stage where the system is in operational use, and new requirements are implemented.

Servicing

  • Servicing is where the software remains useful with bug fixes and changes to reflect environmental updates without adding new functionality.

Phase-Out

  • Phase-out: Software may still be used but receives no further modifications.

Evolution Process Dependencies

  • Maintainence depends on software type, development processes, and skills/experience of involved personnel.
  • Change proposals require links to affected components for cost and impact estimation.
  • Throughout the system's lifetime, change identification and evolution are ongoing.

The Software Evolution Process

  • Change requests represent the start of the software evolution process.
  • Impact analysis assesses the effect of the requested changes.
  • Release planning organizes and schedules the implementation of changes.
  • Change implementation involves modifying the software, entailing either bug fixes, platform adaptation, or system enhancement.
  • System release delivers the updated software version.

Change Implementation Details

  • Change implementation iterates the development process with design, implementation, and testing of system revisions.
  • Program understanding may be needed during the initial phase if new developers are implementing the changes.
  • Program understanding involves deciphering program structure, functionality, and potential impacts of proposed changes.

Handling Urgent Change Requests

  • Software engineering processes may be bypassed when implementing urgent changes.
  • These changes may include fixing a serious system halt, managing impacts of upgrades to the system environment, or providing rapid reactions to business changes.

The Emergency Repair Process

  • Change requests initiate the emergency repair process.
  • Source code analysis identifies the location of changes.
  • Changes are made to the code.
  • The changed system is delivered.

Adapting Agile Methods

  • Transitioning from development to evolution should be seamless because Agile methods are rooted in incremental development.
  • Evolution extends the initial development with regular system releases.
  • Automated regression testing proves useful when system modifications are implemented.
  • Changes can be specified as additional user stories in project management.

Handover Problems: Development vs Evolution

  • Agile development teams pass work to evolution teams preferring plan-based approaches, detailed documentation may be expected.
  • Plan-based development teams pass work to evolution teams preferring agile, automated tests may need to be started from scratch.

Understanding Legacy Systems

  • Legacy systems are older, relying on outdated languages and tech, and are no longer used for new development.
  • Legacy software depends on older hardware, like mainframe computers, and has associated outdated processes.
  • Legacy systems consist of hardware, software, libraries, business processes, and other software.

Elements of Legacy Systems

  • Application software often at the core with business logic.
  • Support software assists application software.
  • System hardware that runs all software components.
  • Application data processes the application.
  • Business processes are workflows the system automates, constrained by the system's capabilities.
  • Business policies and rules dictate how the business is run, embedding the application system.

Legacy System Components - Hardware

  • System hardware may have been written for hardware that is no longer available.

Legacy System Components - Support Software

  • The legacy system may rely on a range of support software that may be obsolete or unsupported.

Legacy System Components - Applications

  • Application software provides the business services and comprises numerous programs.

Legacy System Components - Application Data

  • Application data are processed by the application system and are inconsistent, duplicated, or held in different databases.

Legacy System Components - Business Processes

  • Business processes are the processes used in the business to achieve some business objective.

Legacy System Components - Business Policies

  • Business policies and rules define how the business should be carried out and constraints on the business, with the use of the legacy application system.

Legacy System Layers

  • Hardware provides the physical base.
  • Platform and infrastructure software such as the operating system and databases sit on top of the hardware.
  • Application software runs on platform.
  • Business processes which operate on that software.

Difficulties with Replacement

  • Business usually continues to use legacy systems, as replacement introduces costs and risks.
  • The system replacement introduces risks such as a lack of complete system specifications.
  • The replacement may cause tight integration of the system and business processes.
  • The replacement may cause undocumented business rules embedded in the legacy system.
  • The replacement may result in new software development being late and/or over budget.

The Expense of Changing Legacy Systems

  • Inconsistencies and obsolete languages exist.
  • Documentation is commonly inadequate.
  • Degradation of System Structure and confusing optimizations of code, errors and duplications.

Managing Legacy Systems

  • Organizations must choose a strategy for evolving the systems.
  • These strategies include scrapping the system, continuing the system, transforming the system, or creating a new system.
  • The choice depends on system quality and business value.

Legacy System Categories

  • Low quality and business value: Scrap.
  • Low quality, high business value: Reengineer or replace.
  • High quality, low business value: Replace with COTS or maintain.
  • High quality, high business value: Maintain.

Business Value Assessment, Stakeholders, and Issues

  • Assessments should take viewpoints of system end-users, customers, managers.
  • Stakeholders should be interviewed and results are collated.
  • Dependability and outputs affect value.
  • Business processes may lower value.

Analysis of System Quality

  • Business process assessment determines support for current business goals.
  • Environment assessment measures environment effectiveness and cost of maintenance.
  • Application Assessment gauges application software system quality.

Business Assessment Elements and Example

  • Stakeholder viewpoints should be used to define process models.
  • Different organizational parts may user different processes to perform the same function.
  • Business processes could be adapted, or is effectively supported by legacy applications.
  • A travel ordering system may have a low business value because of the widespread use of web-based ordering.

Considerations for Environmental Factors

  • Consider supplier stability (is it still in business).
  • Consider failure rate, age, and performance.

Support Requirements: Questions on Support

  • Support requirements questions for hardware and software (consider system replacement based on support costs)?

Maintenance Costs: Questions on Support Contracts and Licences

  • What are the costs of hardware maintenance and support software licences?

Interoperability: Question on Compilers

  • Is hardware emulation required and are there problems connecting the system to the others?

Measuring Attributes and Performance

  • Consider source code understandability and complexity.
  • Evaluation include system documentation, data attributes, data, and data consistency.
  • Appraise overall system performance.

Programming language and test and configurations considerations

  • What are modern languages used to develop this system and is it still in use.
  • Check for all versions of system parts are managed.
  • Test data should exist for systems: Regression tests performed on features added.

Personnel: Considerations

  • Personnel available who have skills to maintain/ use the software.

Quantifying System Quality

  • Accumulate Data on System Change and the number of user interfaces.
  • The volume of data is the key to making assessments of the data-processing.
  • Cleaning is costly.

Defining Software Maintenance

  • Maintenance modifies a program after use, focused on custom software; it rarely introduces architecture changes.
  • System modifications and integration can be implemented in phases.

Categories of Maintenance

  • Fault repairs are used to fix defects and bugs.
  • Software is updated to different operating environments, is referred to environmental adaptation, and may operate in different environments from the initial implementation.
  • Changes to a system can include additions and modifications.

Effort Distribution of Maintenance

  • Functionality addition or modification (58%).
  • Fixing faults(24%).
  • Adjusting to new environments (19%).

Defining factors of Maintenance Costs

  • Costs are higher for maintenance, and maintenance can be higher depending on the application.
  • Factors also technical ones and non technical.
  • Expenses rise and corrupt the software, and maintainence makes it difficult.
  • Support costs are high (compilers, languages,etc).

Expense: Development vs Modifications

  • It's normally more expensive to add to maintenance rather than in a system under development.
  • New Teams and developers are needed to work on maintainable software.
  • Maintenance staff who are often inexperienced, and their structures often age.

Defining Maintenance Prediction

  • Prediction looks at which systems may have problems and high costs.
  • Implementation changes degrade systems and maintenance depends on maintaining the maintainability.

Prediction Elements

  • Maintainability is predicted by system changes, maintenance costs, and the parts affected by change.

Change Prediction

  • Understanding changes requires a system, its environment.
  • System coupled with changes whenever environment ones are adapted.
  • Changing can depend on volatility (requirements), complexity (interfaces), and processes.

Defining Complexity metrics

  • Predictions focus on complexity of control and data, and the sizes of object, procedure, and module.

Process indicators

  • Can measure to maintain the number of requests, average time, and requests outstanding.
  • Maintainability decreases if indicators increase.

Software Re-engineering

  • Code is rewritten or restructured in legacy systems without functionality changes.
  • This is mainly used when frequent maintenance is needed.
  • Re-engineering includes adding effort.

Reduced Risk

  • There is risk with software development because there may be problems, specifications and staffing.

Reduced Cost

  • Re-engineering is less expensive than software development.

Process of Re-engineering

  • Original Program: Initial code slated for re-engineering.
  • Reverse Engineering: Analyze code to understand structure and logic.
  • Program Documentation: Create documentation to aid understanding and future maintenance.
  • Source Code Translation: Convert code to a new language for modern development.
  • Program Modularization: Divide program into manageable modules.
  • Program Structure Improvement: Restructure Code for understandability.
  • Restructure Program: Improve internal code organization with changes.
  • Result: Re-engineered program + re-engineered data.

The Activities of Re-engineering

  • Convert Code to a specific Language (Source language translation), Reverse it to read the original components
  • Restructure to enhance understandability and reorganize code.
  • Clean and organize the structural system.

Approaches to Re-engineering

  • Automated code restructuring can be automated.
  • Code Conversion should be automated but manual too.
  • Code enhancements will be integrated to reduce costs.

Factors for cost

  • The tool support available, data conversion, and expert staff are important for reducing the costs.

Refactoring

  • Improvement is to reduce degradation with change, and reduced problems will result.
  • Altering improves maintainance, and complexity improvements.
  • Concentrate on functionality not enhancement.

Re-engineering and Refactoring Summary

  • Automation can be used, but it involves legacy software to create maintainable ones.
  • Refactoring is improving and code degradation can prevent the maintaininability.

Bad Code Examples

  • Similar code is placed in different programs to be implemented as a function.
  • If a function is to long, re design into methods.

Polymorphism for code statements

  • Those that depend of value switch should be polymorphic to reduce duplication.

“Bad Smells” Cont. - Clumps & Neglect

  • Similar items in classes can be encapsulated, and generalization might not be used and should be removed.

Key Points on Evolution:

  • Evolution and development are integrated iterations, and maintenance out costs development.
  • Change-driven software evolution involves change impact analysis, release planning, and implementation, with old software remaining in use due to its business benefits.

Key Points on Evolution and Legacies:

  • Legacy application assessments, transformations and maintainability are cheaper than completely starting again.
  • Software maintenance can be a mix of fixing bugs, adapting it, and implementing them.

Improving software:

  • Softwares need to be re-organized to be modified and improved.
  • Changing codes that maintains performance is a important maintainance role.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser