Vous cherchez des paramètres objectifs pour la qualité du logiciel [fermé]

StackOverflow https://stackoverflow.com/questions/6802320

  •  22-10-2019
  •  | 
  •  

Question

Il existe différents types de qualité qui peuvent être mesurés dans les produits logiciels, par exemple aptitude à l'emploi (par exemple, de l'utilisation finale), la maintenabilité, l'efficacité. Certains d'entre eux sont quelque peu subjectives ou de domaine spécifique (par exemple de bons principes de conception de l'interface graphique peuvent être différentes selon les cultures ou dépendantes du contexte d'utilisation, pensez militaire par rapport à l'usage des consommateurs).

Ce que je suis intéressé par une profonde forme de qualité liée au réseau (ou graphique) des types et leur interdépendance, qui est, quels types de chaque type ne se réfèrent, sont là des groupes clairement identifiables de interconnectivité relatives à une architecture à plusieurs niveaux correctement, ou est au contraire il une grosse « boule » de références de type (code « monolithique »). En outre la taille de chaque type et / ou de la méthode (par exemple, mesurée en nombre de byte code Java ou .NET IL) devrait donner une indication de l'endroit où de grandes algorithmes complexes ont été mises en œuvre sous forme de blocs monolithiques de code au lieu d'être décomposé en plus gérable / maintenable morceaux.

Une analyis basée sur ces idées peuvent être en mesure de calculer les mesures qui sont au moins un indicateur de la qualité. Les points seuil précis / décision entre haute et basse qualité serait je soupçonne être subjectif, par exemple puisque par maintenabilité nous maintenabilité moyenne par les programmeurs humains et donc la décomposition fonctionnelle doit être compatible avec le fonctionnement des esprits humains. À ce titre, je me demande si on peut jamais être une définition mathématique pure de la qualité des logiciels qui transcende tous les logiciels possibles dans tous les scénarios possibles.

Je me demande aussi si cela une idée dangereuse, que si des indications indirectes objectives de qualité deviennent populaires que les pressions commerciales causent aux développeurs de poursuivre ces mesures au détriment de la qualité globale (les aspects de la qualité ne se mesure pas par les proxies).

ADDENDA: Une autre façon de penser à la qualité est du point de vue de l'entropie. Entropy est la tendance des systèmes à revert de l'ordre aux dérèglements. Toute personne qui a travaillé sur un monde réel, moyen à grand projet de logiciel à grande échelle appréciera le degré auquel la qualité de la base de code tend à se dégrader au fil du temps. pressions commerciales se traduisent généralement par des changements qui mettent l'accent sur de nouvelles fonctionnalités (sauf si la qualité elle-même est le point de vente principe, par exemple dans le logiciel avionique) et l'érosion de la qualité par des problèmes de régression et « chaussure Horning » functionaility où il ne correspondait pas bien de un point de vue de la qualité et de la maintenance. Alors, peut-on mesurer l'entropie du logiciel? Et si oui, comment?

Était-ce utile?

La solution

NDepend , au moins pour le code .NET, fournira pour la qualité des logiciels les meilleures mesures que nous devons Date. Ils ont 82 code différent rel="nofollow"> métriques. Est-ce ce que vous recherchez? Si vous êtes un programmeur .NET, vous pouvez trouver ce blog sur l'analyse d'un NDepend / grand très populaire projet open source intéressant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top