Les outils technologiques pour le développement sont essentiels pour concevoir une application web efficace dédiée à la gestion des faits d’état civil. Cette étude comparative identifie les technologies optimales, en écartant les solutions « low code » et « no code », afin d’améliorer les services à la mairie de Ziguinchor.
Chapitre III : Etat de l’art des outils technologiques
Introduction
L’objectif de ce chapitre est d’étudier la liste des outils nous permettant de développer notre application web et de choisir la technologie optimale pour la suite. Nous excluons les technologies « low code » ou « no code », notamment les CMS (WordPress, Joomla) ou les ERP (Oddo), car elles ne conviennent pas à notre solution informatique.
Cette présentation se fera de manière comparative pour déterminer les meilleurs outils technologiques à utiliser.
Nous examinerons les langages de programmations adaptés, les framework ou bibliothèques, ainsi les serveurs d’applications nécessaires. A cela s’ajoute le système de gestion de base de données (SGBD) qui sera un outil important pour notre base de données, ainsi quelques outils complémentaires pouvant optimiser la solution.
Outils de modélisation
Dans notre recherche d’outils de modélisation, nous nous sommes concentrés uniquement sur deux méthodes : la méthode Merise et le langage UML. Ce sont les méthodes les plus répandues et appropriées pour le développement logiciel. Chacune de ces méthodes présente des avantages et des inconvénients que nous allons vous présenter dans la section suivante.
UML
Le langage UML (Unified Modeling Language, ou langage de modélisation unifié) a été pensé pour être un langage de modélisation visuelle commun, riche sémantiquement et syntaxiquement. Il est destiné à l’architecture, la conception et la mise en œuvre de systèmes logiciels complexes par leur structure aussi bien que leur comportement. L’UML a des applications qui vont au-delà du développement logiciel, notamment pour les flux de processus dans l’industrie.
Il ressemble aux plans utilisés dans d’autres domaines et se compose de différents types de diagrammes. Dans l’ensemble, les diagrammes UML décrivent la limite, la structure et le comportement du système et des objets qui s’y trouvent.
L’UML utilise les points forts de ces trois approches pour présenter une méthodologie plus cohérente et plus facile à utiliser. Il représente les meilleures pratiques de création et de documentation des différents aspects de la modélisation des systèmes logiciels et d’entreprise. On est actuellement à la version 2.5 d’UML. Le nombre de diagrammes est passé de neuf (9) à treize (13). On note en effet trois types de diagrammes : diagrammes de structure, diagrammes de comportement et les diagrammes d’interaction.
Les diagrammes de structure représentent les éléments individuels d’un système. Ils sont donc particulièrement adaptés à la représentation de l’architecture logicielle. La représentation statique ne représente pas un changement, mais plutôt des états et des dépendances à un moment donné. Les éléments individuels, ou objets, sont reliés les uns aux autres. Par exemple, un objet appartient à une classe. D’autres composants sont des nœuds d’ordinateur ou des artefacts – un artefact représente un résultat, par exemple un fichier script fini. On note différents diagrammes de structure.1
Les diagrammes de comportement couvrent les autres spécifications sous UML. Contrairement aux diagrammes de structure, ils ne sont pas statiques, mais représentent des processus. Les diagrammes de comportement comprennent également des diagrammes d’interaction.
Les diagrammes d’interaction sont un sous-type des diagrammes de comportement. Ils décrivent également les processus. Ils sont particulièrement adaptés à la modélisation des comportements dans lesquels les éléments échangent des informations. Les diagrammes définissent le rôle des objets impliqués. Ils nomment et classent par ordre de priorité les messages qui sont envoyés d’un objet à l’autre. Les diagrammes d’interaction montrent également comment ces messages affectent les éléments comportementaux, tels que le démarrage ou l’arrêt des activités.
En dépit de tout cela, nous pouvons affirmer que le langage UML est un outil d’analyse complet pour la modélisation et la conception d’un nouveau système. Il vous accompagne tout au long des différentes étapes du développement logiciel. L’UML présente de nombreux avantages en tant que langage formel et normalisé. Il se distingue par sa clarté et sa précision, favorisant ainsi l’utilisation d’outils. De plus, il constitue un excellent support de communication, facilitant l’analyse et l’explication des représentations abstraites et complexes.
Cependant, l’utilisation de l’UML et la maîtrise de ses opportunités nécessitent un réel investissement en termes de temps d’apprentissage et d’adaptation.
Merise
Merise est née vers 1978-1979, développée par l’équipe de J. L. Lemoigne (université Aix en Provence). Cette naissance résulte d’une part de l’inadéquation des méthodes déjà existantes (MINOS et CORIG) due aux bouleversements technologiques des années 70 et des nombreux travaux sur les bases de données. (Méthode d’étude et de Réalisation Informatique pour les Systèmes d’Entreprises). La méthode Merise admet : Une vision globale de l’entreprise : mise en place d’un SI est liée à la refonte de l’organisation, et une vision systémique de l’entreprise : à travers le symbole du macroscope. La méthode Merise admet des principes et une démarche. La démarche consiste à une succession d’étapes basée sur de nombreuses disciplines. « MERISE » : Méthodes pour Rassembler les Idées Sans Effort. Un aspect important de Merise consiste à mener l’étude des données et celle des traitements. Ces deux études sont séparées dans un premier temps. De même, la méthode Merise traite en profondeur l’aspect organisationnel.2
La méthode Merise adopte une philosophie portée sur les trois axes (figure ci-dessous) qui se déroulent simultanément dont : le cycle de vie, le cycle d’abstraction, le cycle de décision.
[img_1]
Source : [7_img_1]
Figure 7 : les 3 cycles de Merise
- Le cycle de vie : comporte trois grandes périodes :
Figure 6 : les 3 cycles de Merise
- La conception : période d’étude de l’existant puis du système à mettre en place,
- La réalisation : recouvre la mise en œuvre et l’exploitation,
- La maintenance : devra permettre au système d’évoluer et de s’adapter aux modifications de l’environnement et aux nouveaux objectifs pendant une certaine durée de vie et ensuite il devra laisser la place à un nouveau système.
- Le cycle d’abstraction : concerne le système de spécification d’un SI :
- La mémoire du SI est décrite sur le plan conceptuel, puis logique et enfin physique.
- Les processus de traitements sont décrits sur le plan conceptuel, puis organisationnel et enfin opérationnel.
Chaque couche est décrite sous la forme d’un modèle. Lorsque les paramètres des couches inférieures évoluent, la couche décrite n’est pas altérée, et elle ne le sera que si ses propres paramètres seront modifiés.
Chaque modèle est décrit à travers un formalisme reposant sur des règles et des principes, un vocabulaire et une syntaxe. Des règles de transition permettent de passer plus ou moins automatiquement d’un modèle à un autre.
- Le cycle de décision : Tout au long de l’étude et de la maintenance, des décisions sont à prendre, très générales d’abord puis de plus en plus détaillées. Les décisions globales sont prises par la direction générale mais, à chaque niveau, chacun doit être consulté.
Voici le tableau qui résume tous les modèles disponibles selon leurs niveaux.
Tableau 1 : Merise modeles / Niveaux | |
---|---|
Niveau | Données |
Conceptuel | Modèle Conceptuel des données (MCD) |
Organisationnel | Modèle logique des données (MLD) |
Technique | Modèle physique des données (MPD) |
Traitements | |
Modèle conceptuel des traitements (MCT) | |
Modèle organisationnel des traitements (MOT) | |
Modèle opérationnel des traitements (MOpT) |
Les points forts de Merise sont que :
- La méthode s’appuie sur une méthode sur une approche systémique c’est donc une approche globale.
- Les concepts sont peu nombreux et simples.
- Elle est assez indépendante vis-à-vis de la technologie.
Si cette méthode regorge beaucoup d’avantages, on peut quand même signaler quelques manquements à l’endroit de celle-ci dont :
- Le manque d’approche de l’objet dans son intégration
- Elle ne s’occupe pas de l’interface utilisateur
- Il est très difficile de valider les traitements par rapport aux données et cela au niveau conceptuel et organisationnel.
Tableau comparatif UML – Merise
TABLEAU 2 : COMPARATIF MERISE – UML | |
---|---|
Merise | UML |
Méthode d’analyse et de conception de système d’information | Langage de représentation d’un système d’information. |
Relationnel | Objet |
Franco-français | Internationale |
Schéma directeur, étude préalable, étude détaillée et la réalisation. | Langage de modélisation des systèmes standard, qui utilise des diagrammes pour représenter chaque aspect d’un système ie : statique, dynamique en s’appuyant sur la notion d’orientée objet. |
Plus adapté à une approche théorique | Plus orientée vers la conception |
Du « bottom » de la base de données vers le code | Du « top down » du modèle vers la base de données. |
Choix d’un outil
Après avoir étudié brièvement les deux outils d’analyse et de conception dont le langage UML et la méthode Merise, nous allons choisir l’outil que nous allons utiliser pour l’analyse et la conception de notre solution que nous voulons développer. Notre choix se porte sur le langage UML. Ce choix s’articule autour de plusieurs raisons :
- Avec l’UML l’explication du système que nous voulons développer sera plus compréhensible avec l’aide de ces différents diagrammes.
- Il a une approche objet vu que nous allons développer notre application avec un langage de programmation orientée objet.
- C’est un langage universel par rapport à la méthode Merise qui est basée principalement en Europe (France).
Dans le domaine du génie logiciel, beaucoup de projets sont abandonnés ou n’ont pas pu satisfaire totalement les utilisateurs finaux en termes de fonctionnalités et de besoins. C’est dans ce sens que les outils d’analyse sont nés pour accompagner le développement dans ses différentes étapes et impliqués les utilisateurs finaux du système afin de limiter les incohérences.
________________________
1 « Qu’est-ce que le langage UML (langage de modélisation unifié) ? » ↑
2 [7] ↑