Skip to content
AD-403 · Software Engineering with Agile Methodology/Quick Revision Short Notes

Software Engineering with Agile Methodology (AD-403) - Unit 3 Short Notes

How unit 3 is examined

Covers maintenance types and cost, SCM, re-engineering, and project management (feasibility, scheduling, risk, SQA, metrics). Marks sit in maintenance, SCM and risk; the rest are single 7-mark questions.

Need and Types of Maintenance

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>

Definition. <mark>Software maintenance is the modification of a software product after delivery to correct faults, improve performance or adapt it to a changed environment.</mark>

Key points.

  1. Maintenance is needed because errors surface only in real use, business rules and laws change, and hardware or operating systems are upgraded.
  2. Corrective maintenance fixes faults found after release, for example repairing a crash when a payment amount is zero.
  3. Adaptive maintenance changes the software for a new environment, for example porting an app to a new OS version or database.
  4. Perfective maintenance adds features or improves performance on user request, for example adding a report export or a faster search.
  5. Preventive maintenance restructures code to avoid future problems, for example refactoring modules or updating documentation.
  6. Maintenance usually consumes 60-70% of total life-cycle cost, and perfective work is the largest share.
  7. Cost estimation is inaccurate because of factors such as system size, age, program structure, staff skill and turnover, hardware stability, and poor documentation.

Formula. Annual maintenance cost = development cost $\times$ fraction of code modified per year.

Example. Given: cost = Rs. 10,000,000; modification = 5% per year.

$$\text{AMC} = 10{,}000{,}000 \times \frac{5}{100} = 500{,}000$$

Annual maintenance cost = Rs. 5,00,000 per year.

Answer frame. Numerical: write the formula, substitute, box Rs. 500,000, then list the inaccuracy factors (point 7). Types: define maintenance; describe the four types in order corrective, adaptive, perfective, preventive, each with one example; close with the 60-70% cost remark.

Pitfall: Do not call new-feature work "corrective"; features are perfective.

Asked: [7 marks] (Jun 2023) Software product costs Rs. 10,000,000 to develop; compute annual maintenance cost if 5% of code needs modification each year. Identify factors that make maintenance cost estimation inaccurate. Asked: [7 marks] (Jun 2025) What are the types of software maintenance? Give suitable examples.

Software Configuration Management (SCM)

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>

Definition. <mark>Software configuration management is the discipline of identifying, organising and controlling changes to the software and its work products throughout the life cycle.</mark>

Key points.

  1. The main aim of SCM is to control change and maintain the integrity and traceability of every configuration item, so that nobody's change silently breaks another's work.
  2. A configuration item (SCI) is any work product placed under control, such as source code, design documents, test cases and the SRS.
  3. Configuration identification names each item and fixes baselines, which are approved reference versions that change only through formal control.
  4. Version control keeps every version of each item and lets the team retrieve, compare and merge them.
  5. Change control evaluates each change request, approves or rejects it, implements it and records it.
  6. Configuration audit checks that the approved change was made correctly and that the item matches its baseline.
  7. Status accounting (reporting) records what changed, who changed it and when.
  8. The basic requirement is therefore identification, version control, change control, audit and status reporting; tools such as Git, SVN and CVS support it.

Answer frame. Open with the definition; state the aim (point 1); list the five components (points 3-7) as a small numbered list; name a tool; close that SCM keeps a stable, traceable product while it changes.

Asked: [7 marks] (Jun 2023, Jun 2025) What is the main aim of Software configuration management? What is the basic requirement of SCM? Explain SCM and its components.

Software Change Management

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Change management is the process of receiving, evaluating, approving and implementing changes to software in a controlled way.

Key points.

  1. A change request is raised by a user or developer and logged.
  2. A change control board (CCB) reviews its impact on cost, schedule and quality.
  3. Approved changes are implemented, tested and released; rejected ones are recorded with reasons.
  4. This prevents uncontrolled changes (scope creep).

Version Control

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Version control is the management of successive versions of files so that any earlier version can be recovered and changes are tracked.

Key points.

  1. A repository stores all versions with author, date and message for each commit.
  2. Branching allows parallel work on features, and merging combines the branches.
  3. Centralised systems (SVN, CVS) use one server; distributed systems (Git) give each developer a full copy.
  4. Check-out and check-in (or lock and merge) prevent conflicting overwrites.

