Chapter Note
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