Qu'est-ce qu'un excellent design
Comment savez-vous instinctivement ce qu'est un excellent design? Nous avons tous un sentiment dans nos différentes cultures de ce qu'est une grande pièce d'architecture. Nous apprécions tous les beaux objets ménagers de conception scandinave. En technologie, nous acceptons tous maintenant comme normale l'interface utilisateur graphique, mais c'était une révélation brillante quand il est apparu pour la première fois (Inventé par Xerox mais d'abord exploité avec succès par Apple). Et Apple est devenu la plus grande entreprise du monde par capitalisation boursière sur la base de ces interfaces faciles à utiliser et de ses i-pods élégamment conçus, i-phones, etc.
Les caractéristiques communes des grands conceptions sont la forme physique à des fins (ou «l'adéquation fonctionnelle») combiné avec la simplicité et l'élégance, ou même la beauté, si possible.
Les principes de base de la méthode cosmique
Il est intéressant de réfléchir au développement de la méthode cosmique dans ce contexte. Les principes de base ont d'abord été élaborés lors d'une réunion informelle en 1999 at Mont Tremblant, au nord de Montréal, Canada par un tas d'experts de métriques logiciels ayant une longue expérience de la mesure de la taille fonctionnelle. Plusieurs d'entre nous étaient membres du groupe de travail ISO sur les principes de FSM.
Notre objectif était de développer une méthode FSM qui pouvait être appliquée aux entreprises, Software en temps réel et infrastructure utilisant les mêmes concepts pour tous les domaines. Nous avons rapidement décidé d'un modèle de logiciel composé de processus fonctionnels qui doivent répondre aux événements dans le monde de l'utilisateur. Et les processus fonctionnels consistent en des entrées et. L'unité de mesure était un seul mouvement de données. L'échelle de taille était ouverte. Bien que pour être pratiquement utile, Les tailles mesurées cosmiques devraient être en corrélation avec l'effort de développement, Nous n'avons pas vu le besoin d'appliquer des poids aux quatre types de mouvements de données. Instinctivement, Nous avons estimé qu'en moyenne les quatre types de mouvements de données représentaient chacun environ la même quantité de fonctionnalité.
Problèmes pratiques
À certains égards, Cette conception initiale était la tâche facile; Le design semblait être élégamment simple. pourtant, Nous devions maintenant écrire un «manuel de mesure» contenant les principes, Règles et définitions afin que les mesureurs puissent appliquer la méthode en pratique. C'est là que les problèmes ont commencé. Par exemple:
- Comme nous visions à pouvoir mesurer les logiciels dans n'importe quelle couche d'architecture, Nous avions besoin d'une définition d'une «couche». Notre premier effort en v2.1 a entraîné une définition de 94 mots et 8 Principes pour distinguer les couches. Et cette caractérisation d'une couche était unique au cosmique; Par exemple, il n'a pas pu être utilisé pour décrire les couches d'une architecture à 3 couches. Par v4.0.1 de la méthode, La définition a été simplifiée à 8 mots, il y a 5 principes, Et nous pouvons les utiliser pour décrire les couches de toute architecture.
- Nous avons rapidement reconnu que la méthode pourrait mesurer différentes tailles du même logiciel en fonction du «point de vue» de qui ou de ce qui est défini comme ses «utilisateurs». En v2.2 de la méthode, Nous avons défini deux points de vue standard, celui de l'utilisateur final et du développeur, et a reconnu qu'il pourrait y avoir d'autres points de vue. Mais par v3.0, nous avons réalisé que cette terminologie n'était pas satisfaisante. De plus, l'expression «fourrure» pourrait être interprétée comme les «exigences des utilisateurs fonctionnels». Alors maintenant, la phase de stratégie de mesure spécifie que vous devez d'abord définir les utilisateurs fonctionnels, suivant lequel vous mesurez la fonctionnalité (la «fourrure») que ces utilisateurs ont besoin. En généralisant, Nous pourrions éviter la nécessité de définir tout «point de vue de la mesure».
- Au départ, nous avons eu des difficultés à essayer de décrire les règles pour distinguer les objets d'intérêt, Surtout dans les entrées et les sorties. Nous avons introduit le concept des «objets transitoires d'intérêt», par opposition aux objets d'intérêt dont les données persistantes sont stockées. C'était une erreur. C'est le groupes de données déplacé par des entrées et des sorties qui peuvent être transitoires, Pas les objets d'intérêt. Ces derniers sont des choses réelles dans le monde réel qui intéressent les utilisateurs fonctionnels. Que les données décrivant un objet d'intérêt soient stockées de manière persistante ou n'existe que de manière transitoire lorsqu'il est déplacé par une sortie.
- Nous avons initialement défini l'unité de mesure comme une «unité de taille fonctionnelle cosmique» (ou CFSU) pour être précis mais l'abréviation n'était pas facile à prononcer. Plus tard, nous avons accepté qu'il était beaucoup plus simple d'appeler l'unité de mesure un «point de fonction cosmique» (ou CFP).
Amélioration par simplification
Il existe de nombreux autres exemples comme ceux-ci. La leçon de cette expérience est que chaque étape le long de la route pour améliorer la description de la méthode a été réalisée par simplification. La conception de base et ses principes ont à peine changé depuis la conception de la méthode. Entre-temps, la méthode a été appliquée à la taille de la fourrure d'une vaste gamme de logiciels de tous les domaines, à tous les niveaux de décomposition. Et malgré le fait qu'il n'y ait pas de poids liés aux efforts appliqués aux quatre types de mouvements de données, Nous avons maintenant beaucoup d'expérience que les tailles fonctionnelles mesurées en CFP sont très bien en corrélation avec l'effort de développement.
Il a été extrêmement satisfaisant au fil des ans que chaque fois que nous avons rencontré une difficulté à définir ce que nous voulons dire ou à résoudre un problème de mesure particulier, La solution a toujours été trouvée en revenant aux principes de conception de base et en recherchant l'explication ou la solution la plus simple. Cela me suggère que nous avons un grand, Conception «à l'épreuve des futurs».
A propos de l'auteur
Charles Symons est fondateur et ancien président de la Consortium international de mesure des logiciels communs. jef Vous trouvez toutes les parties du manuel de mesure ou toute autre publication cosmique difficile à comprendre, S'il vous plaît laissez-le savoir, passant par mpc-chair@cosmic-sion.org. Cosmic cherche toujours à simplifier et à améliorer.

Besoin de méthode COSMIC, qui pourrait être uniformément utilisé dans toutes sortes de domaines technologiques est définitivement là; Alors que les clients demandent de plus en plus des lignes de base de productivité couvrant diverses technologies et type de projets. Où pouvons-nous obtenir des études de cas et des lignes de base de productivité à référer en utilisant la définition améliorée de la méthode cosmique?