This document summarizes LOC (lines of code), function points, COCOMO I and COCOMO II cost estimation models. It defines LOC and function points for measuring software size. It then describes the Basic, Intermediate and Detailed COCOMO models, which use regression formulas to estimate software development effort based on project size and characteristics. COCOMO II models include Application Composition, Early Design and Post Architecture models. An example calculation is provided for each model.
The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation model developed by Barry Boehm. The model uses a basic regression formula, with parameters that are derived from historical project data and current project characteristics.
Basic COCOMO compute software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code (SLOC, KLOC).
COCOMO Model
Key parameters which define the quality of any software
Modes of development
Boehm’s definition of systems
Types of Models
Advantages
disadvantages
The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation model developed by Barry Boehm. The model uses a basic regression formula, with parameters that are derived from historical project data and current project characteristics.
Basic COCOMO compute software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code (SLOC, KLOC).
COCOMO Model
Key parameters which define the quality of any software
Modes of development
Boehm’s definition of systems
Types of Models
Advantages
disadvantages
Detail about cyclomatic complexity, formula to measure cyclomatic complexity and how this metric useful in software testing and uses of cyclomatic complexity etc.
Detail about cyclomatic complexity, formula to measure cyclomatic complexity and how this metric useful in software testing and uses of cyclomatic complexity etc.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Prosigns: Transforming Business with Tailored Technology Solutions
Cocomo model
1. LOC, COCOMO I & COCOMO II
Kalyan Mondal (2012ca49)
Jyoti Shrivastava (2012ca52)
Kamal Kishore (2012ca34)
Jyotsna Agnihotri (2012ca66)
Karishma Gupta(2012ca55)
Presented By:
Subject: Software Engineering
Coordinator:
Mr Anoj Kumar
2. Contents
Software Planning
LOC: Lines of Code
Function Point
Cost Estimation
Development Mode
COCOMO I
• Basic COCOMO
• Intermediate COCOMO
• Detailed COCOMO
COCOMO II
• Application Composition
• Early Design Model
• Post Architecture Model
References
3. SOFTWARE PLANNING
Software planning begins before technical work starts, continues as the softwa
Evolves from concept to reality, and culminates only when the software is retir
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
Fig:- Activities during software project planning
4. LINES OF CODE(LOC)
• A Line of code is any line of program text that is not a comment
or blank line, regardless of the number of statements or
fragments on the line. This specifically includes all lines
containing program header, declarations, and executable and
non-executable statements.
• While line of codes have their uses, their usefulness is limited for
other tasks like functionality, complexity, efficiency, etc.
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
5. FUNCTION POINT
Function point measures functionality which is a solution to the size
measurement problem.
It is decomposed into following functional units
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
Inputs Outputs Enquiries
Internal
Logical
Files
External
Interface
Files
6. FUNCTIONAL UNITS WITH WEIGHTING FACTORS
Functional units Low Average High
External Inputs 3 4 6
External Outputs 4 5 7
External Inquiries 3 4 5
Internal logical files (ILF) 7 10 15
External interface files
(EIF)
5 7 10
The procedure for the calculation of UFP in mathematical form is
given below
5 3
UFP = ∑ ∑ 𝑍𝑖𝑗WijUFP : Unadjusted Function Point i=1
j=1
Where i indicates the row and j indicates the column of table.
Wij : It is the entry of ith row and jth column of the table.
Zij: It is the count of the number of functional unit of type i that have been
classified as having the complexity corresponding to column j
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, yogesh si
7. An example
Consider a project with the following functional units: 50 user inputs,40
user outputs, 35 user enquiries,6 user files,4 external interfaces.
Assume all complexity adjustment factors and weighting factors are
average.
Compute the function points for the project. Suppose that program
needs 70 LOC per FP. Find out the size of complete project.
Solution:
5 3
UFP = ∑ ∑ 𝑍𝑖𝑗Wij
i=1 j=1
UFP= 50 * 4 + 40 * 5 + 35 * 4 + 6 * 10 + 4 * 7
= 200+200+140+60+28 = 628
CAF= (0.65 + ∑𝐹𝑖 )
=(0.65 + 0.01 (14 * 3 )) = 1.07
FP= UFP * CAF
=628 * 1.07 = 672
Size = FP * (LOC per FP) = 672 * 70 = 47040 LOC
Created by:- Kamal kishore(2012ca34) Ref :-software engineering by K.K.Agrawal, Yogesh S
8. Cost Estimation
Approximate judgement of the costs for a project. It
should be done throughout the entire life cycle.
Why we need?
To determine how much effort and time a
software project requires.
Important for making good management
decisions.
It facilitates competitive contract bids.
It affect the planning and budgeting of a project.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Jyoti Shrivastava
9. Development Mode of S/W Projects
Mode Project
Size
Nature of Project Innovation Deadline
Organic Typically
2-50 KLOC
Small size project,
Experienced
developers.
Little Not Tight
Semi
Detached
Typically
50-
300KLOC
Medium size project
and team.
Medium Medium
Embedded Typically
over
300KLOC
Large project, Real-
time systems
Significant Tight
10. Constructive Cost Model(COCOMO )
The COCOMO model is a single variable software
cost estimation model developed by Barry Boehm
in 1981.
The model uses a basic regression formula, with
parameters that are derived from historical project
data and current project characteristics.
Hierarchy of Cocomo Model
1. Basic COCOMO model
2. Intermediate COCOMO model
3. Detailed COCOMO model
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Jyoti Shrivastava
11. Basic COCOMO Model
It take the form:
Effort(E) = ab * (KLOC)b
b(in Person-months)
DevelopmentTime(D) = cb * (E) d
b (in month)
Average staff size(SS) = E/D (in Person)
Productivity(P) = KLOC / E (in KLOC/Person-month)
Project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
Jyoti Shrivastava
13. Basic cocomo: Example
A project size of 200KLOC is to be developed.S/W
development team has average experience on
similar type of projects.The project schedule is not
very tight.Calculate the effort and development time
of the project.
Ans: 200 KLOC implies semi-detached mode.
Hence, E= 3.0 * (200)1.12 = 1133.12 PM
D=2.5 * (1133.12)0.35 = 29.3 M
Avg. staff size(SS) = E/D
= 1133.12/29.3=38.67 Persons.
Productivity (P) = KLOC/E
= 200/1133.12=0.1765
KLOC/PM.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Jyoti
Shrivastava
14. Intermediate COCOMO
Extension of Basic COCOMO
Why Use ?
Basic model lacks accuracy
Computes software development effort as a function of
program size and set of 15 Cost Drivers
Cost Driver: A multiplicative factor that determines the effort
required to complete the software project.
Why Cost Drivers?
Adjust the nominal cost of a project to the actual project
Environment.
For each Characteristics, Estimator decides the scale factor
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by: Kalyan
Mondal
Very
Low
Low Nominal High
Very
High
Extra
High
15. Cost Drivers
• Required Software Reliability (RELY)
• Database Size (DATA)
• Product Complexity (CPLX)
Product
Attributes
• Execution Time Constraint (TIME)
• Main Storage constraint (STOR)
• Virtual Machine volatility (VIRT)
• Computer turnaround time (TURN)
Computer
Attributes
• Analyst Capability (ACAP)
• Application Experience (AEXP)
• Programmer Capability (PCAP)
• Virtual Machine Experience (VEXP)
• Programming language Experience (LEXP)
Personnel
Attributes
• Modern programming practices (MODP)
• Use of Software tools (TOOL)
• Required development schedule (SCED)
Project
Attributes
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
16. The Calculation
Multiply all 15 Cost Drivers to get Effort Adjustment
Factor(EAF)
E(Effort) = ab(KLOC)b
b * EAF(in Person-Month)
D(Development Time) = cb(E)d
b (in month)
SS (Avg Staff Size) = E/D (in persons)
P (Productivity) = KLOC/E (in KLOC/Person-month)
Project ab bb cb db
Organic 3.2 1.05 2.5 0.38
Semidetach
ed
3.0 1.12 2.5 0.35
Embedded 2.8 1.20 2.5 0.32
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
17. Intermediate COCOMO : Example
A new project with estimated 400 KLOC embedded system has to
be developed. Project manager hires developers of low quality but
a lot of experience in programming language. Calculate the Effort,
Development time, Staff size & Productivity.
EAF = 1.29 * 0.95 = 1.22
400 LOC implies Embedded System
Effort = 2.8*(400)1.20 * 1.225 = 3712 * 1.22 = 4528 person-months
Development Time = 2.5 * (4528)0.32 = 2.5 * 14.78 = 36.9 months
Avg. Staff Size = E/D = 4528/36.9 = 122 persons
Productivity = KLOC/Effort = 400/4528 = 0.0884 KLOC/person-
month
Cost
Drivers
Very
Low
Low Nominal High Very
High
Extra High
AEXP 1.29 1.13 1.00 0.91 0.82 --
LEXP 1.14 1.07 1.00 0.95 -- --
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
18. Detailed COCOMO
Detailed COCOMO = Intermediate COCOMO +
assessment of Cost Drivers impact on each phase.
Phases
1) Plans and requirements
2) System Design
3) Detailed Design
4) Module code and test
5) Integrate and test
• Cost of each subsystem is estimated separately. This
reduces the margin of error.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
19. The Calculation
Multiply all 15 Cost Drivers to get Effort Adjustment
Factor(EAF)
E(Effort) = ab(KLOC)b
b * EAF(in Person-Month)
D(Development Time) = cb(E)d
b (in month)
Ep (Total Effort) = µp * E (in Person-Month)
Dp (Total Development Time) = τp * D (in month)
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
20. Detailed COCOMO : Example
Consider a project to develop a full screen editor. The major
components identified and their sizes are (i) Screen Edit – 4K (ii)
Command Lang Interpreter – 2K (iii) File Input and Output – 1K (iv)
Cursor movement – 2K (v) Screen Movement – 3K. Assume the
Required software reliability is high, product complexity is high,
analyst capability is high & programming language experience is
low. Use COCOMO model to estimate cost and time for different
phases.
Size of modules : 4 + 2 + 1 + 2 + 3 = 13 KLOC [Organic]
EAF = 1.15 * 1.15 * 0.86 * 1.07 = 1.2169
Cost
Drivers
Very
Low
Low Nominal High Very
High
Extra High
RELY 0.75 0.88 1.00 1.15 1.40 --
CPLX 0.70 0.85 1.00 1.15 1.30 1.65
ACAP 1.46 1.19 1.00 0.86 0.71
LEXP 1.14 1.07 1.00 0.95 -- --
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
21. Example (Contd.)
Initial Effort (E) = ab(KLOC)b
b * EAF = 3.2*(12)1.05 * 1.2169
= 52.9 person-months
Initial Development Time = cb(E)d
b =2.5*(52.9)0.38 = 11.29 months
Phase value of µp and τp
Phase wise effort & development time distribution
Plan &
Reqr
System
Design
Detail
Design
Module
code & test
Integration
& Test
Organic Small
µp
0.06 0.16 0.26 0.42 0.16
Organic Small
τp
0.10 0.19 0.24 0.39 0.18
Ref: Software Engineering By K.K.Aggarwal & Y. Singh Created by:
E D Ep (in person-months) Dp (in months)
Plan &
Requirement
52.9 11.29 0.06*52.9 = 3.17 0.10*11.29=1.1
2
System Design 52.9 11.29 0.16*52.9=8.46 0.19*11.29=2.1
4
Detail Design 52.9 11.29 0.26*52.9=13.74 0.24*11.29=2.7
0
Module code & test 52.9 11.29 0.42*52.9=22.21 0.39*11.29=4.4
22. WHY COCOMO-II ?
The changes in s/w development techniques included a
move away from mainframe overnight batch processing
to desktop-based real-time turnaround.
These changes and others began to make applying the
original COCOMO model problematic.
The model is tuned to the life cycle practices of the 21st
century.
Ref: Software Engineering By K.K.Aggarwal & Y. Singh and csse website by : Jyotsna Agnihotri
23. Categories Identified By
Cocomo II
End User Programming
Infrastructure Sector
Intermediate Sectors
1. Application Generators And Composition Aids
2. Application Composition Sector
3. System Integration
Stages Of Cocomo-II
Application Composition
Earlier Design
Post Architecture
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
24. Application Composition
Assess Object
Counts
Classification Of
Complexity
Levels
Assign Complexity
Weight To Each Object
Determine Object
Points
Compute New
Object Points
Calculation Of
Productivity Rate
Compute The
Effort In Person
Months.
25. • Assess object counts: Estimate the number of screens,
reports and 3 GL components that will comprise this application.
• Classification of complexity levels:
We have to classify each object instance (depending on
values of its characteristics) into :-
o simple
o medium
o Difficult
• Assign complexity weight to each object : The
weights are used for three object types :-
o screen
o report
o 3GL components
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
26. • Determine object points: Add all the weighted object
instances to get one number and this known as object-point count.
• Compute new object points: We have to estimate the
percentage of reuse to be achieved in a project. Depending on the
percentage reuse, the new object points (NOP) are computed.
Object Points * (100 - %reuse)
NOP = ---------------------------------------------
100
NOP are the object points that will need to be developed and differ
from the object point count because there may be reuse( percentage of
the Product development which is accomplished by exploiting the
existence of existing component's design-or-development effort).
Ref: Software Engineering By K.K.Aggarwal & Y. Singh&gilb.com by : Jyotsna Agnihotri
27. • Calculation of productivity rate: The productivity
rate can be calculated as:
Productivity rate (PROD) = NOP/Person month
• Compute the effort in Persons-Months: When
PROD is known, we may estimate effort in Person-
Months as:
NOP
Effort in PM = ------------
PROD
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
28. Example: Consider a database application project with the
following characteristics:
The application has 4 screens with 4 views each and 7
data tables for 3 servers and 4 clients.
The application may generate two report of 6 sections
each from 07 data tables for two server and 3 clients.
There is 10% reuse of object points.
The developer’s experience and capability in the similar
environment is low. The maturity of organization in
terms of capability is also low. Calculate the object point
count, New object points and effort to develop such a
project.
Example
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
29. Solution :
Lets have a look on the tables for screens, for reports , for
complexity weights for each level
No. Of Views
Contained in a
screen
Total<4
(<2 servers
<3 clients)
Total<8
(2-3 servers
3-5 clients)
Total 8+
(>3 servers
>5 clients)
<3 Simple Simple Medium
3-7 Simple Medium Difficult
>8 Medium Difficult Difficult
No. Of
Sections
Contained in a
report
Total<4
(<2 servers
<3 clients)
Total<8
(2-3 servers
3-5 clients)
Total 8+
(>3 servers
>5 clients)
0 or 1 Simple Simple Medium
2 or 3 Simple Medium Difficult
4+ Medium Difficult Difficult
30. This project comes under the category of application composition estimation
model.
Number of screens = 4 with 4 views each
Number of reports = 2 with 6 sections each
From Table we know that each screen will be of medium complexity and
each report will be difficult complexity.
Using Table of complexity weights, we may calculate object point count
= 4 x 2 + 2 x 8 = 24
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
Object Type Simple
Complexity
Medium
Complexity
Difficult
Complexity
Screen 1 2 3
Report 2 5 8
3GL - - 10
31. Using the formula NOP is calculated as:
NOP= 24 * (100-10)/100=21.6
Low value of productivity is given in above Productivity table =
7
Efforts in PM=NOP/PROD=21.6/7=3.086 PM
Developer’s Experience
And Capability
PROD (NOP/PM)
Very low 4
Low 7
Nominal 13
High 25
Very high 50
Ref: Software Engineering By K.K.Aggarwal & Y. Singh by : Jyotsna Agnihotri
32. Early Design Model
Used in the early stages of a software project when very little
may be known about:
the size of the product to be developed,
the nature of the target platform,
the nature of the personnel to be involved in the project.
Uses Unadjusted Function Points (UFP) as the measure of size.
Based on a standard formula for COCOMO-II models:
Where
PMnominal = Effort of the project in person months
A = Constant representing the nominal productivity,
provisionally set to 2.5
B = Scale factor
Size = Software size
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh 32
33. The Scaling Factors that COCOMO-II model uses for the
calculation of B are:
Precedentness (PREC)
Development flexibility (FLEX)
Architecture/ Risk Resolution (RESL)
Team Cohesion (TEAM)
Process maturity (PMAT)
Early design cost drivers
There are 7 early design cost drivers and are given below:
1. Product Reliability and Complexity (RCPX)
2. Required Reuse (RUSE)
3. Platform Difficulty (PDIF)
4. Personnel Capability (PERS)
5. Personnel Experience (PREX)
6. Facilities (FCIL)
7. Schedule (SCED)
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh 33
34. Data for the Computation of B (Scalar Factor)
Scaling Factors Very
Low
Low Nominal High Very High Extra High
Precedentness 6.20 4.96 3.72 2.48 1.24 0.00
Development
Flexibility
5.07 4.05 3.04 2.03 2.03 0.00
Architecture/
Risk Resolution
7.07 5.65 4.24 2.83 1.41 0.00
Team Cohesion 5.48 4.38 3.29 2.19 1.10 0.00
Process
Maturity
7.80 6.24 4.68 3.12 1.56 0.00
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
35. If B=1.0, then Linear relationship b/w Effort & Size.
If B 1.0, then Non-Linear relationship b/w Effort & Size.
If B<1.0, then the rate of increase of effort decreases as the size of
the product increases.
If B>1.0, then the rate of increase of effort increases as the size of
the product increases.
B = 0.91 + 0.01 * (Sum of rating on scaling factors for the project)
When all the scaling factors of a project are rated as extra high,
then the best value of B= 0.91 (for COCOMO II.2000)
when all the scaling factors of a project are rated as very low,
Then the worst value of B= 1.23 (for COCOMO II.2000)
Hence, the value of B may vary from 0.91 to 1.23
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Calculate the scalar factor B
36. Early Design Model:
Example
Question: A software project of application generator category with estimated 50
KLOC has to be developed. The scale factor (B) has low precedentness, high
development flexibility and low team cohesion.
Other factors are nominal. The early design cost drivers like platform
difficult (PDIF) and Personnel Capability (PERS) are high and others are
nominal.
Calculate the Effort in person-months for the development of the project.
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
Early Design
Cost Drivers
Extra
Low
Very
Low
Low Nominal High Very
High
Extra
High
RCPX 0.73 0.81 0.98 1.0 1.30 1.74 2.38
RUSE - - 0.95 1.0 1.07 1.15 1.24
PDIF - - 0.87 1.0 1.29 1.81 2.61
PERS 2.12 1.62 1.26 1.0 0.83 0.63 0.50
PREX 1.59 1.33 1.12 1.0 0.87 0.71 0.62
FCIL 1.43 1.30 1.10 1.0 0.87 0.73 0.62
SCED - 1.43 1.14 1.0 1.0 1.0 -
36
37. B = 0.91 + 0.01 * (Sum of rating on scaling factors for the
project)
= 0.91 + 0.01 * (4.96 + 2.03 + 4.24 + 4.38 + 4.68)
= 0.91 + 0.01(20.29)=1.1129
= 2.5 * (50)1.1129 = 194.41 Person-months
here A=2.5 (for COCOMO II.2000) predefined
The 7 cost drivers are:
PDIF = high (1.29) PERS = high (0.83)
RCPX = nominal (1.0) RUSE = nominal (1.0)
PREX = nominal (1.0) FCIL = nominal (1.0)
SCEO = nominal (1.0)
Solution :
= 194.41 * [1.29 x 0.83]
= 194.41 x 1.07
= 208.155 Person months
37
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
38. Post Architecture Model
• Most detailed estimation model.
• Used when a software life cycle architecture has been completed.
• Used in the development and maintenance of software products
in the application generators, system integration or infrastructure
sectors.
Where
EM : Effort multiplier which is the product of 17 cost drivers.
PMnominal = Effort of the project in person months.
Lines of Codes Counting Rules
Function Points
Cost Drivers
38
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
39. Cost Drivers of Post Architecture
• Required Software Reliability (RELY)
• Database Size (DATA)
• Product Complexity (CPLX)
• Documentation (DOCU)
• Required Reusability (RUSE)
Product
Attributes
• Execution Time Constraint (TIME)
• Platform Volatility (PVOL)
• Main Storage constraint (STOR)
Computer
Attributes
• Analyst Capability (ACAP)
• Personnel Continuity (PCON)
• Programmer Experience (PEXP)
• Programmer Capability (PCAP)
• Analyst Experience(AEXP)
• Language & Tool Experience (LTEX)
Personnel
Attributes
• Use of Software tools (TOOL)
• Required development schedule (SCED)
• Site Locations & Communications Technology
b/w sites (SITE)
Project
Attributes
39
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
42. Schedule Estimation
Development time can be calculated using PMadjusted as a key
factor and the desired equation is:
Where
= constant, provisionally set to 3.67, B = Scaling factor
TDEVnominal = calendar time in months with a scheduled constraint
PMadjusted = Estimated effort in Person months (after adjustment)
Size can be measured in any unit and the model can be calibrated
accordingly. However, COCOMO II details are:
I. Application composition model uses the size in object points.
II. The other two models use size in KLOC.
Size Measurement
42
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
43. Post Architecture: Example
Ques: A software project of application generator category with estimated 50
KLOC has to be developed. The scale factor (B) has low precedentness, high
development flexibility and low team cohesion. The identified 17 Cost drivers are
high reliability (RELY), very high database size (DATA), high execution time
constraint (TIME),
very high analyst capability (ACAP), high programmers capability (PCAP).
The other cost drivers are nominal.
Calculate the effort in Person-Months for the development of the project.
Here B = 1.1129
PMnominal = 194.41 Person-months
= 194.41 x (1.15 x 1.19 x 1.11 x 0.67 x 0.87)
= 194.41 x 0.885
= 172.05 Person-months
Solution :
43
Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
44. Created by- Karishma Gupta (2012CA55) Ref: Software Engineering By K.K. Aggarwal &
Yogesh Singh
45. Final Word
“The models are just there to help,
not to make the management
decisions for you.”
--Barry Boehm
Ref: https://cs.uwaterloo.ca/~apidduck/se362/Lectures/cocomo.pdf
46. References
Software Engineering (Third Edition) By
K.K.Aggarwal & Y. Singh
Fundamentals of Software Engineering (Third
Edition) By Rajib Mall
Software Engineering , 6th Edition By Ian
Sommerville
Software Engineering (Sixth Edition) by Roger S.
Pressman
https://cs.uwaterloo.ca/~apidduck/se362/Lectures/c
ocomo.pdf