Software Evolution Flashcards

1
Q

What is implementation in terms of evolution?

A

Moving from an old system, to a new system.
Stop using the old system and working in the old way.
Migrate data to the new system.
Start using the new system and work in the new way.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe some changeover methods

A

Direct cutover: Old system switches to the new system. Both systems are not running at the same time.
Parallel running: Both systems run for a time, until old system is stopped.
Phased: New system is broken into smaller modules which are introduced gradually and runs in parallel to the old system until all modules are added.
Pilot: New system is rolled out in specific areas/regions until all regions have the new system. Usually implemented in large systems that span many departments/locations/countries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

List benefits of buying application software

A
Ease of use
Compatibility
Data conversion
Product support
Support
Cost
Reputation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are legacy systems?

A

Older systems that rely on languages and technology that are no longer used for new systems development. May be dependent on older hardware, such as mainframe computers and may have associate legacy processes and procedures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

List some types of maintenance

A

Fault repairs: Fix bugs and correct deficiencies in the way the system meets its requirements.
Environmental adaptation: Adapting software to run in a different operating environment.
New/changed functionality: Modifying a system to satisfy new requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is refactoring?

A

The process of making improvements to a program to slow down degradation through change. Preventative maintenance that reduces the problems of future change.
Could involve changing a program’s structure to reduce complexity or make it easier to understand.
When refactoring you should not add functionality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

List some risks when replacing a system

A

Lack of complete system specification.
Tight integration of system and business processes.
Undocumented business rules embedded in the legacy system.
New software development may be late or over budget.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Why might system replacement be costly?

A

If there is no consistent programming style.
If there is use of obsolete programming languages.
If there is inadequate system documentation.
When there is system structure degradation.
When the code is hard to understand.
Where there are data errors, duplication, and inconsistency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly