Optimizing Project Solutions: Techniques and Resolution Methods

Chapitre 2 : Démarche et moyens de résolution du projet

Introduction partielle

Un projet est une entreprise temporaire qui a pour objectif de créer quelque chose d’innovant. Ainsi, le choix de la démarche et des moyens de résolution sont d’une importance capitale. Dans ce chapitre, notre travail sera divisé en deux (02) volets. En premier lieu, nous allons mettre en exergue les exigences techniques et fonctionnelles. En second lieu, nous allons définir la méthode de résolution pour laquelle nous avons opté.

Les exigences fonctionnelles et techniques

Les exigences fonctionnelles

Les exigences fonctionnelles sont un groupe de fonctions qui doit pouvoir répondre aux besoins des utilisateurs mais aussi contribuer à l’amélioration de leurs quotidiens. Comme exigences fonctionnelles, que nous avons regroupées sous forme de modules, nous pouvons citer :

La Gestion de l’établissement ;

La Gestion du personnel ;

La Gestion des professeurs ;

La Gestion des droits ;

La Gestion des vidéoprojecteurs ;

La Gestion des élèves ;

La Gestion scolarité ;

La Gestion des parents ;

La Gestion des notes ;

La Gestion des SMS ;

La Gestion des votes ;

La Gestion des impressions ;

La Gestion des absences.

Les exigences techniques

Les exigences techniques sont des spécifications techniques indiquant les qualités système de fonctions telles que les performances, la sécurité, l’évolutivité, la qualité et l’adaptabilité.

La qualité

Le projet doit résoudre un problème efficacement. En effet, le logiciel résout (la numérisation des documents d’autorisations d’absences, le système d’alerte aux parents d’élèves, la gestion des vidéoprojecteurs, les bulletins scolaires avec des codes-barres) ;

Les performances

Elles sont importantes pour mesurer la vitesse d’exécution des tâches. A travers la fenêtre des statistiques collectées durant l’exécution, la vitesse maximale de l’exécution d’une tâche n’excède pas 300 millisecondes, soit 0,3 seconde. Cela prouve la rapidité de l’exécution des tâches du projet ;


image3

Figure 3 : Les Performances du logiciel

Source : Windev 24

La sécurité des données

Elle est indispensable pour apporter la confiance dans la gestion des données personnelles.

L’accès au logiciel est sécurisé par un couple (matricule et mot de passe). En plus, les données sont encryptées dans la base de données. De plus, la sauvegarde régulière des données permet de conserver une copie de la totalité des données ;

L’évolutivité

C’est la possibilité d’ajouter de la capacité à un système de sorte qu’il puisse accepter une charge supplémentaire.

Notre projet est conçu pour se tourner vers l’avenir. Avec les avancées technologiques et logicielles, des mises à jours seront apportées afin de proposer de nouvelles fonctionnalités ;

Ergonomique

Elle consiste à utiliser des listes contenant des valeurs correctes afin d’éviter la saisie et par conséquent les erreurs de saisie ;

Adaptable sur tous les types d’écrans

Avec WINDEV, l’Interface Homme-Machine appelé IHM gère les ancrages et les descriptions des fenêtres. Les tailles des fenêtres ont été définies afin de s’adapter à tous les types d’écrans.

Méthode de résolution du problème

Justification du choix de UML

Plusieurs raisons peuvent justifier notre choix d’utiliser UML comme langage de modélisation car il nous est familier et possède de nombreux atouts. Nous pouvons évoquer par exemple :

Son cadre d’analyse objet offre différentes vues ou perspectives complémentaires d’un système ;

Sa conception pour s’adapter à n’importe quel langage de programmation orientées objets ;

Beaucoup plus complète avec ses différents diagrammes car sa volonté est d’être fidèle à la réalisation finale.

Présentation d’UML

UML signifie « Unified Modeling Language » ou Langage de Modélisation Unifié en français. C’est un langage de modélisation qui permet de représenter graphiquement les besoins des utilisateurs. Il a été conçu en décembre 1997 par la fusion de trois (03) langages de modélisation qui sont les suivants :

