Vous êtes sur la page 1sur 32

Système de gestion PFE

UML et design pattern


GL3
Mohamed Amin Felah
Système de gestion PFE

Project analysis slide 2


PHASE D'ANALYSE PHASE DE SPECIFICATION

PROJEC
PHASE D'IMPLEMENTATION PHASE DE CONCEPTION
T

PHASE DE TESTING PHASE DE DEVELOPPEMENT


Système de gestion PFE

Project analysis slide 3


PHASE DE
CONCEPTION
On Se situe a la phase de Conception
Conception : processus de définition de la future application
informatique
Définir les modules qui constituent le système et leurs relations
Selon le contexte, la conception détaillée correspond à:
• Definir les interfaces utilisateurs
• Definir les types, les algorithmes
Project Analysis

Project analysis slide 4


Diagramme De
Composant

Diagramme
De Use Case

Diagramme De Diagramme De
Schedules
Classe Sequence

Diagramme De
Sequence
Systeme
Diagramme De
Deploiment
Système de gestion PFE

Project analysis slide 5

Diagramme de Use Case


Les diagrammes de cas d'utilisation sont généralement développés au début du développement et les
ingénieurs appliquent souvent la modélisation de cas d'utilisation aux fins suivantes:

Spécifier le contexte d'un système


Capturez les exigences d'un système
Valider une architecture système
Piloter la mise en œuvre et générer des cas de test
Développé par des analystes avec des experts du domaine
uc Use Case Model

Systeme de gestion de pfe

consulter la liste des


PFE
«extend»
consulter les details

Etudient

consulter le planning
des soutenances
«include»

consulter la liste des


etudients «include»

consulter la liste des


Consulter la liste des etudients affectés aux
etudients stages

s'authentifier
Admin
consulter la liste des
etudiants non affectés
stages
«include»

Faire un planning de «include»


soutenance
Enseignant

choisir disponibilés
Système de gestion PFE

Project analysis slide 5


Diagramme de Sequence Systeme
Décrire le comportement du système par des diagrammes de séquence système (DSS)
où le système est vu comme une boîte noire.
La boîte noire sera ouverte décrite seulement en conception.
Le fonctionnement d'un cas d'utilisation est notamment décrit sous la forme d’une 
séquence de messages échangés entre les acteurs et le système.
Le système est donc vu de l'extérieur (par les acteurs) sans préjuger de 
comment  il sera réalisé. La  boîte noire  sera ouverte (décrite) seulement en conception.
Système de gestion PFE

Project analysis slide 5

Diagramme de Sequence
Un diagramme de séquence est un diagramme UML (Unified Modeling Language) qui
représente la séquence de messages entre les objets au cours d'une interaction. Un diagramme de
séquence comprend un groupe d'objets, représentés par des lignes de vie, et les messages que ces
objets échangent lors de l'interaction.
Les diagrammes de séquence représentent la séquence de messages transmis entre des objets. Ils
peuvent également représenter les structures de contrôle entre des objets.
sd sequence Model

etudient PageConsulterPFE MoteurRecherchePFE postulerPFE cataloguePFE PropositionPFE

listerPFE()

demande de la liste des PFE()

ListerLesPFE()

requette sql()
reponse()

reponse()

afficherPFE()

postuler un PFE()

postuler un PFE()

changer l'etat PFE()

response()

response()

afficher message pfe Postuler()


sd 2

direction de stage GererSession creerSession modifierSession Session DisponibilitéProfesseur planning

espaceSession()

alt session Non definit le planning est v ide


creer session()

voirDispoEnseignent()

ajoutHeureDeSoutenanceAuSoutenance()

modifierSession()

CreationPlanning()

visualisationDuPlanning()

visualisationDuPlanning()
Système de gestion PFE

Project analysis slide 5

