Vous êtes sur la page 1sur 11

Introduction aux AGL

Le logiciel est un produit scientifique, une œuvre d’art ou un produit technique ?

Le logiciel est une œuvre d’art

 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 0 : Rappels

Chapitre 1 : Types de logiciels

Chapitre 2 : Qualités d’un logiciel

Chapitre 3 : Cycle de vie d’un logiciel

Chapitre 4 : AGL

Dispensé par M. ASSAWOGA ETOGA N 1


Introduction aux AGL

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 :

 Sur le logiciel lui-même ;


 Sur son utilisation ;
 Sur son procédé de fabrication.

I-Facteurs sur le logiciel


a) La taille

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

On distingue 4 domaines d’applications essentiels :

 le calcul scientifique : le logiciel est fait pour calculer une fonction


mathématique. Exemple : météo-physique –simulation ;
 L’informatique industrielle :le logiciel est fait pour commander un dispositif ;
 L’informatique de gestion :le logiciel est fait pour gérer les informations qui
résultent d’une certaine activité et permet d’organiser cette activité ;
 Les systèmes réseaux et télécoms : le logiciel est un outil permettant
d’exploiter les possibilités du matériel

d) le taux d’innovation

Il se détermine en se posant les questions suivantes :

 L’activité informatisée est –elle bien connue ?


 A-t-on de l’expérience dans ce domaine ?
 Le problème est-il bien défini ?

Dispensé par M. ASSAWOGA ETOGA N 2


Introduction aux AGL

Nous pouvons avoir un logiciel :


 peu innovant : informatisé telle qu’une activité existante
 très innovant : avoir un outil pour une activité qui ne se pratique pas encore (mais
les objectifs sont plus ou moins connus)

e) la notion de dépendance

Elle se définit comme étant le degré de vulnérabilité vis-à-vis de :

 l’environnement d’exécution d’autres logiciels ou applications. Exemple : le


logiciel de comptabilité analytique qui doit interagir avec un logiciel de
comptabilité générale

II- Facteurs sur l’utilisation

a)la criticité

Le logiciel est une critique ou pas ?

 critique de sûreté : c’est lorsque les vies humaines sont en jeu


 critique de mission : dans le cadre où les enjeux sont importants,
Exemple : - enjeux financiers (logiciels pour la gestion d’une banque)
- enjeux économiques (désorganisation de l’activité : habituer le
personnel à l’utilisation du logiciel alors qu’ils étaient habitués à une
utilisation manuelle)
- non-critique : les conséquences défaillantes sont minimes et ou récupérables.

b) la durée de vie

Elle peut être brève ou très longue.

 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

Dispensé par M. ASSAWOGA ETOGA N 3


Introduction aux AGL

III- Facteurs sur le procédé de fabrication


a)Facteurs de partenariat entre différents acteurs
Comment acquérir ou développer un logiciel sur mesure ?
 Une bonne compréhension entre les acteurs
 Gérer les conflits
 Gérer les substitutions de rôles
 Respecter les besoins fonctionnels

b)Compétence et indisponibilité des partenaraires


La tâche devient rude si incompétence, est ce que le développeur est compétent dans
le domaine ? Est-ce que le commanditaire lui aussi comprend vraiment le problème. Ceci peut
avoir des répercussions sur les utilisateurs.

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

la technologie qu’on dispose nous permettant de faciliter et d’obtenir un bon logiciel.


On distingue :

 les méthodes d’analyse, de conception, de programmation, de test et de gestion


de projet
 les outils : avoir un outil qui supporte la méthode
 les techniques informatiques utilisées : par exemple sur client-serveur,
Intelligence Artificielle, Bases de Données

e)Contraintes de budget et de délais

 pouvoir gérer  la pénalité de retard (l’application du contrat)


 l’extensibilité du budget
 conséquence : la fabrication d’un logiciel a une influence sur le plan
psychologique

Dispensé par M. ASSAWOGA ETOGA N 4


Introduction aux AGL

CHAPITREII : LES QUALITES D’UN LOGICIEL

 définition
 comment l’obtenir
 comment le mesurer
 quelles sont les conséquences de la non-qualité ?

Pour répondre aux problèmes de la crise du logiciel on a essayé d’appliquer les


méthodes connues de l’ingénieur au domaine du logiciel. Il s’agit de donner un cadre
rigoureux pour guider le développement du logiciel de sa conception à sa livraison, contrôler
les coûts, évaluer les risques et respecter les délais, établir les critères d’évaluation de la
qualité d’un logiciel.

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.

I) Facteurs usuels de qualité

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.

Dispensé par M. ASSAWOGA ETOGA N 5


Introduction aux AGL

Pour les « non-informaticiens » les logiciels sont difficiles d’emploi. Ce critère


d’utilisabilité est composé :
 la facilité d’apprentissage
 la maniabilité
 comment l’obtenir ?
 analyser le mode opératoire des utilisateurs
 former les utilisateurs
 adapter l’ergonomie du logiciel et aux utilisateurs
 comment la mesurer ?
 faire un recensement au niveau des utilisateurs
 tests d’intégration
 conséquences de la non-utilisabilité

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

