Software Engineering

Software Engineering Unit 2: Software Project Management, Estimation & COCOMO

Software Engineering Unit 2: Software Project Management, Estimation & COCOMO

High-Yield Revision Hub

Master Software Engineering Unit 2: Software Project Management, Estimation & COCOMO

Comprehensive Unit 2 notes covering LOC & Albrecht Function Points (FP), Basic/Intermediate/Detailed COCOMO models, Risk Management (RMMM Plan), Gantt Charts, and PERT/CPM Scheduling.

Concept Breakdown

Detailed technical explanation

UNIT 2: Software Project Management: Objectives, Resource Estimation, LOC & FP Estimation, Effort Estimation, COCOMO Model, Risk Analysis, Software Project Scheduling

2.1 Software Project Management (SPM) Fundamentals

SPM encompasses planning, monitoring, and controlling software projects to ensure software is delivered on time, within budget, and meeting quality standards.

The Management Spectrum (4 Ps)

  1. People: Project managers, software engineers, clients, end-users. Human resource selection and team structure.
  2. Product: Defining software scope, functional objectives, and technical constraints.
  3. Process: Selecting the appropriate SDLC framework model.
  4. Project: Planning, tracking, risk management, and quality control.

2.2 Software Size & Resource Estimation

1. Lines of Code (LOC)

Direct, direct-count size metric measuring source code volume (e.g., SLOC, KLOC).

  • Formula: Productivity = KLOC/Person-MonthsKLOC / \text{Person-Months}
  • Limitations: Highly dependent on programming language syntax (1 LOC in Python != 1 LOC in Assembly); rewards verbose code; difficult to estimate early during requirement phase.

2. Albrecht Function Point (FP) Analysis

Function Point analysis measures software size based on functional units delivered to the user, completely independent of programming language syntax.

The 5 Information Domain Characteristics

  1. External Inputs (EI): Elementary user inputs that update internal system logical files (e.g., registration form submission).
  2. External Outputs (EO): Data processing outputs generated for users (e.g., report generation, confirmation receipt).
  3. External Inquiries (EQ): Interactive input queries resulting in immediate data retrieval without updating data files.
  4. Internal Logical Files (ILF): User-identifiable logical data groups maintained inside system boundary (e.g., database tables).
  5. External Interface Files (EIF): Data files maintained by external systems referenced for reading/lookup only.

Step-by-Step Function Point Calculation

  1. Calculate Unadjusted Function Points (UFP): UFP=(Counti×Weighti)UFP = \sum (\text{Count}_i \times \text{Weight}_i) where weight depends on complexity (Low, Average, High) of each of the 5 domain characteristics.
  2. Determine Value Adjustment Factor (VAF) based on 14 General System Characteristics (GSCs) scored from 0 (no influence) to 5 (strong influence):
    • Data communications, Distributed processing, Performance, Heavily used configuration, Transaction rate, On-line data entry, End-user efficiency, On-line update, Complex processing, Reusability, Installation ease, Operational ease, Multiple sites, Facilitate change.
  3. Calculate Total Degree of Influence (EDI=FiEDI = \sum F_i, range 0 to 70).
  4. Calculate final adjusted Function Points (FP): FP=UFP×[0.65+0.01×Fi]FP = UFP \times [ 0.65 + 0.01 \times \sum F_i ] (Note: The Adjustment Factor ranges from 0.65 when EDI=0EDI=0 to 1.35 when EDI=70EDI=70).

2.3 COCOMO Estimation Model (Boehm)

Constructive Cost Model (COCOMO) is an empirical cost estimation model based on historical project data.

Software Project Modes

  • Organic Mode: Small teams, familiar software environment, flexible requirements, minimal innovation needed.
  • Semi-Detached Mode: Medium teams, mixed experience levels, combination of rigid and flexible requirements.
  • Embedded Mode: Tight hardware/software/operational constraints, complex interfaces, high technical regulation.

1. Basic COCOMO

Calculates effort and duration strictly as a function of estimated size in Thousands of Delivered Source Instructions (KLOC).

Effort & Duration Formulas

  • Effort: E=a(KLOC)bE = a \cdot (KLOC)^b [Person-Months]
  • Development Duration: D=c(E)dD = c \cdot (E)^d [Months]
  • Recommended Staff Size: SS=E/DSS = E / D [Persons]

Coefficient Constants Matrix

Modeaabbccdd
Organic2.41.052.50.38
Semi-Detached3.01.122.50.35
Embedded3.61.202.50.32

2. Intermediate COCOMO

Extends Basic COCOMO by multiplying basic effort with an Effort Adjustment Factor (EAF) derived from 15 Cost Drivers across 4 categories:

  1. Product Attributes: Required software reliability, Database size, Product complexity.
  2. Hardware Attributes: Execution time constraint, Main memory constraint, Virtual machine volatility, Environment turn-around time.
  3. Personnel Attributes: Analyst capability, Applications experience, Programmer capability, Virtual machine experience, Programming language experience.
  4. Project Attributes: Use of modern software tools, Application of software engineering methods, Required development schedule.

