0% ont trouvé ce document utile (0 vote)
6 vues46 pages

Introduction au Génie Logiciel et Systèmes

Le document présente une introduction au génie logiciel, définissant le logiciel comme un ensemble de programmes et de bases de données visant à résoudre des problèmes spécifiques. Il aborde les processus de développement logiciel, les méthodes et les modèles de cycle de vie, ainsi que les facteurs de qualité internes et externes. Enfin, il souligne l'importance d'une organisation méthodique dans la construction logicielle pour garantir la qualité et l'efficacité des systèmes développés.

Transféré par

ryadwissal3
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues46 pages

Introduction au Génie Logiciel et Systèmes

Le document présente une introduction au génie logiciel, définissant le logiciel comme un ensemble de programmes et de bases de données visant à résoudre des problèmes spécifiques. Il aborde les processus de développement logiciel, les méthodes et les modèles de cycle de vie, ainsi que les facteurs de qualité internes et externes. Enfin, il souligne l'importance d'une organisation méthodique dans la construction logicielle pour garantir la qualité et l'efficacité des systèmes développés.

Transféré par

ryadwissal3
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

23/12/2023

INTRODUCTION AU GÉNIE Pr. A. DARGHAM


LOGICIEL
23/12/2023

CONCEPTS & DÉFINITIONS


Le logiciel affecte tous les aspects de la vie humaine.
Les systèmes logiciels sont créés par des individus et/ou des
organisations, pour être utilisés par des individus et/ou des
organisations.
Le génie logiciel est la discipline scientifique et d’ingénierie qui
s’intéresse aux problèmes liés aux systèmes logiciels.
L’objectif majeur du génie logiciel est de réduire la complexité de
la construction des logiciels et aider les fabricants à produire des
logiciels de qualité.

SYSTÈME
En général, un système est un ensemble de composants en
interaction qui fonctionnent comme un tout pour atteindre des
objectifs spécifiques.
Un système efficace doit être synergique.
Un système fonctionne généralement dans un environnement
extérieur à lui-même.
23/12/2023

SYSTÈME
Quelques principes fondamentaux concernant les systèmes :
Les composants d’un système sont interdépendants.
Un système est généralement considéré comme un tout.
Chaque système a des objectifs spécifiques.
Un système traite un certain type d’entrées et fournit un certain
type de sorties.
Les processus d’un système prescrivent la transformation des
entrées en sorties.
Un système présente de l’entropie, c’est-à-dire une tendance à se
désorganiser.

SYSTÈME
Un système doit être régulé (planification, feedback et contrôle).
Un système peut être composé en des sous-systèmes.
Un système présente une tendance vers un état final.
23/12/2023

LOGICIEL
Un logiciel est la combinaison de programmes, de bases de
données et de documentation dans une suite systémique, et dans le
seul but de résoudre des problèmes spécifiques et d’atteindre des
objectifs prédéterminés.
Le logiciel ajoute de la valeur aux composants matériels d’un
système informatique.
Sans logiciel, un ordinateur n’est qu’un simple boîtier
électronique sans utilité particulière pour la plupart des êtres
humains.

LOGICIEL
Les logiciels informatiques constituent également un type
particulier de systèmes.
Le domaine des logiciels est très vaste et varié, limité uniquement
par l’imagination et la créativité de chacun.
Il existe cependant certaines catégories observables de logiciels.
La plupart des produits logiciels que nous sommes susceptibles
d’utiliser ou dans lesquels nous sommes susceptibles d’être
impliqué appartiennent à une ou plusieurs de ces catégories :
23/12/2023

CATÉGORIES DE LOGICIELS
Les systèmes d’exploitation : Unix, Linux, MacOs, Windows, …
Les compilateurs : C, C++, Java, …
Les interpréteurs : Python, JavaScript, Matlab, …
Les assembleurs.
Les systèmes de gestion de bases de données : Oracle, MS-
Access, …
Les protocoles réseau.
Les applications de bureau.

