Accueil » Réalisation d’un logiciel de gestion et de suivi des élèves à distance » Architecturer l’avenir: Clés de la conception logicielle moderne

Chapitre 5 : Architecture du futur logiciel

Introduction partielle

Dans ce chapitre nous allons définir les objectifs à atteindre en termes de performance et de robustesse. Nous allons définir l’architecture de l’application telle qu’elle sera implémentée et déployée. Premièrement, nous identifierons les différents outils et deuxièmement, nous présenterons l’architecture logicielle de notre système ainsi que le coût de réalisation de notre projet.

Identification des outils

Nous avons utilisé plusieurs technologies qui interagissent ensemble afin de donner un meilleur rendu. Comme technologie, nous avons utilisé entre autres :

WinDev 24

WinDev est un atelier de génie logiciel (AGL) édité par la société française PC SOFT et conçu pour développer des applications, principalement orientées données pour Windows et également pour Linux, .NET et Java. Il propose son propre langage : le WLangage. WinDev a connu de nombreuses améliorations et la dernière version est WinDev 26 (9 décembre 2020) ;

SQL SERVER Management Studio 18 (SSMS)

SQL SERVER Management Studio est un environnement intégré de gestion des infrastructure SQL. SSMS est utilisé pour accéder à, configurer, gérer, administrer et développer tous les composants de SQL SERVER, Azure SQL Database et Azure Synapse Analytics. SSMS fournit un utilitaire unique et complet qui associe un vaste ensemble d’outils graphiques à différents éditeurs de script performant, pour permettre aux développeurs et aux administrateurs de base de données de tous niveaux d’avoir accès à SQL Server. SSMS a connu de nombreuses améliorations et la dernière version est SSMS 18.9.2 (15 juillet 2021) ;

Microsoft SQL SERVER 2017

Microsoft SQL SERVER est un système de gestion de base de données (SGBD) en langage SQL incorporant entre autres un SGBDR (SGBD relationnel) développé et commercialisé par la société Microsoft. Il fonctionne sous les OS Windows et Linux (depuis mars 2016), mais il est possible de le lancer sur MAC OS via Docker, car il en existe une version en téléchargement sur le site de Microsoft. SQL SERVER a connu de nombreuses améliorations et la dernière version est SQL SERVER 2019 (4 novembre 2019).

Architecture logicielle

L’architecture d’un logiciel décrit les manières dont seront agencées les différents éléments d’une application et comment ils interagissent entre eux. Cette étape est donc l’une des premières étapes du développement logiciel et intervient lors de la phase de conception. Elle est généralement réalisée par un architecte logiciel ou un architecte solution, élément central du projet de développement.

De ce point, la conception de l’architecture est une phase particulièrement importante du développement d’un logiciel. Elle conditionne sa stabilité, son efficacité et sa pérennité.

C’est ainsi que plusieurs critères guident le choix de l’architecture applicative. Comme critères nous pouvons entre autres citer le besoin métier et des contraintes fonctionnelles et non fonctionnelles du logiciel.

Pour notre projet, nous avons adopté l’architecture MVP (Modèle, Vue et Présentation) qui est une manière d’architecturer le code en la décomposant en trois (03) parties :

La couche MODELE : contient les données « Métier » de l’application ainsi que la logique qui permet de les manipuler. Cette couche est constituée d’un ensemble d’objets basés sur des classes représentant les données à manipuler. La logique qui permet de manipuler ces données est représentée par des classes et des méthodes ;

La couche VUE : représente la partie UI de l’application. Elle correspond à l’interface utilisateur (UI). Une vue peut être sous la forme d’une fenêtre, d’un état, d’une page Web ou d’une fenêtre mobile ;

La couche PRESENTATION : c’est la classe qui effectue la liaison entre la VUE et le MODELE. Elle organise et formate les données du MODELE à afficher dans la VUE. La couche PRESENTATION n’a pas accès directement à la VUE. Par contre la couche PRESENTATION peut demander à la VUE de se mettre à jour.

Estimation du coût

L’estimation des coûts est une prévision des dépenses futures liées à un investissement, qui se base sur les données et les renseignements disponibles à un moment donné.

Elle est très importante car elle permet d’avoir le budget total de réalisation d’un projet afin d’éviter les retards de livraison des livrables et les dérives budgétaires. Elle prend en compte le coût de développement, de formation des utilisateurs, d’achat de matériel et des logiciels.