Change control and Reporting

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Change control is the formal procedure of submitting, assessing, approving and tracking a change request, with reports on its status.

Key points.

  1. Steps: request, impact analysis, CCB decision, implementation, verification, release.
  2. Bug and change reports record the problem, severity, owner and status (open, fixed, closed).
  3. Status reports give management the count of open and closed requests.
  4. Emergency changes are allowed but must be documented afterwards.

Program Comprehension Techniques

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Program comprehension is the process of understanding existing code so that it can be maintained safely.

Key points.

  1. Top-down comprehension starts from the purpose of the program and refines it into hypotheses about the code.
  2. Bottom-up comprehension reads the code statements and groups them into higher-level concepts.
  3. Aids include reading documentation, tracing execution, static analysis, cross-reference and call-graph tools.
  4. Comprehension takes up to half of maintenance effort, so good naming and comments cut cost.

Re-engineering

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. <mark>Re-engineering is the examination and alteration of an existing system to reconstitute it in a new, better form and then implement that form.</mark>

Key points.

  1. Process: inventory analysis, document restructuring, reverse engineering, code restructuring, data restructuring, forward engineering.
  2. Its purpose is to improve maintainability of a legacy system without changing its function.
  3. Example: a COBOL banking system is analysed, its design recovered, and it is rebuilt in Java with a database.
  4. Difference: re-engineering is the whole rebuild (reverse, then forward); reverse engineering is only the analysis half that recovers design from code.

Asked: [7 marks] (Jun 2024) Explain the Re Engineering and Reverse Engineering with a suitable example.

Reverse Engineering

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Reverse engineering is analysing a finished system to recover its design, specification or requirements from code.

Key points.

  1. It moves backward from code to design to requirements, raising the level of abstraction.
  2. Outputs include structure charts, data-flow diagrams and data dictionaries.
  3. It is used when documentation is lost or before re-engineering a legacy system.
  4. It does not change the system; it only extracts information.

Tool Support

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. CASE tools are software tools that automate maintenance and re-engineering activities.

Key points.

  1. Reverse-engineering tools extract design and call graphs from code.
  2. Restructuring tools and code analysers clean up structure and detect defects.
  3. Configuration tools such as Git manage versions and changes.
  4. Tools reduce effort and errors but need trained users.

Project Management Concepts

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Project management is planning, organising, monitoring and controlling people, process and product to deliver software on time and within budget.

Key points.

  1. The four Ps are People, Product, Process and Project.
  2. The project manager handles planning, staffing, risk, tracking and communication.
  3. Constraints are scope, time, cost and quality.
  4. Good management prevents overruns and failed delivery.

Feasibility Analysis

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. <mark>Feasibility analysis is a study made before development to decide whether the proposed project is technically, economically and operationally worth undertaking.</mark>

Key points.

  1. Types: technical (is the technology available), economic (cost-benefit), operational (will users accept it), legal (licences and laws) and schedule (can it finish in time).
  2. Steps: define the project, gather information, analyse each feasibility type, compare alternatives, prepare the report.
  3. The outcome is a feasibility report recommending go, no-go or modify.

Asked: [7 marks] (Jun 2025) Describe the process of feasibility analysis in project management.

Project and Process Planning

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Project planning defines the work, sequence, resources and process model before development starts.

Key points.

  1. A work breakdown structure (WBS) divides the project into tasks.
  2. The process model (waterfall, agile) is chosen to suit the project.
  3. Planning sets milestones, deliverables and quality checks.
  4. The plan is refined as the project progresses.

Resources Allocations

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Resource allocation assigns people, tools, hardware and budget to project tasks.

