Software Project Estimation IFPUG VS COSMIC

Slides:



Advertisements
Similar presentations
FPA – IFPUG CPM 4.1 Rules.
Advertisements

International Function Point Users Group
1 Calibrating Function Points Using Neuro-Fuzzy Technique Vivian Xia NFA Estimation Inc. London, Ontario, Canada Danny Ho IT Department.
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
Software project management (intro)
1 PROJECT SIZING AND ESTIMATING - EFFECTIVELY USING FUNCTIONAL MEASUREMENT Southern California Software Process Improvement.
CS 551 Estimation Fall December QSE Lambda Protocol Prospectus Measurable Operational Value Prototyping or Modeling sQFD Schedule, Staffing,
Information Technology Project Management
Software Metric capture notions of size and complexity.
Copyright © The David Consulting Group, Inc. 1 UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
PHASE 2: SYSTEMS ANALYSIS
Estimation Why estimate? What to estimate? When to estimate?
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Chapter 6 : Software Metrics
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
Software Cost Estimation 1. APPROACHES Traditional: LOC estimation Modern: Functional Point Analysis 2.
Software Estimation How hard can it be? Peter R Hill.
Version control – Project repository, version management capability, make facility, issue/bug tracking Change control Configuration audit – compliments.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
1 Estimation Function Point Analysis December 5, 2006.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Project Planning and Estimation
Quality Software Project Management Software Size and Reuse Estimating.
Function point
Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.
Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
© Sogeti Nederland B.V. Beware … The Controller is coming IT-Governance per unit? Ton Dekkers UKSMA October 2005, London.
Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Functional Size Measurement Methodologies. What is FSM ? Definitions: Functional Size: A size of the software derived by quantifying the Functional User.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
CSE SW Project Management / Module 13 - Function Points and Related Methods Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M13.
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
NASA Software Assurance Symposium 2001 Metrics for Fault-Tolerant Real-Time Software Afzel Noore Computer Science and Electrical Engineering West Virginia.
Software Project Management
FUNCTION POINT ANALYSIS & ESTIMATION
Project Planning. Overview Planning and the software process Estimating duration and cost Software project management plan components Software project.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
1 2  Why SNAP? (in a nutshell) ?  What is SNAP (in a nutshell) ?  Does SNAP work?  How to use SNAP when we already use Function Points?
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M13 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Internal Logical Files (ILF) An internal logical file (ILF) is a user identifiable group of logically related data or control information maintained within.
Intro Figure - Choosing the level of detail you need
THE FAMU-CIS ALUMNI SYSTEM
Alternative Software Size Measures for Cost Estimation
Testing Techniques.
RET Rules One of the following rules applies when counting RETs:
Prepared by Manish Sharma Manish Kumar Kushwaha
Process Diagram Technique for Business Processes Modeling
Function Point Analysis
The Work Breakdown Structure and Project Estimation
Software Development & Project Management
Mk II Function Point Analysis
Alternative Software Size Measures for Cost Estimation
UNIT-3 Software Effort Estimation
Function Point.
Chapter 5: Software effort estimation- part 2
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Software Sizing and Costing
Software Effort Estimation
Presentation transcript:

Software Project Estimation IFPUG VS COSMIC Qasim Babatunde Md Forhad Rabbi Shailendra Natraj Faculty of Informatics

Topic Introduction Project estimation IFPUG Methodology COSMIC Analysis Convertibility issues Mapping of concepts between IFPUG and COSMIC conversion equations Conclusion References.

Introduction He who every morning plans the transaction of the day and follows out that plan, carries a thread that will guide him through the maze of the most busy life. But where no plan is laid, where the disposal of time is surrendered merely to the chance of incidence, chaos will soon reign. Victor Hugo (1802 - 1885)  

Project Estimation What is Project estimation? Project estimation can be defined as a project management task which involves three main factors (Time, Cost and effort) and dividing the project life cycle and giving a estimate of time, effort and cost involved in this complete process. Project Estimation