Le langage OMT de James Rumbaugh qui prône la représentation graphique des aspects statiques, dynamiques et fonctionnels d’un système ;

Le langage OOD de Grady Booch pour le concept de package ;

Le langage OOSE de Ivar Jacobson qui est basé sur la description des besoins de l’utilisateur.

UML est non seulement la référence actuelle fondée sur le modèle orienté objet et il est employé dans l’ensemble des secteurs du développement informatique (Systèmes d’information, télécommunication, défense, transport, aéronautique, aérospatial, domaines scientifiques), mais aussi on peut modéliser des comportements mécaniques, humain, etc.

En 1997, il a été défini comme norme standard de la modélisation des systèmes d’informations objet par l’OMG (Object Managment Group).

Les diagrammes

Un diagramme est une représentation visuelle de l’ensemble des éléments qui constituent le système.  Ils servent à visualiser un système sous différents angles (utilisateur, administrateur par exemple). Il permet d’identifier les modèles, les relations et la structure des données. UML propose plusieurs diagrammes qui représentent une solution pour un problème. Ces diagrammes sont regroupés en trois (03) groupes appelés modèles. Un modèle est une représentation partielle de la réalité. Comme modèles, nous avons :

Le modèle statique ou structurel

Le modèle statique indique comment le système « EST ». Il est constitué de six (06) diagrammes qui sont :

Le diagramme de classe : c’est le diagramme pivot de l’ensemble de la modélisation d’un système. Il décrit de manière générale la structure d’un système ;

Le diagramme d’objets : représente un ensemble d’objets ;

Le diagramme de composants : ce diagramme décrit l’architecture physique et statique d’une application informatique ;

Le diagramme de déploiement : ce diagramme décrit l’architecture technique d’un système avec une vue centrée sur la répartition des composants dans la configuration d’exploitation. ;

Le diagramme de package : ce diagramme donne une vue d’ensemble du système structuré en paquetage. Chaque paquetage représente un ensemble homogène d’éléments du système ;

Le diagramme de structures composites : ce diagramme décrit les relations entre les composants d’une classe.

Le modèle fonctionnel ou comportemental

Le modèle fonctionnel indique ce que le système « FAIT ». Il est constitué de trois (03) diagrammes qui sont :

Le diagramme de cas d’utilisation : ce diagramme est destiné à représenter les besoins des utilisateurs par rapport au système. Il constitue un des diagrammes les plus structurants dans l’analyse d’un système ;

Le diagramme d’états-transitions : ce diagramme montre les différents états des objets en réaction aux événements ;

Le diagramme d’activités : ce diagramme donne une appréciation du comportement du système sous forme de flux ou d’enchaînement.

Le modèle dynamique ou d’interaction

Le modèle dynamique indique « COMMENT » le système évolue. Il est constitué de quatre (04) diagrammes qui sont :

Le diagramme de séquence : montre les interactions entre les objets en mettant l’accent sur l’aspect temporel (la chronologie des envois de messages) ;

Le diagramme de communication : ce diagramme fait une représentation simplifiée d’un diagramme de séquence en se focalisant sur les échanges de messages entre les objets ;

Le diagramme global d’interaction : ce diagramme précise la façon dont les groupes d’objets collaborent pour réaliser un comportement donné ;

Le diagramme de temps : ce diagramme décrit les interactions des différents objets en précisant la chronologie d’exécution des opérations.

Récapitulatif des diagrammes sous forme de tableau.


image4

Figure 4 : Les différents diagrammes

Source : Support de cours d’UML, Enseignante : Evelyne KAM/SOGLI

Pour l’analyse de notre projet, nous allons utiliser les diagrammes suivants :

Le diagramme de paquetage ;

Le diagramme de cas d’utilisation ;

Le diagramme de séquence ;

Le diagramme de classe ;

Le diagramme de déploiement.

Outils de modélisation

De nos jours, il existe plusieurs outils de modélisation qui semblent tous offrir les mêmes services, rendant ainsi difficile le choix de l’un d’entre eux. Nous pouvons citer :

ArgoUML ;

PowerDesigner ;

BoUML ;

MagicDraw ;

