Bonjour a vous,
Pour mon projet du BTS nous avons l'analyse UML à produire. Et j'ai un petit souci avec mon diagramme de séquence qui est trop long.
D'un coté mon prof me demande d'y inclure ce qui se passe réellement mais il me dit que c'est bien trop long car du coup faudrait que j'imprime ce diagramme sur un A3 pour que se soit lisible.
N'étant pas non plus un programme extrêmement compliqué, je suppose que bien d’autres programmes se retrouvent avec une étude de séquence bien plus longue encore.
Malgré mes quelques recherches et les 2 livres que je possède je n'arrive pas bien à voir ce qu'il faut faire ou du moins la norme à respecter pour éventuellement couper le diagramme en plusieurs morceau.
Le transfert en FTP depuis le lycée c'étant mal passé je n'est pas le diagramme complet sous ma main actuellement, mais je vais le refaire ce soir si cela peut éclairer mes propos.
Dans un 1er temps je vais vous le commenté:
Pour le démarrage et initialisation du logiciel j’ai crée un diagramme à part.
Le but est de faire de l’acquisition de données (mesures ou états) sur une supervision.
L’appli (gestion relevé « GR ») puis lance l’IHM en thread.
L’IHM se paramètre suivant un fichier XML contenant les code d’appel pour les mesures et état de chaque supervisions
Séquence Acquisition:
L’utilisateur choisi l’option acquisition.
Il choisi la version de supervision
L’appli charge les mesures et état disponible pour cette supervision (XML)
Il sélectionne les mesures ou état qu’il a besoin. (Mini 1 mesure)
Il sélectionne sur si une interruption sera programmer, ou pas, sur une ou plusieurs des mesures ou état sélectionnées.
Il sélectionne les courbes des mesures à afficher 1 min à 4 max.
Il sélectionne la durée maxi de l’acquisition ainsi que la période de mesures.
Il sélectionne le type de connexion (Ethernet ou port COM) ainsi que les paramètres associés. Et le Nom de la référence mesurée. Et s’il y a une sauvegarde à faire ou pas
Il demande la connexion.
Pendant tout ce temps, le thread principal « GR » fait un pooling sur un tableau de booléen que l’IHM rempli en fonction des besoins des besoins qu’elle a ou des attentes. (Sont état) Le tableau se nomme EtatIHM.
Le GR récupère le tableau lui indiquant qu’il y a une connexion à faire.
Le GR récupère les informations qui lui sont nécessaires : Get...() : ...
o Les paramètres de COM (tableau de String)
o Le Nom (string)
o Le Dictionnaire contenant toutes les infos pour récupérer les mesures et état ainsi que les façons de les traités.
J’en ai peut être oublié..
Le GR crée un objet Communication en lui envoyant le paramètre de COM. Qu’il mémorise.
Communication crée soit l’Objet Ethernet ou COM.
Communication écris dans l’un ou l’autre les Login et doit gérer les erreurs.
Communication retour l’état de connexion.
Le GR envoie toute les commandes des mesures à Communication (sauf celle déjà envoyer dans cette cession (le même code d’appel pouvant servir a avoir plusieurs information dans la trame de retour).
Communication lui retourne les trames.
GR traite les Trame pour y récupérer les informations.
Une fois toute les informations traité GR renvoie toute mes mesures a l’IHM grâce au delegate..
L’utilisateur doit examiner les mesures pour voir s’il n’y a pas d’incohérence.
L’utilisateur lance l’acquisition.
GR examine EtatIHM et lance l’acquisition.
Rebelote pour l’envoie des trames et la réception mais cette fois en boucle toute les périodes jusqu'à la fin ou d’une interruption programmé.
Gr enregistre ou pas les données par l’intermédiaire d’un buffer de 5 périodes.
o Il crée un Objet CSV. (thread)
o Il crée un Objet SGBD si elle est disponible(thread)
Fin de la séquence à la fin du temps ou d’une interruption voir de l’utilisateur. On sauvegarde les restes du buffer s’il y a encore des lignes de rempli
En cas d’arrêt de l’utilisateur, on demande à l’utilisateur s’il veut ou pas supprimer les données enregistrés (il se peut que l’arrêt soit du a des erreurs de mesure donc inutile de garder les données).
Voila, je vais essayer de vous refaire mon diagramme se soir, J’en ai une partie mais il n’est pas complet. Mais si déjà vous pouviez me dire comment procéder se serai sympa.
Partager