CATÉGORIES DE LOGICIELS
Les systèmes d’information.
Les entrepôts de données (data Warehouse).
Les applications métiers.
Les systèmes d’intelligence artificielle.
Les systèmes experts.
Les systèmes hypermédias.
Les systèmes de conception assistée par ordinateur.
Les systèmes de production.
23/12/2023

GÉNIE LOGICIEL
Le génie logiciel est un domaine de l’ingénierie informatique qui
s’intéresse à l’étude des systèmes logiciels, leur planification, leur
modélisation, leur développement, leur mise en œuvre, leur
maintenance et leur gestion.
L’objectif ultime du génie logiciel est d’offrir les mécanismes, les
techniques, les méthodologies et les règles de bon pratique pour
améliorer la productivité dans le domaine problématique associé, à
savoir les systèmes logiciels.

PROCESSUS DE DÉVELOPPEMENT
LOGICIEL
Un processus de développement logiciel est un modèle qui décrit
et organise l’ensemble des activités utilisées pour produire un
nouveau logiciel ou faire évoluer un logiciel existant.
L’objectif d’un processus de développement logiciel est de fournir
aux entreprises de logiciels des techniques qui, lorsqu’elles sont
appliquées de manière systématique, permettent d’obtenir de
manière répétitive et fiable des systèmes logiciels de qualité
constante.
23/12/2023

PROCESSUS DE DÉVELOPPEMENT
LOGICIEL
Un processus de développement logiciel de haute qualité
implique plusieurs processus :
Un processus de gestion de projets
Un processus d’exigences
Un processus de conception
Un processus de codage
Un processus d’évaluation par les paires
Un processus de tests
Un processus de sélection et de gestion des fournisseurs

PROCESSUS DE DÉVELOPPEMENT
LOGICIEL
Un processus de gestion de configuration
Un processus d’audit
Un processus de mesure
Un processus d’amélioration
Un processus assistance client
Un processus de maintenance
23/12/2023

PROCESSUS DE DÉVELOPPEMENT
LOGICIEL
La description du processus reste générale car il n’est pas possible
de définir autoritairement un standard unique, adapté à toutes les
personnes, à tous les types d’applications et à toutes les cultures.
Il convient plutôt de parler de cadre configurable, éventuellement
raffiné de manière consensuelle par la pratique et la mise en œuvre
de produits largement adoptés par la communauté des utilisateurs.

EXEMPLES DD PROCESSUS
Le modèle en tunnel.
Le modèle en cascade.
Le modèle en V.
Le modèle itératif.
Le modèle en prototypes.
Le modèle incremental.
Le modèle en spirale.
Les modèles agiles.
23/12/2023

MÉTHODE DE DÉVELOPPEMENT LOGICIEL


Une méthode de développement logiciel est une démarche suivie
par une équipe de développement pour réaliser un logiciel.
Une méthode de développement logiciel nécessite :
Des éléments de modélisation  briques conceptuelles de base.
Un langage qui décrit les concepts véhiculés par la méthode.
Une notation qui assure le rendu visuel des éléments de
modélisation.
Un processus de développement.
Du savoir-faire plus ou moins formalisé.

EXEMPLES DE MÉTHODES
MERISE :
Méthode qui fournit une démarche à adopter pour développer un
système d’information relationnel.
Fournit un langage de modélisation graphique (MCD, MCT, …).
OMT (Object Modeling Technique) :
Méthode d’analyse et de conception orientée objet.
Fournit des concepts tels que la classe, l’héritage et les
associations, et propose une notation graphique pour représenter
ces concepts.
23/12/2023

CYCLE DE VIE LOGICIEL


Un cycle de vie d’un logiciel décrit les étapes (phases) de la
construction logicielle, leur organisation et leur succession dans
le temps.
À chaque processus de développement logiciel correspond un
modèle de cycle de vie logiciel.
Un modèle de cycle de vie logiciel a pour but d’expliquer le
séquencement des différentes étapes ainsi que la manière dont
elles coopèrent.