Figure 16 : Techniques et modèles d’estimation d’effort

Source : Google

Dans notre cas, nous avons choisi de travailler avec la méthode COCOMO (Constructive COst Model). Il existe deux méthodes COCOMO :

COCOMO 81 : pour les projets basés sur une technologie traditionnelle. Cette méthode est constituée de trois (3) modèles :

Modèle de Base ;

Modèle Intermédiaire ;

Modèle Expert.

COCOMO II : pour les projets basés sur une technologie moderne de réutilisation de composants. Cette méthode est constituée de trois (3) modèles :

Modèle de composition d’application ;

Modèle avant-projet ;

Modèle post-architecture.

Pour notre projet, nous avons décidé de prendre le modèle de Base de la méthode COCOMO 81.

Ce modèle de Base est assez simpliste. Il permet d’estimer le coût de développement d’un logiciel à partir du type de projet, la taille de l’application (nombre de lignes de code à écrire) et du salaire moyen d’un informaticien.

Selon ce modèle, il existe trois (03) types de projets :



Figure 17 : Modèle de type de projet

Source : Google

Les projets organiques : leurs réalisations sont assurées par une équipe de petite taille ;

Les projets médians : ce sont des projets dont la complexité est moindre et qui sont pilotés par une équipe dont les membres se connaissent. Les technologies utilisées peuvent être nouvelles mais pas difficiles à appréhender ;

Les projets imbriqués : le niveau d’innovation est important, l’organisation est complexe et dispose d’un couplage fort avec beaucoup d’interactions.

La figure suivante donne les formules de calcul des coûts avec COCOMO.



Figure 18 : Formules de calcul des coûts avec COCOMO

Source : Google

Le présent projet est classé dans la catégorie Organique de COCOMO. Le nombre de ligne de code est estimé à 4500 et le coût de développement est résumé dans le tableau suivant :

Tableau 16 : Coûts de développement

Intitulé Formule Valeur
MM 2,4*(4,5) 1,05 11,6 Homme-mois
TDev 2,5*(11,6) 0,38 6.34~7 mois
Nombre de personne nécessaire Effort/TDev : 11,6/6.34 1,82~2 personnes
Coût du financement Effort*Salaire moyen :

11,6*300 000

3 480 000 FCFA

 

Tableau 17 : Coût total de mise en œuvre

Désignation Détail Prix Total (en FCFA)
SQL Server Standard

+

Licence

Cout du serveur pour le stockage des informations de l’application + la licence 590 000 FCFA
Coût de développement Coût total de développement de l’application 3 480 000 FCFA
Coût de réalisation du projet Coût total de réalisation du projet 4 070 000 FCFA

Conclusion partielle

Au terme de ce chapitre, nous avons identifié les outils qui seront utilisés dans la mise en place de notre logiciel. Aussi avons-nous calculé l’estimation du coût total de notre projet. Dans le chapitre suivant, nous allons exposer le processus de conception de la solution.

Chapitre 6 : Conception de la solution

Introduction partielle

Dans ce chapitre, nous allons définir les différentes manières dont le système sera implémenté. Pour ce faire, nous allons identifier d’abord les concepts clés du domaine. Ensuite, nous présenterons le diagramme de classe. Enfin, nous présenterons le diagramme de déploiement.

Identification des concepts clés du domaine

Les concepts clés désignent les classes pertinentes pour les objets du domaine de notre logiciel. Comme classes pertinentes, nous avons identifié :

Inscription ;

Eleve ;

Professeur ;

Personnel ;

Administrateur ;

Utilisateur ;

Parent ;

Categorie ;

Serie ;

Niveau ;

Classe ;

Matiere ;

Note ;

Sms ;

AnneeAcademique ;

PaiementScolarite ;

Droit ;

Bge ;

DetailVote ;

Projecteur ;

DetailEmprunt.

Diagramme de classe

Le diagramme de classe est un schéma utilisé en génie logiciel pour la représentation des classes et des interfaces d’un système ainsi que les différentes relations entre celles-ci. Il appartient à la partie statique d’UML car son rôle est d’indiquer ce que le système EST.

.



Figure 19 : Diagramme de classe

Un Extrait de la base de données

Source : Astah Community

Description détaillée de quelques classes

La description ci-dessous des classes a pour objectif de faciliter la compréhension du diagramme de classe :

