Académique Documents
Professionnel Documents
Culture Documents
Semestre: S2
Responsable du Module:
Département Prof. Mimoun MALKI
d’Informatique
24/02/2024 1
I. Introduction
II. Notion de Système d’information
III. Génie logiciel (Background) : Rappel
◦ Définition de logiciel
◦ Typologie de logiciel
◦ Définition GL
◦ Importance du Génie logiciel
◦ Processus de développement de logiciel
IV. Notions de besoins (Exigences)
o Définitions
o Exigences fonctionnelles et non fonctionnelles
o Cahier des charges : Le document définissant les exigences logicielles
V. Spécification des besoins
◦ Façon d’écrire des spécifications des besoins
◦ Spécification Structurée
◦ Spécification formatée
VI. Processus d’ingénierie des besoins
◦ Elicitation des exigences
◦ Analyse des exigences
◦ Validation des exigences
◦ Management des exigences
VII. Schéma Directeur Informatique
24/02/2024 2
1. Roger Pressman, SOFTWARE ENGINEERING: A PRACTITIONER’S
APPROACH, EITH EDITION, Published by McGraw-Hill
2. Ian Sommerville SOFTWARE ENGINEERING, Ninth Edition, Addison Wisley
3. John W. Satzinger, Robert B. Jackson, Stephen D. Burd SYSTEMS ANALYSIS
AND DESIGN IN A CHANGING WORLD, Sixth Edition, CENPAGE
4. Yves Constantinidis, Michel Volle - Expression des besoins pour le système
d'information- Eyrolles (2010)
24/02/2024 3
I. Introduction
Les dépenses de logiciels représentent une part significative du PIB des nations
développées.
Les logiciels coutent plus cher à maintenir qu’à développer. Systèmes à longue vie.
24/02/2024 4
II. Notion de Système d’information
SI d’une Organisation
Un système organisé à partir de différentes ressources :
Un système d’information peut être défini à plusieurs niveaux
III. Génie logiciel : Background
Programmes
Données
Documentation
24/02/2024 8
Définition du terme « Logiciel » (1)
24/02/2024 9
Typologie de logiciel
Applications indépendantes : Applications fonctionnant sur un ordinateur local et
qui possède toute les fonctionnalités et ne nécessite donc pas de se connecter à
d’autres systèmes .
Applications interactives à base de transactions : Applications qui s’exécutent sur
une machine distante accédée par l’utilisateur depuis sa machine (sites Web, e-
commerce, …) .
Systèmes de contrôle embarqués : Logiciels de contrôlent de dispositifs matériels
(contrôle missiles, fusées, …)
Applications batch : Principalement des applications de gestion destinées à traiter
de gros volumes de données pour produire de gros volumes de résultats en sortie
(gestion des comptes bancaires).
Logiciels de jeux .
Systèmes de modélisation et de simulation : Systèmes développés par les
scientifiques pour modéliser des processus physiques (météo, écoulement de fluide
sur les ailes d’avions, …).
Systèmes de collectes de données (capteur sensor IOT ou objets connectés) :
Systèmes qui collectent des données à l’aide de capteurs et les transmettent à
d’autres systèmes pour traitement .
24/02/2024 10
Définition Génie logiciel
Définition du terme « Génie Logiciel » : On appelle génie logiciel l’application de
méthodes scientifiques au développement de théories, méthodes, techniques,
langages et outils favorisant la production de logiciels de qualité.
Définition par l’IEEE du terme « Génie Logiciel » : L’application d’approches
systématiques, rigoureuses, quantifiables pour le développement, la mise en œuvre
et la maintenance d’un logiciel, c’est à dire l’application de l’ingénierie au domaine
du logiciel.
24/02/2024 11
Synthèse
24/02/2024 12
24/02/2024 13
Processus de développement de logiciel
24/02/2024 14
Processus agile vs dirigé par planification
Dans un processus dirigé par la planification, toutes les activités sont planifiées à
l’avance et les progrès sont mesurés vis-à-vis de ce plan .
Dans les processus agiles, la planification est incrémentale. Il est alors plus facile
de changer le processus pour refléter les changements de besoins utilisateurs .
24/02/2024 15
Les modèles de développement de logiciel
24/02/2024 16
Modèle en V :
24/02/2024 17
Le modèle en spirale
Le cycle en spirale met plus l'accent sur la gestion des risques que le cycle en V. En
effet, le début de chaque itération comprend une phase d'analyse des risques.
Celle-ci est rendue nécessaire par le fait que, lors d'un développement cyclique, il y
a plus de risques de défaire, au cours de l'itération, ce qui a été fait au cours de
l'itération précédente.
24/02/2024 18
Développement incrémental (prototypage)
Dans le cycle itératif les deux premières phases classiques (top down, par la
structure) consistent en l’expression des besoins et la conception de la solution.
C’est lors de la troisième et dernière grande phase, la construction du produit
(bottom up, par le besoin) que la notion d’itérations intervient
24/02/2024 19
IV. Notions de besoins (Exigences)
Processus qui définit les services attendus par le client d’un système et les
contraintes sous lesquelles il s’exécutera et sera développé.
24/02/2024 20
IV. Notions de besoins (1)
IV.1 Définitions
Peut aller d’une vision abstraite d’un service ou d’une contrainte d’un système à
une spécification fonctionnelle mathématique détaillée .
Peut être la base d’une négociation d’un contrat doit de ce fait être
ouverte aux interprétations
Peut être la base du contrat lui même doit être défini suffisamment en
détail
24/02/2024 21
IV. Notions de besoins (2)
Besoins utilisateur
Besoins système
Un document structuré décrivant en détail les fonctions du système et les
contraintes.
Définit ce qui devrait être implémenté et peut être faire partie du contrat
entre le client et l’informaticien
24/02/2024 22
IV. Notions de besoins (3)
Exemple1
Système d’information pour la gestion de patients atteints de problèmes
psychiatriques :
Pas d’hospitalisation des patients
Rendez vous réguliers avec des médecins
Rendez vous dans divers dispensaires
24/02/2024 23
Système de gestion de patients en soins psychiatriques (SG-PSP)
24/02/2024 24
Objectifs du SG-PSP :
Générer des informations utiles aux managers pour évaluer les performances
des soins vis-à-vis des objectifs locaux et gouvernementaux
Fournir au personnel médical des informations à jour sur le patient pour aider
à son traitement
24/02/2024 25
24/02/2024 26
Principales caractéristiques du SG-PSP
24/02/2024 27
Points cruciaux du SG-PSP (1)
Sécurité (Safety)
Certaines maladies peuvent conduire les patients à être suicidaires ou à
être dangereux pour les autres alarme envers le personnel médical dans
de telles situations
Le système doit être accessible lorsqu’il y en a besoin, sinon il peut être
impossible de prescrire correctement un soin aux patients
24/02/2024 28
Exigences utilisateurs et système (SG-PSP)
Exigence utilisateur :
Le SG-PSP doit générer tous les mois des rapports montrant le coût des
médicaments prescrits par chaque dispensaire durant ce mois
Exigences système :
Le dernier jour de chaque mois le système doit générer une liste des
médicaments prescrits, leur coûts et les dispensaires qui les ont prescrit
Le système doit automatiquement générer le rapport à imprimer à 17h30
du dernier jour travaillé du mois
Un rapport doit être généré pour chaque dispensaire et doit lister les noms
des médicaments, le nombre total de prescriptions, le nombre de doses
préscrites et le coût total des médicaments prescrits
Si des médicaments sont disponibles avec différents dosages, des rapports
différents doivent être générés pour chaque dosage
L’accès aux rapports doit être limité aux personnels autorisés listés dans
une liste de contrôle d’accès gérée par la direction
24/02/2024 29
IV. Notions de besoins (4)
III.2 Besoins fonctionnelles et non fonctionnelles
A. Besoins fonctionnelles:
Enoncé des services que le système doit fournir.
Comment le système devrait réagir aux diverses entrées.
Comment le système devrait se comporter dans les diverses situations.
Peut également énoncer ce que le système ne devrait pas faire
B. Besoins non fonctionnelles:
Contraintes sur les services et fonctions offertes par le système.
Contraintes de temps.
Contraintes sur le processus de développement .
Utilisation de standards.
S’applique souvent au système global plutôt qu’à des fonctions particulières.
C. Besoins de domaine:
Contraintes sur le système dans son contexte d’utilisation.
24/02/2024 30
A. Besoins fonctionnelles
24/02/2024 31
Exemples d’exigences fonctionnelles pour le SG-PSP
Un utilisateur doit pouvoir rechercher les listes de rendez vous de tous les
dispensaires.
Le système doit générer chaque jour, pour chaque dispensaire, une liste des
patients ayant un rendez vous pour ce jour
Chaque membre du personnel médical utilisant le système doit être identifié
de façon unique par son numéro d’employé sur 12 chiffres
24/02/2024 32
Exemples d’exigences fonctionnelles pour le SG-PSP
Un utilisateur doit pouvoir rechercher les listes de rendez vous de tous les
dispensaires.
Le système doit générer chaque jour, pour chaque dispensaire, une liste des
patients ayant un rendez vous pour ce jour
Chaque membre du personnel médical utilisant le système doit être identifié
de façon unique par son numéro d’employé sur 12 chiffres
24/02/2024 33
Imprécision des Besoins
24/02/2024 34
Complétude et consistance des exigences
24/02/2024 35
B. Exigences non fonctionnelles
Ces exigences peuvent être plus critiques que les exigences fonctionnelles
si elles ne sont pas satisfaites le système peut devenir
inutilisable/inutile
24/02/2024 36
Mise en œuvre des Besoins non fonctionnelles
Les exigences non fonctionnelles peuvent toucher l’ensemble du système plutôt
que des composants individuels
24/02/2024 37
Classification des exigences non fonctionnelles
Exigences produit
Exigences qui spécifient que le produit à concevoir doit se comporter d’une façon particulière
(vitesse, fiabilité, etc)
Exigences organisationnelles
Exigences qui résultent de politiques organisationnelles, de procédures (standards, etc)
Exigences externes
Exigences provenants de facteurs externes au système et à son processus de développement
(lois, éthique, etc) 24/02/2024 38
Exemples d’exigences non fonctionnelles pour le SG-PSP
Exigences produit :
Le SG-PSP doit être accessible à tous les dispensaires durant les horaires de
travail ( Dimanche au Jeudi, 8h30 à 18h). Le temps d’arrêt du système durant
les horaires de travail ne doit pas dépasser 5 secondes par jour.
Exigences organisationnelles :
Les utilisateurs du SG-PSP doivent s’authentifier en utilisant leur carte
d’identité médicale
Exigences externes :
Le système doit implémenter le dispositif de protection de la vie privée
24/02/2024 39
Différence entre objectifs et exigences
Les exigences non fonctionnelles peuvent être très difficiles à définir de façon
précise mais des exigences imprécises peuvent être difficiles à vérifier.
Objectif
Une intention générale
Exemple : “facile d’utilisation”
Les objectifs sont toutefois utiles aux développeurs du fait qu’ils contiennent les
intentions des utilisateurs du système.
24/02/2024 40
Métriques pour spécifier des exigences non fonctionnelles
24/02/2024 41
C. Besoins de domaine
Si les exigences de domaine ne sont pas satisfaites, le système peut ne pas être
utilisable .
24/02/2024 42
C. Besoins de domaine(1)
24/02/2024 43
Problème des exigences de domaine
Compréhensibilité
Les exigences sont exprimées dans le langage du domaine d’application
Cela n’est en général pas compris par l’informaticien développant le système
Information implicite
Les spécialistes d’un domaine comprennent tellement bien ce domaine
qu’ils n’ont pas idée de rendre les exigences de domaine explicites
24/02/2024 44
IV. Notions de besoins (5)
IV.3 Cahier des Charges: Le document de spécification des exigences
Le document de spécification des exigences est l’énoncé officiel de ce qui est
attendu de la part des développeurs du système .
24/02/2024 45
Utilisateurs du document de spécification des exigences
24/02/2024 46
Variabilité du document de spécification des exigences
24/02/2024 47
Structure du document de spécification des exigences
24/02/2024 48
24/02/2024 49
V. Spécification des besoins
Les exigences système sont des exigences plus détaillées et peuvent donc
contenir des informations plus techniques.
Les exigences peuvent faire partie d’un contrat pour le développement du
système
Les exigences doivent être les plus complètes possible .
24/02/2024 50
V. Spécification des besoins(1)
Façon d’écrire des spécifications des besoins
24/02/2024 51
V. Spécification des besoins(2)
Besoins vs Conception
En principe
Besoin (ou Exigence )= QUOI réaliser
Conception = COMMENT le réaliser
24/02/2024 52
V. Spécification des besoins(3)
Spécification en langage naturel (besoins peuvent obtenus par des
interviews)
Les exigences sont écrites sous forme de phrases en langage naturel,
complétées par des diagrammes et tables.
Souvent utilisé car
Expressif
Intuitif
Universel
Compréhensible par le client
Problèmes
Manque de clarté
La précision est difficile à atteindre sans rendre le document très difficile à lire
Confusion entre les exigences
Les exigences fonctionnelles et non fonctionnelles ont tendance à être
mélangées
Amalgame entre exigences
Il est souvent difficile de n’exprimer qu’une exigence. Bien souvent plusieurs
exigences sont exprimées dans une seule phrase 24/02/2024 53
V. Spécification des besoins(4)
Exemple d’exigences pour le logiciel de pilotage de pompe à insuline
Objectifs :
Pompe à insuline personnelle
Système embarqué dans une pompe à insuline
Utilisée par les diabétiques pour gérer le niveau de glucose dans le sang
Fonctions:
Collecte les données d’un capteur de sucre sanguin et calcule la quantité
d’insuline devant être injectée.
Calculs basés sur le taux de changement des niveaux de sucre dans le sang.
Envoi des signaux à une micro pompe pour injecter la dose correcte d’insuline
Système critique car des faibles taux de sucre dans le sang peuvent conduire à
des disfonctionnements cérébraux, des comas, voir la mort. Inversement, de hauts
niveaux de sucre dans le sang peuvent avoir des conséquences dramatiques, par
exemple sur les yeux, les reins…
24/02/2024 54
V. Spécification des besoins(5)
Spécifications structurées
Façon d’écrire des exigences où la liberté d’écriture est limitée et les exigences
sont écrites de façon standard.
Cela fonctionne bien pour certains type d’exigences, par exemple pour les
systèmes de contrôle embarqués
Parfois trop rigide pour écrire des exigences pour des systèmes d’information
plus classiques
24/02/2024 55
V. Spécification des besoins (6)
Spécifications formatées
Définition de la fonction
24/02/2024 56
Exemple de spécification structurée pour la pompe à insuline
Logiciel de contrôle de pompe à insuline
24/02/2024 57
Logiciel de contrôle de pompe à insuline (Suite)
24/02/2024 58
VI. Processus d’ingénierie des besoins
Les processus utilisés dans le cadre de l’ingénierie des exigences varient
largement selon les domaines d’application, les personnes impliquées et
l’organisation développant les exigences.
Toutefois il y a un certain nombre d’activités génériques communes à tous les
processus :
Elicitation des exigences
Analyse des exigences
Validation des exigences
Management des exigences
En pratique ces activités sont entremêlées
24/02/2024 59
VI. Processus d’ingénierie des besoins(1)
ELicitations et analyse des exigences (Etude de l’existant)
Elicitation = Découverte
24/02/2024 60
Elicitation et analyse des exigences
Etapes :
Découverte
Classification et organisation
Définition des priorités et négociation
Spécification des exigences
24/02/2024 61
Problèmes de l’analyse des exigences
24/02/2024 62
Processus d’élicitation et d’analyse des exigences
24/02/2024 63
Yves Constantinidis, Michel Volle -Expression des besoins pour le système
d'information- Eyrolles (2010)
24/02/2024 64
Activités du processus d’ingénierie des exigences
Découverte
Interaction avec les parties prenantes
Classification et organisation
Regrouper les exigences et les organiser en clusters cohérents
Définition des priorités et négociation
Définition des priorités et résolution des conflits entre les exigences
Spécification des exigences
Les exigences sont documentées et servent d’entrée au prochain tour de la
spirale
24/02/2024 65
Parties prenantes dans le cadre du SG-PSP
24/02/2024 66
Parties prenantes dans le cadre du SG-PSP
Un responsable de l’éthique médicale, qui doit s’assurer que le système répond
aux contraintes éthiques vis-à-vis du patient.
24/02/2024 67
Processus d’élicitation et d’analyse des exigences
Entretiens
Types d’entretiens :
Entretiens fermés, basés sur une liste prédéfinie de questions.
Entretiens ouverts ou diverses pistes sont explorées avec les parties
prenantes.
Entretien efficace
Etre ouvert d’esprit, éviter les idées pré-conçues, être en attente d’écouter
les parties prenantes
Susciter les discussions avec la personne questionnée en rebondissant entre
questions, en proposant une exigence, en travaillant ensemble sur un
prototype.
24/02/2024 68
Entretiens en pratique
24/02/2024 69
Scénarios
Les scénarios sont des exemples de la vie réelle montrant comme le système
doit être utilisé.
Ils devraient comprendre:
Une description de la situation de départ
Une description du flux normal d’événements
Une description de ce qui peut mal se passer
Une information sur les autres activités parallèles
Une description de l’état du système lorsque le scénario se termine
24/02/2024 70
Exemple de scénario pour la collecte d’historique médical
avec le SG-PSP
Hypothèse initiale : Le patient a rencontré un personnel médical d’accueil qui a
créé un enregistrement dans le système et a collecté les informations personnelles
(nom, adresse, âge, etc.). Une infirmière est connectée au système et récupère
l’historique médical
24/02/2024 71
Exemple de scénario pour la collecte d’historique médical avec
le SG-PSP
Fonctionnement anormal :
l’enregistrement pour le patient n’existe pas ou ne peut pas être trouvé.
Les symptômes du patient ou le traitement n’ont pas été saisies dans le
menu. L’infirmière devrait alors choisir l’option “autre” et entrer du texte libre.
Le patient ne peut/veut pas fournir ses données médicales. L’infirmière
devrait entrer du texte libre indiquant ce fait. Le système devrait imprimer un
formulaire précisant que l’absence d’information peut conduire au fait que le
traitement sera limité. Ce document doit être signé par le patient
Autres activités :
Les enregistrements peuvent être consultés mais non édités par les autres
membres de l’équipe
Etat du système à la fin de l’utilisation :
L’utilisateur est connecté. L’enregistrement du patient est ajouté à la base,
une trace est ajouté montrant l’heure de début, de fin, et l’infirmière impliquée
dans l’action
24/02/2024 72
Cas d’utilisation (use cases)
Les cas d’utilisation sont des techniques UML identifiant les acteurs en interaction
et qui décrivent les interactions elles-même.
Ce sont des modèles graphiques augmentés de divers détails sous forme tabulaire
Des diagrammes de séquence peuvent être utilisés pour ajouter des détails aux
cas d’utilisation, montrant la séquence d’événements traitée par le système
24/02/2024 73
Exemple de cas d’utilisation pour le SG-PSP
24/02/2024 74
Validation des exigences
Sert à démontrer que les exigences définissent réellement ce que veut le client .
Le coût des erreurs au niveau des exigences est très élevé la validation est très
importante .
Détecter une erreur d’exigence à la livraison d’un logiciel peut couter 100 fois le
cout d’une erreur détectée à l’implémentation
24/02/2024 75
Contrôle des exigences
Validité. Est-ce que le système propose les fonctions qui répondent le mieux
possible aux besoins du client ?
Complétude. Est-ce que toutes les fonctions demandées par le client sont
prévues ?
Réalisme. Les exigences peuvent elles être mise en œuvre étant donné le
budget et la technologie ?
24/02/2024 76
Techniques de validation des exigences
Revue d’exigences
Prototypage
24/02/2024 77
Revue d’exigences (Documentation ou Livrables)
Des revues régulières devraient être mises en place tout au long du processus de
création de la spécification des exigences .
Les revues peuvent être formelles (avec des documents à remplir) ou informelles.
Une bonne communication entre les développeurs, les clients, les utilisateurs peut
permettre de résoudre des problèmes à des stades précoces du projet
24/02/2024 78
Management des Besoins :
La gestion des exigences est le processus qui gère les changements des
exigences durant le processus d’ingénierie des exigences et le développement du
système .
24/02/2024 79
Changer les exigences
Les personnes qui paient pour le système et celles qui l’utilisent sont rarement les
mêmes
24/02/2024 80
Planification du Management des exigences
Définit le niveau de détail nécessaire dans la gestion des exigences .
Outils utilisés. Les outils utilisés peuvent varier d’outils spécialisés dans le
management des exigences aux simples tableurs ou bases de données
24/02/2024 81
Management des Changement des besoins
Implémentation du changement
24/02/2024 82
VII. Schéma Directeur Informatique
DEFINITION
24/02/2024 83
Historique du SI et Analyse de l’existant
24/02/2024 84
Exemples de notions contenues dans le document :
24/02/2024 85
Urbanisation d’un SI
24/02/2024 86
Intérêt du Schéma Directeur
24/02/2024 87
De l’Audit à la mise en œuvre
24/02/2024 88
La phase d’Audit
Il recense:
24/02/2024 90
Démarche de planification informatique
24/02/2024 91