Differentiate between LOC and Function Point in Software Engineering - GeeksforGeeks (2024)

Skip to content

  • Courses
    • Newly Launched!
    • For Working Professionals
    • For Students
    • GATE Exam Courses
  • Tutorials
    • Data Structures & Algorithms
      • Data Structures
        • Tree
      • Algorithms
        • Searching Algorithms
        • Sorting Algorithms
  • Software Testing Course
  • Software Engineering Tutorial
  • Software Development Life Cycle
  • Waterfall Model
  • Software Requirements
  • Software Measurement and Metrics
  • Software Design Process
  • System configuration management
  • Software Maintenance
  • Software Development Tutorial
  • Software Testing Tutorial
  • Product Management Tutorial
  • Project Management Tutorial
  • Agile Methodology
  • Selenium Basics

Open In App

Summarize

Suggest changes

Like Article

Like

Save

Report

1. Lines of Code (LOC) :
The line of code (LOC) metric is any line of text in a code that is not a comment or blank line, in any case of the number of statements or fragments of statements on the line. LOC consists of all lines containing program header files, declaration of any variable, and executable and non-executable statements. As Lines of Code (LOC) only counts the proportion of code, you can only utilize it to compare or estimate projects that utilize the same language and are programmed using the same coding standards.

Example of Line of Code :

