Chapter Note

aaarrrttt
Chapter2V3.pdf

Chapter 2. The Maintenance Framework

2.1 Definitions

2.2 Components of Maintenance Frame Work

(maintenance Factors)

2.3 Relationship between the maintenance factors

1

2.1 Definitions

Framework: a set of ideas, conditions or assumptions that determine how some things are approached, perceived or understood.

Software maintenance framework:

the context and environment in which software maintenance activity is carried out.

i.e., a set of ideas, conditions or assumptions that determine how software maintenance is approached, perceived or understood.

2

 Environment: the totality of conditions and influences which act from outside upon entity

- Operational Environment: all software and hardware that influence the software in any way

- Non-operational (organizational) environment: all non- software/hardware that influence the software

 Maintenance Process: any activity carried out or an action taken, either by machine or maintenance personnel during software maintenance

 Information gap: the discrepancy between the body of knowledge that system users/maintainer possess and the body of knowledge that are needed to have in order to satisfy a request for change (maintenance)

3

2.2 Components of the Software Maintenance Frame Work (SMF)

A software maintenance framework is used to discuss the factors that affect the maintenance activities.

In order to understand the source of software maintenance difficulties, one needs to understand the following factors, and their interactions.

Factor 1. User Requirements: User is any individual who uses the software regardless of their involvement in its development or maintenance.

Who Requests for additional functionality, refine existing functions, better structure, better documentation, more understandable for future maintenance

4

Factor 2. Environment (operational or non-operational)

• Operational environment: hardware and/or software innovation

• Non-operational environment: policy change, Market competition

 Factor 3. Maintenance Process:

The maintenance process itself is the most important part in the software maintenance framework. It covers the following tasks:

5

• Capturing the requirement: this is the process of finding out what changes are required

• Variation in programming practice: means the differences in approaches used for writing and maintaining the software => different approaches used for writing and maintaining programs. Basic guidelines (e.g. meaningful identifiers, no 'GOTO's) avoid this problem.

• Paradigm shift: refers to an alteration in the way we develop and maintain software, i.e., use of techniques and tools if necessary => There are still many systems in use developed in low-level programming languages.

• Error detection and correction: the early an error is detected and corrected, the cost is lower (up to several hundred fold)

6

FrpFrom

7

From Chapter 1

• “Dead” paradigms for “living” systems: refers to difficulties to accommodate the changing needs of the users and their organizations once the system has been delivered to users.

“Fixed Point Theorem” leads to the development of “dead” systems, system that are designed to meet the needs of the users at one time but not “living” system that are designed to “breathe”, i.e., adapt to changes.

=> Develop software changes in mind

8

Factor 4. Software Product software products are seldom static but continuously

subject to change. The aspects of the such challenge

include:

• Maturity and difficulty of the application domain: the mature application domain, the easier to change

• Quality of the documentation: lack of up-to-date documentation is one of the major problem. The better documentation, the easier the change.

• Malleability of the program: “soft” nature of software product makes it more vulnerable to undesirable change (one of the inherent problems of the software – F.P. Brooks)

• Inherent quality: tendency for the system to decay as more changes are undertaken

9

10

Factor 5. Maintenance Personnel • Staff Turnover: Maintainers are NOT original developers

due to turnover

• Domain Expertise: lack of domain expertise can make the changes difficult

• Working Practice: the way the changes are carried out

11

12

2.3. Relationship between the maintenance factors Figure 1