d) la maintenabilité (un critère majeur de qualité)


Dire qu’un logiciel est maintenable
Il existe trois niveaux de maintenance :
- la maintenance corrective qui consiste à corriger les erreurs. Dans un critère de
choix d’un logiciel si on constate que le coût de la maintenance corrective est
élevée alors le logiciel est mauvais
- la maintenance adaptative : il faut chaque fois ajuster le logiciel pour qu’il reste
en service par conséquent l’ajustement doit se faire au niveau de l’environnement
d’exécution, au niveau des fonctions à satisfaire, au niveau des conditions
d’utilisation
- la maintenance perfective : il s’agit d’accroître ou d’améliorer les performances
du logiciel par exemple ramener le temps d’exécution d’un logiciel d’une minute
à 30 secondes

En conclusion, un logiciel maintenable est un logiciel dont les coûts de la correction


et de l’adaptation ne sont pas élevés et le coût de la perfection est supportable. En matière

Dispensé par M. ASSAWOGA ETOGA N 6


Introduction aux AGL

d’éthique pour un ingénieur en software la maintenance est gratuite. La maintenance


adaptative ne l’est pas mais l’ingénieur ne doit pas tenir le client en otage. Le client doit avoir
toutes les cartes en main pour faire appel à un autre ingénieur pour l’adaptation.

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.

Les techniques favorisant la réutilisation sont :

- La conception orientée objet : classe objet


- La conception à base de composants
- Réaliser les patrons de conception
- Réaliser les modèles d’architecture

f) Les délais

Ce facteur consiste à livrer un logiciel d’actualité. L’allongement des délais provoque


l’augmentation des coûts, l’obtention d’un logiciel d’actualité est basée sur une bonne
planification qui dépend des activités de développement.

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.

Dispensé par M. ASSAWOGA ETOGA N 7


Introduction aux AGL

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 :

- La construction d’un modèle et l’analyser (preuve mathématique, complexité


algorithmique)
- Une simulation (construire un modèle et l’exécuter)

II) Etude des facteurs de qualités aux différents domaines d’application

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é

- l’intégrité des données

- la performance

- la disponibilité des données

2) Logiciel temps réel


a) définition

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

Dispensé par M. ASSAWOGA ETOGA N 8


Introduction aux AGL

- 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

c) Les qualités délicates

- 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.

Exemple : système de freinage automobile

b) Qualités délicates
- L’interopérabilité
- La fiabilité

Dispensé par M. ASSAWOGA ETOGA N 9


Introduction aux AGL

Chapitre 3 : CYCLE DE VIE D’UN LOGICIEL

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é

Quand commence le logiciel ?

I) Composants du cycle de vie d’un logiciel

- Avant-projet ; activités qu’on peut avoir


- Développement
- Exploitation et maintenance
- Retrait

Ces phases sont composées de deux groupes d’activités : activités théoriques, activités
techniques.

 Avant-projet ; activités théoriques, on peut avoir : initialisation du projet où


interviennent le maitre d’ouvrage ou MOA (émet un cahier de charges, des besoins, il
prépare des appels d’offre, préparation et mise à jour du contrat) et le maitre d’œuvre ou
MOE (lecture du cahier de charge, préparation de la réponse

Activités techniques : étude de faisabilité ; c’est de déterminer si le développement proposé


vaut la peine d’être mis en œuvre compte tenu des attentes et des difficultés de
développement.

 Développement ; activités théoriques ; on a la planification : établir un calendrier de


développement ; l’affectation des tâches ; pilotage et suivi (répartition des tâches c'est-
à-dire hiérarchiser les tâches et les sous tâches nécessaires au développement du
logiciel) ;activités techniques on aura : l’analyse-conception(déterminer la façon dont
le logiciel fournit les différentes fonctionnalités recherchées, au niveau de la
conception générale on pourra parler de la conception architecturale : déterminer la
structure du système, conception des interfaces : déterminer la façon dont les
différentes parties du système agissent entre elles, conception
détaillée),implémentation (écrire le logiciel),test ( essayer le logiciel sur des données
d’exemple pour s’assurer qu’il fonctionne correctement. On distingue plusieurs types
de tests : test unitaire : faire tester les parties du logiciel par leurs développeurs. Test

Dispensé par M. ASSAWOGA ETOGA N 10


Introduction aux AGL

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

II) Documents courants produits dans le cycle de vie d’un logiciel

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

Ce document décrit précisément les conditions que doit remplir le logiciel exemple :

c) Calendrier de projet

Dans ce document on retrouve

 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)

d) Plan test du logiciel

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)

e) Plan d’assurance qualité

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 contient le code complet du produit fini,

g) Rapport des défauts

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

Dispensé par M. ASSAWOGA ETOGA N 11

Vous aimerez peut-être aussi