Académique Documents
Professionnel Documents
Culture Documents
Un esprit de créativité
Obéit à des lois juridiques
On n’achète pas un logiciel mais le droit de l’utiliser
A un brevet de dépôt
Un produit scientifique
Il marche ou ne marche pas
Produit de la science
Procédé de fabrication
PLAN DU COURS
CHAPITRE 1
Pour donner une typologie des logiciels, un certain nombre de facteurs doit être
considéré. Ces facteurs peuvent être regroupés en trois catégories qui portent :
Unité de mesure : kilo instruction sources livrées (KISL). Ainsi on peut faire une
distinction entre petits et grands programmes. Cette différence est essentiellement
quantitative.
b) La complexité (qualité)
Elle peut être définie au niveau du code :
difficile de voir les structures de données ;
elle peut se situer au niveau des algorithmes ;
les composantes et leur répartition dans les fichiers
au niveau des exécutions (espace mémoire, nombre d’instruction exécutées
c) Le domaine d’application
d) le taux d’innovation
e) la notion de dépendance
a)la criticité
b) la durée de vie
Brève : certains logiciels ne sont utilisés qu’une seule fois. Exemple logiciel de
migration(BD) et les logiciels pour tester d’autres logiciels.
Longue :
c) la cible
Le logiciel est utilisé par les personnes précises (utilisateurs), le secteur d’activité, la
plate-forme d’exécution
d) L’utilisateur
- logiciel professionnel :
- logiciel grand public
c) Le déploiement
Comment le logiciel est-il installé ?On distingue :
Le déploiement unitaire : l’ensemble du logiciel est installé en une seule fois
Le déploiement peut être progressif on livre au fur et à mesure :
Extension de la cible : dans ce cas on installe le logiciel en fonction de
l’utilisateur
Extension de fonction : on installe cette fonction dès qu’on a fini de
l’écrire.
d)Technologie
définition
comment l’obtenir
comment le mesurer
quelles sont les conséquences de la non-qualité ?
La qualité peut se définir comme l’aptitude d’un produit ou d’un service à satisfaire
les besoins des utilisateurs. On distingue deux types de qualité : les qualités externes
(observables par l’utilisateur) et internes (d’intérêt pour les développeurs et les mainteneurs
du logiciel). Des facteurs usuels définissent la qualité d’un logiciel.
a) l’utilité
Le logiciel doit répondre aux besoins des utilisateurs. Les besoins peuvent être
explicites ou implicites.
comment l’obtenir ?
mener une bonne analyse
travailler avec rigueur
comment la mesurer ?
faire des tests
conséquences de la non-utilité ?
la perte du marché
le non-respect du contrat
critiques de sûreté
b) l’utilisabilité
Ce facteur se définit comme « l’effectivité, l’efficacité, la satisfaction avec laquelle
les utilisateurs accomplissent les objectifs spécifiés dans un environnement particulier.
c) la portabilité
Un même logiciel doit pouvoir fonctionner sur des systèmes informatiques de types
différents. Par exemple le .exe peut être dépendant de l’ensemble du travail.
comment l’obtenir ?
utiliser un environnement de développement et un langage de programmation
approprié.
comment la mesurer ?
faire un test d’intégration
conséquences de la non-utilisabilité
la limite d’utilisation du logiciel
e) La réutilisabilité
C’est une propriété de ce qui peut être utilisé à nouveau dans une autre application avec
aucune ou peu de modification, en d’autres termes c’est l’aptitude d’un logiciel à être utilisé
même partiellement dans d’autres applications.
f) Les délais
g) La fiabilité
Ce facteur peut se définir comme la probabilité que le logiciel se comporte tel qu’espérer
durant un intervalle de temps donné, en d’autres termes le logiciel est fiable si le coût des
pannes est maitrisé, s’il ne cause pas de dommages.
Rappelons ici qu’une panne est une situation symptomatique d’une manifestation externe
d’une erreur. Une erreur cependant est l’écart entre le résultat attendu et le résultat escompté.
Ces erreurs surviennent des fautes qui peuvent être multiformes (programmation, conception,
analyse). Une faute est un état intermédiaire dans lequel le logiciel se trouve.
h) L’interopérabilité
Le logiciel doit pouvoir interagir en superficie avec d’autres logiciels. Externaliser certaines
fonctions en utilisant les middlewares. Exemple : ERP ; ce sont les logiciels qui couvrent
toute la chaîne logistique d’un logiciel.
i) La performance
C’est une qualité du logiciel qui utilise les ressources de façon rentable, cette qualité peut
changer en fonction de la technologie, il peut affecter la variabilité dimensionnelle du système
.On peut évaluer la performance d’un logiciel par :
1) Logiciel d’information
a) définition
C’est un logiciel qui gère les informations (création/destruction, consultation et mise à jour
des données).
Une information est un produit de plus important de nos jours. Exemple : système bancaire,
les sites web, les catalogues informatisés.
b) Qualités importantes
- sécurité
- convivialité
- la performance
Un logiciel temps réel est un logiciel qui répond à des évènements dans un temps limité.
Le temps de réponse est d’abord une question d’utilité et non de performance. Exemple :
système de contrôle de la température, système de guidage d’une sonde.
b) Qualités délicates
- La fiabilité
- L’utilité
- La robustesse
- La convivialité
- L’interopérabilité
3) Logiciels distribués
a) définition
C’est un logiciel qui fonctionne sur des ordinateurs indépendants connectés par un réseau de
communication. Exemple : linux
- L’interopérabilité
- La performance
- L’intégrité
- La fiabilité
- Robustesse
4) Logiciels embarqués
a) Définition
C’est un logiciel intégré à un dispositif, une machine ou un autre système pour le piloter.
b) Qualités délicates
- L’interopérabilité
- La fiabilité
Il est clair que les ingénieurs en software affirment que la qualité du processus de
fabrication est garante de la qualité du produit. Pour obtenir un logiciel de qualité, il
faut en maitriser le processus d’élaboration. La vie d’un logiciel est composée de
différentes étapes, la succession de ces étapes forme le cycle de vie du logiciel. Il est
donc important de contrôler la succession de ces différentes étapes pour obtenir un
logiciel de qualité
Ces phases sont composées de deux groupes d’activités : activités théoriques, activités
techniques.
d’intégration : tester le logiciel pendant son intégration. Test alpha : faire tester le
logiciel par le client sur le site de développement. Test bêta : faire tester le logiciel par
le client sur son propre site. Test de validation :), installation
a) Cahier de charge
C’est un document qui fournit une description initiale des fonctionnalités désirées,
généralement écrites par l’utilisateur.
b) Document de spécification
c) Calendrier de projet
la planification des activités (planification des taches : découpage des durées, le choix
de la norme qualité)
la planification de production (estimation des couts réels, les devis le plan projet
destiné au développeur)
Ce document décrit les procédures de test appliqué au logiciel pour contrôler son bon
fonctionnement, il détermine les tests de validation (test choisit par le client pour déterminer
s’il peut accepter le logiciel)
Ce document décrit les activités mises en œuvre pour garantir la qualité du logiciel, il est
produit à la phase de planification
f) Code source
Ce document décrit les comportements du système qui n’ont pas satisfait le client, il s’agit le
plus souvent des défaillances du logiciel ou d’erreurs
h) Manuel d’utilisateur