CYCLE DE VIE LOGICIEL


Deux catégories de modèles de cycles de vie logiciel :
Les modèles de cycle de vie traditionnels.
Les modèles de cycle de vie agiles.
23/12/2023

MODÈLES TRADITIONNELS
Modèles stricts.
Etapes très clairement définies.
Documentation abondante.
Bien adaptés aux gros projets.

MODÈLES AGILES
Modèles incrémentaux et itératifs.
Petites et fréquentes livraisons.
Accent sur le code et moins sur la documentation.
Bien adaptés aux projets de petite et moyenne taille.
23/12/2023

COMMENT CHOISIR UN MODÈLE ?


Aucun modèle n’est meilleur que l’autre.
Le choix dépend de certains critères tels que :
La nature du projet.
La taille du projet.
La nature du client.
Les compétences de l’équipe.

CCM : CAPACITY MATIRUTY MODEL


Humphrey en 1989 a proposé 5 niveaux de maturité
d’un processus de développement logiciel :
Initial.
Reproductible.
Défini.
Encadré.
Optimisant.
23/12/2023

CCM : CAPACITY MATIRUTY MODEL


Initial :
Le processus de développement n’est pas formalisé.
L’équipe réagit au jour le jour et choisit des solutions au cas par
cas de sorte que le succès dépend fortement des personnes
impliquées dans le projet.
Reproductible :
L’organisation est capable d’établir des plans raisonnables en
termes de budget et de vérifier l’état d’avancement du projet par
rapport au plan.

CCM : CAPACITY MATIRUTY MODEL


Défini :
Le processus de développement est bien défini, connu et compris
par tous les intervenants du projet.
Encadré :
Les performances du processus de développement sont
mesurables objectivement.
Optimisant :
Les données de contrôle des performances du processus de
développement permettent l’amélioration du processus.
23/12/2023

CCM : CAPACITY MATIRUTY MODEL


Le Software Engineering Insitute de l’université de
Carnegie Mellon a développé une procédure d’évaluation
des processus de développement connue sous le nom CMM
(Capacity Matiruty Model).
CMM a été devenu l’un des standards de mesure de
qualité d’un processus de développement de logiciels.

CCM : CAPACITY MATIRUTY MODEL


Le lien entre la maturité des processus de développement
de logiciel et la qualité logicielle s’explique, car la qualité
d’un logiciel dépend fortement de la qualité du processus de
développement utilisé pour le développer et le maintenir.
23/12/2023

MATÉRIEL & LOGICIEL


Le coût total d’un système informatique se répartie en :
80 % de logiciel.
20 % de matériel.
Depuis quelques années, la fabrication du matériel est assurée par
quelques fabricants seulement :
Le matériel est relativement fiable.
Le marché est standardisé.
Les problèmes liés à l’informatique sont essentiellement des
problèmes de logiciel.
23/12/2023

SPÉCIFICITÉS DU LOGICIEL
Un produit immatériel, dont l’existence est indépendante du
support physique.
Semblable à une œuvre d’art (roman, partition...).
Un objet technique fortement contraint :
Fonctionne ou ne fonctionne pas.
Structure complexe.
Relève des modes de travail du domaine technique.

SPÉCIFICITÉS DU LOGICIEL
Un cycle de production différent :
La reproduction pose peu de problèmes, seule la première copie
d’un logiciel a un coût.
Production à l’unité
Semblable au Génie Civil (ponts, routes...).
Le logiciel partage des propriétés contradictoires avec l’art, les
technologies et le génie civil.
Les possibilités de réutiliser les savoir-faire des autres
technologies sont très limitées.
23/12/2023

CRISE DU LOGICIEL
Une étude sur 8 380 projets effectuée par la Standish Group en
1995 :
Succès : 16 %.
Problématique : 53 % (budget ou délais non respectés, défaut de
fonctionnalités).
Echec : 31 % (abandonné).
Le taux de succès décroît avec la taille des projets et la taille des
entreprises  problèmes de complexité.

