metrics

Measurement is commonplace in the engineering world. Software engineering, however, is far from developing a widely accepted standard measurement with results free from subjective factors. There are disagreements about what to measure and how to evaluate the results obtained from the measurements. Software metrics enable one of the most fundamental activities in the project management process: planning. From this, it is possible to identify the amount of effort, cost, and activities that will be necessary to carry out the project. From a measurement perspective, software metrics can be divided into two categories: direct and indirect measures. We can consider as direct measures of the software engineering process the cost and effort applied to the development and maintenance of the software and the product, the number of lines of code produced, and the total number of defects recorded during a given period of time. However, the quality and functionality of the software, or its maintainability, are more difficult to evaluate and can only be measured indirectly. We can also divide software metrics, from an application perspective, into two categories: productivity and quality metrics. Productivity metrics focus on the output of the software engineering process. Quality metrics indicate how well the software meets the requirements defined by the user. Direct Measures: Cost, Effort, Lines of Code, Execution Speed, Memory, Number of Errors, Cyclomatic Complexity. Indirect Measures: Functionality, Quality, Complexity, Efficiency, Reliability, Maintainability. For a better understanding of software metrics, we need to understand some information: Measure: a quantitative indication of the extent, quantity, dimension, capacity, or size of the product or process. Measurement: the act of determining a measure. Indicator: A metric or combination of metrics that provides understanding of the software process, a project, or the product. Software measurements can be organized into other classes, which will be defined below: Productivity metrics, based on the output of the software development process with the objective of evaluating the process itself; Quality metrics, which allow indicating the level of responsiveness of the software to the explicit and implicit requirements of the client, in relation to what is defined by quality management; Technical metrics, which include aspects such as functionality, modularity, maintainability, etc. From another perspective, it is possible to define a new classification of measurements: Size-oriented metrics, based on direct measurements of Software Engineering; Function-oriented metrics, which offer indirect measures; People-oriented metrics, which give indications about how people develop computer programs. Size-Oriented Metrics The most familiar software metric is the line count. This metric may seem simple, but there is disagreement about what constitutes a line of code. The line count should not include comment lines and blank lines, as this does not affect its functionality. It is strongly linked to the programming language used, making it impossible to use historical data for projects that do not use the same language. A set of quality and productivity metrics can be developed with this technique. Function-Oriented Metrics Instead of counting lines of code, the function-oriented metric focuses on the functionality of the software. In 1979, Allan Albrecht introduced an evaluation technique known as Function Point. Based on the user's business perspective, it is independent of the programming language used and any technology in general. It does not allow for the calculation of development effort, but it generates a variable that can allow for its calculation. It helps the end user improve the examination and evaluation of projects. Its objectives are: To measure what was requested and received by the user; To provide a measurement metric to support productivity and quality analysis; To provide a way to estimate the size of the software; To provide a normalization factor for software comparison. Reasons for measuring software: To indicate the quality of the product; To evaluate the productivity of those who develop the product; To determine the benefits derived from new software engineering methods and tools; To form a basis for estimates; To seek opportunities for refactoring; To help justify the acquisition of new tools or additional training. Measurement is common in the world of engineering. But for software engineering, there is still a long way to go before there is a widely accepted standard measurement with results free from subjective factors. Undoubtedly, the most significant increase in productivity will be achieved when we manage to establish a meaningful system of metrics for software development results and effectively use it.

Hello, I'm Alexander Rodrigues Silva, SEO specialist and author of the book "Semantic SEO: Semantic Workflow". I've worked in the digital world for over two decades, focusing on website optimization since 2009. My choices have led me to delve into the intersection between user experience and content marketing strategies, always with a focus on increasing organic traffic in the long term. My research and specialization focus on Semantic SEO, where I investigate and apply semantics and connected data to website optimization. It's a fascinating field that allows me to combine my background in advertising with library science. In my second degree, in Library and Information Science, I seek to expand my knowledge in Indexing, Classification, and Categorization of Information, seeing an intrinsic connection and great application of these concepts to SEO work. I have been researching and connecting Library Science tools (such as Domain Analysis, Controlled Vocabulary, Taxonomies, and Ontologies) with new Artificial Intelligence (AI) tools and Large-Scale Language Models (LLMs), exploring everything from Knowledge Graphs to the role of autonomous agents. In my role as an SEO consultant, I seek to bring a new perspective to optimization, integrating a long-term vision, content engineering, and the possibilities offered by artificial intelligence. For me, SEO work is a strategy that needs to be aligned with your business objectives, but it requires a deep understanding of how search engines work and an ability to understand search results.

Post comment

Semantic Blog
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognizing you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.