Tableau 18 : Description détaillée de la classe utilisateur.

Classe : Utilisateur
Attributs
Nom Description Type Taille Observation
IDUtil Identifiant de l’utilisateur AN 8 Clé primaire
Nom Nom de l’utilisateur Texte 25
Prenom Prénom de l’utilisateur Texte 30
DateNaiss Date de naissance Date 8
Telephone Téléphone AN 12
Nationalite Nationalité Texte 20
LieuNaissance Lieu de naissance Texte 20
Image Image Image 8
Password Mot de passe Texte 12
Matricule Matricule de l’utilisateur AN 8
Email Email Texte 20
Sexe Sexe Texte 8
CompteActif Compte Actif AN 1
Méthode
Nom Description Observation
bloquer_compte Bloquer compte
debloquer_compte Débloquer compte

 

Classe : Classe
Attributs
Nom Description Type Taille Observation
IDClasse Identifiant de la classe AN 8 Clé primaire
LibelleClasse Libellé Texte 10
Scolarite Frais de scolarité N 6
NbrPlace Nombre de place disponible AN 3
Classe : Note
Attributs
Nom Description Type Taille Observation
IDNote Identifiant de la note AN 8 Clé primaire
Note1 Note 1 N 2
Note2 Note 2 N 2

 

Classe : Matiere
Attributs
Nom Description Type Taille Observation
IDMatiere Identifiant de la matière AN 8 Clé primaire
LibelleMat Libellé Texte 10
CoefMat Coefficient de la matière N 1

 

Classe : Inscription
Attributs
Nom Description Type Taille Observation
IDInscription Identifiant de l’inscription AN 8 Clé primaire

 

Classe : Niveau
Attributs
Nom Description Type Taille Observation
IDNiveau Identifiant du niveau AN 8 Clé primaire
LibelleNiveau Libellé Texte 10

 

Classe : Categorie
Attributs
Nom Description Type Taille Observation
IDCategorie Identifiant de la catégorie AN 8 Clé primaire
LibelleCateg Libellé Texte 10

 

Classe : PaiementScolarite
Attributs
Nom Description Type Taille Observation
IDPaiement Identifiant du paiement AN 8 Clé primaire
MontantPaye Montant du paiement N 6
DatePaiement Date du paiement Date 8
Méthode
Nom Description Observation
afficherpaiement Afficher paiement effectués
payer Faire le paiement

 

Classe : Sms
Attributs
Nom Description Type Taille Observation
IDSms Identifiant de l’sms AN 8 Clé primaire
Contenu Contenu de l’sms Texte 50
Type Type de l’sms Texte 10
Statut Statut de l’sms(envoyé ou non envoyé) Texte 8
DateSms Date d’envoi de l’sms Date 8
NumeroDest Numéro de destinataire AN 12
Méthode
Nom Description Observation
affichersms Afficher un sms
envoyer Envoyer un sms

 

Classe : Droit
Attributs
Nom Description Type Taille Observation
IDDroit Identifiant du droit AN 8 Clé primaire
DroitAdministrateur Droit pour l’administrateur AN 1
DroitEleve Droit pour l’élève AN 1
DroitProfesseur Droit pour le professeur AN 1
DroitComptable Droit pour le comptable AN 1
DroitDRH Droit pour le DRH AN 1
DroitSuperviseur Droit pour superviseur AN 1
DroitScolarite Droit pour la scolarité AN 1
DroitParent Droit pour le parent AN 1

 

Diagramme de déploiement

Un diagramme de déploiement est une vue statique qui sert à représenter l’utilisation de l’infrastructure physique par le système et la manière dont les composants du système sont repartis. Les éléments utilisés par ce diagramme sont principalement les nœuds, les composants, les associations et les artefacts. Il est couramment utilisé pour décrire l’architecture technique et générale d’un système.



Figure 20 : Diagramme de déploiement

Source : Astah Community

Conclusion partielle

Dans ce chapitre, nous avons présenté l’aspect conceptuel de la structure des données de notre application. Pour cela, nous avons identifié les domaines clés. C’est ainsi que nous avons obtenu le diagramme de classe ainsi que le diagramme de déploiement. Dans la prochaine partie de ce document, nous allons nous consacrer à la réalisation du projet ainsi que son bilan.

 

Pour citer ce mémoire et trouver toutes ses pages
📌 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