C++
void selSort(int x[], int n) { //Below function sorts an array in ascending order  int i, j, min, temp; for (i = 0; i < n - 1; i++) { min = i; for (j = i + 1; j < n; j++) if (x[j] < x[min]) min = j; temp = x[i]; x[i] = x[min]; x[min] = temp; }}

So, now If LOC is simply a count of the number of lines then the above function shown contains 13 lines of code (LOC). But when comments and blank lines are ignored, the function shown above contains 12 lines of code (LOC).

2. Function Point (FP) :
In the function point metric, the number and type of functions held up by the software are used to find FPC (function point count).

Example of function point :
Check out this article for a detailed example : Calculation of Function Point (FP)
Both function point and LOC are measurement units for the size of the software. The size of the software that is dependent on development is necessary to come up with accurate estimates of the effort, cost, and duration of a project. Most parametric estimation models such as the Constructive Cost Model (COCOMO) accept size conveyed in either FP or LOC as an input.

For a comprehensive overview of LOC and FP, including detailed examples and calculations, explore our course, ” Complete Guide to Software Testing ,” at GeeksforGeeks.


Difference between LOC and Function Point :

Function Point (FP) Line of Code (LOC)
Function Point metric is specification-based. LOC metric is based on analogy.
Function Point metric is language independent. LOC metric is dependent on language.
Function Point metric is user-oriented. LOC metric is design-oriented.
Function Point metric is extendible to Line of Code. It is changeable to FP (i.e. backfiring)
Function Point is used for data processing systems LOC is used for calculating the size of the computer program
Function Point can be used to portray the project time LOC is used for calculating and comparing the productivity of programmers.

In general, people prefer the functional size of software indicated as Function Point for one very important reason, i.e, the size expressed using the Function point metric stays constant in any case and whichever language or languages are used.



tarunsinghwap7

Differentiate between LOC and Function Point in Software Engineering - GeeksforGeeks (4)

Improve

Next Article

Function Oriented Design - Software Engineering

Please Login to comment...

Similar Reads

Lines of Code (LOC) in Software Engineering A line of code (LOC) is any line of text in a code that is not a comment or blank line, and also header lines, in any case of the number of statements or fragments of statements on the line. LOC consists of all lines containing the declaration of any variable, and executable and non-executable statements. Table of Content Features of Lines of Code 4 min read Differences between Point-to-Point and Multi-point Communication In this section, we shall see the differences between Point-to-Point and Multi-point Communication. In point-to-point communication, there is a dedicated link between two nodes, and in multi-point communication, the link is provided at all times for sharing the connection among nodes. Now, the differences between these to communicate with the help 2 min read Software Engineering | Calculation of Function Point (FP) Function Point (FP) is an element of software development which helps to approximate the cost of development early in the process. It may measures functionality from user's point of view. Counting Function Point (FP): Step-1: F = 14 * scale Scale varies from 0 to 5 according to character of Complexity Adjustment Factor (CAF). Below table shows scal 4 min read Introduction to Software Engineering - Software Engineering Software is a program or set of programs containing instructions that provide the desired functionality. Engineering is the process of designing and building something that serves a particular purpose and finds a cost-effective solution to problems. Table of Content What is Software Engineering?Key Principles of Software EngineeringMain Attributes 9 min read Difference between Software Engineering process and Conventional Engineering Process Software Engineering Process and Conventional Engineering Process, both are processes related to computers and development. In this article, we will see the similarities as well as differences between both, that is Software Engineering Process and the Conventional Engineering Process. Table of Content Software Engineering ProcessConventional Engine 4 min read Difference between Software Engineering and Computer Engineering Software engineering and Computer engineering are two distinct disciplines that focus on different aspects of computer systems. While both fields require a strong foundation in computer science and mathematics, software engineering is focused on software development processes, while computer engineering is focused on the physical components and sys 6 min read Differentiate between Write Through and Write Back Methods Prerequisite - Write Through and Write Back in Cache During a read operation, when the CPU determines a word in the cache, the main memory is not included in the transfer. Thus, there are two ways that the system can proceed when the operation is a write. 1. Write Through Method : The simplest method is to update the main memory with every memory w 2 min read Differentiate between find() and children() Methods Before looking at the differences between the find() and children() method. Let us briefly understand what are these and what they do. find(): This method is used to get all the filtered descendants of each element in the current set of matched elements. Syntax: $(selector).find('filter-expression') Parameter: A selector expression, element, or jQu 3 min read Differentiate between Cottage and Small Scale Industries The expression "cottage industry" alludes to assembling organizations that do the greater part of their work the hard way. India is perceived and known for its enhanced culture, painstaking work from conventional cabin ventures, and an extensive variety of cooking things, in addition to other things. Cotton winding around, cover winding around, sil 6 min read Differentiate between Direct and Indirect Use of Biodiversity Biodiversity is the diversity of living things from a variety of sources, including terrestrial, marine, and desert ecosystems as well as the ecological complexes to which they belong. This is the most complex and important feature of our planet. Life cannot be sustained without biodiversity. The term "biodiversity" was coined in 1985. It is import 7 min read Difference between Serial Line Internet Protocol (SLIP) and Point-to-Point Protocol (PPP) The main difference between the Serial Line Internet Protocol (SLIP) and Point-to-Point Protocol (PPP) is that Serial Line Internet Protocol is the Predecessor protocol of Point-to-Point Protocol. On the other hand, Point-to-Point Protocol is the Successor protocol of Serial Line Internet Protocol. Features of SLIP: Simple: SLIP is a simple protoco 4 min read Difference between Point to Point Link and Star Topology Network 1. Point to point link : This is the kind of topology that relies upon two functions i.e. Transmit and Receive. It is a type of communication network between two communication nodes where there is one transmitter and on the other end, there is the receiver. It is a kind of communication medium which have two endpoints or end nodes. They provide hig 4 min read Difference Between High-level Data Link Control (HDLC) and Point-to-Point Protocol (PPP) The main difference between High-level Data Link Control (HDLC) and Point-to-Point Protocol (PPP) is that High-level Data Link Control is the bit-oriented protocol, on the other hand, Point-to-Point Protocol is the byte-oriented protocol. Another difference between HDLC and PPP is that HDLC is implemented by Point-to-point configuration and also mu 5 min read Functional Point (FP) Analysis - Software Engineering Functional Point Analysis (FPA) is a software measurement technique used to assess the size and complexity of a software system based on its functionality. It involves categorizing the functions of the software, such as input screens, output reports, inquiries, files, and interfaces, and assigning weights to each based on their complexity. By quant 9 min read Reverse Engineering - Software Engineering Software Reverse Engineering is a process of recovering the design, requirement specifications, and functions of a product from an analysis of its code. It builds a program database and generates information from this.This article focuses on discussing reverse engineering in detail. What is Reverse Engineering?Reverse engineering can extract desig 6 min read Re-engineering - Software Engineering Software Re-engineering is a process of software development that is done to improve the maintainability of a software system. Re-engineering is the examination and alteration of a system to reconstitute it in a new form. This process encompasses a combination of sub-processes like reverse engineering, forward engineering, reconstructing, etc. Tab 8 min read Evolution of Software Engineering: From an Art To Engineering Discipline Software Engineering is a systematic and cost-effective technique for software development. It is an engineering approach to developing software. For example: If someone wants to travel from Punjab to Delhi. There are two approaches one can follow to achieve the same result: The normal approach is to go out and catch the bus/train that is available 13 min read Requirements Engineering Process in Software Engineering Requirements Engineering is the process of identifying, eliciting, analyzing, specifying, validating, and managing the needs and expectations of stakeholders for a software system. Table of Content What is Requirements Engineering?Requirements Engineering ProcessTools Involved in Requirement EngineeringAdvantages of Requirements Engineering Process 13 min read Difference between Computer Science Engineering and Computer Engineering There is no clear cut computer science engineering and computer engineering definition because there are a variety of tasks and functions where similarity also exists and they perform their task depending upon their industry and work. 1. Computer Science Engineering : It includes the study of analysis of algorithms, programming languages, operating 3 min read Difference between Forward Engineering and Reverse Engineering Forward engineering and reverse engineering are two approaches to software development, with different goals and processes. Forward engineering involves creating new software systems from scratch using given requirements and design specifications. It focuses on building new applications through a structured process of analysis, design, implementati 6 min read Software Business and Development - Software Engineering Software Business means selling software for the business or sometimes it is referred to as selling information about various software made for business purposes that are so-called business software. This article focuses on discussing Software Business and Development in detail. What is a Software Business? Software business is one of the commercia 3 min read Role and Responsibilities of a software Project Manager - Software Engineering A software project manager is the most important person inside a team who takes the overall responsibilities to manage the software projects and plays an important role in the successful completion of the projects. This article focuses on discussing the role and responsibilities of a software project manager. Table of Content Who is a Project Manag 5 min read Software Engineering | Schick-Wolverton software reliability model Prerequisite - Jelinski Moranda software reliability model The Schick-Wolverton (S-W) model is a modification to the J-M model. It is similar to the J-M model except that it further assumes that the failure rate at the ith time interval increases with time ti since the last debugging. In the model, the program failure rate function between the (i-1 4 min read Software Engineering | Responsibilities of Software Project Manager Software Project Management (SPM) is a sub-field of Project Management in which software projects are planned, implemented, monitored and controlled. It consists of three terms: Software, Project and Management. So, let us understand each term separately. Software includes a set of programs, documentation and user manual for a particular software p 3 min read Software Engineering - Hardware Reliability vs Software Reliability Reliability in software is software that has no failure and works in a special time period with a special environment. Hardware reliability is the probability of the absence of any hardware-related system malfunction for a given mission on the other hand software reliability is the probability that the software will provide a failure-free operation 3 min read Failure Curve for Software in Software Engineering Pre-requisites: Software Engineering In Software Engineering, the concept of a software failure curve is part of the hardware bathtub curve. According to the diagram, the failure rate is a function of time for Hardware. This curve shows that hardware exhibits a relatively high failure rate early in its life (these failures are often design or manuf 4 min read Identifying Software Development Metrics - Software Engineering Companies invest a fair proportion of their resources in the expensive staff that drive the development of technology on which an organization runs. It is therefore imperative to explore and quantitatively measure the performance of such investments by empowering teams with the ability to track their efficiency. This task is delegated to a designat 4 min read Software Quality Framework - Software Engineering Software Quality Framework is a model for software quality that ensures quality by connecting and integrating the different views of software quality. This article focuses on discussing the Software Quality Framework. What is a Software Quality Framework?Software Quality Framework connects the customer view with the developer's view of software qua 4 min read Software Evolution - Software Engineering Software Evolution is a term that refers to the process of developing software initially, and then timely updating it for various reasons, i.e., to add new features or to remove obsolete functionalities, etc. This article focuses on discussing Software Evolution in detail. What is Software Evolution?The software evolution process includes fundament 3 min read Characteristics of Good Software - Software Engineering Software is treated as good software using different factors. A software product is concluded as good software by what it offers and how well it can be used. The factors that decide the software properties are divided into three categories: Operational, Transitional, and Maintenance. What is a Good Software?Software engineering is the process of de 2 min read

Article Tags :

  • Difference Between
  • Software Engineering
  • Software Testing
  • Software Testing

Trending in News

View More
  • California Lawmakers Pass Bill to Limit AI Replicas
  • Best 10 IPTV Service Providers in Germany
  • Python 3.13 Releases | Enhanced REPL for Developers
  • IPTV Anbieter in Deutschland - Top IPTV Anbieter Abonnements
  • Content Improvement League 2024: From Good To A Great Article

We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy

Differentiate between LOC and Function Point in Software Engineering - GeeksforGeeks (5)

'); $('.spinner-loading-overlay').show(); jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id, check: true }), success:function(result) { jQuery.ajax({ url: writeApiUrl + 'suggestions/auth/' + `${post_id}/`, type: "GET", dataType: 'json', xhrFields: { withCredentials: true }, success: function (result) { $('.spinner-loading-overlay:eq(0)').remove(); var commentArray = result; if(commentArray === null || commentArray.length === 0) { // when no reason is availaible then user will redirected directly make the improvment. // call to api create-improvement-post $('body').append('

'); $('.spinner-loading-overlay').show(); jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id, }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.unlocked-status--improve-modal-content').css("display","none"); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { $('.spinner-loading-overlay:eq(0)').remove(); var result = e.responseJSON; if(result.detail.non_field_errors.length){ $('.improve-modal--improve-content .improve-modal--improve-content-modified').text(`${result.detail.non_field_errors}.`); jQuery('.improve-modal--overlay').show(); jQuery('.improve-modal--improvement').show(); $('.locked-status--impove-modal').css("display","block"); $('.unlocked-status--improve-modal-content').css("display","none"); $('.improve-modal--improvement').attr("status","locked"); $('.improvement-reason-modal').hide(); } }, }); return; } var improvement_reason_html = ""; for(var comment of commentArray) { // loop creating improvement reason list markup var comment_id = comment['id']; var comment_text = comment['suggestion']; improvement_reason_html += `

${comment_text}

`; } $('.improvement-reasons_wrapper').html(improvement_reason_html); $('.improvement-bottom-btn').html("Create Improvement"); $('.improve-modal--improvement').hide(); $('.improvement-reason-modal').show(); }, error: function(e){ $('.spinner-loading-overlay:eq(0)').remove(); // stop loader when ajax failed; }, }); }, error:function(e) { $('.spinner-loading-overlay:eq(0)').remove(); var result = e.responseJSON; if(result.detail.non_field_errors.length){ $('.improve-modal--improve-content .improve-modal--improve-content-modified').text(`${result.detail.non_field_errors}.`); jQuery('.improve-modal--overlay').show(); jQuery('.improve-modal--improvement').show(); $('.locked-status--impove-modal').css("display","block"); $('.unlocked-status--improve-modal-content').css("display","none"); $('.improve-modal--improvement').attr("status","locked"); $('.improvement-reason-modal').hide(); } }, }); } else { if(loginData && !loginData.isLoggedIn) { $('.improve-modal--overlay').hide(); if ($('.header-main__wrapper').find('.header-main__signup.login-modal-btn').length) { $('.header-main__wrapper').find('.header-main__signup.login-modal-btn').click(); } return; } } }); $('.left-arrow-icon_wrapper').on('click',function(){ if($('.improve-modal--suggestion').is(":visible")) $('.improve-modal--suggestion').hide(); else{ $('.improvement-reason-modal').hide(); } $('.improve-modal--improvement').show(); }); function loadScript(src, callback) { var script = document.createElement('script'); script.src = src; script.onload = callback; document.head.appendChild(script); } function suggestionCall() { var suggest_val = $.trim($("#suggestion-section-textarea").val()); var array_String= suggest_val.split(" ") var gCaptchaToken = $("#g-recaptcha-response-suggestion-form").val(); var error_msg = false; if(suggest_val != "" && array_String.length >=4){ if(suggest_val.length <= 2000){ var payload = { "gfg_post_id" : `${post_id}`, "suggestion" : `

${suggest_val}

`, } if(!loginData || !loginData.isLoggedIn) // User is not logged in payload["g-recaptcha-token"] = gCaptchaToken jQuery.ajax({ type:'post', url: "https://apiwrite.geeksforgeeks.org/suggestions/auth/create/", xhrFields: { withCredentials: true }, crossDomain: true, contentType:'application/json', data: JSON.stringify(payload), success:function(data) { jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('#suggestion-section-textarea').val(""); jQuery('.suggest-bottom-btn').css("display","none"); // Update the modal content const modalSection = document.querySelector('.suggestion-modal-section'); modalSection.innerHTML = `

Thank You!

Your suggestions are valuable to us.

You can now also contribute to the GeeksforGeeks community by creating improvement and help your fellow geeks.

`; }, error:function(data) { jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('#suggestion-modal-alert').html("Something went wrong."); jQuery('#suggestion-modal-alert').show(); error_msg = true; } }); } else{ jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('#suggestion-modal-alert').html("Minimum 5 Words and Maximum Character limit is 2000."); jQuery('#suggestion-modal-alert').show(); jQuery('#suggestion-section-textarea').focus(); error_msg = true; } } else{ jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('#suggestion-modal-alert').html("Enter atleast four words !"); jQuery('#suggestion-modal-alert').show(); jQuery('#suggestion-section-textarea').focus(); error_msg = true; } if(error_msg){ setTimeout(() => { jQuery('#suggestion-section-textarea').focus(); jQuery('#suggestion-modal-alert').hide(); }, 3000); } } document.querySelector('.suggest-bottom-btn').addEventListener('click', function(){ jQuery('body').append('

'); jQuery('.spinner-loading-overlay').show(); if(loginData && loginData.isLoggedIn) { suggestionCall(); return; } // load the captcha script and set the token loadScript('https://www.google.com/recaptcha/api.js?render=6LdMFNUZAAAAAIuRtzg0piOT-qXCbDF-iQiUi9KY', function() { setGoogleRecaptcha(); }); }); $('.improvement-bottom-btn.create-improvement-btn').click(function() { //create improvement button is clicked $('body').append('

'); $('.spinner-loading-overlay').show(); // send this option via create-improvement-post api jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.improvement-reason-modal').hide(); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { $('.spinner-loading-overlay:eq(0)').remove(); var result = e.responseJSON; if(result.detail.non_field_errors.length){ $('.improve-modal--improve-content .improve-modal--improve-content-modified').text(`${result.detail.non_field_errors}.`); jQuery('.improve-modal--overlay').show(); jQuery('.improve-modal--improvement').show(); $('.locked-status--impove-modal').css("display","block"); $('.unlocked-status--improve-modal-content').css("display","none"); $('.improve-modal--improvement').attr("status","locked"); $('.improvement-reason-modal').hide(); } }, }); });

Differentiate between LOC and Function Point in Software Engineering - GeeksforGeeks (2024)
Top Articles
A Quick Guide to Harvard Referencing | Citation Examples
Research Guides: APA Citation Style: Citation Examples
Spasa Parish
Rentals for rent in Maastricht
159R Bus Schedule Pdf
Sallisaw Bin Store
Black Adam Showtimes Near Maya Cinemas Delano
Espn Transfer Portal Basketball
Pollen Levels Richmond
11 Best Sites Like The Chive For Funny Pictures and Memes
Things to do in Wichita Falls on weekends 12-15 September
Craigslist Pets Huntsville Alabama
Paulette Goddard | American Actress, Modern Times, Charlie Chaplin
What's the Difference Between Halal and Haram Meat & Food?
R/Skinwalker
Rugged Gentleman Barber Shop Martinsburg Wv
Jennifer Lenzini Leaving Ktiv
Justified - Streams, Episodenguide und News zur Serie
Epay. Medstarhealth.org
Olde Kegg Bar & Grill Portage Menu
Cubilabras
Half Inning In Which The Home Team Bats Crossword
Amazing Lash Bay Colony
Juego Friv Poki
Dirt Devil Ud70181 Parts Diagram
Truist Bank Open Saturday
Water Leaks in Your Car When It Rains? Common Causes & Fixes
What’s Closing at Disney World? A Complete Guide
New from Simply So Good - Cherry Apricot Slab Pie
Drys Pharmacy
Ohio State Football Wiki
Find Words Containing Specific Letters | WordFinder®
FirstLight Power to Acquire Leading Canadian Renewable Operator and Developer Hydromega Services Inc. - FirstLight
Webmail.unt.edu
2024-25 ITH Season Preview: USC Trojans
Metro By T Mobile Sign In
Restored Republic December 1 2022
12 30 Pacific Time
Jami Lafay Gofundme
Litter-Robot 3 Pinch Contact & Dfi Kit
Greenbrier Bunker Tour Coupon
No Compromise in Maneuverability and Effectiveness
Black Adam Showtimes Near Cinemark Texarkana 14
Teamnet O'reilly Login
U-Haul Hitch Installation / Trailer Hitches for Towing (UPDATED) | RV and Playa
Wie blocke ich einen Bot aus Boardman/USA - sellerforum.de
Infinity Pool Showtimes Near Maya Cinemas Bakersfield
Dermpathdiagnostics Com Pay Invoice
How To Use Price Chopper Points At Quiktrip
Maria Butina Bikini
Busted Newspaper Zapata Tx
Latest Posts
Article information

Author: Edmund Hettinger DC

Last Updated:

Views: 6258

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Edmund Hettinger DC

Birthday: 1994-08-17

Address: 2033 Gerhold Pine, Port Jocelyn, VA 12101-5654

Phone: +8524399971620

Job: Central Manufacturing Supervisor

Hobby: Jogging, Metalworking, Tai chi, Shopping, Puzzles, Rock climbing, Crocheting

Introduction: My name is Edmund Hettinger DC, I am a adventurous, colorful, gifted, determined, precious, open, colorful person who loves writing and wants to share my knowledge and understanding with you.