Class Notes (1,100,000)
CA (620,000)
Western (60,000)
Lecture 5

Software Engineering 4453A/B Lecture Notes - Lecture 5: Software Maintenance, Source Code, Legacy System

Software Engineering
Course Code
Abdelnasser Hassan Ouda

This preview shows pages 1-2. to view the full 6 pages of the document.
Unit 2
Software Maintenance
Maintenance focuses on modifying a program after it has been put into use
term is mostly used for changing custom software
generic software products are said to evolve to create new versions
maintenance does not normally involve major changes to the system architecture
changes are implemented by modifying existing components and adding new
components to the system
There are different types of software maintenance
maintenance to repair software faults
changing a system to correct deficiencies in a way to meet requirements
maintenance to adapt software to a different operating environment
changing a system so that it operates in a different environment from its initial
maintenance to add to or modify the system functionality
modifying the system to satisfy new requirements
Software Maintenance
Maintenance Effort Distribution

Only pages 1-2 are available for preview. Some parts have been intentionally blurred.

Maintenance costs are usually greater than development costs
costs are affected by both technical and non-technical factors
tend to increase as software is maintained
maintenance corrupts the software structure making further maintenance more
aging software can have high support costs (old languages, compilers, etc)
There are a lot of factors that influence the maintenance cost factors:
A. Team Stability
maintenance costs are reduced if the same staff are involved with them for
some time
B. Contractual Responsibility
developers of a system may have no contractual responsibility for
maintenance so there is no incentive to design for future change
C. Staff Skills
maintenance staff are often inexperienced and have limited domain knowledge
D. Program Age and Structure
as programs age, their structure is degraded and they become harder to
understand and change
Maintenance prediction is concerned with assessing which parts of the system
that may cause problems and have a high maintenance costs
change acceptance depends on the maintainability of the components affected
by the change
implementing changes degrades the system and reduces its maintainability
maintenance costs depend on the number of changes and costs of change
depend on maintainability
Software Maintenance …
Development and maintenance costs
You're Reading a Preview

Unlock to view full version