GÉNIE LOGICIEL
Conférence de l’OTAN à Garmish, Allemagne (1968) :
L’informatique ne répond pas aux attentes qu’elle suscite.
L’informatique coûte très cher et désorganise les entreprises ou
organisations.
Introduction de l’expression « Génie Logiciel » (Software
Engineering) :
Comment faire des logiciels de qualité ?
Qu’attend-on d’un logiciel ?
Quels sont les critères de qualité pour un logiciel ?
23/12/2023

INTERNES OU EXTERNES ?
Facteur de qualité interne :
Observable uniquement à l’équipe de développement du logiciel.
Facteur de qualité externe :
Observable à l’utilisateur du logiciel.
23/12/2023

FACTEURS DE QUALITÉ EXTERNES


Correction :
Capacité des produits logiciels à effectuer leurs tâches exactes,
telles que définies par leur spécification.
Robustesse :
Capacité des systèmes logiciels à réagir de manière appropriée à
des conditions anormales.
Extensibilité :
Facilité d’adaptation des produits logiciels aux changements de
spécifications.

FACTEURS DE QUALITÉ EXTERNES


Réutilisabilité :
Capacité des éléments logiciels à servir à la construction de
nombreuses applications différentes.
Compatibilité :
Facilité de combiner des éléments logiciels avec d’autres.
Efficacité :
Capacité d’un système logiciel à solliciter le moins possible les
ressources matérielles (temps processeur, espace mémoire, bande
passante réseau, …).
23/12/2023

FACTEURS DE QUALITÉ EXTERNES


Portabilité :
Facilité de transférer des produits logiciels vers divers
environnements matériels et logiciels.
Facilité d’utilisation :
Facilité avec laquelle des personnes d’horizons et de
qualifications variés peuvent apprendre à utiliser des produits
logiciels et à les appliquer pour résoudre des problèmes.
Il couvre également la facilité d’installation, d’exploitation et de
surveillance.

FACTEURS DE QUALITÉ EXTERNES


Utilité :
Capacité d’un logiciel à répondre au mieux des besoins de ses
utilisateurs (les bien servir).
Actualité :
Capacité d’un système logiciel à être publié au moment ou avant
que ses utilisateurs le souhaitent.
23/12/2023

FACTEURS DE QUALITÉ INTERNES


Vérifiabilité :
Facilité de préparation des procédures d’acceptation, en
particulier des données de test, et des procédures permettant de
détecter les défaillances et de les relier aux erreurs pendant les
phases de validation et d’exploitation.
Intégrité :
Capacité des systèmes logiciels à protéger leurs différents
composants (programmes, données) contre tout accès et
modification non autorisés.

FACTEURS DE QUALITÉ INTERNES


Réparabilité :
Capacité de faciliter la réparation des défauts.
Économie :
Capacité d’un système logiciel à être achevé en fonction ou en
dessous du budget qui lui a été attribué.
Modularité :
Capacité d’un système logiciel à être composé en modules
cohérents.
23/12/2023

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
Doit reposer sur un programme de construction, un plan
d’action et un processus méthodique s’appuyant sur des
concepts clairement définis et supportés par des outils.
La première chose à réaliser dans une démarche de
construction logicielle est l’identification du système que
l’on veut construire  le comprendre, le définir et le
concevoir.
23/12/2023

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
L’essentiel est de garder à l’esprit ces objectifs et de bâtir
un produit cohérent et évolutif répondant à ces besoins.
Après avoir identifié l’objet du système, il s’agit de
déterminer son cycle de vie, autrement dit d’organiser un
plan d’action de la construction logicielle.

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
Ce plan d’action doit être axé sur 3 idées essentielles :
Prévoir et planifier les activités effectuées pendant toute la
vie du logiciel.
Organiser les interactions entre les activités
interdépendantes de définition, conception, fabrication et
validation du système.
Réagir de façon efficace à l’évolution des objectifs et des
facteurs extérieurs au système.
23/12/2023

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
L’application de ce processus nécessite l’utilisation d’une
méthode décrivant pas à pas les procédures à appliquer.
Une méthode est en quelque sorte un guide qui définit les
règles de passage d’une configuration à une autre de façon à
tendre progressivement vers la configuration finale de
l’édification du logiciel.

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
Les configurations (modèles) représentent le cœur de la
réflexion méthodologique  elles constituent généralement
des livrables fournis à différents stades du cycle de vie du
système.
Les configurations doivent donc être facilement
compréhensibles et « auditables » de façon à constituer des
points de contrôle et des balises de sécurité permettant de
minimiser les risques de dépassement d’objectifs, de temps ou
de coûts.
23/12/2023

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
Les concepts véhiculés par une configuration doivent
s’appuyer sur un langage précis, rigoureux et compréhensible
par tous.
Dans le domaine des méthodes, le formalisme est un
langage de représentation essentiellement graphique, à
travers lequel le système est décrit.

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
Exemples de formalismes :
OMT
OOSE
HOOD
UML
Langage Z
23/12/2023