FSM Evolutionary Timeline ISO FSM standard COSMIC 2.0 3D FPs Mk II FP Feature points IFPUG 4.0 Mk II 1.3 IFPUG 4.1 Full FPs v.1 COSMIC 3.0 Allan Albrecht 1980 1985 1990 1995 2000 2005 2007 IFPUG 4.2

Project Estimation :Methodology The various Methodology Estimation Techniques Methodology Parametric approach Heuristic approach IFPUG’s FPA. Feature Points. Cosmic Full Function Points. Expert Judgment Method. Thumbs Rule. Delphi Technique. Parkinson’s Law.

Approach Path IFPUG’s FPA Cosmic Full Function Points IFPUG’s FPA PC GEEK Simple Locator Application RESULT (IFPUG’s FPA) RESULT Cosmic FFP RESULT (IFPUG’s FPA RESULT Cosmic FFP Analysis Equation

advancing software functional size measurement COSMIC The Common Software Measurement International Consortium advancing software functional size measurement

IFPUG Lets See IFPUG First… Transaction Function Data Function External Input External Output External Query Internal Logic File External Interface File

IFPUG      5 Base Functional Component Type Input Output Inquiry Stored Data Process Internal Logical File  Shared Data 5 Base Functional Component Type External Logical File

  COSMIC Entry  Exit    4 Base Functional Component Type Write USER Entry  Functional Process Exit    Write Read  Persistence Data Storage  4 Base Functional Component Type

Lets try with a requirement… Create new order File Report System Admin Help Utility

Identify Logical File ILF: Sales ILF: Sales= {customer_id, customer_name, order_id, order_date, configuration, quantity} EIF: Configuration = {ID, RAM size, board type, CPU speed,….} Configuration

IFPUG: Create new order… 7 DETs Order Id Customer id Customer name Configuration Quantity Price Action (Submit) FTR Sales Number of DET : 7 Number of FTR : 2 Complexity : Average Functional Point : 04 FTR Configurations

Complexity of ILF (Sales) Complexity of EIF (Configuration) DET RET COMPLEXITY FP 7 1 Low Complexity of EIF (Configuration) DET RET COMPLEXITY FP 7 1 Low 5

FP Calculation(Using IFPUG): PCGEEK Function Type Complexity Total Complexity Total EI 7 Low X 3 8 AVG X 4 0 High X 6 56 157 EQ 9 Low X 3 2 Avg X 4 0 High X 6 35 EO 4 Low X 4 0 Avg X 5 0 High X 7 16 ILF 5 Low X 7 0 Avg X 10 0 High X 15 EIF 3 Low X 5 0 Avg X 7 0 High X 10 15

STEPS OF COSMIC… Identify the purpose of measurement Identify the scope Identify the functional user Identify the functional process Identify data group. Identify data movement A (type of) user that is a sender and/or an intended recipient of data in the Functional User Requirements of a piece of software. A functional process is an elementary component of a set of Functional User Requirements comprising a unique, cohesive and independently executable set of data movements A data group is a distinct, non empty, non ordered and non redundant set of data attributes where each included data attribute describes a complementary aspect of the same object of interest. A base functional component which moves a single data group type

COSMIC: Create Customer Order.. 2 Data Groups Order Id Customer id Customer name Quantity Price Action (Submit) Entry Functional Process Write Entry  Configuration Persistence Data Storage Exit 

Order data group to process Entry Order data group to process Order Id, Customer Name, Customer id, Quantity, Price Configuration data group to process Configuration; e.g. HDD, RAM, Monitor, etc.

No READ operation has been performed

WRITE.. Order detail to stored data Configuration detail to stored data

EXIT Return a conformation message to user

Functional Point : Create Customer Order Size = 2 Entry+2 Write+1 Exit = 5 FP it

FP Calculation (Using COSMIC): PCGEEK Size (functional process)=Σ size (Entries) + Σ size (Exits) + Σ size (Reads) + Σ size (Writes) Size (functional process) = Σ size (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1) + Σ size (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1) + Σ size (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1) + Σ size (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1) = 97

IFPUG: SIMPLE LOCATOR APPLICATION

COSMIC: SIMPLE LOCATOR APPLICATION Size (functional process) = Σ size (Entries) + Σ size (Exits) + Σ size (Reads) + Σ size (Writes) Size (functional process) = (1+1+1+1+1+1) + (1+1+2+1+1+1) + (0+0+1+0+0+0) + (1+1+0+1+1+1) = 6+7+1+5 =19 cfp

Process… IFPUG: Files accessed (FTR) COSMIC: Sub Process (Read, Write) IFPUG: Logical Files Stored data Cosmic: Persistent Data Stored data IFPUG: DETs crossing boundary COSMIC: Sub process (Entry, Exit)

Why COSMIC? Firstly, it should be noted that most, if not all FPA methods are based on heuristics rather than engineering principles!! except COSMIC This section will try to compare the IFPUG and the COSMIC methods, in terms of applicability. Cosmic 28

Business applications Infrastructure systems Why COSMIC contd…. Application types Business applications Embedded systems Infrastructure systems Real time systems Hybrid Cosmic

Measurement viewpoint. Why COSMIC contd…. Measurement viewpoint. User view (does this describe all the functionality of the system?) e.g. multiprocessor system, functionality of software beneath the application layer, batch processing stream. Measurement and scale validity Weighted complexity with limits No limits and all EP equal Ordinal VS ratio COSMIC provides very good estimates close to the actual effort spent in each project. Cosmic 30

Convertibility issues A lot of organizations have invested a lot into IFPUG and it is hard and unwise to scrap such investments over-night But note: the COSMIC [2003]says: “…that an average conversion formula to convert COSMIC FFP size to an IFPUG FPA size would be grossly misleading.” Cosmic 31

Convertibility issues Contd… However, the same also says: “….therefore the only means of conversion will be to measure some sizes of software developed or enhanced in similar circumstances on both the IFPUG and COSMIC methods and to establish an empirical conversion formula.” Cosmic 32

Mapping of concepts between IFPUG and COSMIC Purpose of measurement Purpose of the count Scope of a measurement  Scope of the count  Boundary  Application boundary  User  Object of interest  Entity  Data group  File  Data attribute  Data elements  Functional process  Transactional function  Comparision 33

Suggested conversion equations Authors Convertibility Equation Fetcke Y(Cfsu) = 1.1 * (UFP) - 7.6/6.2 Letherthuis ≤200 FP Y(Cfsu) = 1.2 * (UFP) -87 Letehrthuis ≥200 FP Y(Cfsu) = 0.75 * (UFP) -2.6 Desharnais 2005 Y(Cfsu) = 0.84 * (UFP) + 18 Abran [1999] Y(Cfsu) = 1.0* (UFP) - 3 Cuadrado et al. [2007] see next slide Convertibility equation 34

35

Empirical illustration 36

Further analysis with own data Equation PCGEEK (157, 97) Locator (46,19) Fetcke 166 43 Letherthuis ≤ 200 FP 102 -38 Letehrthuis ≥ 200 FP 116 32 Desharnais [2005] 150 57 Abran [1999] 155 Cuadrado et al. [2007] 77 ≤ 97 ≤ 99 19 ≤ 19 ≤ 25 Data analysis 37

It can not measure mathematical algorithms. Current travails Benchmark data are not as widely available as is the case for FPA. But this is a matter of time!! It can not measure mathematical algorithms. 38

Conclusion More investigation and research is necessary to deal with the convertibility among different FSM methods, mapping between Unified Modeling Language and FP, measuring the domain of algorithmic/ scientific software, measurement of functional reuse and automating FSM process. Conclusion 39

Refences [1] Vogelezang, F., One year experience with COSMIC-FFP, Software Measurement European Forum – SMEF 2005, Rome (Italy), 2005. [2] The COSMIC Functional Size Measurement Method Version 3.0, Measurement Manual, Common Software Measurement International Consortium, September 2007 [3] IFPUG, Function point counting practices manual 4.1.1. Tech. rep., The International Function Point Users Group, 2000. 40