0% found this document useful (0 votes)
8 views3 pages

Lesson 7

The document outlines types of software maintenance, including corrective, adaptive, perfective, and preventive maintenance, as well as the evolution of software driven by new requirements and technology. It discusses handling software changes through patches and upgrades, managing legacy systems, and the importance of configuration management. Additionally, it covers project management aspects such as planning, risk management, team dynamics, and effective communication tools for successful software projects.

Uploaded by

Mark Villegas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views3 pages

Lesson 7

The document outlines types of software maintenance, including corrective, adaptive, perfective, and preventive maintenance, as well as the evolution of software driven by new requirements and technology. It discusses handling software changes through patches and upgrades, managing legacy systems, and the importance of configuration management. Additionally, it covers project management aspects such as planning, risk management, team dynamics, and effective communication tools for successful software projects.

Uploaded by

Mark Villegas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Software Maintenance and Evolution

2.1 Types of Software Maintenance

1. Corrective Maintenance – Fixing bugs and issues after


deployment.

2. Adaptive Maintenance – Modifying software to work in new


environments.

3. Perfective Maintenance – Improving performance, usability, and


features.

4. Preventive Maintenance – Reducing future risks by making


proactive changes.

2.2 Software Evolution

 Software evolves over time due to new requirements and


technological advancements.

 Lehman’s Laws of Software Evolution state that software will:

o Continuously change

o Become increasingly complex

o Self-regulate

2.3 Handling Software Change

 Patches – Small updates that fix specific issues.

 Upgrades – Major version changes that introduce new features.

2.4 Managing Legacy Systems and Technical Debt

 Old software can become difficult to maintain and secure.

 Solutions include:

o Refactoring – Improving code without changing


functionality.

o Rewriting – Creating a new version of the software.


o Migration – Moving software to modern platforms.

2.5 Configuration Management

 Tracks software changes and ensures version control.

 Version control tools:

o Git, SVN, Mercurial

 Release management ensures stable deployments

Software Project Management

3.1 Project Planning and Estimation

 A clear plan is essential for project success.

 Work Breakdown Structure (WBS) – Divides a project into


manageable parts.

 Estimation techniques:

o Function Point Analysis (FPA) – Measures software


complexity.

o Use Case Points – Estimates effort based on use cases.

o Story Points (Agile) – Used in Scrum teams.

o COCOMO Model – Calculates cost based on project size.

3.2 Risk Management

 Identifying risks early helps prevent project failures.

 Risk mitigation strategies:

o Avoidance – Prevent the risk entirely.

o Reduction – Minimize the impact.

o Transfer – Shift risk to another entity (e.g., insurance).

o Acceptance – Acknowledge and prepare for the risk.


3.3 Team Dynamics and Collaboration

 Agile Team Roles:

o Product Owner – Defines requirements.

o Scrum Master – Facilitates Agile processes.

o Developer – Implements features.

o QA Engineer – Ensures quality through testing.

3.4 Effective Communication and Collaboration

 Clear communication is crucial for project success.

 Collaboration tools:

o JIRA, Trello – Project management

o Slack, Microsoft Teams – Communication

 Managing remote teams effectively requires strong


communication and coordination.

You might also like