Lecture 11 Flashcards

1
Q

What are the key problems for all organizations?

A

A key problem for all organizations is implementing and managing change to their existing software systems

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

What is fault repairs?

A

Changing a system to fix faults/vulnerabilities

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

What is environmental adaptation?

A

Changing a system so that it operates in a different way from its initial implementation
(New tax laws, Brexit for example)

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

What is modifying existing functionality?

A

Users asking for features to be changed

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

What is Program evolution dynamics?

A

Program evolution dynamics is the study of the processes of system change

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

Why should a program have continuous change?

A

A program that is used in a real-world environment must necessarily change or it becomes progressively less useful in that environment

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

Why do you have to check increasing complexity?

A

As an evolving program changes, its structure tends to become more complex. Extra resources must be devoted to preserving and simplifying the structure

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

Why does software need continuing growth?

A

The functionality offered by systems has to continually

increase to maintain user satisfaction

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

What is declining quality?

A

The quality of systems will decline unless they are
modified to reflect changes in their operational
environment

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

What is a feedback system?

A

Evolution processes incorporate multiagent, multiloop feedback systems and you have to treat them as feedback systems to achieve significant product
improvement.

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

What is legacy system replacement?

A

Outdated system changing it

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

Why is replacing legacy system risky?

A

Lack of complete original system specification

No means of reusing the old designs

Undocumented business rules embedded in the legacy system

Poor upkeep of documentation

New software development is always late and over budget

Replacement will always be over budget and late

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

What are the legacy system catagories

A

Low quality, low business value
• These systems should be scrapped

Low quality, high business value
• These make an important business contribution but are expensive to maintain
• Should be re-engineered or replaced if a suitable system is available

High quality, low business value
• Scrap completely or maintain (?)

High quality, high business value
• Continue in operation using normal system maintenance

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

What are the re-engineering cost factors?

A

The quality of the software to be reengineered
• Can software metrics help here to measure quality?7

The tool support available for reengineering
• Developers are always moaning about tools
• Refactoring tools are poor

The availability of expert staff for reengineering
• This can be a problem with old systems based on technology that is no longer widely used

Time (costs money)
• The cost of one developer per day

Technical debt

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

Factors that affect system lifetimes:

Investment costs

A

The costs of a systems engineering project may be tens or even hundreds of millions of pounds

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

Factors that affect system lifetimes:

Replacement costs

A

The cost of replacing a large system is very high.

Replacing an existing system can only be justified if this leads to significant cost savings over the existing system

17
Q

Factors that affect system lifetimes:

Return on Assesment

A

If a fixed budget is available for systems engineering, spending this on new systems in some other area of the business may lead to a higher return on investment than replacing an existing system

18
Q

Factors that affect system lifetimes:

Risk of change

A

The danger with a new system is that things can go wrong in the hardware, software and operational processes.
The potential costs of these problems for the business may be so high that they cannot take the risk of system
replacement

19
Q

Factors that affect system lifetimes:

System dependencies

A

Other systems may depend on a system and making changes to these other systems to accommodate a replacement system may be impractical

20
Q

Factors that affect system lifetimes:

Refactoring

A

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

You can think of refactoring as ‘preventative maintenance’ that reduces the problems of future change

When you refactor a program, you should not add functionality but rather concentrate on program
improvement
Example: Move method (reduces coupling)

21
Q

What are ‘Bad smells’ in program

code

A

Duplicate code
• The same or very similar code may be included at different places in a program
• This can be removed and implemented as a single method or function that is called as required

Long method
• If a method is too long, it should be redesigned as a number of shorter methods

Large class
• A class has too many methods
22
Q

What is system measuring?

A

You may collect quantitative data to make an assessment of the quality of the application system

The number of system change requests
• The higher this accumulated value, the lower the quality of the system

The number of faults over a period of time
• Higher the number of faults, the lower the quality of the system

McCabe’s Cyclomatic Complexity
• Too much complexity reflects a poor quality system