Vous êtes sur la page 1sur 29

02/02/2021

Université d’Alger 1-Ben Youcef Ben Khedda


Faculté des Sciences
Département de Mathématiques et Informatique

A. Benghalia
abderaoufb@yahoo.fr

« Ensemble de moyens humains et matériels et


de méthodes permettant de réaliser les
traitements nécessaires sur les différentes
formes d’information pour la bonne conduite
de l’organisation »

nécessité d’une conception efficace

méthodes d’analyse et de conception

1
02/02/2021

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
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation

2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML

3. Chapitre 3 : Modélisation de S.I. avec UML


3.1 La vue fonctionnelle
3.2 La vue dynamique
3.3 La vue statique

Chapitre 1 : Le Génie Logiciel


1. Introduction : le logiciel
Où se trouve le logiciel ?

2
02/02/2021

Chapitre 1 : Le Génie Logiciel


1. Introduction : le logiciel
Logiciel- définition :
 Traduction du terme anglais « software » par Philippe Renard,
Commission spécialisée de terminologie et de néologie de
l'informatique et des composants,
« Ensemble de programmes, procédés et règles, et
éventuellement de la documentation, relatifs au
fonctionnement d'un ensemble de traitement de données »,
 Le terme « programme » se définissant comme une suite
d'instructions permettant de réaliser une ou plusieurs
tâche(s), de résoudre un problème, de manipuler des
données. Le programme est l'expression d'un algorithme
dans un langage donné pour une machine donnée

Chapitre 1 : Le Génie Logiciel


1. Introduction : le logiciel

Logiciel- définition :

Tout simplement un logiciel est


« est un ensemble de programmes qui permet à
l'ordinateur ou à un système informatique de
réaliser une ou plusieurs tâches particulières »

3
02/02/2021

Chapitre 1 : Le Génie Logiciel


1. Introduction : le logiciel

Décider des actions. Système de decision

Collecter, mémoriser,
traiter et
distribuer l’information. Système
d’information

Assurer les fonctions :


. facturer les clients, Système opérant
. fabriquer les produits,

Diversité
des produits Augmentation
de la qualité
Augmentation
de la concurrence

Augmentation Ouverture des


de la réactivité marchés

Améliorer en permanence la qualité, le coût et la productivité :


C’est l’enjeu majeur des entreprises

Quels outils donner au décideur pour comprendre,


dimensionner, piloter, et gérer ces systèmes

4
02/02/2021

Logiciel - caractéristiques :
 Développé par l’être humain ,
 Dont l’assemblage est difficile,
 et sa maintenance devant être assurée par ceux qui
l’ont développé,
 Peut être :
 Un logiciel système : Propriétaire d’un constructeur, qui est très
dépendant du matériel (OS, Logiciel de firewall, Drivers,…) ou
propriétaire d’un éditeur qui est une boîte noire généralement
paramétrable (SGBD)
 Un logiciel application : Propriétaire d’un éditeur et assurant une
fonction précise (ERP, Bureautique, application de loisir); ou
développé pour les besoins spécifiques de l’entreprise, soit par
elle-même, soit par l’intermédiaire de sociétés de services.

Logiciel – caractéristiques - la qualité :


