0
0
Software Engineeringknowledge~30 mins

Function Point Analysis in Software Engineering - Mini Project: Build & Apply

Choose your learning style9 modes available
Function Point Analysis
📖 Scenario: You are a software analyst working on a new project. You need to estimate the size of the software using Function Point Analysis (FPA). This method helps you understand the complexity and effort required by counting different types of functions in the system.
🎯 Goal: Build a simple Function Point Analysis model by listing function types, assigning complexity weights, calculating unadjusted function points, and applying a value adjustment factor to get the final function point count.
📋 What You'll Learn
Create a dictionary with function types and their counts
Create a dictionary with complexity weights for each function type
Calculate the unadjusted function points by multiplying counts by weights and summing
Apply a value adjustment factor to calculate the final function points
💡 Why This Matters
🌍 Real World
Function Point Analysis helps project managers estimate software size and effort before development starts, improving planning and budgeting.
💼 Career
Software analysts, project managers, and developers use function points to communicate project scope and complexity clearly.
Progress0 / 4 steps
1
DATA SETUP: Define function counts
Create a dictionary called function_counts with these exact entries: 'External Inputs': 10, 'External Outputs': 7, 'Internal Logical Files': 5, 'External Interface Files': 3, and 'External Inquiries': 4.
Software Engineering
Need a hint?

Use a Python dictionary with the exact keys and values given.

2
CONFIGURATION: Define complexity weights
Create a dictionary called complexity_weights with these exact entries: 'External Inputs': 4, 'External Outputs': 5, 'Internal Logical Files': 10, 'External Interface Files': 7, and 'External Inquiries': 3.
Software Engineering
Need a hint?

Use a dictionary with the exact keys and weights given.

3
CORE LOGIC: Calculate unadjusted function points
Create a variable called unadjusted_fp and set it to the sum of the products of counts and weights for each function type using a for loop over function_counts.items().
Software Engineering
Need a hint?

Use a for loop to multiply each count by its weight and add to unadjusted_fp.

4
COMPLETION: Apply value adjustment factor
Create a variable called value_adjustment_factor and set it to 1.1. Then create a variable called final_function_points and set it to unadjusted_fp multiplied by value_adjustment_factor.
Software Engineering
Need a hint?

Multiply unadjusted_fp by value_adjustment_factor to get final_function_points.