Lucidchart.

Anciennement appelé Jude, Astah est un outil de modélisation UML créé par la compagnie japonaise ChangeVision. Le logiciel est soumis à une période d’essai puis à l’obligation d’acheter une licence d’utilisation. Une fonctionnalité notable du logiciel est l’exportation en Java du modèle UML créé. Astah Community offre un environnement graphique très intuitif et très facile à aborder. Il est utilisé dans notre projet pour la représentation des diagrammes de cas d’utilisation, de séquences, de classes, et de déploiement.

Processus de développement

UML permet de faire la représentation des modèles mais il ne définit pas de processus d’élaboration des modèles. Cependant, dans l’optique de mettre en place un logiciel qui répond parfaitement aux besoins des utilisateurs, nous devons suivre une démarche qui est :

Guidée par les besoins des futurs utilisateurs du système ;

Centrée sur l’architecture logicielle ;

Evolutive et facile de faire la maintenance.

Il existe plusieurs processus de développement qui répondent à ces critères. Dans notre cas, nous allons travailler avec le processus 2TUP.

2TUP (Two Tracks Unified Process) est un processus de développement logiciel et qui implémente le Processus Unifié (UP) dans le but d’apporter une réponse aux contraintes de changement fonctionnelles et techniques qui s’imposent aux systèmes d’information. Ce processus est :

Piloté par les risques : tout risque pouvant conduire à un échec du projet est identifié et écarté au plus tôt ;

Centré sur l’architecture : le système est décomposé en modules pour des besoins de maintenabilité et d’évolutivité ;


image5

Figure 5 : Représentation du modèle d’architecture de Philippe KRUCHTEM

Source : Philippe KRUCHTEM

 

Interactif et incrémental : le projet est découpé en des itérations de courtes durées. Ces itérations aident à mieux suivre l’avancement du système global. A chaque itération, il est produit un exécutable de façon incrémentale ;


image6

Figure 6 : Les activités d’une itération

Source : Google

Conduit par les cas d’utilisation : le processus met en avant les besoins et exigences des futurs utilisateurs du système ;

Il propose un cycle de développement en Y dissociant les aspects techniques des aspects fonctionnels en commençant par une étude préliminaire. Cette étude consiste à identifier les acteurs qui interagissent avec le système, à construire les messages échangés entre les acteurs et le système, à produire le cahier de charges et à modéliser le contexte. Le processus s’articule ensuite autour de trois phases essentielles :

Une branche technique qui capitalise un savoir-faire technique et/ou des contraintes techniques. Les techniques développées pour le système sont indépendantes des fonctions à réaliser ;

Une branche fonctionnelle qui capitalise la connaissance du métier de l’entreprise. Cette branche capture des besoins fonctionnels, ce qui produit un modèle focalisé sur le métier des utilisateurs finaux ;

Une branche de conception et de réalisation qui consiste à réunir les deux branches, permettant de mener une conception applicative et enfin la livraison d’une solution adaptée aux besoins.


image7

Figure 7 : Présentation de la méthode 2TUP

Source : Google


image8

Figure 8 : Présentation de chaque branche avec ses diagrammes UML

Source : Google

Conclusion partielle

En somme, la démarche de résolution a permis de définir les exigences fonctionnelles et techniques ainsi que la méthode de résolution. Nous avons opté pour le processus 2TUP comme processus de développement et UML comme langage de modélisation qui répond parfaitement à nos attentes. Dans le chapitre suivant, nous allons présenter le domaine d’étude.

 

Pour citer ce mémoire (mémoire de master, thèse, PFE,...) :
📌 La première page du mémoire (avec le fichier pdf) - Thème 📜:
Réalisation d’un logiciel de gestion et de suivi des élèves à distance
Université 🏫: Université Aube Nouvelle - Institut Supérieur d’Informatique et de Gestion - Département High Tech
Auteur·trice·s 🎓:
BAOULA Nantan Abdoul Aziz

BAOULA Nantan Abdoul Aziz
Année de soutenance 📅: Rapport de stage de fin de cycle de licence - OPTION : Technologie du génie logiciel - 2019-2020
Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top