Revue n°3

Preview:

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

Recommended