Attributs de produit internes

Les attributs de produit internes décrivent les produits logiciels d'une manière qui dépend uniquement du produit lui-même. La principale raison de mesurer les attributs internes des produits est que cela aidera à surveiller et à contrôler les produits pendant le développement.

Mesure des attributs internes du produit

Les principaux attributs internes du produit comprennent size et structure. La taille peut être mesurée statiquement sans avoir à les exécuter. La taille du produit nous indique l'effort nécessaire pour le créer. De même, la structure du produit joue un rôle important dans la conception de la maintenance du produit.

Mesurer la taille

La taille du logiciel peut être décrite avec trois attributs -

  • Length - C'est la taille physique du produit.

  • Functionality - Il décrit les fonctions fournies par le produit à l'utilisateur.

  • Complexity - La complexité est de différents types, tels que.

    • Problem complexity - Mesure la complexité du problème sous-jacent.

    • Algorithmic complexity - Mesure la complexité de l'algorithme mis en œuvre pour résoudre le problème

    • Structural complexity - Mesure la structure du logiciel utilisé pour mettre en œuvre l'algorithme.

    • Cognitive complexity - Mesure l'effort requis pour comprendre le logiciel.

La mesure de ces trois attributs peut être décrite comme suit -

Longueur

Il existe trois produits de développement dont la mesure de la taille est utile pour prédire l'effort nécessaire à la prédiction. Ce sont la spécification, la conception et le code.

Spécification et conception

Ces documents combinent généralement du texte, des graphiques et des diagrammes et symboles mathématiques spéciaux. La mesure de spécification peut être utilisée pour prédire la longueur de la conception, qui à son tour est un prédicteur de la longueur du code.

Les diagrammes des documents ont une syntaxe uniforme telle que des digraphes étiquetés, des diagrammes de flux de données ou des schémas en Z. Les documents de spécification et de conception étant constitués de textes et de diagrammes, sa longueur peut être mesurée en termes d'une paire de nombres représentant la longueur du texte et la longueur du diagramme.

Pour ces mesures, les objets atomiques sont à définir pour différents types de diagrammes et de symboles.

Les objets atomiques des diagrammes de flux de données sont des processus, des entités externes, des magasins de données et des flux de données. Les entités atomiques pour les spécifications algébriques sont les sortes, les fonctions, les opérations et les axiomes. Les entités atomiques des schémas Z sont les différentes lignes apparaissant dans la spécification.

Code

Le code peut être produit de différentes manières, telles que le langage procédural, l'orientation objet et la programmation visuelle. La mesure traditionnelle la plus couramment utilisée de la longueur du programme de code source est les lignes de code (LOC).

La longueur totale,

LOC = NCLOC + CLOC

c'est à dire,

LOC = Non-commented LOC + Commented LOC

Outre la ligne de code, d'autres alternatives telles que la taille et la complexité suggérées par Maurice Halsted peuvent également être utilisées pour mesurer la longueur.

La science logicielle de Halstead a tenté de capturer différents attributs d'un programme. Il a proposé trois attributs internes du programme tels que la longueur, le vocabulaire et le volume qui reflètent différentes vues de la taille.

Il a commencé par définir un programme Pcomme une collection de jetons, classés par opérateurs ou opérandes. Les métriques de base pour ces jetons étaient,

  • μ1 = Nombre d'opérateurs uniques

  • μ2 = Nombre d'opérandes uniques

  • N1 = Occurrences totales des opérateurs

  • N2 = Nombre d'opérateurs uniques

La durée P peut être défini comme

$$ N = N_ {1} + N_ {2} $$

Le vocabulaire de P est

$$ \ mu = \ mu _ {1} + \ mu _ {2} $$

Le volume de programme = nombre de comparaisons mentales nécessaires pour écrire un programme de longueur N, est

$$ V = N \ fois {log_ {2}} \ mu $$

Le niveau de programme d'un programme P de volume V est,

$$ L = \ frac {V ^ \ ast} {V} $$

Où, $ V ^ \ ast $ est le volume potentiel, c'est-à-dire le volume de l'implémentation de taille minimale de P

L'inverse du niveau est la difficulté -

$$ D = 1 \ diagup L $$

Selon la théorie de Halstead, nous pouvons calculer une estimation L comme

$$ {L} '= 1 \ diagup D = \ frac {2} {\ mu_ {1}} \ times \ frac {\ mu_ {2}} {N_ {2}} $$

De même, la longueur estimée du programme est, $ \ mu_ {1} \ times log_ {2} \ mu_ {1} + \ mu_ {2} \ times log_ {2} \ mu_ {2} $

L'effort requis pour générer P est donné par,

$$ E = V \ diagup L = \ frac {\ mu_ {1} N_ {2} Nlog_ {2} \ mu} {2 \ mu_ {2}} $$

Où l'unité de mesure E les discriminations mentales élémentaires sont-elles nécessaires pour comprendre P

Les autres alternatives pour mesurer la longueur sont -

  • En termes de nombre d'octets de stockage informatique requis pour le texte du programme

  • En termes de nombre de caractères dans le texte du programme

Le développement orienté objet suggère de nouvelles façons de mesurer la longueur. Pfleeger et coll. ont constaté qu'un dénombrement d'objets et de méthodes permettait d'obtenir des estimations de productivité plus précises que celles utilisant des lignes de code.

Fonctionnalité

La quantité de fonctionnalité inhérente à un produit donne la mesure de la taille du produit. Il existe de nombreuses méthodes différentes pour mesurer la fonctionnalité des produits logiciels. Nous discuterons d'une de ces méthodes - la méthode du point de fonction d'Albrecht - dans le chapitre suivant.