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.