Key points.

  1. Human resources are matched to tasks by skill and availability.
  2. Overloaded or idle resources are balanced using resource levelling.
  3. Adding people to a late project can make it later (Brooks' law).
  4. Software, hardware and reusable components are also planned resources.

Software efforts, Schedule, and Cost estimations

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Estimation predicts the effort (person-months), duration and cost of a project.

Key points.

  1. Techniques: expert judgement, analogy, function points, and COCOMO.
  2. Basic COCOMO: $E = a(KLOC)^b$ person-months and $D = c(E)^d$ months.
  3. For the organic mode, $a=2.4,\ b=1.05,\ c=2.5,\ d=0.38$.
  4. Cost is effort multiplied by the cost per person-month.

Project Scheduling and Tracking

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. <mark>Scheduling assigns start and end dates to tasks; tracking compares actual progress with the plan and corrects deviations.</mark>

Key points.

  1. WBS breaks the work into tasks; a Gantt chart shows tasks as bars against time.
  2. PERT/CPM draws a network of tasks; the critical path is the longest path and fixes the minimum project duration.
  3. Earned value compares planned value, earned value and actual cost to judge schedule and cost status.
  4. Tracking uses milestone reviews, status meetings and progress reports; for example, a 10-task project slipping on the critical path delays the release.

Asked: [7 marks] (Jun 2025) Explain project scheduling and tracking techniques used in software projects.

Risk Assessment and Mitigation

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>

Definition. <mark>A software risk is an uncertain event that, if it occurs, harms cost, schedule or quality; risk management is identifying, analysing and controlling such risks.</mark>

Diagram.

<figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u3-01" viewBox="0 0 596 80" width="596" height="80" role="img" aria-label="Risk management. I identification, A analysis, P prioritisation, L planning (mitigation), M monitoring."><style>#dsfig-u3-01 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u3-01 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u3-01 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u3-01 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u3-01 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u3-01 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u3-01 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u3-01 .t{fill:#16181D;font-weight:500}#dsfig-u3-01 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u3-01 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u3-01 .dot{fill:#16181D}#dsfig-u3-01 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u3-01 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u3-01 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u3-01 .ah{fill:#454C5A}#dsfig-u3-01 .ah.hi{fill:#2340B8}#dsfig-u3-01 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u3-01 .wl .t{font-size:12px;font-weight:700}#dsfig-u3-01 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u3-01 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u3-01 .e{stroke:#B1B7C3}html.dark #dsfig-u3-01 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u3-01 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u3-01 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u3-01 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u3-01 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u3-01 .t{fill:#E6E8ED}html.dark #dsfig-u3-01 .t.inv{fill:#0F1115}html.dark #dsfig-u3-01 .kd{stroke:#E6E8ED}html.dark #dsfig-u3-01 .dot{fill:#E6E8ED}html.dark #dsfig-u3-01 .ann{fill:#8FA3FF}html.dark #dsfig-u3-01 .lbl{fill:#858D9C}html.dark #dsfig-u3-01 .ptr{fill:#8FA3FF}html.dark #dsfig-u3-01 .ah{fill:#B1B7C3}html.dark #dsfig-u3-01 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u3-01 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u3-01 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u3-01 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah9" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh9" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M59,40 L148,40" marker-end="url(#ah9)"/><path class="e" d="M188,40 L277,40" marker-end="url(#ah9)"/><path class="e" d="M317,40 L406,40" marker-end="url(#ah9)"/><path class="e" d="M446,40 L535,40" marker-end="url(#ah9)"/><circle class="n" cx="40" cy="40" r="18"/><text class="t" x="40" y="40" dy=".35em" text-anchor="middle">I</text><circle class="n" cx="169" cy="40" r="18"/><text class="t" x="169" y="40" dy=".35em" text-anchor="middle">A</text><circle class="n" cx="298" cy="40" r="18"/><text class="t" x="298" y="40" dy=".35em" text-anchor="middle">P</text><circle class="n" cx="427" cy="40" r="18"/><text class="t" x="427" y="40" dy=".35em" text-anchor="middle">L</text><circle class="n" cx="556" cy="40" r="18"/><text class="t" x="556" y="40" dy=".35em" text-anchor="middle">M</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Risk management. I identification, A analysis, P prioritisation, L planning (mitigation), M monitoring.</figcaption></figure>

Key points.

  1. Risk types are project risks (schedule, staff, budget), technical risks (design, technology) and business risks (market, funding).
  2. Risk identification lists risks using checklists and brainstorming, for example staff leaving or changing requirements.
  3. Risk analysis (assessment) estimates the probability and the impact of each risk.
  4. Prioritisation ranks risks by exposure $= \text{probability} \times \text{impact}$ so the top ones get attention first.
  5. Risk avoidance changes the plan so the risk cannot occur; risk transfer shifts it, for example by insurance or outsourcing.
  6. Risk mitigation reduces probability or impact, for example cross-training staff against turnover.
  7. Monitoring tracks the risks throughout the project, and a contingency plan is activated if one occurs.

Answer frame. Open with the definition and types; draw the flow diagram; develop identification, analysis, prioritisation, planning and monitoring with one software example each; close that early mitigation is cheaper than recovery.

Asked: [7 marks] (Jun 2023, Jun 2024) Explain software risk analysis and management process. Explain in detail risk assessment and risk mitigation.

Software Quality Assurance (SQA)

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. <mark>SQA is a set of planned activities that monitor the software process to ensure the product meets its quality standards.</mark>

Key points.

Basis SQA process Development process
Objective Ensure quality and process compliance Build the working product
Focus Prevention and process audit Construction and delivery
Activities Reviews, audits, standards, testing oversight Requirements, design, coding, testing
Output Reports and quality improvements Software product
Team Independent of developers Developers and managers
Timing Throughout the life cycle In its phases

SQA gives management independent assurance that the process is followed.

Asked: [7 marks] (Jun 2024) Explain how Software Quality Assurance process differs from software development process.

Project Plan

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. The project plan is the document that records the scope, schedule, resources, risks and quality approach of a project.

Key points.

  1. It contains an introduction, estimates, schedule, staffing, risk plan and SCM plan.
  2. It serves as the baseline against which progress is tracked.
  3. It is reviewed and updated whenever the project changes.

Project Metrics

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. <mark>Project metrics are quantitative measures used to plan, monitor and control a software project and to improve its process.</mark>

Key points.

  1. The main intent is to measure progress and quality, control cost and schedule, and predict future effort and defects.
  2. Productivity metrics: LOC or function points per person-month.
  3. Defect metrics: defects per KLOC and defect removal efficiency.
  4. Schedule metrics compare planned and actual completion.

Asked: [7 marks] (Jun 2023) What is the main intent of a project metrics?

Last-minute revision

  • Maintenance types: corrective, adaptive, perfective, preventive; maintenance is 60-70% of life-cycle cost.
  • Annual maintenance cost = development cost $\times$ fraction changed: 10,000,000 $\times$ 5% = Rs. 500,000.
  • SCM aim: control change and preserve integrity; components: identification, version control, change control, audit, status accounting.
  • A baseline is an approved version changed only through formal change control.
  • Re-engineering = reverse engineering + restructuring + forward engineering.
  • Feasibility types: technical, economic, operational, legal, schedule.
  • Critical path is the longest path in the network and gives minimum duration.
  • Risk exposure = probability $\times$ impact.
  • Risk strategies: avoid, transfer, mitigate.
  • SQA is preventive and independent; development builds the product.
  • Basic COCOMO organic: $E = 2.4(KLOC)^{1.05}$.

Memory hooks

  • CAPP: Corrective, Adaptive, Perfective, Preventive.
  • SCM: I-V-C-A-S, identify, version, change, audit, status.
  • Risk: Identify, Analyse, Prioritise, Plan, Monitor.
  • Feasibility: TEOLS, technical, economic, operational, legal, schedule.
  • Re-engineering goes backward first (reverse), then forward.

Coverage checklist

  • Need and Types of Maintenance: Jun 2023 cost numerical, Jun 2025 types.
  • Software Configuration Management (SCM): Jun 2023 and Jun 2025 aim and components.
  • Software Change Management: covered, not asked.
  • Version Control: covered, not asked.
  • Change control and Reporting: covered, not asked.
  • Program Comprehension Techniques: covered, not asked.
  • Re-engineering: Jun 2024 re- and reverse engineering.
  • Reverse Engineering: covered, also in Jun 2024 question.
  • Tool Support: covered, not asked.
  • Project Management Concepts: covered, not asked.
  • Feasibility Analysis: Jun 2025 process.
  • Project and Process Planning: covered, not asked.
  • Resources Allocations: covered, not asked.
  • Software efforts, Schedule, and Cost estimations: covered, not asked.
  • Project Scheduling and Tracking: Jun 2025 techniques.
  • Risk Assessment and Mitigation: Jun 2023, Jun 2024 risk process.
  • Software Quality Assurance (SQA): Jun 2024 SQA versus development.
  • Project Plan: covered, not asked.
  • Project Metrics: Jun 2023 intent.
Go to where you left off?

Quick Add to Notes

Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.

Create free account

Have an account? Log in