Diagramme de Classe
diagramme de classes de conception est un document indispensable sui 
représente la vue de conception statique d'un système. Il représente les classes intervenant dans le système
et les éléments qui composent un système et de leurs relations.
Chaque application qui va mettre en œuvre le système sera une instance des différentes classes qui le
compose.
A ce titre il faudra bien garder à l'esprit qu'une classe est un modèle et l'objet sa réalisation.
class Class Model

direction de stage «abstract»


internaute
- master login: String
- master password: string - nom: String
- Prenom: String
+ proposer pfer() : void - Username: String
+ ajouter session() : void generer 0..* - password: String
+ supprimer session() : void 1
session + consulter les donneés() : void
enseignant
1
+ lister soutenance() : void - nom: String
approuvez - filliere: String
1 - Matiere: String
1 - departement: String
- email: String

+ encadre() : void 1 etudient


planning + approuver planning() : void
+ présider() : void encadre - num cin: int
- id: int * - num d'inscription: int
1..* - filliere: String
propose presente - filliere: String
1 - groupe: String
soutenance
+ choisir pfe() : void
- id: int 1..*
1 + soumettre rapport() : void
- debut : Time consulte + presenter soutenance() : void
- fin: Time
1 1
Catalogue de PFE
1
+ lister pfe() : proposition pfe soumettre

1..* 1..*
1
proposition PFE
choisir
- sujet: string rapport PFE
- Description: String
- num serie: int
- Coordonné entreprise: String - nom d'archive: string
- affecté: boolean

1
class Class de participation

internaute

authentifierSuivantLeRole
PageAuthentification

administation etudient enseignant

pageGererSession pageSoumetterPropositionPFE
pageSoumettreRapport PageGereDisponibilté
pageConsulterPFE

AjouterPFE
modifierSession creerSession GererDisponibilité
SoumettreRapport
consulterSession

moteurDeRecherchePFE <<create>>
<<create>>
<<create>>

Disponibilté

rapportPFE
PropositionPFE
planning
session
Système de gestion PFE

Project analysis slide 5

Diagramme de Composant
Diagrammes de composants illustrent les parties du logiciel, des contrôleurs intégrés, qui feront partie
d'un système. Un diagramme de composants a un niveau d’abstraction plus élevé qu’un Diagramme de
Classes. D’habitude, un composant est mis en œuvre par une ou plusieurs classes (ou objets) à l’exécution.
Ils sont des composantes, donc un composant peut éventuellement englober une grande partie d’un
système
cmp User Component Model

Liste PFE

User Component::
User Component:: PFE Liste
User Account

Choix PFE
User Component:: User Component:: User Component::
Enseignant Admin Account Etudient Account User Component::
PFE

User Component::
Planning
cmp Formulaire Name

PFE Suj et

PFE NAME

Formulaire PFE
Choix PFE Student

Liste PFe

Compte utilisateur

compte utilisateur
interface
cmp General Component Model

Component Model
utilise Global::PFE Component Model
Global::Base De
Component Model controlé Donnée
Global::Gestion PFE utilise
liée
Component Model
Global::Planning controlé
utilise

controlé Component Model


Global::Serv eur
Inscription Form interface Component Model
fonctionalité Global::Inscription
controlé
Component Model
Global::Utilisateur fonctionalité

Component Model controlé


Global::
Autotification Form interface Aunthentification

Component Model
Global::Etudient fonctionalité
Component Model
Global::choisir PFE

Component Model fonctionalité Component Model


PFE List Inteface
Global::Admin Component Model Global::Choisir
Global::enseignant disponibilité

Disponibilté interface
Système de gestion PFE

Project analysis slide 5

Diagramme de Deploiement
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 répartis ainsi que leurs relations
entre eux. Les éléments utilisés par un diagramme de déploiement sont principalement les nœuds,
les composants, les associations et les artefacts. Les caractéristiques des ressources matérielles physiques et
des supports de communication peuvent être précisées par stéréotype.
deployment Deployment Model

«executionEnvironment»
Serv eur

Spring boot

«executionEnviron...
firew all Commande SQL
controllers

protocol http

Models
«executionEnviron...
firew all