ORGANISATION DE LA CONSTRUCTION
LOGICIELLE
Dans un projet logiciel, le formalisme constitue un support
commun de communication entre tous les acteurs du projet.
Par conséquent, il est très important de suivre rigoureusement
les concepts, les règles et les mécanismes sous-jacentes du
formalisme utilisé.
23/12/2023

LES ÉTAPES DU CYCLE DE VIE LOGICIEL


Étude de faisabilité
Spécification des besoins
Conception
Codage
Tests
Maintenance

ÉTUDE DE FAISABILITÉ
Faisabilité :
Déterminer si le développement proposé vaut la peine d’être
mis en œuvre, compte tenu des attentes et de la difficulté de
développement.
23/12/2023

ÉTUDE DE FAISABILITÉ
Quelques types de faisabilité :
Faisabilité économique et financière : budget financière,
coût du projet.
Faisabilité technique : technologies, ressources, délais.
Faisabilité légale.

ÉTUDE DE FAISABILITÉ
Etude de marché :
Déterminer s’il existe un marché potentiel pour le future
produit.
Évaluer les bénéfices possibles.
23/12/2023

SPÉCIFICATION DES BESOINS


Exigences :
Définition de la norme IEEE 729-1983
Exigence : « condition ou capacité que doit présenter un
système pour satisfaire un contrat, un standard, une
spécification ou tout autre document formel imposé ».
Une exigence est donc la description de ce qu’un produit
(bien ou service) doit faire et de comment il doit se
comporter.

SPÉCIFICATION DES BESOINS


Exigences :
Une exigence doit donc répondre à un besoin de l’utilisateur
du système.
23/12/2023

SPÉCIFICATION DES BESOINS


Exigences :
Collecter toutes les fonctionnalités du future système à
développer.
Elicitation des exigences :
Distinguer les catégories des exigences.
Analyse du domaine :
Déterminer les objets, les tâches et les structures commun
au système.

SPÉCIFICATION DES BESOINS


Caractéristiques d’une exigence :
Correction  correspond à un besoin réel et nécessaire.
Atomicité  n’exprime qu’un seul fait.
Non ambigüité  une seule interprétation possible.
Complétude  énoncée entièrement en un seul e
23/12/2023

SPÉCIFICATION DES BESOINS


Caractéristiques d’une exigence :
Cohérence  sans contradiction avec d’autres exigences.
Être évaluable  Négociée, priorisée, pertinente - stabilité
du besoin.
Traçabilité  identifiant unique + trace de toute
modification.
Vérifiabilité  que l’on peut contrôler, qualifier.

SPÉCIFICATION DES BESOINS


Comment élaborer la spécification des besoins
Interviews entre les individus (client) qui souhaitent mettre
en place un nouveau système ou faire évoluer un système
existant, et des individus (fournisseur) qui sont aptes à juger
si ces aspirations sont techniquement réalisables dans le
cadre de budgets raisonnables.
23/12/2023

