Upload
onawa
View
21
Download
1
Embed Size (px)
DESCRIPTION
Revue n°3. Banc de tests pour contrôleur de carrefour DIASER Sim Trafic. Banc de tests pour contrôleur de carrefour DIASER. Mairie de Toulouse. Menu. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes Les fonctions DIASER La base de données - PowerPoint PPT Presentation
Citation preview
Revue n°3
Banc de tests pour contrôleur de carrefour DIASER
Sim Trafic
2
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
3
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
4
Introduction Campus Trafic
- Société toulousaine ;
- Rattachée à la mairie de la ville ;
- Gère le trafic routier en temps réel ;
- Partenariat avec la gendarmerie
pour un travail de prévention ;
- Partenariat avec la DDE qui
gère les ASF.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
5
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
6
Introduction Cahier des charges
Objectif : créer un logiciel de banc de test pour des contrôleurs de carrefours DIASER afin de tester les scénarios pour tout type de carrefour.
Le produit final devra répondre à ces exigences :
Gérer et exécuter des scénarios ;
Gérer et générer des documents de rapport de tests ;
Communiquer avec l’automate ;
Gérer les fonctions de la norme DIASER ;
Posséder une IHM intuitive.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
7
Introduction Réalisation 2005-2006
Objectifs de réalisation 2006-2007
> Début du projet pendant l’année scolaire 2005-2006 ;
Base de données et 14 fonctions DIASER codées ;
Un IHM peu développé ;
Problème sur la liaison série ;
Exécution inexistante.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Un programme fonctionnel :
IHM complet, 16 fonctions DIASER codées, gestion des VTC, communication série et Ethernet, exécution des scénarios sur l’automate, gestion des rapports.
8
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
9
Diagramme de déploiement
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Introduction
- Enregistre et exécute les scénarios
- Récupère et enregistre les résultats
- Exécute les scénarios
- Renvoie les résultats pour traitement
10
Diagramme de contexte
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Introduction
11
Diagramme de cas d’utilisation général
1er sous
système
2nd sous
système
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Introduction
12
1er Sous Système : Gérer les scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Introduction
13
2nd Sous Système : Exécuter les scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Introduction
14
Diagramme de paquetages – Répartition des tâches
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Bouchet Nicolas
Tarantini Régis
Goubin Thomas
Kamoun Alexandre
Fargues Wilfried
Introduction
15
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
16
Les Fonctions DIASER Diagramme des Classes : PFonction
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
CFonction
type_application : chardescription : String
<<virtual>> export_fonction()<<virtual>> fonction_affichage()<<virtual>> get_diaser()get_string_appli()get_description()
CFonction_Q
generer_bcc()<<virtual>> creer_rep()
CFonction_R
trame : string
verifier_bcc()<<virtual>> decoder_diaser()<<virtual>> decoder_trame_export()get_diaser()
17
Exemple
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
CFonction
type_application : chardescription : String
<<virtual>> export_fonction()<<virtual>> fonction_affichage()<<virtual>> get_diaser()get_string_appli()get_description()
CFonction_Q
generer_bcc()<<virtual>> creer_rep()
CFonction_R
trame : string
verifier_bcc()<<virtual>> decoder_diaser()<<virtual>> decoder_trame_export()get_diaser()
CIdentification_Q
type_application : chardescription : String
CIdentification_Q()CIdentification_Q()~CIdentification_Q()get_diaser()export_fonction()creer_rep()fonction_affichage()
CIdentification_R
nom : stringversion_param : stringmarque : stringmodele : stringversion_logiciel : string
CIdentification_R()~CIdentification_R()decoder_diaser()export_fonction()decoder_trame_export()fonction_affichage()
18FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
CFonction
type_application : chardescription : String
<<virtual>> export_fonction()<<virtual>> fonction_affichage()<<virtual>> get_diaser()get_string_appli()get_description()
(from PFctCarrefour)
CFonction_Q
generer_bcc()<<virtual>> creer_rep()
(from PFctCarrefour)
CFonction_R
trame : string
verifier_bcc()<<virtual>> decoder_diaser()<<virtual>> decoder_trame_export()get_diaser()
(from PFctCarrefour)
CConfiguration_Panneau_R
acquittement : char
decoder_diaser()decoder_trame_export()fonction_affichage()export_fonction()
(from PFctCarrefour)
CConfiguration_Panneau_Q
unite_temps_affichage : inttemps_allumage_pour_clignotant : stringtemps_extinction_pour_clignotant : stringtemps_affichage_mess1 : stringtemps_affichage_mess2 : stringunite_temps_controle_reception : inttime_out_reception : stringunite_temps_validite_message : intseuil_defaut_pixel_un : intseuil_defaut_pixel_deux : int
get_diaser()export_fonction()fonction_affichage()creer_rep()
(from PFctCarrefour)
Les Fonctions DIASER
19
Les Fonctions DIASER
Situation générale du sous paquetage
Voici ce qui a été codé l’année dernière : CFonction, CFonction_Q, CFonction_R
Matrice des temps de dégagement et antagonismes
Codage des Commande/Contrôle des carrefours
Calendrier des Commutations
Retour états logiques en cours
Horodate
Identification station locale
Table des commandes d’état par BTS
Types de ligne de feux
Zone mémoire
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
20
Les Fonctions DIASER
Situation générale du sous paquetage
Voici ce qui a été codé cette année : Lectures et forçages des ressourcesEnregistrement JournalTéléconfiguration de la période de comptageAutorisation AppelConfiguration d’un évènementDiagnostic de l’application télésurveillanceCommande de configuration du panneauCommande de mise en veille du panneauCommande de gestion de la luminosité de l’affichageContrôle de l’état de fonctionnement du panneauCommande d’affichage d’un message ASCII
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
21
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
22
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
23
Les Fonctions DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Appropriation de la norme DIASER
24
Appropriation de la norme DIASER
25
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
26
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
27
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
28
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
29FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Les Fonctions DIASER
Nouvelles classes dans la conception
30
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
31
Les Fonctions DIASER - code//***********************************************************************// Génère la trame DIASER à envoyer//***********************************************************************
string CEnregistrement_Journal_Q::get_diaser(void){ string trame_diaser; //création de la trame DIASER trame_diaser="";
trame_diaser+=02; // STX trame_diaser+=type_application; // Type application trame_diaser+='R'; // Code fonction
trame_diaser+=type; // type trame_diaser+=parametre; // paramètre trame_diaser+=rang; // rang trame_diaser+=03; // ETX trame_diaser+=generer_bcc(trame_diaser); //Générer le BCC
return trame_diaser;}
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
32
Les Fonctions DIASER
Démarche de travail
Appropriation Norme DIASER; Conception; Code.
Mise à jour Conception.
Création Nouvelles classes dans la Conception; Codage.
Vérification Test Unitaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
33
TEST UNITAIRE Classe : CEnregistrement_Journal_Q No : 1
Méthode à tester : string get_diaser(void)
Description du test :La méthode de test get_diaser_Enregistrement_Q crée une instance de type CEnregistrement_Q avec les paramètres ‘0’, ‘FE’ et ’*’ puis appelle la méthode get_diaser. Pour finir, elle affiche le résultat de cette méthode.
L’utilisateur se trouve dans le programme de Tests Unitaires avec le menu principal des différentes méthodes qu’il peut tester. Il choisit la classe CEnregistrement_Journal_Q en tapant « 29 ». L’utilisateur se trouve alors dans le sous menu du TU de CAntagonisme_Q. Il tape « 01 » pour tester la méthode get_diaser.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Les Fonctions DIASER
34
TEST UNITAIRE Classe : CEnregistrement_Journal_Q No : 1
Fonction de test :get_diaser_Enregistrement_Journal_Q
Environnement nécessaire :Windows 2000 ou XP, Visual .NET 2003
Résultat attendu :Il doit s’afficher dans la console la trame suivante : 02*0FE*0362.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Les Fonctions DIASER
35
TEST UNITAIRE Classe : CEnregistrement_Journal_Q No : 1
RAPPORT DE TESTDate : Intervenant :04/05/07 TARANTINI Régis
Numéro de version des composants du produit : 1.0
Environnement de test : Windows 2000, Visual .NET 2003
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Les Fonctions DIASER
36
Les Fonctions DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
37
Les Fonctions DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
38
Les Fonctions DIASER
Résultat obtenu :
Les caractères 02, 03 et 0C s’affichent en ASCII. Il est donc normal de remarquer des symboles au lieu de des chiffres.Il s’affiche bien alors la trame suivante : 02*0FE*0362.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
39
Bilan
Bilan dans le projet
Programme de tests à terminer;
Difficultés rencontrés : Appropriation des différents documents; Compréhension de la norme DIASER; Codage.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
40
Bilan Bilan Personnel
Autonomie; Équipe (technique, personnel); Expérience positive.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
41
Les Fonctions DIASER - VTC
Sous-système : Gérer les scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
42
Les Fonctions DIASER - VTC
Sous-système : Gérer les scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
IHM
Lien avec le paquetage PScénario afin de regrouper les fonctions DIASER dans un scénario à exécuter
Fonctions DIASER pour les Véhicules de Transport en Commun
43
Les Fonctions DIASER - VTC
Situation générale du paquetage
Ce paquetage a été conçu entièrement. Il appartient au paquetage PFonction. Il hérite donc de deux classes principales :
CFonction_QCette classe regroupe toutes les fonctions permettant de réaliser
une question en utilisant la norme DIASER.
CFonction_RCette classe regroupe toutes les fonctions et tous les attributs
permettant de réaliser une réponse en utilisant la norme DIASER.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
44
Les Fonctions DIASER - VTC
Diagramme de classes
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
CFonction
type_application : chardescription : String
<<virtual>> export_fonction()<<virtual>> fonction_affichage()<<virtual>> get_diaser()get_string_appli()get_description()
(from PFctCarrefour)
CFonction_Q
generer_bcc()<<virtual>> creer_rep()
(from PFctCarrefour)
CFonction_R
trame : string
verifier_bcc()<<virtual>> decoder_diaser()<<virtual>> decoder_trame_export()get_diaser()
(from PFctCarrefour)
45
Création d’une classe – norme DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Les Fonctions DIASER - VTC
46
Création d’une classe – document récapitulatif
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Les Fonctions DIASER - VTC
47
Les Fonctions DIASER - VTC
Création d’une classe- Diagramme de classes
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
48
Les Fonctions DIASER - VTC
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Nom de la classe
Description de la classe
Création d’une classe – description de la classe
49
Les Fonctions DIASER - VTC
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Fonctions héritées de la classe CFonction
Fonctions spécifiques à la classe CDetection_VTC_R
Fonctions héritées de la classe CFonction_R
Création d’une classe – fonctions de la classe
50
Les Fonctions DIASER - VTC
Création d’une classe – attributs de la classe
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Nom de l’attribut
Type de l’attribut
Classe de l’attribut
51
Les Fonctions DIASER - VTC
Réalisation du codage
Codage des différentes classes Codage en fonction du travail effectué sous le logiciel
ROSE. Reprise du code de l’an passé pour une meilleure
intégration
Création d’un programme de tests Programme regroupant tous les fichiers de code Réalisation d’une interface pour tester chaque fonctions
DIASER.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
52
Programme de test
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Classes à tester
Méthodes de la classe à tester
Les Fonctions DIASER - VTC
53
Les Fonctions DIASER - VTC
Programme de test
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Méthode « decoder_diaser » à tester
Différents résultats sur les trames DIASER.
54
Rédaction des tests unitaires
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Les Fonctions DIASER - VTC
55
Les Fonctions DIASER - VTC Réalisation des rapports des tests unitaires
Calcul des trames Début de texte (ETX) : 02 Type application : ‘V’ (fonctions VTC) Code fonction : ‘A’ Fin de texte (FTX) : 03 Caractère de contrôle (BCC).
Vérification avec les résultats obtenus
Rédaction de la fiche de rapport de tests
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
56
Les Fonctions DIASER - VTC
Réalisation des rapports des tests unitaires
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
57
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
58
La base de données
Sous-système : Gérer les scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
IHM
Lien avec le paquetage PihmGestionScénarios. La base de données sert à stocker les informations des scénarios récupérées dans l’IHM.
Lien avec la bibliothèque MySQL++ en rapport avec le choix de conception.
59
La base de données
Sous-système : Gérer les scénarios
Paquetage de la base de données servant en tout point au logiciel. Dedans, y sont enregistrés tous les scénarios et rapports d’exécution créés/générés par l’utilisateur.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
60
La base de données
Diagramme de classes
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Rapports_FonctionsID_Rapport_ExecutionRapport_QHeure_QRapport_RHeure_R
<<TABLE_BD>>
Fonctions_QID_ScenarioDescription_Q
<<TABLE_BD>>
Rapports_Execution<<Clef primaire>> ID_Rapport_ExecutionID_ScenarioNom_Rapport_ExecutionDate_Rapport_ExecutionNom_controleurNom_carrefour
<<TABLE_BD>>
1..*1 1..*1
Scenarios<<Clef primaire>> ID_ScenarioNom_ScenarioDemande_Etat_LogiqueTemps_Etat_LogiqueDemande_Mesure_TraficTemps_Mesure_TraficTemps_Execution_Scenario
<<TABLE_BD>>
1..*1 1..*1
0..*
1
0..*
1
61
Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
• Fonction dans la base de données à ajouter.
• Programme de tests à terminer.
• Difficultés rencontrées : • Compréhension de la norme DIASER• Reprise du projet
Bilan dans le projet
62
Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
• Découverte d’une norme, donc d’une méthode de travail
• Recherches et travail personnels
• Approfondissement des connaissances• Pour le travail de conception• Pour le travail de codage
Bilan personnel
63
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
64
La création et la modification d’un scénario
État général du paquetage PIHMGestionScenarios
Partie conçue par Thomas. Regroupe le menu principal et le menu offrant la possibilité de construction du scénario en y ajoutant des fonctions pour exécution.
PIHMExécutionScénariosPartie conçue par Wilfried. Regroupe la fenêtre d’exécution du scénario ainsi
que la gestion des rapports – génération, suppression, affichage.
Définition d’un scénarioUn scénario est un ensemble de fonctions DIASER destiné à être exécuté sur un automate.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
65
La création et la modification d’un scénario
Sous-système : Gérer les scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
IHM
Lien avec le paquetage PBD afin de stocker les informations récupérées dans l’IHM relatives au scénario dans la base de donnée
Paquetages comprenant l’ensemble des fonctions DIASER à exécuter dans un scénario
Scénario composé de fonctions DIASER
66
La création et la modification d’un scénario
État général du paquetage
Réalisé l’an dernierRien n’a été réalisé concernant ce paquetage.
Réalisé cette annéeMenu principal offrant la possibilité de créer un nouveau scénario, d’ouvrir un scénario existant, d’afficher la gestion des rapports d’exécution.
Menu de gestion des scénarios offrant la possibilité d’ajouter des fonctions à un scénario, de modifier ses paramètres, de demander la demande d’états logiques, d’exécuter le scénario sur l’automate.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
67
La création et la modification d’un scénario
Menu principal
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Barre de menu Windows standard
Boîte de création d’un nouveau scénario
Boîte d’ouverture d’un scénario existant
Boîte d’ouverture de la gestion des rapports
Menu représentant le « cœur » du programme. Possibilité de créer un nouveau scénario, d’en ouvrir un déjà existant, de le supprimer et d’accéder à la gestion des rapports d’exécution.
68
La création et la modification d’un scénario
Gestion des scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Liste des fonctions du scénario
Ajouter/Supprimer monter/descendre la fonction sélectionnée
Modification des paramètres.
Choix d’une fonction à ajouter au scénario
69
La création et la modification d’un scénario
Gestion des scénarios
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Options du scénario
Exécute le scénario sur le contrôleur après ajout de fonctions et sauvegarde
Permet la visualisation du dernier rapport du scénario en cours
Enregistrement et modification du nom du scénario
70
La création et la modification d’un scénario
Situation générale
Réalisé l’an dernierCe paquetage a été conçu et codé pour les fonctions existantes.
Réalisé cette annéeDes modifications ont été apportées afin de compléter avec les nouvelles fonctions DIASER codées par Régis et Nicolas.
Création de fonctions complémentaires utiles à la gestion du scénario.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
71
La création et la modification d’un scénario
Diagramme des classes
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
72
La création et la modification d’un scénario
Diagramme de séquence
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
73
La création et la modification d’un scénario
Tests unitaires Ajouter une fonction dans un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Méthode à tester: OnBnClicked_ajouter()Description du test: L’utilisateur lance le programme de test. Il entre un nom de scénario et clique sur le bouton « Créer… ». Après sélection de la fonction dans le menu déroulant, l’utilisateur clique sur le bouton « + ».Fonction de test:OnBnClicked_ajouter() Environnement nécessaire:Windows 2000 ou XP. DLL MFC installées.
Résultat attendu:La fonction s’ajoute à la liste sur la droite de l’application.
On clique sur le bouton après sélection.
La fonction devrait apparaître dans ce cadre.
74
OK
La création et la modification d’un scénario
Tests unitaires Ajouter une fonction dans un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
RAPPORT DE TESTDate: 20/03/07 Intervenant: Thomas GOUBINNuméro de version de la classe testée: 1.0Environnement de test: Windows 2000 avec DLL MFC.Résultat obtenu: La fonction s’est correctement ajouté à la liste sur la droite de l’application.
75
La création et la modification d’un scénario
Tests unitaires Baisser une fonction dans la liste de fonctions
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Méthode à tester: OnBnClicked_bas()Description du test: L’utilisateur lance le programme de test. Il entre un nom de scénario et clique sur le bouton « Créer… ». Après sélection de la fonction dans la liste, l’utilisateur clique sur le bouton « Bas ».Fonction de test:OnBnClicked_bas() Environnement nécessaire:Windows 2000 ou XP.DLL MFC installées.
Résultat attendu:La fonction se déplace d’un cran en bas dans la liste de fonctions
On clique sur le bouton après sélection.
76
La création et la modification d’un scénario
Tests unitaires Baisser une fonction dans la liste de fonctions
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
RAPPORT DE TESTDate: 20/03/07 Intervenant: Thomas GOUBINNuméro de version de la classe testée: 1.0Environnement de test: Windows 2000 avec DLL MFCRésultat obtenu: La fonction s’est bien déplacée d’un cran en bas dans la liste de fonctions
OK
77
La création et la modification d’un scénario
Tests d’intégration CGestionScenario et CBD
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
TEST INTEGRATION No:1 Objectif du test: Tester l’intégration de la classe CBD et CGestionScenario. Test de la sauvegarde d’un scénario dans la base de donnée depuis l’IHM.Description du test: L’utilisateur créé un nouveau scénario, le remplit et l’enregistre. Il ouvre ensuite la base de donnée pour vérifier le résultat.Environnement nécessaire:Windows 2000 ou XP.DLL MFC, librairie mysql++.MySqlServer 5 installé avec les tables créées.
Résultat attendu:Le scénario est présent dans la base de données.
78
La création et la modification d’un scénario
Tests d’intégration CGestionScenario et CBD
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
RAPPORT DE TESTDate: 19/05/07 Intervenant: Thomas GOUBINNuméros de version des composants (modules ou classes) intégrés:CGestionScenario v1.0 / CBD v2.0Environnement de test:Windows 2000 avec DLL MFC, librairie mysql++ et MySqlServer 5 installé avec les tables créées.
Résultat obtenu:Après ouverture de la base de données, on constate que le scénario est bien présent.
OK
79
La création et la modification d’un scénario
Tests d’intégration CGestionScenario et CFonctionQ
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
TEST INTEGRATION No:2 Objectif du test: Tester l’intégration des classes CGestionScenario et CFonctionQ. Tester l’ajout des fonctions dans le scénario, le renseignement des paramètres associés à la fonction sélectionnée et la bonne récupération de ceux-ci après modification.Description du test: L’utilisateur créé un nouveau scénario, choisit une fonction dans le menu déroulant et entre des paramètres après l’ajout. Il sélectionne à nouveau la fonction et vérifie que les paramètres ont bien été remis en place.Environnement nécessaire:Windows XP.DLL MFC.
Résultat attendu:Les paramètres associés à la fonction doivent être récupérés après ajout.
80
La création et la modification d’un scénario
Tests d’intégration CGestionScenario et CFonctionQ
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
RAPPORT DE TESTDate: 27/04/07 Intervenant: Thomas GOUBINNuméros de version des composants (modules ou classes) intégrés: CGestionScenario v1.0 / CFonctionQ v1.0Environnement de test: Windows 2000 avec les DLL MFC.
OK
Résultat obtenu:Les paramètres associés à la fonction ont bien été récupérés après ajout.
81
Bilan
Bilan dans le projet Travail effectué
Enchaînement des fenêtres;
Prototypage de l’IHM;
Intégration avec la base de donnée et PFonction;
Rédaction du manuel d’aide.
Travail à effectuer
Intégration : finaliser l’intégration avec PRapport, intégrer l’aide;
IHM : entrer l’ensemble des fonctions DIASER de PFonction.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
82
Bilan Bilan personnel
Difficultés rencontrées
Reprise du projet; Conception graphique (MFC).
Apport personnel
Mise en œuvre de connaissances acquises; Recherche d’informations; Expérience supplémentaire.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
83
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
84
L’exécution d’un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
85
IHM de la partie exécution d’un scénario.
IHM de la partie gestion des rapports.
Exécution des scénarios.
Gestion des rapports d’exécution : affichage, génération, enregistrement, filtrage, impression.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
L’exécution d’un scénario
86FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
L’exécution d’un scénarioDiagramme de classes :paquetage PRapport
87FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
L’exécution d’un scénario
La classe CRapporten détails.
88
L’exécution d’un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
L’an dernier a été réalisé :
Exécution d’un scénario sur l’automate ;
Enregistrement des résultats dans la base de données ;
Génération d’un rapport d’exécution lié à son scénario.
Cette année devait être réalisé :
Exécution d’un scénario sur l’automate ;
Affichage temps réel ;
Affichage récapitulatif en couleur ;
Possibilité d’arrêt de l’exécution ;
Génération d’un rapport au format électronique avec cartouche d’en tête ;
89
L’exécution d’un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Récupération des nomsdu contrôleur et du carrefour.
Arrêt de l’exécution.
Affichage temps réel.
Affichage récapitulatifen couleur avec heurede la transmission à lamilliseconde.
90
L’exécution d’un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Enregistrement dansla base de données.
Génère un rapportd’exécution.
Fin de l’exécution d’un scénario
Ferme la fenêtre etrevient à la gestiondu scénario.
91
L’exécution d’un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Choix de conception
Programmation multitâche : Séparation des tâches ; Garder le contrôle sur la programme.
Problème : tâches périodiques et apériodiques.Solution : séparation des tâches.
// Lancement du thread pour la // demande d'etat logique si // demandée
if ( etat )AfxBeginThread(Thread_etat,
( LPVOID )infos);
// On lance un timerSetTimer(1, 800, NULL);
92
L’exécution d’un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Choix de conception
Problème : plusieurs tâches accèdent à la communication.Solution : restreindre l’accès à une tâche à la fois.
Utilisation d’un sémaphore :Restreint l’accès à une ressource.
// Exécution des questions du scénariofor (i = 0; i < int( questions.size() ); i+
+){infos->LockSemaphore();if( !executer_diaser(questions[i]) )
return false;infos->UnLockSemaphore();}
93
L’exécution d’un scénario
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Choix de conception
Problème : écrire en couleur dans l’IHM n’est pas géré nativement par les MFC.
Solution : dériver une classe MFC existante.
Adaptation d’une classe déjà codée : Mise à disposition gratuitement sur Internet par Hans DIETRICH ; Lisibilité ; Ergonomie.
Ancienne classe Nouvelle classe(16 couleurs disponibles)
94
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
95
La gestion des rapports
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
L’an dernier, rien n’a été réalisé sur cette partie.
Cette année devait être réalisé : Affichage de la liste des rapports d’exécution ;
Regénération d’un rapport au format électronique avec cartouche d’en tête ;
Suppression d’un rapport.
96FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Sélection d’un scénariodepuis la base de données.
Options de filtrageOptionnelles.
Rapports liés au scénario.
La gestion des rapports
97FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
La gestion des rapports
Nom du rapport généréautomatiquement.
Cartouche.
Récapitulatif del’exécution duScénario.
98FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
La gestion des rapports
Diagramme de séquence :
« Visualiser les résultats d’un scénario » 2ième cas
99FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Choix de conceptionProblème : choix d’un format pour les fichier générés.Solution : type TEXTE, extension .TXT. Portable ; Géré en natif sous Microsoft Windows XP ;
Problème : choix d’un éditeur de texte pour visionner les rapports.Solution : Microsoft NOTEPAD. Prise en charge du format texte .TXT ; Installé en natif sous Microsoft Windows XP ; Suffit au besoin du client.
Problème : que faire des fichiers rapports sur le disque ?Solution : les supprimer à la terminaison du programme. Gain espace disque ; Pas de conflit dans la gestion des versions de fichiers ; Regénération possible des fichiers.
La gestion des rapports
100FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Plan de test unitaires et d’intégration :
La gestion des rapports
Plan de tests d’intégration :
- PIHM et CRapport- CRapport et CBD- CRapport et CCommunication
Plan de tests unitaires :
X
101FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°4:
La gestion des rapports
Objectif du test : Tester l’intégration de la classe CRapport avec la base de données au travers de la classe IHM CExecutionScenario (et donc CExecutionScenarioDlg).
Description du test : L’utilisateur devra tout d’abord vérifier qu’il existe des scénarios et des rapports dans la base de données CampusTrafic en la parcourant avec Easy-PHP par exemple. Si la base de données est vide, il pourra la remplir à l’aide du fichier sql fourni en annexe. Il lance le logiciel et clique sur « Afficher » dans le menu principal ou « Rapports > Afficher » dans la barre de menu. La fenêtre de gestion des rapports s’ouvre.
Environnement nécessaire : Un PC sous Windows XP, Easy-PHP version 1.8 minimum, la base de données CampusTrafic, le fichier pour la création des tables ‘capustestsql_TI_No6sql’, bibliothèques MFC, un automate DIASER relié au PC.
Résultat attendu : Dans la partie gauche, les scénarios présents dans la base de données CampusTrafic sont affichés. Lorsqu’il choisit un scénario en cliquant dessus, dans la partie droite doit s’afficher la liste des rapports en relation avec le scénario. Il pourra vérifier que les bons noms de scénario s’affichent, ainsi que les bons noms de rapports et les bonnes relations entre un scénario et ses rapports en parcourant la table de la base de données.
102FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°4:
La gestion des rapports
On remarque qu’il y a 3 scénarios dont un, le ‘Scénar_test2’ possède un rapport ‘Rapport_test1’ et un autre, le ‘Scnéar_test1’ possède un rapport ‘Rapport99’. Le scénario ‘Scénar_test3’, quant à lui ne possède pas de rapport.
103FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°5 – Rapport :
La gestion des rapports
RAPPORT DE TEST
Date : 26 Mai 2007 . Intervenants : Mr Fargues.
Numéros de version des composants (modules ou classes) intégrés : 2.0 .
Environnement de test : Un PC sous Microsoft Windows XP avec un port série DB9, bibliothèques MFC, un automate DIASER.
Résultat obtenu :
104FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°5 – Rapport :
La gestion des rapports
Sélection de Scnénar_test1.
Il existe un rapport Rapport99.
105FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°5 – Rapport :
La gestion des rapports
Sélection de Scnénar_test2.
Il existe un rapport Rapport_test1.
Sélection de Scnénar_test3.
Il n’existe aucun rapport.
106FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°5 – Rapport :
La gestion des rapports
OK PROBLEMEx
107FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°5:
La gestion des rapports
Objectif du test : Tester l’intégration des classes Crapport et CCommunication au travers de la classe IHM CExecutionScenario (et donc CExecutionScenarioDlg).
Description du test : L’utilisateur devra entrer dans l’IHM, les paramètres de la communication série (PORT_COM, vitesse, nombre de bits de stop) et se connecter, un message l’avertira de l’état de la connexion, puis la fonction DIASER à envoyer à l’automate avec le BCC correspondant. Enfin, il cliquera sur « Envoyer ».
Environnement nécessaire : Un PC sous Windows XP avec au moins un port série DB9, bibliothèques MFC, un automate DIASER relié au PC.
Résultat attendu : La fonction envoyée doit être affichée dans les boites de texte temps réel sous forme textuelle et dans la boite récapitulative sous forme « heure courante à la milliseconde [Q] ‘fonction_DIASER‘ ». La réponse reçue de l’automate doit être affichée sous forme DIASER dans la boite de texte temps réel et dans la boite récapitulative sous forme « heure courante à la milliseconde [R] ‘fonction_DIASER’ ». Le test devra être effectué fonctions une à une, puis un scénario tout entier.
108FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Test d’intégration N°5 – Rapport :
La gestion des rapports
RAPPORT DE TEST
Date : 31 Mai 2007 Intervenants : Mr Célébrin, Mr Audic, Mme Canceill, Mme Pinaud, Mr Fargues, Mr Goubin, Mr Bouchet, Mr Tarantini, Mr Kamoun.
Numéros de version des composants (modules ou classes) intégrés : 2.0
Environnement de test : Un PC sous Microsoft Windows XP avec un port série DB9, bibliothèques MFC, un automate DIASER.
Résultat obtenu :
OK PROBLEME
109
Bilan dans le projet
Travail effectuéMaquette papier de l’IHM ;
Spécification ;
Choix de conception avancés ;
Correction et débogage du code de l’an dernier ;
Ajout de nouvelles fonctionnalités ;
Intégration de mes fichiers avec tous les fichiers de l’an dernier, la base de données et PCommunication ;
Travail à effectuer
Intégration : finaliser l’intégration avec PScenario et PFonctions;
IHM : finir le code pour l’exécution d’un scénario et pour la génération des rapports.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Bilan
110FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Bilan
Bilan personnel
Difficultés rencontrées Reprise du projet ; Conception graphique (MFC) ; Architecture multitâche / temps réel ; Manque de temps (période d’examens).
Apport personnel Mise en œuvre de connaissances acquises ; Recherche d’informations ; Expérience supplémentaire.
111
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
112
La communication avec l’automate
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
Objectif général: permettre la communication entre l’automate et le logiciel par liaison série ou ethernet.
PrésentationContenu du paquetage:
113
La communication avec l’automate
A quoi sert l’automate? Permet de gérer automatiquement les feux tricolores
Emplacement de l’automate Au niveau du carrefour, dans une armoire.
Comment s’effectue la programmation? Liaison série : sur place. Liaison ethernet : depuis le centre Capitoul.
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
114
Situation générale du paquetage Réalisé l’an dernierLe paquetage PComSerie a été commencé mais la
liaison ne fonctionnait pas pour une demande d’antagonisme.
Le paquetage PComEthernet n’a pas été fait.
A réaliserLe paquetage PComSerie à revoir entiérement.
Le paquetage PComEthernet à réaliser.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Banc de tests pour contrôleur de carrefour DIASER Mairie de Toulouse
La communication avec l’automate
115
Diagramme de classe
La communication avec l’automate
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Banc de tests pour contrôleur de carrefour DIASER Mairie de Toulouse
116
La communication avec l’automate
Objectif : permettre la communication par liaison série RS232.
Paquetage pour la liaison série.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
117
La communication avec l’automate
Configuration du port : Norme RS232 Échange de données : norme Diaser Vitesse de transmission : 1200 à 9600 bauds 1 bit de start 7 bits de données 1 bit de parité paire 1, 1.5 ou 2 bits de stop Echange asynchrone
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
118
La communication avec l’automate
Langage imposé : C++
Utilisation des API de Windows
- De base sur les systèmes Windows
- Déjà utilisés
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
119
La communication avec l’automate
Configuration du port par l’utilisateurParamétrages possibles :
- Numéro du port, - Vitesse de transmission, - Nombre de bit de stop.
Configuration par défaut : - Port de communication : numéro 1,- Vitesse de transmission : 9600 bits/s, - Nombre de bit de stop : 1.
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
120
La communication avec l’automate
Diagramme de classe :
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
121
La communication avec l’automate
CCom_serie : Constructeur de l’instance. Paramètres: le numéro du port, la vitesse de transmission, le nombre de bit de stop. ouvrir_port : Ouvre et configure le port. fermer_port : Ferme le port de communication. recevoir_diaser : Reçoit les trames sur le port. envoyer_diaser : Envoie une trame sur le port. obtenir_erreur Récupère et retourne les informations d’une erreur
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
122
La communication avec l’automate
Tests unitaires Ouvrir un port de communication
Méthode à tester: ouvrir_port()
Description du test:Deux cas à tester:
Cas 1 : Ouverture et configuration d’un port libre. L’utilisateur saisit dans le menu la fonction ouvrir_port.Cas 2 : Ouverture et configuration d’un port non utilisable. L’utilisateur aura exécuté deux consécutive la fonction ouvrir_port sans l’avoir fermé.
Environnement nécessaire : PC sous windows XP, présence d’au moins un port de communication accessible.
Résultats attendus: - Le port a bien été ouvert et configuré. Message « Port ouvert correctement » affiché. Le port n’est alors plus accessible.- Le port n’a pas pu être ouvert. Message d’erreur affiché « Erreur ouverture port Code erreur : 5 ».
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
123
La communication avec l’automate
Tests unitaires Ouvrir un port de communication
RAPPORT DE TEST
Date: 23/05/07 Intervenant: Alexandre Kamoun
Numéro de version de la classe testée: 1.0
Environnement de test: PC sous windows XP, présence d’au moins un port de communication accessible.
Résultat obtenu: Cas 1 : Le port a bien été ouvert, message affiché : « Port ouvert correctement ».Cas 2 : Le port n’a pas pu être ouvert. Message afiché : « Erreur ouverture port Code erreur 5 »
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
124
La communication avec l’automate
Tests unitaires Recevoir une trame
Méthode à tester: recevoir_diaser(string &diaser)
Environnement nécessaire : PC sous windows XP, équipement pour une communication série RS-232, automate FARECO prêt.
Description du test:Deux cas à tester:
Cas 1: L’utilisateur ouvre le port si ce n’est pas le cas. Il choisit la fonction recevoir_diaser dans le menu, valide, saisit une trame de test valide au format diaser et valide.Cas 2 : L’utilisateur ouvre le port si ce n’est pas le cas. Il choisit la fonction recevoir_diaser dans le menu puis saisit et envoie une trame diaser invalide.
Résultats attendus: Cas 1: la trame a été correctement reçue. Le message « trame recue » suivie de la trame de réponse est affiché.Cas 2 : L’automate ne répond pas. Il y a une attente de 3 secondes avant que le message « Temps d’attente depasse » s’affiche.
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
125
La communication avec l’automate
Tests unitaires Recevoir une trame
RAPPORT DE TESTDate: 23/05/07 Intervenant: Alexandre
Kamoun
Numéro de version de la classe testée: 1.0
Environnement de test: PC sous windows XP, équipement pour une communication série RS-232, automate FARECO prêt.
Résultat obtenu: Cas 1 : La trame de réponse de l’automate a bien été reçue, le message « Trame recue: » suivie de la réponse est affiché.Cas 2 : Pas de réponse de l’automate, le message « Temps d’attente depasse » est affiché au bout de trois secondes.
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
126
La communication avec l’automate
Tests réalisés sur automate Commandes testées sur l’automate :
Commande 1: Identification de l’automate
Question : ☻*Z♥s
Réponse : ☻ZC0286 V2.0*GAY3V01.00 ♥s
Comande 2 : Demande de l’horodate
Question : ☻*Y♥p
Réponse : ☻*YB0751710032D03 ♥q
Commande 3 : Relecture du plan de feux
Question : ☻DG0♥0
Réponse : ☻DG0********************************** ♥0
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
127
La communication avec l’automate
Réalisation Étude de faisabilité Tests Conception
Situation Tests sur automate fonctionnel Intégration partielle avec l’IHM d’exécution de
Wilfried Fargues.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
128
La communication avec l’automate
Objectif : permettre la communication par liaison ethernet.
Paquetage pour la liaison ethernet.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
129
La communication avec l’automate
Langage imposée : C++ Utilisation des API de windows
De base sur les systèmes windows Déjà utilisé
Choix du protocole Ethernet Choix sur le mode non connecté : UDP
Avantage :
+ Allégé et donc rapide
+ Peu coûteux
+ Très utilisé
Inconvénient
- Pas de contrôle des trames (mais faite par la norme Diaser)
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
130
La communication avec l’automate
Configuration de la liaison Paramétrée par l’utilisateur
Adresse IP de l’automate Numéro de port pour la communication
Par défaut : Adresse IP locale: 127.0.0.1 Numéro de port 0, signifiant port choisie par le
système
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
131
La communication avec l’automateBanc de tests pour contrôleur de carrefour DIASER
Diagramme de classe :
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
132
La communication avec l’automate
CComEthernet : Constructeur de l’instance.
creation_socket : Initialise et crée une socket qui permettra l’envoi et la réception de
données.
fermeture_socket : Stoppe l’utilisation de la socket et libère les ressources utilisées.
recevoir_diaser : Reçoit la trame réponse de l’automate.
envoyer_diaser : Envoie la trame question à l’automate.
obtenir_erreur Récupère et retourne les informations d’une erreur
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
133
Méthode à tester: envoyer_diaser(const string diaser)Description du test:
Cas 1 : L’utilisateur a correctement créé une socket. Il choisit dans le menu la fonction envoyer_diaser. Il saisit ensuite la trame diaser à envoyer et valide;
Cas 2 : L’utilisateur n’a pas créé de socket depuis l’exécution du programme ou l’a fermé. Il sélectionne la fonction envoyer_diaser et saisit une trame à envoyer.Fonction de test:TU_envoyer_diaser() Environnement nécessaire:Windows XP, deux PC avec liaison ethernet et le programme serveur sur l’un des ordinateurs exécuté.
Résultats attendu:Cas 1 : Le message « trame envoyé » s’affiche, et sur le programme serveur la
trame est affichée.Cas 2 : Le message « Erreur envoi de la trame » suivie du code de l’erreur est
affiché. Rien ne s’affiche côté serveur.
Tests unitaires Envoyer une trame
Banc de tests pour contrôleur de carrefour DIASER
La communication avec l’automate
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
134
La communication avec l’automate
Tests unitaires Envoyer une trame
RAPPORT DE TESTDate: 24/05/07 Intervenant: Alexandre KAMOUNNuméro de version de la classe testée: 1.0Environnement de test:Windows XP, deux PC avec liaison ethernet et le programme serveur sur l’un des ordinateurs exécuté.
Résultats obtenu :Cas 1 : Le message « trame envoyé » est affiché. Le programme serveur a bien
affiché la trame.Cas 2 : Le message « Erreur envoi de la trame Code erreur 10093» est affiché.
Rien ne s’affiche côté serveur.
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
135
Méthode à tester: fermeture_socket()Description du test:
Cas 1 : L’utilisateur a correctement créé une socket. Il choisit dans le menu la fonction fermeture_socket et valide.
Cas 2 : L’utilisateur n’a pas créé de socket depuis l’exécution du programme ou l’a fermé. Il sélectionne la fonction fermeture_socket et valide.Fonction de test:TU_fermeture_socket() Environnement nécessaire:Un PC sous Windows XP avec une carte réseau.
Résultats attendu:Cas 1 : Le message « Socket fermee » s’affiche.Cas 2 : Le message « Erreur fermeture socket » suivie du code de l’erreur est
affiché.
Tests unitaires Fermer la socket
Banc de tests pour contrôleur de carrefour DIASER
La communication avec l’automate
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
136
La communication avec l’automate
Tests unitaires Fermer la socket
RAPPORT DE TESTDate: 24/05/07 Intervenant: Alexandre KAMOUNNuméro de version de la classe testée: 1.0Environnement de test : Un PC sous Windows XP avec une carte réseau.
Résultats obtenu :Cas 1 : Le message « Socket fermee » est affiché.Cas 2 : Le message « Erreur fermeture socket Code erreur 10093» est
affiché.
Banc de tests pour contrôleur de carrefour DIASER
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de Toulouse
137
La communication avec l’automate
Réalisation Étude de faisabilité Tests entre deux ordinateurs Conception
Situation Tests entre deux ordinateurs fonctionnels
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
138
Bilan
Bilan dans le projet Travail effectué
Classe de la communication série fonctionnelle.
Classe de la communication ethernet fonctionnelle entre ordinateurs.
Travail à effectuer
Finaliser les classes.
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
139
Bilan
Bilan personnel Problèmes rencontrés:
Réception correcte d’une trame pour la communication série. Mise en œuvre de la communication Ethernet.
Projet qui m’a fait progresser dans différents domaines:
Domaine professionnel Organisation du travail Mener à bien un projet
Domaine informatique Communication en Ethernet sous windows Communication en série avec un automate. Programmation orientée objet C++
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
140
Menu
1. Introduction CAMPUS TRAFIC Cahier des charges Répartition des tâches et diagrammes
2. Les fonctions DIASER
3. La base de données
4. La création et la modification d’un scénario
5. L’exécution d’un scénario
6. La gestion des rapports
7. La communication avec l’automate
8. Bilan
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER
141
Bilan Bilan du groupe
Etat du projet
Codage à finaliser Intégration finale en cours
Bilan général
Bonne expérience Application de notions vues en cours Difficultés relatives aux examens
FARGUES W. / GOUBIN T. / BOUCHET N. / TARANTINI R. / KAMOUN A.
Mairie de ToulouseBanc de tests pour contrôleur de carrefour DIASER