«device»
Client Machine

Nav igateur «device»


Base De Donné Serv eur A insat

Application Web
donnée de la base
Design pattern pour optimiser le code
En développement logiciel, un patron de conception (souvent appelé design pattern) est un arrangement
caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un
logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels.
Un patron de conception est issu de l'expérience des concepteur. Il décrit un arrangement récurrent de
rôles et d'actions joués par des modules d'un logiciel, et le nom du patron sert de vocabulaire commun
entre le concepteur et le programmeur.
ORIGINE DU CONCEPT DE DESIGN
PATTERN
Le concept de Design Pattern date des années 1970. L’architecte Christopher
Alexander constate que la phase de conception, en architecture, s’accompagne de
difficultés récurrentes. Afin de résoudre ces problèmes de solidité de la structure ou encore
Pourquoi utiliser
d’étanchéité, un design
il crée un pattern?
langage des patterns.
•Pour accélérer le processus de développement en
fournissant des paradigmes de développement éprouvés.
•Pour anticiper des problématiques qui peuvent ne devenir
visibles que plus tard dans la mise en œuvre.
•Pour améliorer la lisibilité du code en fournissant une
standardisation.
design pattern iterator
Le modèle d'itérateur est un modèle de conception très couramment utilisé dans
l'environnement de programmation. Ce modèle est utilisé pour obtenir un moyen
d'accéder aux éléments d'un objet de collection de manière séquentielle sans avoir
besoin de connaître sa représentation sous-jacente.
Le modèle d'itérateur relève de la catégorie de modèle comportemental.
class Design Pattern

Etudient

ListePFE_Iterator
PFE_Aggregate
instancie + next() : void
+ interator() : void
+ hasNext() : void

PFE

- Entreprise: String ListePFE


- Contact: String
- LogoEntreprise: Image + next() : void
- Sujet: String + hasNext() : void
- Description: String

+ iterator() : void
design pattern Memento
Le modèle Memento est utilisé pour restaurer l'état d'un objet à un état antérieur. Le modèle
Memento appartient à la catégorie des modèles comportementaux, il  fournit la manière de
renvoyer un objet à un état précédent sans violer le principe d'encapsulation.
Le mémento est utilisé par deux objets : le créateur et le gardien. Le créateur est un objet
ayant un état interne (état à sauvegarder). Le gardien agira sur le créateur, tout en
conservant la possibilité de revenir en arrière. Le gardien demande alors au créateur l'objet
mémento pour enregistrer son état actuel
class Design Pattern Memento

PlanningOriginator

+ setState() : void
+ getState() : String
+ SaveStateToMemento() : CurrentPlanning
+ getStateFromMemento() : void
utilise

utilise

CurrentPlanning
Enseignant - State: String

+ Constructeur() : void
utilise + GetState() : String
+ AfficherAnciennesVersions() : List<State>

fournisse

PlanningCareTaker

- Plannings: List<Planning>

+ add() : void
+ getPlanning() : Planning
design pattern Facade
Une façade est une classe qui procure une interface simple vers un sous-système complexe de parties
mobiles. Les fonctionnalités proposées par la façade seront plus limitées que si vous interagissiez
directement avec le sous-système, mais vous pouvez vous contenter de n’inclure que les
fonctionnalités qui intéressent votre client.
Une façade se révèle très pratique si votre application n’a besoin que d’une partie des fonctionnalités
d’une librairie sophistiquée parmi les nombreuses qu’elle propose.
class Design Pattern Facade

Inscription System

Etudient Admin Enseignant

utilise utilise utilise

compose
FacadeDeL'application

communique

Authentification System

compose

compose

compose
PlannificationDeSoutenance System

Enroulement à un PFE System

communique communique

communique
Un Prototype Sur L’application WEB
Système de gestion PFE
Voici quelque image sur l’interface Graphique de l’application Web même si elle est qu’un
prototype et elle n’est pas fini .
Merci beaucoup

Vous aimerez peut-être aussi