Professional Documents
Culture Documents
Unit3 One Shot Annotated
Unit3 One Shot Annotated
Estimation for Software Projects: The Project Planning Process, Defining Software Scope and
Checking Feasibility, Resources management, Reusable Software Resources, Environmental
Resources, Software Project Estimation, Decomposition Techniques, Software Sizing,
Problem-Based Estimation, LOC-Based Estimation, FP-Based Estimation, Object Point (OP)-based
estimation, Process Based Estimation, Process-Based Estimation, Estimation with Use Cases,
Use-Case–Based Estimation, Reconciling Estimates, Empirical Estimation Models,
The Structure of Estimation Models, The COCOMO II Mode, Preparing Requirement Traceability Matrix
Project Scheduling: Project Scheduling, Defining a Task for the Software Project, Scheduling.
The Project Planning Process
Software scope:
-> functions and features
-> data
-> content of the software presented to the user.
-> Performance
-> Scalibility
-> Reliability
-> Constraints
After developing the scope of the project its feasibility must be ensured.
* Software Feasibility
-> It refers to the process of evaluating how practical and achievable a software
project is.
-> There are multiple types of software feasibility.
1. Technical Feasibility: Assess whether the tech required for software
is available. It can vary from tech skills to frameworks.
3. Finance Feasiblity: Evaluates if the project can be built under the defined
budget
* Software project estimation is the process of predicting the most realistic amount
of effort, time, and resources required to complete a software project.
* Importance
It helps in deciding various aspects of any project.
-> Budget
-> Resource Requirement
-> Expected time for building
-> Expected time for testing
-> Decision Making
Decomposition Techniques
* Software Sizing
-> Size is a quantifiable entity.
-> You can use two approaches
# Direct approach: Counting the lines of code.
# Indirect approach: computation of function point is done.
* Problem based Estimation
-> It can be done using two techniques
# LOC Based estimation
> software project estimation technique that predicts time needed
to complete a project by estimating the lines of code.
> This is one of the simplest and easiest methods for software
project estimation.
Module LOC
No. of developers : 5
Total time required : 40 days
Additional Overhead: 40 + 20 = 60 Days
FP Based Estimation
* Advantages
# Better accurate project estimation
# Improved Interaction
# Technological Independence
* Disadvantages
# Low accuracy
# Time consuming
# Subjective Judgement
Process Based Estimation
* Example:
-> Consider you are building a new e-commerce website.
-> Step 1 - Define the project scope
-> Step 2 - Break down the project into the tasks
# task 1: requirement gathering
# task 2: design
# task 3 : development
# task 4 : testing
# task 5 : deployment
-> step 3 - Estimate the effort in each task
# task 1 : 20 hrs
# task 2: 10 hrs
# task 3: 50 hrs
#task 4 : 20 hrs
# task 5 : 5 hrs
-> Step 4 - Determine resource requirements
-> Step 5 - Calculate task duration
-> Step 6 - Schedule Tasks
-> Step 7 - Calculate total project effort and duration
-> Step 8 - Review and refine estimates
Use Case Based estimation
* use case based estimation involves giving use case points to all the tasks.
* The steps are:
-> Identify use cases
-> Categorise use cases
-> Assign weights to use cases
-> Calculate total effort
-> Estimate effort
-> Calculate overall effort after adding overheads
Use Case Based estimation
* Example
-> identify test cases
# user login
# view account balance
# transfer funds
# pay bills
# generate account statement
* It is the model that allows one to estimate the cost, effort, and schedule when
planning a new software development activity.
* It consists of 3 stages
-> Application Composition Model: Used for applications using RAD.
-> Early Design Model: used when only rough estimates are available.
-> Post architecture model: used after the architecture has been defined
and provides most detailed estimation.
-> A = 2.94
-> size is number of Kilo LOC
-> B varies from 1.1 to 1.24
-> M is based on different aspects like schedule, support facilities, personnel
experience, etc.
Project Scheduling
* A project schedule provides your project's clear, up-to-date status, including tasks,
assignments, dependencies, and milestones.
* Why?
-> Clarity and direction
-> Proper plan
-> Time management
* Steps to create a project schedule
-> Define tasks and milestones
-> Sequence tasks.
-> Estimate task durations.
-> Assign tasks to team members
-> Finalise and schedule
-> Monitoring
Princples of Project Scheduling
* Compartmentalisation
-> divide into small activities and tasks
* Interdependency
-> interrelation between each compartments should be defined
* Time allocation
* Effort validation
* Defined responsibilities
* Defined outcomes
* Defined Milestones
Time Line Chart
* Methods
-> 0/100 - Task is assigned a value of zero until it's completed then it is
assigned value of 100