SPÉCIFICATION DES BESOINS


Comment élaborer la spécification des besoins
L’étape se matérialise par un document, dans lequel la
terminologie doit être compréhensible par les deux parties,
pouvant constituer une base contractuelle à la réalisation du
système.

ORGANISATION DU PROJET
Déterminer comment on va développer le projet :
Analyse des coûts : établir une estimation du prix du projet.
Ordonnancement : établir un calendrier de développement.
Assurance qualité du logiciel : déterminer les actions qui
vont permettre de s’assurer de la qualité du produit fini.
23/12/2023

ORGANISATION DU PROJET
Répartition des tâches : hiérarchiser les tâches et sous-
tâches nécessaires au développement du logiciel.

CONCEPTION
Déterminer la façon dont le logiciel fournit ses
fonctionnalités.
La conception générale qui inclut :
La conception architecturale : déterminer la structure du
système.
La conception des interfaces : déterminer la façon dont les
différentes parties du système agissent entre elles.
23/12/2023

CONCEPTION
La conception détaillée :
Déterminer les algorithmes pour les différentes parties
du système.

IMPLÉMENTATION
Écrire ou générer le code source de l’application.
Réviser le code pour garantir sa qualité et vérifier son exactitude.
Vérifier si le code est conforme aux règles standards de codage.
S’assurer que le code écrit est facilement maintenable.
Vérifier que le code produit constitue une implémentation valide de
la conception du logiciel.
23/12/2023

TESTS
Tester :
Vérifier que les exigences ont été correctement mises en
œuvre.
Vérifier que le logiciel est adapté à son objectif.
Identifier les défauts présents dans le logiciel.
Les tests constituent un des moyens de l’assurance qualité
le plus utilisé et aussi « vieux » que le développement.

TESTS
Caractéristiques des activités de test :
Méthode dynamique  en exécutant le logiciel.
Vient après les méthodes statiques (analyses automatiques)
Dernier rempart contre les erreurs résiduelles.
Trop souvent empirique.
Orientés-intention.
23/12/2023

TESTS
Types de test :
Tests unitaires  tester un élément unitaire du logiciel :
une fonction, une classe, un module.
Tests d’intégration  tester l’assemblage de modules.
Tests de validation  tester le logiciel chez le fournisseur
par l’équipe de qualification, puis chez le client.

TESTS
Types de test :
Tests systèmes  tester le logiciel dans un environnement
proche de l’environnement de production.
Tests de performance  tester les performances du logiciel
(vitesse, charge).
Tests de fiabilité  tester la résistance aux pannes.
Tests de sécurité  tester la confidentialité des données, les
accès, etc.
23/12/2023

TESTS
Types de test :
Tests Alpha  tester le logiciel par le client sur le site de
développement.
Tests Bêta  tester le logiciel par le client sur le site de
production.
Tests de régression  enregistrer les résultats des tests et les
comparer a ceux des anciennes versions pour vérifier si la
nouvelle n’en a pas dégrade d’autres.

TESTS
Plan de test :
Définition des cas de test.
Chronologie et durée des étapes de test.
Équipes de test et responsabilités.
Procédures de suivi.
Actions à prendre en cas de découverte d’erreur.
Bibliothèques de test.
23/12/2023

LIVRAISON
Fournir au client une solution logicielle qui fonctionne
correctement.
Installation  rendre le logiciel opérationnel sur le site du
client.
Formation  former les utilisateurs a utiliser du logiciel.
Assistance  répondre aux questions des utilisateurs (service
après vente).

MAINTENANCE
Maintenance corrective : corriger les défauts des anciennes
versions ou améliorer les fonctionnalités du logiciel pour
assurer sa pérennité.
Maintenance évolutive : mettre à jour et le logiciel.
Pour limiter le temps et les coûts de maintenance, il faut porter
ses efforts sur les étapes antérieures.
23/12/2023

