Académique Documents
Professionnel Documents
Culture Documents
A. Benghalia
abderaoufb@yahoo.fr méthodes d’analyse et de conception
1 2
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
1
17/03/2017
Démarre
Collecter, mémoriser,
traiter et
distribuer l’information. La réparation Démarrage
Système de la facture du camion
d’information Préparez la facture
Chef
C'est
Ca ne bâché
Allez graisser
c'est
couleplein
plus
La réparation
la trappe
Assurer les fonctions : Comptabilité de la trappe
. facturer les clients, Système opérant Maintenance
. fabriquer les produits,
2
17/03/2017
Automate
Il faut bâcher
Capteur avant de
partir Capteur
Trappe
motorisé
Comptabilité Maintenance
Finance Gestion Tech. Maintenance Facture 10
Logiciel - caractéristiques :
Diversité Produit non palpable,
des produits Augmentation Développé par l’être humain ,
de la qualité
Augmentation Dont l’assemblage est difficile,
de la concurrence
et sa maintenance devant être assurée par ceux qui
l’ont développé,
Peut être :
Augmentation Un logiciel système : Propriétaire d’un constructeur, qui est très
Ouverture des
de la réactivité dépendant du matériel (OS, Logiciel de firewall, Drivers,…) ou
marchés
propriétaire d’un éditeur qui est une boîte noire généralement
paramétrable (SGBD)
Améliorer en permanence la qualité, le coût et la productivité :
C’est l’enjeu majeur des entreprises Un logiciel application : Propriétaire d’un éditeur et assurant une
fonction précise (ERP, Bureautique, application de loisir); ou
Quels outils donner au décideur pour comprendre, développé pour les besoins spécifiques de l’entreprise, soit par
dimensionner, piloter, et gérer ces systèmes elle-même, soit par l’intermédiaire de sociétés de services.
3
17/03/2017
4
17/03/2017
Comme tout
projet, la
réalisation d'un
logiciel est soumise
à des exigences
contradictoires et
difficilement
conciliables
(triangle coût-
délai-qualité).
19 20
5
17/03/2017
21 22
23 24
6
17/03/2017
25 26
Conception générale
Vérification
Conception détaillée
Vérification
Codage
27 28
7
17/03/2017
29 30
permet en cas d'anomalie, de limiter un retour aux étapes Conception du système Analyse des besoins
précédentes,
1
3
Développement Exploitation
l'information sur les phases en vis-à-vis lorsque des défauts
sont détectés afin d'améliorer le logiciel.
31 32
8
17/03/2017
Système de décision
Décisions ?
Concevoir un logiciel
33 34
Flux physique ?
Analyse des aspects fonctionnels
Système opérant
On cherche à décrire
La modélisation est la conception d'un modèle.
Objectif principal de la modélisation = maîtriser la complexité
Ce que fait l’entreprise en termes de taches à exécuter
Modéliser = abstraire la réalité pour mieux comprendre le
système à réaliser
Le modèle doit être relié au monde réel La fonctionnalité de l’entreprise Le comportement de l’entreprise
un modèle permet de modéliser le fonctionnement d'un
ensemble de programmes informatiques.
Un modèle permet de communiquer : entre les membres de
l’équipe génie logiciel et même avec les utilisateurs pour Activité Processus
vérifier et valider la cohérence de l’architecture logiciel et leur
contexte,
35 36
9
17/03/2017
Activité Processus
Processus
informa Entrée
tion Acitivité1
37 38
39
10
17/03/2017
Relier le modèle au monde réel par la notion d’objet Objets possédant un nom, qualifiables, classables,
Orienté objet = abstraire et décomposer le système polymorphes, dé-/composables, interagissants avec d’autres
informatique en objets objets, etc.
◦ Le monde réel est constitué d’objets physiques ou Meilleure capacité d’adaptation et d’évolution du modèle
immatériels lorsque des fonctionnalités sont modifiées ou ajoutées
◦ Tracer les objets virtuels de modélisation depuis les objets L’approche orientée objet est une façon d’aborder un
du monde réel problème et de le découper en petits sous-problèmes. On
Relier les objets (réels) du problème et les objets commence par rechercher les objets du système puis leurs
(virtuels) de la solution interactions.
43 44
11
17/03/2017
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
Rechercher les différents types d’objets qui font partie du 1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation, Modèle
système à réaliser :
1.5 Modélisation orienté objet (Historique + Concepts)
la banque, les clients, les comptes bancaires, les conseillers 2. Chapitre 2 : UML
2.1 Introduction
clients, les transferts, les placements, les emprunts.
2.2 Historique
Etudier ensuite les interactions entre ces différents types 2.3 Les différents diagrammes d’UML
d’objets : par exemple, la création d’un compte bancaire 3. Chapitre 3 : Modélisation de S.I. avec UML
3.1 La vue fonctionnelle
nécessite des interactions entre le client et un conseiller client 3.2 La vue dynamique
3.3 La vue statique
45
(Rappel)
Génie logiciel
N'est pas que l'activité de programmation
Fournir une boite à outils pour la modélisation Mais l'ensemble des méthodes, des techniques et outils
concourant à la production d'un logiciel
S'occuper de l'interface utilisateur.
47 48
12
17/03/2017
Historique
Modéliser en orienté objet 1995 : Premier consensus
OMT : Notation graphique riche (General Electric)
Orienté objet = abstraire et décomposer le système OOD : concept de package ( élèment d’organisation
informatique en objets des modèles)
OOSE : La méthodologie repose sur l'analyse des
Le monde réel est constitué d’objets physiques ou besoins des utilisateurs (Ericsson).
immatériels Unification et la normalisation des méthodes
(1995-1997)
Relier les objets (réels) du problème et les objets OMG : Object Management Group. Association de
(virtuels) de la modélisation professionnels de l'informatique orientée objet.
14 novembre 1997 : UML adopté par l’OMG
A partir de 1998
Evolution d’UML par l’OMG (UML 2.5) : 0101//03
03//2015
49 50
UML (Unified
(Unified Modeling Language ) UML est un langage pour visualiser, spécifier, construire et
documenter les artefacts d’un système à base logicielle.
51 52
13
17/03/2017
53 54
14
17/03/2017
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
Il est composé de deux volets: d’une part le On utilise aussi les acteurs pour modéliser des systèmes
renseignement des acteurs qui bénéficient de externes comme une imprimante, un autre logiciel, etc.
l’utilisation du système, d’autre part, les
fonctionnalités attendues par le futur système. Il faut décrire les acteurs en fonctions des fonctionnalités
qu'ils demandent au système et/ou des fonctionnalités
que le système leur demandent.
59 60
15
17/03/2017
On distingue :
Ils peuvent être contenus dans un rectangle qui représente
• les acteurs primaires : ceux sont les utilisateurs du
les limites du système.
système ;
• les acteurs secondaires : ceux qui administrent le
Les acteurs sont alors forcément en dehors du rectangle
système.
puisqu'ils ne font pas partie du système. La relation entre
un acteur et un cas d'utilisation est une association
représentée par une ligne.
61 62
16
17/03/2017
Il est composé de deux volets, d’une part le ◦ Réutilisation de cas en utilisant les relations
renseignement des acteurs qui bénéficient de d’inclusion include…
l’utilisation du système ; d’autre part les Inclusion
◦ Une instance contient le comportement d’une autre
fonctionnalités attendues par le système.
instance
Description de l’interaction entre l’utilisateur
et le système
Recensement des besoins des utilisateurs « include »
payer
Descriptions textuelles + diagrammes de tous S’inscrire
les cas d’utilisation
« include » accepter
67 68
17
17/03/2017
la vérification du solde
du compte n'intervient
que si la demande de
retrait dépasse 20 euros
la consultation d'un
compte via Internet l'accès aux informations d'un
est un cas particulier compte inclut nécessairement
de la consultation. une phase d'authentification
71 72
18
17/03/2017
Description textuelle
– Transcription textuelle de la description des cas d’utilisation
– Compléments aux diagrammes
– Avantages:
• La rédaction permet de corriger le diagramme
• Le diagramme oblige à rédiger chaque cas
73 74
Organiser un
voyage
Client
75 76
19
17/03/2017
77 78
Programme
1. Chapitre 1 : Le Génie Logiciel Résumé
1.1 Introduction : le logiciel UML est une notation, pas une méthode
1.2 Génie logiciel : définition, objectif et développement de logiciel UML est un langage de modélisation objet
UML est un standard
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation, Modèle
Programmation Orientée Objet
1.5 Modélisation orienté objet (Historique + Concepts)
modéliser informatiquement des éléments d'une partie du monde réel
en un ensemble d'entités informatiques (objets)
2. Chapitre 2 : UML
2.1 Introduction
Intérêt d'une méthode objet
2.2 Historique
définir le problème à haut niveau sans rentrer dans les spécificités du
2.3 Les différents diagrammes d’UML langage
définir un problème de façon graphique
3. Chapitre 3 : Modélisation de S.I. avec UML
utiliser les services offertes par l’objet sans rentrer dans le détail de
3.1 La vue fonctionnelle programmation
3.2 La vue dynamique Réutilisation du code
20
17/03/2017
81 82
2 ) Diagramme d’activité
- vue Dynamique -
83 84
21
17/03/2017
UML permet de représenter graphiquement le La fiche descriptive d’un cas d’utilisation peut
comportement d'une méthode ou le déroulement contenir plusieurs scénarios alternatifs et/ou
d'un cas d'utilisation, à l'aide de diagrammes d’exception.
d'activités.
Il est alors difficile d’avoir une vision de
Une activité représente une exécution d'un l’ensemble des actions.
mécanisme, un déroulement d'étapes séquentielles.
Le diagramme d’activité est un moyen graphique
Le passage d'une activité vers une autre est pour donner cette vision d’ensemble
matérialisé par une transition.
85 86
87 88
22
17/03/2017
•Etat de départ
•Etat de final
•Transition •Transition alternative
(conditionnelle)
•Elle permet d’indiquer les
différents scénarios du
cas d’utilisation dans un
même diagramme.
89 90
La synchronisation
indique qu’il faut
avoir réalisé deux
actions pour
pouvoir réaliser la Synchronisation
troisième en-
dessous. disjonctive et
conjonctive
91 92
23
17/03/2017
93 94
95 96
24
17/03/2017
97 98
25
14/04/2017
A. Benghalia
abderaoufb@yahoo.fr méthodes d’analyse et de conception
1 2
Maintenance du logiciel
3 4
1
14/04/2017
5 6
7 8
2
14/04/2017
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
3
14/04/2017
13 14
◦ Une ligne verticale, appelée ligne de vie, est accrochée à chaque rem plirForm ulaire()
objet ou acteur
vérifieratric ule()
◦ La ligne de vie s’épaissie pour devenir une boite d’activation
recherc her()
lorsque l’objet est actif, i.e., durant la période d’activation.
◦ Un message est représenté par une flèche joignant une boite
Alt
d’activation. iden tifié
[m atricu le
identifié]
◦ Un message a un nom et peut aussi avoir une liste d’arguments create() «entité»
utilisateur
et une valeur de retour.
[m atriculer
◦ Les diagrammes de séquences et les diagrammes d'état- non identifié]
non identifié
m essage d'erreur
transitions sont les vues dynamiques les plus importantes
d'UML
15 16
4
14/04/2017
17 18
19 20
5
14/04/2017
21 22
23 24
6
14/04/2017
vérifieratric ule()
Période
d’activité recherc her()
de l’objet :
ligne de vie
Alt
iden tifié
[m atricu le
identifié] create() «entité»
utilisateur
[m atriculer
non identifié
non identifié]
m essage d'erreur
25 26
27 28
7
14/04/2017
Opérateur alt « d ia lo g u e »
form ulaire
«contôle»
ctrlS 'authentifier
«entitté»
utilisateur
29 30
Opérateur Loop
L'opérateur "Loop" (boucle) est noté "loop". Cet opérateur
est utilisé pour décrire un ensemble d'interaction qui
s'exécutent en boucle. En général, une contrainte
appelée garde indique le nombre de répétitions (minimum et
maximum) ou bien une condition booléenne à respecter.
31 32
8
14/04/2017
Opérateur Ref
Opérateur Opt
L'opérateur "opt" désigne un fragment combiné optionnel
comme son nom l'indique : c'est à dire qu'il représente un
comportement qui peut se produire... ou pas. Un fragment
optionnel est équivalent à un fragment "alt" qui ne
posséderait pas d'opérande else (qui n'aurait qu'une seule
branche). Un fragment optionnel est donc une sorte
de SI...ALORS.
Les interactions contenues dans le fragment ne seront
réalisées que si la condition est vérifiée.
Équivalent à un opérateur alternative avec une seule
condition
35 36
9
14/04/2017
37
10
22/04/2017
UML (Unified
(Unified Modeling Language )
A. Benghalia
abderaoufb@yahoo.fr
1 2
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
1
22/04/2017
En UML, le modèle structurel ou statique d’un système est Les diagrammes de cas d'utilisation modélisent à QUOI sert
décrit à l'aide de deux sortes de diagrammes : le système.
− Diagrammes de classes (description de tout ou d'une partie Le système est composé d'objets qui interagissent entre eux
du système d'une manière abstraite en termes de classes et de et avec les acteurs pour réaliser ces cas d'utilisation.
relations). Les diagrammes de classe permettent de spécifier la structure
− Diagrammes d'objets (description d'exemples de et les liens entre les objets dont le système est composé.
configuration de tout ou partie du système, en termes
d'objets, de valeurs et de liens).
5 6
7 8
2
22/04/2017
Décrit la structure interne du système, sous forme de La notion de classe est essentielle en programmation
classes (attributs + opérations) et de relations entre orientée objet : elle définit une abstraction, un type abstrait
classes. Ne montre pas comment utiliser les
opérations = description statique. qui permettra plus tard d’instancier des objets.
On distingue généralement des classes abstraites (qui ne
DEFINITION : peuvent pas être instanciées) et des classes "normales", qui
• Classe : servent à définir des objets.
modélisation de l’ensemble des objets ayant : La classe intègre les concepts de type (en tant que «moule
• attributs similaires à instances »)
• comportement en commun
• relations communes avec d’autres objets
9 10
attributs NomClasse
opérations
11 12
3
22/04/2017
+ public (visible par tous) : l’élément est visible pour tous les
opérations
clients de la classe
- privé (visible dans la classe uniquement) : l’élément n’est
visible que par les objets de la classe dans laquelle il est déclaré
# protégé (visible dans la classe et ses sous classes)
13 14
Nom de l'attribut
Les attributs définissent les propriétés des objets de la classe. Il ne doit pas comporter d'espaces, de signes de ponctuation ou
Un attribut est défini par un nom, un type de données, une d'accents. Pour remplacer les espaces, plusieurs conventions
visibilité et peut être initialisé. Le nom de l’attribut doit être existent : on peut utiliser le symbole _ ou changer la première
unique dans la classe. lettre du mot en majuscule
Les attributs représentent les données encapsulées dans les Exemple :
objets de cette classe. nom de l'objet peut s’écrire nomObjet ou nom_objet).
La syntaxe d'un attribut est la suivante :
Visibilité nomAttribut [multiplicité] : typeAttribut = Initialisa Multiplicité
tion ; La multiplicité représente le nombre de fois que la variable peut
exister. Elle est représentée entre crochets.
Par exemple : si une personne possède 2 numéros de téléphone,
on préfèrera noTelephones[2] à noTelephone1 et noTelephone2.
15 16
4
22/04/2017
17 18
opérations
Sa syntaxe est la suivante :
Visibilité nomFonction(directionParamètreN nomParamètreN : type
ParamètreN) : typeRetour
19 20
5
22/04/2017
Direction du paramètre Comme pour les attributs de classe, il est possible de déclarer des
Indique si le paramètre est rentrant (in), s'il est sortant (out) ou s'il est méthodes de classe.
rentrant et sortant (inout). Une méthode de classe ne peut manipuler que des attributs de classe et
Exemple ses propres paramètres.
+ getAge() : int ->méthode publique qui retourne un entier Cette méthode n’a pas accès aux attributs des instances de la classe.
# calculerAge(in dateNaissance : Date) : void -> L’accès à une méthode de classe ne nécessite pas l’existence d’une
instance de cette classe. Graphiquement, une méthode de classe est
méthode protégée prenant comme paramètre dateNaissance de type Date
soulignée.
et ne retournant rien (void)
21 22
une classe abstraite est une classe dont l'implémentation n'est pas
complète et qui n'est pas instanciable. Elle sert de base à d'autres
classes dérivées (héritées). Pour indiquer qu’une classe est abstraite,
on ajoute le mot-clé abstract derrière son nom.
Le mécanisme des classes abstraites permet de définir des
comportements (méthodes) dont l'implémentation (le code dans la
méthode) se fait dans les classes héritées. Relation entre les classes
Prenons l'exemple suivant : vous avez une classe Humain, à partir
de laquelle dérivent la classe Homme et la classe Femme. En toute
logique, Homme et Femme sont instanciables (les objets créés ont
une existence en soi), mais la classe Humain sera déclarée abstraite
car un objet Humain n'existe pas en tant que tel, puisqu'il manque
l'information sur le sexe.
Ici, la classe Humain servira à implémenter des méthodes qui
seront utilisées à la fois pour Homme et pour Femme.
23 24
6
22/04/2017
La généralisation est une relation d’héritage entre une classe générale Les propriétés principales de l’héritage sont :
(super classe ou classe parent) et une classe spécialisée (sous-classe ou Tous les attributs qui se trouvent dans la Super-Classe sont vrais
classe enfant). dans toutes les sous-classes.
La classe enfant possède toutes les propriétés de ses classes parents,
La classe spécialisée est intégralement cohérente avec la classe de mais elle ne peut accéder aux propriétés privées de celle-ci.
base, mais comporte des informations supplémentaires (attributs, Toutes les associations de la classe parent s’appliquent aux classes
opérations, associations). dérivées.
25 26
Classe plus
spécialisation
généralisation
SUPER CLASSE
générale
Une association est une relation entre deux classes (association
binaire) ou plus (association n-aire), qui décrit les connexions
SOUS Classe plus structurelle entre leurs instances ("est produit par", "est affilié
CLASSE détaillée à","se trouve à", "est conduit par"…).
TYPES ASSOCIATIONS
Association binaire : Association n-aire :
associe 2 classes associe plus de 2 classes
créer
affecter
FONCTION
27 28
7
22/04/2017
Une classe-association possède à la fois les propriétés des Une agrégation est une forme spéciale d’association exprimant une
associations et des classes : elle se connecte à deux ou plusieurs relation d’inclusion structurelle ou comportementale d’éléments
classes et possède également des attributs et des opérations. (agrégés) dans un ensemble (agrégat).
Une classe-association est reliée par un trait discontinu à Graphiquement, on ajoute un losange vide du côté de l’agrégat.
l’association qu’elle représente. La composition, également appelée agrégation composite, décrit
une contenance structurelle (contenance physique) entre instances.
Ainsi, la destruction de l’objet composite implique ladestruction
de ses composants.
Graphiquement, on ajoute un losange plein du côté de
l’agrégat.
29 30
31 32
8
22/04/2017
Multiplicités :
1 un et un seul M..N de M à N (entiers naturels)
* plusieurs 1..* de 1 à plusieurs
Chaque extrémité d’une association permet
de préciser le Rôle joué par chaque 0..1 zéro ou un 0..* de zéro à plusieurs
Classe dans l’Association. Pour un rôle, il
est possible de préciser
Emploie >
Nom du rôle Personne
Multiplicité
Université 0..1 *
Employeur Employé
Exactement 1
1
33 34
MULTIPLICITES (cardinalités):
SERVICE 1 Un et un seul
0.. Zéro ou Un Encapsulation, Héritage et Polymorphisme
1
0 .. 1 0 .. 1 0 .. 1
M.. De M à N (entiers
rattacher à
N naturels)
diriger
prêter
9
22/04/2017
L’encapsulation est le fait qu’un objet renferme ses propres attributs et Chaque sous classe peut avoir une ou plusieurs sous classes formant
ses méthodes. ainsi une hiérarchie d’objet. On parle de classe ancêtre (ou mère) et de
Une classe encapsule les propriétés (attributs et méthodes) des objets classes descendant (ou fille).
qu‘elle regroupe.
L'encapsulation est un mécanisme consistant à rassembler les L’héritage est un mécanisme qui permet d’assurer une grande variabilité
données et les méthodes au sein d'une structure. L'encapsulation permet dans la réutilisation des objets.
donc de garantir l'intégrité des données contenues dans l'objet.
37 38
39 40
10
22/04/2017
41 42
Exercice
L'accès aux salles de bain est compris dans le prix de la location d'une
chambre. Certaines chambres comportent une salle de bain, mais pas
toutes. Les hôtes de chambres sans salle de bain peuvent utiliser une
salle de bain sur le palier. Ces dernières peuvent être utilisées par
plusieurs hôtes.
Les pièces de l'hôtel qui ne sont ni des chambres, ni des salles de bain
(hall d'accueil, cuisine...) ne font pas partie de l'étude (hors sujet).
11
22/04/2017
45 46
Lorsque des objets ont les mêmes attributs et Le nom d’un objet est toujours souligné. Il peut prendre trois
comportements : ils sont regroupés dans une famille formes :
appelée : Classe. nom_objet (on indique le nom de l’objet)
Les objets appartenant à celle-ci sont les instances de cette nom_objet : Nom_classe (le nom et la classe de l’objet
classe. séparés par un double point)
L’instanciation est la création d’un objet d’une classe. : Nom_classe (seulement la classe de l’objet est indiquée,
l’objet est alors dit anonyme).
47 48
12
22/04/2017
Facturation :: Facture
Facturation
Client
1 * 1
Client Société
Concerner
1
Acheter
1 *
Commande Produit
Comptabilité
49 50
13
14/05/2017
UML (Unified
(Unified Modeling Language )
A. Benghalia
abderaoufb@yahoo.fr
1 2
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
1
14/05/2017
Les diagrammes d'états-transitions d'UML décrivent le Un automate à états finis est un ensemble fini d'états, l'état
comportement interne d'un objet à l'aide d'un automate à états où il se trouve est appelé l'« état courant ». Le passage d'un
finis. état à un autre est dirigé par un événement ou une condition ;
Ils présentent les séquences possibles d'états et d'actions ce passage est appelé une « transition ».
qu'une instance de classe peut traiter au cours de son cycle de Un automate est défini par la liste de ses états et par les
vie en réaction à des événements discrets. conditions des transitions.
Objectif : Décrire le comportement dynamique d'une entité On rencontre couramment des automates finis dans de
Un diagramme d’états-transitions modélise le cycle de vie nombreux appareils qui réalisent des actions déterminées en
(comportement) d’un objet ou d’un système pris dans son fonction des événements qui se présentent.
ensemble. Exemple : un distributeur automatique de boissons qui
délivre l'article souhaité quand le montant introduit est
approprié
5 6
Représentation du comportement des objets d’une classe en Le comportement est modélisé par un graphe :
terme d’états et de transitions d’états ◦ Nœuds = états possibles des objets
Comportement décrit par états + transitions entre les états ◦ Arcs = transitions d’état à état.
◦ État : abstraction d'un moment de la vie d'une entité pendant lequel Une transition :
elle satisfait un ensemble de conditions ◦ exécution d’une action
◦ Transition : changement d'état ◦ réaction de l’objet sous l’effet d’une occurrence d’évènement
Lorsque les événements se produisent, les objets changent
d’état en respectant les règles décrites
Les diagrammes d’états-transitions sont des graphes
orientés
Les états sont reliés par des connexions unidirectionnelles
appelées transitions
7 8
2
14/05/2017
Un diagramme d’états-transition est toujours associé à une L'ensemble des états du cycle de vie d'un objet contient un
et une seule classe. Un objet peut passer par plusieurs états état initial.
pendant sa durée de vie. Il peut également contenir un ou plusieurs états finaux.
Un état représente une période dans la vie d'un objet Ceux-ci correspondent à une phase de destruction de
pendant laquelle ce dernier attend un événement ou l'objet.
accomplit une activité. Il arrive également qu'il n'y ait pas d'état final car un objet
L'état de l'objet correspond à un moment de son cycle de peut ne jamais être détruit.
vie.
9 10
Son rôle, est de décrire le fonctionnement d’une machine un état, se représente graphiquement dans un diagramme
(ou d’un objet) ayant un comportement séquentiel. d'états-transitions par un rectangle aux coins arrondis
Il représente les différents états (situations) dans lesquels Un diagramme d’états a toujours un et un seul état initial
peut se trouver ainsi que la façon dont cette machine (ou pour un niveau hiérarchique donné.
l'objet) passe d’un état à l’autre en réponse à des Il peut n’avoir aucun état final ou plusieurs.
événements. Un état correspond à la situation d’un objet pendant un
Il considère les concepts suivants : certain temps.
◦ les états
◦ les transitions et les événements
◦ les actions et les activités.
11 12
3
14/05/2017
13 14
15 16
4
14/05/2017
17 18
19 20
5
14/05/2017
21 22
6
14/05/2017
25 26
27 28
7
14/05/2017
31 32
8
14/05/2017
33 34
35
9
14/05/2017
A. Benghalia
abderaoufb@yahoo.fr
1 2
Un processus ou une démarche, est dans la majorité des La partie produit est la cible désirée d’un développement de
cas, un ensemble d’activités inter reliées et menées dans le SI.
but de définir un produit. La partie processus (aussi appelée « partie démarche ») est
Un processus ou une démarche est un ensemble cohérent la route à suivre pour atteindre ce but.
d’activités permettant la construction d’un SI. Plus le projet est grand plus le processus de construction
Il représente l’ensemble des étapes permettant de spécifier devient complexe et se doit d’être :
◦ • Les décisions à prendre
◦ • Comment les prendre ◦ clair et précis pour une utilisation optimale de la
◦ • Dans quel ordre modélisation.
3 4
1
14/05/2017
5 6
Le but principal d'un système informatique est de Le développement d’un logiciel peut s’étendre sur
satisfaire les besoins du client. plusieurs mois. Tout le logiciel ne sera pas développer
Le processus de développement sera donc accès sur d’un coup.
l'utilisateur. On peut découper le travail en plusieurs parties qui sont
Les cas d'utilisation permettent d'illustrer ces besoins. Ils autant de mini projets. Chacun d’entre eux représentant
détectent puis décrivent les besoins fonctionnels (du point une itération qui donne lieu à un incrément.
de vue de l'utilisateur), Une itération désigne la succession des étapes de
S’il est vrais que les cas d’utilisation guident le processus l’enchaînement d’activités,
de développement, ils ne sont pas sélectionnés de façon tandis qu’un incrément correspond à une avancée dans
isolée, mais doivent absolument être développés "en les différents stades de développement.
tandem" avec l’architecture du système.
7 8
2
14/05/2017
9 10
Permet de limiter les retards, les coûts, en termes de Dès le démarrage du processus, on aura une vue sur
risques, aux dépenses liées à une itération. l'architecture à mettre en place.
Identification des problèmes dès les premiers stades de L’architecture d’un système logiciel peut être décrite
développement et non pas en phase de test comme avec comme les différentes vues du système
l’approche « classique »). L’architecture logicielle équivaut aux aspects statiques et
Permet d’accélérer le rythme de développement grâce à des dynamiques les plus significatifs du système.
objectifs clairs et à court terme. L’architecture émerge des besoins de l’entreprise, tels
Permet de prendre en compte le fait que les besoins des qu’ils sont exprimés par les utilisateurs et autres
utilisateurs et les exigences correspondantes ne peuvent intervenants et tels qu’ils sont reflétés par les cas
être intégralement définis à l’avance et se dégagent peu à d’utilisation.
peu des itérations successives
11 12
3
14/05/2017
Les cas d’utilisation doivent une fois réalisés, trouver leur Le processus unifié répète un certain nombre de fois une
place dans l’architecture. série de cycles.
L’architecture doit prévoir la réalisation de tous les cas Tout cycle se conclut par la livraison d’une version du
d’utilisation. produit aux clients et s’articule en
L’architecture et les cas d’utilisation doivent évoluer de 4 phases et Chaque phase se subdivise à son tour en
façon concomitante. itérations.
L’architecture se dévoile peu à peu, au rythme de la Un groupe de 4 phases = un cycle
spécification et de la maturation des cas d’utilisation, qui Les 4 phases qui composent le processus UP
favorisent, à leur tour, le développement d’un nombre 1-Création 3-Construction
croissant de cas d’utilisation. 2- Elaboration 4-Transition
13 14
Itération
4
14/05/2017
17 18
Construction Transition
Consiste à concevoir et implanter l’ensemble des éléments Permet de faire passer l’application des développeurs aux
opérationnel. utilisateurs finaux.
Développement du logiciel exécutable. C’est la mise en production du logiciel, avec la conversion
L’architecture de référence devient un produit complet. des données, la formation des utilisateurs, le déploiement,
Le produit contient tous les cas d’utilisation que les chefs les beta-tests.
de projet ont décidé de mettre au point pour cette version. Un groupe d’utilisateurs essaye le produit et détecte les
La première version peut encore avoir des anomalies qui anomalies et défauts.
peuvent être en partie résolues lors de la phase de Peut nécessiter la mise en œuvre d’un service d’assistance
transition. ou la correction des anomalies. détectées (ou le report à la
version suivante).
19 20
5
14/05/2017
21 22
La conception Implémentation
permet d'acquérir une compréhension approfondie des L'implémentation est le résultat de la conception pour
contraintes liées au langage de programmation, à implémenter le système sous formes de composants,
l'utilisation des composants et au système d'exploitation. Les objectifs principaux de l'implémentation sont de
Elle détermine les principales interfaces et les transcrit à planifier les intégrations des composants pour chaque
l'aide d'une notation commune. itération, et de produire les classes et les sous-systèmes
Elle constitue un point de départ à l'implémentation : sous formes de codes sources.
elle décompose le travail d'implémentation en sous-
système
elle créée une abstraction transparente de l'implémentation
23 24
6
14/05/2017
25 26