Software metrics

Software package metrics

Various software package metrics are used in modular programming. They have been mentioned by Robert Cecil Martin in his 2002 book Agile software development: principles, patterns, and practices. The term software package here refers to a group of related classes in object-oriented programming. * Number of classes and interfaces: The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package. * Afferent couplings (Ca): The number of classes in other packages that depend upon classes within the package is an indicator of the package's responsibility. Afferent couplings signal inward. * Efferent couplings (Ce): The number of classes in other packages that the classes in a package depend upon is an indicator of the package's dependence on externalities. Efferent couplings signal outward. * Abstractness (A): The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. * Instability (I): The ratio of efferent coupling (Ce) to total coupling (Ce + Ca) such that I = Ce / (Ce + Ca). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely unstable package. * Distance from the main sequence (D): The perpendicular distance of a package from the idealized line A + I = 1. D is calculated as D = | A + I - 1 |. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (I=0, A=1) or completely concrete and unstable (I=1, A=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. * Package dependency cycles: Package dependency cycles are reported along with the hierarchical paths of packages participating in package dependency cycles. (Wikipedia).

Video thumbnail

APIs for Beginners - How to use an API (Full Course / Tutorial)

⚠️ Watch the UPDATED version of this course: https://youtu.be/WXsD0ZgxjRw What is an API? Learn all about APIs (Application Programming Interfaces) in this full tutorial for beginners. You will learn what APIs do, why APIs exist, and the many benefits of APIs. APIs are used all the time i

From playlist Computer Science Concepts

Video thumbnail

Using Dimensional Analysis to Find the Units of a Constant

This video shows you how to use dimensional analysis to find the units for constants in physics and chemistry equations. For example, why are the units for the gravitational constant (G) newtons, meters squared over kilograms squared. Dimensional analysis in physics is an important tool t

From playlist Metric Units

Video thumbnail

Mathematical Knowledge Management software survey (paper review)

In this video I talk about the paper "The Space of Mathematical Software Systems — A Survey of Paradigmatic Systems" found here: https://arxiv.org/abs/2002.04955 My notes on the text and all links shown on in the video can be found here: https://gist.github.com/Nikolaj-K/87371836d1dd1abfba

From playlist Reviews

Video thumbnail

GTAC 2013: Empirical Investigation of Software Product Line Quality

http://g.co/gtac2013 Slides: http://goo.gl/pPQ1u Katerina Goseva-Popstojanova, West Virginia University Software product lines exhibit high degree of commonality among the systems in the product line and a well specified number of possible variations. Based on data extracted from two cas

From playlist GTAC 2013

Video thumbnail

GTAC 2009 - 2nd Day Opening Talk

Google Tech Talk October 22, 2009 ABSTRACT Presented by Dr Alberto Di Meglio at the 4th Annual Google Test Automation Conference, October 21st, 22nd, 2009, Zurich, CH Dr. Alberto Di Meglio graduated in Aerospace Engineering at the Politecnico di Milano in 1993 and received a Ph.D

From playlist GTAC 2009

Video thumbnail

Michael Joswig - What is Mathematical Software

What Is Mathematical Software? A short answer to this question is: Mathematical Software is what mathematics receives as a benefit from the digital age. This is relevant because Mathematical Software is useful in many ways. For instance, Mathematical Software serves as a tool to support

From playlist Research Spotlight

Video thumbnail

TUT1082 Introduction to SUSE HPC Modules

This tutorial session was delivered at SUSECON in April 2019, in Nashville, TN. Abstract: High Performance Computing use is consistently on the rise in research computing environments and is emerging in standard computing environments where parallel computing capabilities are desired. The

From playlist SUSECON 2019

Video thumbnail

Tensor Analysis and Applications

Tensors are used in various areas of mathematics and physics, particularly in theoretical calculations involving fields in vector spaces. The Einstein's summation convention implies summation over the dummy indices that appear twice in a term as in matrix-matrix or matrix-vector products.

From playlist Wolfram Technology Conference 2021

Video thumbnail

The Future of Observability

Observability is a hot tech topic yet has also become one of the industry’s most overused buzzwords. The term means understanding the behavior, performance, and other aspects of cloud infrastructure and cloud apps based on the data they generate, such as metrics, events, logs and traces. O

From playlist Software Development

Video thumbnail

DevOpsDays Boston 2018 - Pick any Three: Good, Fast, and Safe. DevOps from Scratch by Pete Cheslock

DevOpsDays Boston 2018 - Pick any Three: Good, Fast, and Safe. DevOps from Scratch by Pete Cheslock If you ask ten people to define DevOps, you’ll likely get a dozen different answers. Somehow, it’s 2018 and we still can’t agree on what DevOps is, only what it looks like. Many companies w

From playlist DevOpsDays Boston 2018

Video thumbnail

Jenkins Tutorial for Beginners | Jenkins Pipeline Tutorial | Jenkins Continuous Integration |Edureka

🔥Edureka DevOps Training: https://www.edureka.co/devops-certification-training/ This Edureka "Jenkins Tutorial for Beginners" will help you understand what is Continuous Integration and why it was introduced. This Jenkins tutorial also explains how Jenkins achieves Continuous Integration

From playlist DevOps Training Videos

Video thumbnail

Jenkins Tutorial | What is Jenkins and How does it work? | Devops tutorial for beginner | Edureka

🔥𝐄𝐝𝐮𝐫𝐞𝐤𝐚'𝐬 𝐉𝐞𝐧𝐤𝐢𝐧𝐬 𝐂𝐞𝐫𝐭𝐢𝐟𝐢𝐜𝐚𝐭𝐢𝐨𝐧 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 (𝐔𝐬𝐞 𝐂𝐨𝐝𝐞: 𝐘𝐎𝐔𝐓𝐔𝐁𝐄𝟐𝟎) : https://www.edureka.co/jenkins-certification-course Topics covered in this videos : 00:00:00 Introduction 00:00:17 Agenda 00:00:58 Why Continuous Integration? 00:04:22 What is Continous Integration? 00:07:36 What is Jenkin

From playlist DevOps Training Videos

Video thumbnail

Rasch measurement using user-friendly jMetrik | Powerful free software

jMetrik is a free, user-friendly, and open source psychometric software which runs on any Windows, Mac OSX, or Linux platforms that have a current version of Java. In this video, I demonstrate how to run a Rasch measurement on binary data and compare the output with Winsteps. There is sign

From playlist Item response theory

Related pages

Efferent coupling | Coupling (computer programming)