LA DOCUMENTATION LOGICIELLE
Dans un processus de développement logiciel, la
documentation logicielle est l’ensemble des informations qui
décrivent le produit aux personnes qui le développent, le
déploient et l’utilisent.
La documentation a pour but de laisser des traces du travail
réalisé.
23/12/2023

LA DOCUMENTATION LOGICIELLE
La documentation du logiciel montre ce que les développeurs
de logiciels ont fait lors de la création du logiciel et ce que le
personnel informatique et les utilisateurs doivent faire lors de
son déploiement et de son utilisation.
La documentation est souvent intégrée à l’interface
utilisateur du logiciel et également incluse dans le manuel
d’aide.

LA DOCUMENTATION LOGICIELLE
Les informations sont souvent divisées en catégories de tâches,
notamment les suivantes :
Évaluation.
Planification.
Installation et/ou Configuration.
Personnalisation.
23/12/2023

LA DOCUMENTATION LOGICIELLE
Administration.
Utilisation.
Maintenance.

POURQUOI LA DOCUMENTATION ?
La documentation logicielle a beaucoup d’avantages :
Moyen d’enregistrement du processus de développement.
Un guide du processus de développement.
Facilite certaines tâches techniques comme l’installation et le
dépannage.
Permet aux utilisateurs de se familiariser avec le logiciel.
Permet de sensibiliser les utilisateurs aux fonctionnalités
cachées du logiciel.
23/12/2023

POURQUOI LA DOCUMENTATION ?
Permet de réduire la charge de travail des équipes
d’assistance, car elle donne aux utilisateurs le pouvoir de
résoudre les problèmes.
Augmenter la collaboration entre les membres de l’équipe de
développement.
Contribue à l’évolution du logiciel, car son utilisation permet
d’intensifier la communication entre les utilisateurs et les
développeurs.

LES DOCUMENTS COURANTS


Cahier des charges (CDC) :
Description initiale des fonctionnalités désirées.
Généralement réalisé par l’utilisateur et complété par le
fournisseur.
Défini à l’étape de l’étude de faisabilité et l’expression des
besoins.
23/12/2023

LES DOCUMENTS COURANTS


Spécification :
Décrit précisément les fonctionnalités et les conditions que
doit remplir le logiciel  sert de base de contrat avec le
client.
Scenarios des cas d’utilisation (use cases)  indique les
différents enchaînements possibles du point de vue de
l’utilisateur.
Défini à l’étape de la spécification des exigences.

LES DOCUMENTS COURANTS


Calendrier du projet :
Séquencement des diverses tâche du projet.
Détails et ressources qu’elles demandent.
Défini à l’étape de planification du projet.
23/12/2023

LES DOCUMENTS COURANTS


Plan des tests :
Décrit les procédures de tests appliquées au logiciel pour
contrôler son bon fonctionnement.
Tests de validation : tests choisis par le client pour déterminer
s’il peut accepter le logiciel.
Défini à l’étape de spécification.

LES DOCUMENTS COURANTS


Plan d’assurance qualité :
Décrit les procédures et les activités mises en œuvre pour
garantir la qualité du logiciel.
Défini à l’étape de planification de projet.
23/12/2023

LES DOCUMENTS COURANTS


Manuel d’utilisation :
Décrit le mode d’emploi pour le logiciel dans sa version
finale.
Manuel d’utilisation préliminaire  défini à l’étape de
spécification.
Manuel d’utilisation final  défini à l’étape
d’implémentation.

LES DOCUMENTS COURANTS


Code source :
Code complet du produit fini.
Défini à l’étape d’implémentation.
23/12/2023

LES DOCUMENTS COURANTS


Rapport de tests :
Décrit les tests effectues et les réactions du système.
Défini à l’étape de test.

LES DOCUMENTS COURANTS


Rapport des défauts :
Décrit les comportements du système qui n’ont pas satisfait le
client.
Il s’agit le plus souvent de défaillances du logiciel ou
d’erreurs.
Défini à l’étape de test de validation.

Vous aimerez peut-être aussi