Qu’est ce qu’un bon logiciel ? Plusieurs
exigences (critères existent, les plus complets
sont ceux de l’ISO/IEC 9126 qui distingue deux
structures de la qualité du logiciel :
 La qualité interne et externe est modélisée à
travers les six dimensions : fonctionnalité,
fiabilité, utilisabilité, efficacité, maintenabilité
et portabilité;
 La qualité du logiciel en usage est modélisée à
travers quatre autres dimensions : efficacité,
productivité, sécurité et satisfaction.

5
02/02/2021

Chapitre 1 : L’entreprise
1. Notion de l’entreprise
Logiciel – caractéristiques – la qualité :

Chapitre 1 : L’entreprise
1. Notion de l’entreprise
Logiciel caractéristiques - la qualité :
 Il faut ajouter à ces exigences deux critères :
 Le coût,
 Le délai.
 Les objectifs de qualité doivent être définis
pour chaque logiciel, qu’il faut contrôler durant
son développement et après,
 Ces différentes exigences de qualité ne sont
pas toujours compatibles, ni même réalisables;
 Il est nécessaire de trouver des compromis;

6
02/02/2021

Chapitre 1 : L’entreprise
1. Notion de l’entreprise
Logiciel – caractéristiques – la qualité :

Chapitre 1 : L’entreprise
1. Notion de l’entreprise
Logiciel – caractéristiques – la qualité :

7
02/02/2021

Chapitre 1 : L’entreprise
1. Notion de l’entreprise
Logiciel – caractéristiques – la qualité :

Comme tout
projet, la
C’est l’un
réalisation d'un
logiciel est soumise
des buts du
à des exigences Génie Logiciel
contradictoires et
difficilement
conciliables
(triangle coût-
délai-qualité).

 Introduction
 Génie Logiciel : Enjeux,
 Modèles de cycle de vie d’un logiciel
 Modélisation, Modèle
 Modélisation orienté objet (Historique + Concepts)

16

8
02/02/2021

« Ensemble de moyens humains et matériels et


de méthodes permettant de réaliser les
traitements nécessaires sur les différentes
formes d’information pour la bonne conduite
de l’organisation »

nécessité de conception

méthodes d’analyse et de conception

17

 L’objectif est de réaliser un bon logiciel.


 Qu’est ce qu’un logiciel d’abord ?
Un logiciel est un ensemble de programmes qui
permet à l'ordinateur ou à un système informatique
de réaliser une ou plusieurs tâches particulières.

18

9
02/02/2021

 Qu’est ce qu’un bon logiciel ?


 - Il doit être maintenable : changement régulier,
bonne documentation.
 - Le Software doit être robuste : plusieurs utilités.
 - Le Software doit être efficace : bonne utilisation
des ressources (Processeur, Mémoires…)
 - Le Software doit fournir une interface appropriée
à l’utilisateur : l’interaction Homme/Machine.

19

Concepts du Génie logiciel

20

10
02/02/2021

 Réduire les différents coûts de développement du


logiciel en optimisant le processus de production d'un
logiciel,
 Produire des logiciels de qualité selon les besoins des
client,
 Satisfaire les clients en respectant le délai de livraison et
le coût de réalisation prévu.

Logiciel maintenable, robuste, fiable,


efficace et doit offrir une interface
utilisateur appropriée

21

 Le génie logiciel (software engineering) représente


l'application de principes d'ingénierie au domaine de la
création de logiciels,
 Le « génie logiciel, Software Engineering » a été
introduit en 1968 lors d’une conférence internationale sur
la « crise du logiciel » pour faire face à la mauvaise
qualité des logiciels et le non respect des besoins des
clients,
 Il consiste à identifier et à utiliser des méthodes, des
pratiques et des outils permettant de maximiser les
chances de réussite d'un projet logiciel,
 Le génie logiciel et la méthodologie s’efforcent de couvrir
tous les aspects de la vie du logiciel (Cycle de vie
standard d’un logiciel).

22

11
02/02/2021

Cycle de vie d’un logiciel

Analyse et spécification des besoins

Conception du logiciel

Implémentation du logiciel

Test du logiciel

Maintenance du logiciel

23

Modèles de cycles
de vie d’un logiciel

24

12
02/02/2021

 Le cycle de vie en cascade


Etude de faisabilité

Validation

Définition des besoins

Validation
Conception générale

Vérification
Conception détaillée

Vérification
Codage

Tests unitaires Intégration

Tests d ’intégration Implémentation

25

 Les phases traditionnelles de développement sont


effectuées les unes après les autres, avec un retour sur les
précédentes, voire au tout début du cycle,
 Le processus de développement utilisant un cycle en
cascade exécute des phases qui ont pour caractéristiques :
◦ de se terminer à une date précise ;
◦ de ne se terminer que lorsque les livrables sont jugés
satisfaisants lors d'une étape de validation-vérification.

26

13
02/02/2021

 Le cycle de vie en V
Analyse des besoins Test d ’acceptation

Conception du système Test du système

Conception du
Test du composant i
composant i

Codage du composant i

27

 Une activité peut commencer avant d’avoir terminé la


précédente,
 Toute description d'un composant est accompagnée de
tests,
 Ce modèle est une amélioration du modèle en cascade qui
permet en cas d'anomalie, de limiter un retour aux étapes
précédentes,
 Les phases de la partie montante doivent renvoyer de
l'information sur les phases en vis-à-vis lorsque des défauts
sont détectés afin d'améliorer le logiciel.
28

14
02/02/2021

 Le cycle de vie en spirale


◦ fournir le plus rapidement possible un prototype pour
valider les concepts
◦ se rapprocher progressivement de l’application finale

Conception du système Analyse des besoins

3
Développement Exploitation

29

Modélisation et Concepts

30

15
02/02/2021

Système de décision

Décisions ?

Analyse des aspects Informationnels


Système d’information
On cherche à concevoir
Informations ?

Flux physique ? Les objets manipulés dans l’entreprise


Système opérant

Objets d’entreprise Relations entre les objets

Concevoir un logiciel

31

 La modélisation est la conception d'un modèle.


 Objectif principal de la modélisation = maîtriser la complexité
 Modéliser = abstraire la réalité pour mieux comprendre le
système à réaliser
 Le modèle doit être relié au monde réel
 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
vérifier et valider la cohérence de l’architecture logiciel et leur
contexte,

32

16
02/02/2021

Flux physique ?
Analyse des aspects fonctionnels
Système opérant
On cherche à décrire

Ce que fait l’entreprise en termes de taches à exécuter

La fonctionnalité de l’entreprise Le comportement de l’entreprise

Activité Processus

33

Activité

informa
tion

Entrée (I) Sortie (O)


Activité

Activité :
Ressources Est une transformation qui ajoute de la valeur.
elle implique un certain nombre de ressources
( des personnes, de l’argent , des matières et
du matériel ) pour transformer un objet
d’entrée en un objet de sortie.

34

17
02/02/2021

Processus
Processus
Entrée
Acitivité1

Matières- Activité2
Sortie
… Activité n Objectif
premières
Énergie Biens matériels
Informations ou immatériels

Enchainement logique d’activités

Processus :
Est un enchainement logique d’activités dans le temps afin de réaliser un but.

35

Modélisation Orienté Objet

36

18
02/02/2021

 Les premières méthodes d'analyse (années 70)

 L'approche systémique (années 80)


◦ Modélisation des données + modélisation des
traitements (Merise).
 L'émergence des méthodes objet (1990-1995)
◦ Analyse sur les données et les traitements
◦ Plus de 50 méthodes objets (dont OMT, OOSE)

 1995 : Premier consensus


◦ OMT : Notation graphique riche (General Electric)
◦ OOD : concept de package ( élèment d’organisation des
modèles)
◦ OOSE : La méthodologie repose sur l'analyse des besoins
des utilisateurs (Ericsson).
 Unification et la normalisation des méthodes (1995-
1997)
◦ OMG : Object Management Group. Association de
professionnels de l'informatique orientée objet.
◦ 14 novembre 1997 : UML adopté par l’OMG

19
02/02/2021

 Fournir une boite à outils pour la modélisation


 S'occuper de l'interface utilisateur.
 Prendre le problème de maintenance en compte
 Structurer la démarche projet
 Favoriser le dialogue utilisateur - informaticien

 Relier le modèle au monde réel par la notion d’objet


 Orienté objet = abstraire et décomposer le système
informatique en objets
◦ Le monde réel est constitué d’objets physiques ou
immatériels
◦ Tracer les objets virtuels de modélisation depuis les objets
du monde réel
 Relier les objets (réels) du problème et les objets
(virtuels) de la solution

40

20
02/02/2021

 Objets possédant un nom, qualifiables, classables,


polymorphes, dé-/composables, interagissants avec d’autres
objets, etc.
 Meilleure capacité d’adaptation et d’évolution du modèle
lorsque des fonctionnalités sont modifiées ou ajoutées
 L’approche orientée objet est une façon d’aborder un
problème et de le découper en petits sous-problèmes. On
commence par rechercher les objets du système puis leurs
interactions.

41

 Rechercher les différents types d’objets qui font partie du


système à réaliser :
 la banque, les clients, les comptes bancaires, les conseillers
clients, les transferts, les placements, les emprunts.
 Etudier ensuite les interactions entre ces différents types
d’objets : par exemple, la création d’un compte bancaire
nécessite des interactions entre le client et un conseiller client

42

21
02/02/2021

Notions et principes de l’orienté


objet: Abstraction, Encapsulation,
Héritage, Polymorphisme

43

 Une classe regroupe des propriétés et des


comportements.
 En OO, les comportements sont appelés
méthodes et les propriétés variables
d'instance.

44

22
02/02/2021

 Un objet est une instance de classe, c'est-à-


dire un exemplaire utilisable crée à partir de
cette classe et en valorisant certaines
propriétés.

45

 L’abstraction : Abstraire : Oter les détails pour ne retenir que la


principale
substance/caractéristique/propriété qui donne du sens à ...
Abstraction : la principale façon de construire des modèles
= structurer des données et les contraindre par des propriétés.

46

23
02/02/2021

 L’encapsulation est le fait qu’un objet renferme ses propres attributs et


ses méthodes.
 Une classe encapsule les propriétés (attributs et méthodes) des objets
qu‘elle regroupe.
 L'encapsulation est un mécanisme consistant à rassembler les
données et les méthodes au sein d'une structure. L'encapsulation permet
donc de garantir l'intégrité des données contenues dans l'objet.

47

 La généralisation est une relation d’héritage entre une classe générale


(super classe ou classe parent) et une classe spécialisée (sous-classe ou
classe enfant).

 La classe spécialisée est intégralement cohérente avec la classe de


base, mais comporte des informations supplémentaires (attributs,
opérations, associations).

 Le symbole utilisé pour la relation d’héritage ou de généralisation est


une flèche avec un trait plein dont la pointe est un triangle fermé
désignant le cas le plus général.

48

24
02/02/2021

 Les propriétés principales de l’héritage sont :


 Tous les attributs qui se trouvent dans la Super-Classe sont vrais
dans toutes les sous-classes.
 La classe enfant possède toutes les propriétés de ses classes parents,
mais elle ne peut accéder aux propriétés privées de celle-ci.
 Toutes les associations de la classe parent s’appliquent aux classes
dérivées.

49

Classe plus
spécialisation

SUPER CLASSE
généralisation

générale

SOUS Classe plus


CLASSE détaillée

50

25
02/02/2021

 Chaque sous classe peut avoir une ou plusieurs sous classes formant
ainsi une hiérarchie d’objet. On parle de classe ancêtre (ou mère) et de
classes descendant (ou fille).

 L’héritage est un mécanisme qui permet d’assurer une grande variabilité


dans la réutilisation des objets.

51

C’est un mécanisme qui permet à une sous classe de redéfinir une


méthode dont elle a hérité tout en gardant la même signature de la méthode
héritée.

Ainsi on peut avoir une méthode avec la même tête (même signature) et
des corps différents (codes différents) : polymorphisme.

Un même message peut ainsi déclencher des traitements différents selon
l’objet auquel il fait appel.

Un message polymorphe poserait un problème à la compilation car on ne


saurait identifier précisément la méthode qu’il vise.

52

26
02/02/2021

Il s’agit de :

hiérarchiser et organiser les connaissances sous forme pyramidale.

diviser les comportements d’une classe de façon hiérarchique.

 Cela permet une compréhension plus rapide du problème.

 C’est aussi un système de classification.

53

UML (Unified Modeling Language )

54

27
02/02/2021

55

UML a unifié les modélisations objet concurrentes et

s'est imposé comme modélisation pour la conception de

logiciel orienté objet

56

28
02/02/2021

langage de modélisation objet unifié


 UML n’est pas une méthode

 c'est un langage de modélisation dédié à l'objet.

 L'approche est faites par des diagrammes destinés à

modéliser plusieurs domaines :


 Les diagrammes structurels (vue statique)
 Les diagrammes comportementaux (vue
fonctionnelle)
 Les diagrammes d'interaction (vue
dynamique)

57

58

29

Vous aimerez peut-être aussi