Bilan DC-0 French Science Ground Segment - 23 et 24 Janvier 2019 IAP - Paris - Indico
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
French Science
Ground Segment
Bilan DC-0
23 et 24 Janvier 2019
IAP – Paris
Valérie PONS – NEXEYA C&FSOMMAIRE
1ère PARTIE :
Bilan DC-0,
Activités menées,
Activités à venir,
Quelques rappels pour l’intégration
Cartographie du Code JAVA-
PYTHON
2ème PARTIE :
Éléments complémentaires Code
Page 2BILAN AP DC-0
Démarrage : 17/10/2018 Clôture : 23/01/2019
Les Plans de Projet :
Le Plan de développement du FSGS : livré au CNES
fin Novembre
Le Plan Qualité et le Plan de Gestion de
Configuration simplifié : livrés au CNES semaine
51.
La SRS : FSGS System Requirements Specifications
Livrée au CNES semaine 51.
La Spécification de Test du DC-0 :
Contient les composants intégrés,
Une définition exhaustive des tests à exécuter (~
50 tests),
Contient aussi le résultat des tests.
Sous POLARION : https://dsm-polarion.cea.fr/polarion/#/project/Svom2015/home
Page 3ACTIVITÉS MENÉES
Les Plans : Plan Qualité et le Plan de Gestion de
Configuration du Projet simplifiés
ont été validés globalement par le Chef de
Projet
et soumis au CNES pour validation semaine
51 (compatibilité avec les exigences qualité imposées : « Spécification Assurance
Qualité Logiciel pour les développements avec des laboratoires » - DNO/DA/AQ-
2017-0016646 – ED1, Rev0 du 07/11/2017)
La SRS :
Rajout dans la MOCD-Pol des exigences de
l’IC FPOC
Contrôle de la livraison de la SRS
Proposition d’amélioration du Work Item
Requirement dans Polarion (Traceability Rules for Documents
Generated with POLARION, in interface with CNES specifications - SV-PRO-AN-865-
CNES- 19/03/2018)
Contrôle de Code pour le DC-0
Page 4ACTIVITÉS A VENIR
La SRS :
Mise à niveau de la SRS, et génération de la
matrice de traçabilité dès que le WI Requirement
sera implémenté :
Rajout du mode de vérification
Génération de la matrice de traçabilité avec les
exigences de haut niveau (développement d’une macro Polarion)
Mise en place d’un workflow de « respect des bonnes
pratiques » des composants candidat à l’intégration
Cycle de contrôle Auteur/Vérificateur (Chef de
Projet et/ou SQAM) avec Jira
Contrôle de Code pour le DC-0 :
À poursuivre, dès que l’usine logicielle sera
disponible (Fin Février)
Finaliser Bilan Qualité du DC-0
Page 5INTEGRATION - RAPPELS
Ce que vous devez faire :
Rédiger le paragraphe descriptif de vos applications dans
https://drf-gitlab.cea.fr/svom/Tools/wikis/application-
directory et y faire référence à la page d’instructions pour
l’installation.
Rédiger les instructions d’installation en suivant le modèle
https://drf-gitlab.cea.fr/svom/Tools/wikis/instructions-
template ou les instructions déjà en ligne.
Compléter le fichier README.md de déploiement sur la
page https://drf-gitlab.cea.fr/svom/svom-deployment
Mettre à jour et vérifier toutes vos pages de
documentation sur gitlab.
Mettre à jour et vérifier vos WI de test dans Polarion (DC-0
Spécification)
Nettoyer la page https://drf-gitlab.cea.fr/svom / en
supprimant ou en mettant au grenier les dossiers
obsolètes.
Page 5CARTOGRAPHIE DU CODE
La méthode
Analyse de la volumétrie avec l’outil gratuit
cloc – count line of code
Lien : http://cloc.sourceforge.net/#Overview
Cartographie des modules et des langages
Contrôle de code sur du langage C (2ème
Partie)
Le périmètre d’analyse
Dans la Gitlab : https://drf-gitlab.cea.fr/svom/svom-
deployment , fichier Readme.md
Le périmètre de contrôle porte sur les composants ayant
un répertoire « code » mentionné dans le Readme.md.
La liste des composants est donnée dans le tableau ci-
dessous.
Page 6LES COMPOSANTS
Nom Description
alerts-master la gestion des alertes
crestdb le serveur de gestion de configuration
eclairs le traitement des données Eclairs general program
eclgrm le traitement des données Eclairs-GRM
messaging le serveur de messagerie
monitoring Gestion du monitoring des trois outils (Grafana, InfluxDB et Grafana)
mxt le traitement des données MXT bande X
mxt-vhf le traitement des données MXT VHF
noaa-receiver l'application de réception des images NOAA
packets-decod le décodage des paquets VHF
proxy le serveur Proxy
vhfdb-postgre le serveur de base de données postgresql pour la VHF
vhfmgr la gestion des données VHF
xband-system le serveur de données bande X
Page 7VOLUMETRIE – JAVA-PYTHON
COMPONENTS code
vhfmgr 20339
Components Classification crestdb 20317
eclairs 5543
xband-system 3752
40000 eclgrm 3201 600
35000 noaa-receiver 3056
mxt-vhf 1303 500
30000
alerts-master 1202
400
25000
20000 300
15000
200
10000
100
5000
0 0
vhfmgr crestdb eclairs xband-system eclgrm noaa-receiver mxt-vhf alerts-master
blank comment code Nbfile
Page 8VOLUMETRIE – PYTHON - JAVA
Synthèse Volumétrie
8 composants,
810 fichiers,
Lignes blanches : 20194,
Lignes de commentaires : 16798,
Lignes de code : 58713,
Un taux de commentaires moyen de l’ordre de
20%
Nblignes code/fichier : 72
vhfmgr crestdb eclairs
17% 18% 20%
blank blank blank
comment 17% comment comment
59% 24% 57% 23%
code 65% code code
Page 9CARTOGRAPHIE JAVA ET PYTHON
Language distribution
35000 600
Synthèse
31604
30000 519 27109 500
JAVA, PYTHON 25000
400
20000
291 300
15000
9583 10346 200
10000 8009 8789
5000 100
0 0
Java Python
blank comment code NBFILE
Language distribution Composant Java Python
35000 8
31604 NON OUI
30000 7 27109 7 alerts-master
25000
6 crestdb OUI OUI
5
20000 eclairs NON OUI
4 4
NON OUI
15000
9583 10346 3 eclgrm
8009 8789
10000
NON OUI
2
mxt-vhf
5000 1
0 0 noaa-receiver OUI OUI
Java Python
vhfmgr OUI OUI
blank comment code NBMODULE
xband-system OUI NON
Page 10CONCLUSION VOLUMETRIE PYTHON-JAVA
Une volumétrie importante
Un taux de commentaires respecté.
Page 12DES QUESTIONS? Page 13
SOMMAIRE
2ème PARTIE:
Éléments complémentaires Code
Volumétrie tout langage
Une analyse qualimétrie avec
Logiscope
Page 14VOLUMETRIE GLOBALE
Synthèse Volumétrie
14 composants analysés,
1763 fichiers,
Lignes blanches : 23044,
Lignes de commentaires : 26060,
Lignes de code : 117251,
Un taux de commentaires moyen de l’ordre de
16%
crestdb vhfmgr noaa-receiver
13% blank 13% blank 15% blank
11% 17% comment
comment 18% comment
70% code 67%
76% code code
Page 9VOLUMETRIE – TOUT LANGAGE
COMPONENTS code
crestdb 39529
vhfmgr 36891
noaa-receiver 19174
eclairs 5793
eclgrm 4256
Components Classification xband-system 4093
mxt-vhf 2068
60000 monitoring 2022 600
alerts-master 1885
50000 500
mxt 1334
40000 proxy 124 400
messaging 51
30000 vhfdb-postgre 20 300
packets-decod 11
20000 200
10000 100
0 0
blank comment code Nbfile
Page 8CARTOGRAPHIE PAR LANGAGE
Synthèse Language distribution
24 langages 60000
50000
600
500
Les plus utilisés : 40000
30000
400
300
Java, JSON, 20000
10000
200
100
Python, C
0 0
Bourne Again…
YAML
XML
Java
make
JSON
C/C++ Header
Perl
C
Scala
CMake
CSS
Javascript
XSD
Python
C++
Bourne Shell
GO
SQL
HTML
Maven
m4
Groovy
Mustache
DOS Batch
blank comment code NBFILE
Language distribution
60000 14
12
Langages de
Programmation : Java et
50000
40000 10
Python
8
30000
6
20000 4
10000
Configurations: JSON,
2
0 0
Bourne Again…
YML….
YAML
XML
Java
make
JSON
Perl
C/C++ Header
Scala
CSS
Javascript
Python
C
C++
CMake
SQL
XSD
Bourne Shell
GO
HTML
Groovy
m4
Mustache
Maven
DOS Batch
Langage C, code réutilisé
blank comment code NBMODULE
Page 10CONTRÔLE DE CODE SUR DU C
Le code : C de nooa-receiver - Code Réutilisé
Nombre de fichiers C 29,
Nombre de fichiers H 19,
Nombre de ligne de code : >12000
L’outil : Logiscope
Métrique de code Seuil Logiscope HORS SEUIL
Nombre cyclomatique McCabeCONTRÔLE DE CODE CONCLUSION
Une forte volumétrie
Disparité des langages. Certains langages
incontournables pour l’intégration (fichiers de
configuration) méritent une attention
particulière.
Des normes de programmation devraient être
définies en vue de faciliter l’étape d’intégration.
Code C : Code réutilisé
peu complexe au regard des métriques imposées
En revanche, le taux de commentaires est bas
Page 12DES QUESTIONS? Page 13
Vous pouvez aussi lire