Formula

E=a(KLOC)b×EAFE = a \cdot (KLOC)^b \times EAF where EAF=i=115Cost Driver RatingiEAF = \prod_{i=1}^{15} \text{Cost Driver Rating}_i.


3. Detailed (Complete) COCOMO

Applies phase-sensitive cost driver ratings to individual subsystem modules, recognizing that cost factors vary across Requirements, High-Level Design, Detailed Design, Coding, Unit Testing, and Integration phases.


2.4 Risk Analysis & Management

Risk Categories

  • Project Risks: Threaten project budget, schedule, staffing, and resources.
  • Technical Risks: Threaten quality and timeliness due to technical complexity or hardware limits.
  • Business Risks: Threaten economic viability (e.g., market risk, sales risk, management change risk).

Risk Management Steps

  1. Risk Identification: Brainstorming risk checklists (Product size, Business impact, Staff experience, Process maturity).
  2. Risk Projection (Estimation): Rate Risk Likelihood (LiL_i) and Risk Impact (IiI_i). Calculate Risk Exposure: RE=P(Risk)×Cost of RiskRE = P(\text{Risk}) \times \text{Cost of Risk}
  3. Risk Refinement: Breaking down macro risks into detailed micro risk components.
  4. Risk Mitigation, Monitoring, and Management (RMMM Plan):
    • Mitigation: Proactive steps to reduce risk likelihood or impact before it occurs.
    • Monitoring: Tracking risk indicators during development.
    • Management: Contingency plan execution if risk materializes.

2.5 Software Project Scheduling & Network Analysis

Work Breakdown Structure (WBS)

Decomposes total project scope into hierarchical, smaller work packages and tasks.

1. Gantt Chart

Horizontal bar chart displaying task start dates, finish dates, durations, and task overlap dependencies.


2. PERT / CPM Network Analysis

Program Evaluation and Review Technique (PERT) and Critical Path Method (CPM) represent project schedules as activity-on-edge or activity-on-node directed graphs.

Key Terminology

  • Earliest Start (ES) / Earliest Finish (EF): Earliest time a task can begin/end.
  • Latest Start (LS) / Latest Finish (LF): Latest time a task can begin/end without delaying total project completion.
  • Float / Slack Time: Total time an activity can be delayed without delaying project completion date. Slack=LSES=LFEF\text{Slack} = LS - ES = LF - EF
  • Critical Path: Longest continuous path through activity network diagram. All activities on critical path have Zero Float (Slack = 0).

PERT Weighted Average Duration Calculation

Since activity durations are uncertain, PERT uses 3-point estimates following a Beta distribution:

  1. Optimistic Time (aa): Shortest completion time under ideal conditions.
  2. Most Likely Time (mm): Normal completion time.
  3. Pessimistic Time (bb): Maximum completion time under worst conditions.

Formulas

  • Expected Task Duration: Te=a+4m+b6T_e = \frac{a + 4m + b}{6}
  • Standard Deviation: σ=ba6\sigma = \frac{b - a}{6}
  • Variance: σ2=(ba6)2\sigma^2 = \left( \frac{b - a}{6} \right)^2


Key Revision Rules

Essential formulas and core points to memorize

  • 1Function Points (FP) measure software size based on 5 domain parameters independently of programming language.
  • 2Basic COCOMO Effort formula is E = a * (KLOC)^b person-months.
  • 3Basic COCOMO Modes: Organic (a=2.4, b=1.05), Semi-Detached (a=3.0, b=1.12), Embedded (a=3.6, b=1.20).
  • 4Intermediate COCOMO incorporates 15 Cost Drivers into Effort Adjustment Factor (EAF).
  • 5Risk Exposure formula is RE = Risk Probability * Cost of Risk.
  • 6RMMM Plan stands for Risk Mitigation, Monitoring, and Management.
  • 7Critical Path in PERT/CPM is the longest continuous path through activity network with ZERO float/slack time.
  • 8Float/Slack time formula is Slack = LS - ES = LF - EF.
  • 9PERT Expected Duration formula is Te = (a + 4m + b) / 6.
  • 10PERT Activity Variance formula is Variance = ((b - a) / 6)^2.

Common Exam Mistakes

Where students frequently lose marks

Confusing Lines of Code (LOC) with Function Points (FP); FP is strictly language-independent.
Swapping COCOMO constants: Organic b=1.05, Semi-Detached b=1.12, Embedded b=1.20.
Assuming Critical Path tasks can be delayed; Critical Path tasks have ZERO slack time.

Topic Quiz Practice

No Questions

No practice questions available for this topic yet.