Vous êtes sur la page 1sur 21

I.

Introduction
I.1 Notions de systèmes
Définition: un système est un ensemble d’éléments en
interaction dynamique organisés en fonction d’un but.
Chaque système comporte trois éléments:
Entrées, sorties et traitements

Ingénierie des systèmes: sert à analyser, concevoir et


organiser ces éléments dans un système qui peut être un
produit, un service, une transformation de l’information ou
un contrôle.
Un système informatique est ensemble d’éléments:

Software: les programmes, les structures de données,les


procédures ou les contrôles nécessaires.

Hardware: les équipements électroniques de calcul,


d’interconnections de transfert de données et
electomecaniques(capteurs, camera,….)

Les données: les bases de données, les bases de connaissances……


Un logiciel est un système logique

 Comme les systèmes physiques, une bonne qualité est


achevée grâce à une bonne conception.

 Les problèmes de qualité sont corrigés plus facilement


pour les logiciels

I.2 Les types de logiciels


deux facteurs pour déterminer le type d’un logiciel:

 Le contenu de l’information
 La synchronisation de l’information
Logiciels système: interaction lourde avec le hardware.
 Compilateurs, éditeurs, gestionnaires de fichiers (déterministes)
 Systèmes d’exploitation, les drivers, les processus de
communication (indéterministes)

Logiciels temps réels: gèrent, analysent et contrôlent des


événements du monde réel au moment de leur arrivée. Incluent:
Composants de collecte de données
Composants d’analyse
Composants de contrôle d’E/S de l’environnement externe
Un composant de coordination pour une réponse rapide
Logiciels de gestion: restructure les données pour faciliter les
opérations commerciales ou aider à la prise de décision.

Logiciels scientifiques: applications astrologiques,


volcanologiques, simulation…

Logiciels bureautiques: traitements de textes,les tableurs, les


logiciels graphiques, multimédia, distraction, gestionnaires de
BD….

Logiciels d’IA: systèmes experts, de bases de connaissances, de


reconnaissances de formes(images et voix), preuves de
théorèmes, les jeux ….
I.3 La crise du logiciel
La fin des années 70 on a remarqué les déficits suivants:
 Augmentation des coûts
 Difficulté d’évolution
 Non fiabilité
 Non respect des spécification
 Non respect des délais
Les exemples suivants en témoignent
 Sonde Marinier vers Venus perdue dans l’espace cause: une
erreur d’un programme fortran.
 Explosion d’Ariane5 en 1996. coût ½ Milliard Dollar. Cause:
faute logicielle d’une composante dont le fonctionnement
n’est pas indispensable durant le vol
 En Février 1991 un missile Scud Irakien tua 28 soldats et
blessé 98 cause: une bogue dans le système anti missile.
 En 1985 une bogue coûta 5 Million de Dollar à la banque de
New York Cause: une erreur non détectée dans le logiciel.

La raison principale n’est pas l’incompétence des


programmeurs mais aux techniques de gestion et de
mise en œuvre non adaptées aux projets de grandes
tailles

La solution est le Génie Logiciel


Trois éléments en génie logiciel

 Le processus de développement pour le contrôle et la gestion


des projets logiciels

 Les méthodes sont les techniques d’analyse, de conception,


de programmation, de test et de documentation.

 Les outils pour l’aide automatisée et semi automatisée.


I.4 Définition du génie logiciel
Le GL est un ensemble est un ensemble de méthodes pour
spécifier, concevoir, réaliser et faire évoluer avec des moyens
et des délais raisonnables un logiciel de qualité.
trois phases génériques associées au GL:
Phase de définition sert à identifier les données à manipuler, les
fonctions et les performances souhaitées, les comportements
attendus…

Phase de développement sert à définir comment les données


seront structurées, quelles fonctions sont implémentées dans
une architectures logicielle…

Phase de suivie correction d’erreurs, amélioration des besoins,


adaptation aux nouveaux environnements.
D’autres activités effectuées tout au long du processus de
développement complémentent ces phases:

 Contrôle du projet
 Assurance qualité
 Gestion des configuration
 Production de la documentation
 Gestion de réutilisation
 estimation des coûts et des délais.
Cycle de vie d’un logiciel

Preanalyse et analyse des


Pourquoi
besoins

Quoi Spécification

Comment Conception

Implémentation

Vérification validation

Maintenance
Developpement
40%
Maintenance 60%

specification 20%

conception 20%

implementation
20%
tests 40%
I.5 Les modèles de développement
Les modèles de développement généraux décrivent les
enchaînements et les interactions entre activités. Leur but est
d’obtenir un processus de développement rationnel,
reproductible et contrôlable.
Modèle en cascade
Le résultat de chaque étape (document ou logiciel) est soumis à une
revue approfondie; et l’étape suivante n’est abordée que lorsque
le résultat est jugé satisfaisant.
Modèle en V:aune meilleure articulation des activités de spécification et
de conception avec celle de la validation et de la vérification. Son
principe est qu’avec toute décomposition, la recomposition doit être
décrite et que la description de chaque composant est accompagnée
avec ses tests permettant sa validation et sa vérification.
Modèle en spiral: c’est un processus cyclique où chaque cycle
est décomposé en 4 étapes:
1. Détermination des objectifs, des alternatives et des
contraintes à partir des résultats du cycle précèdent ou de
l’analyse préliminaire des besoins.
2. Analyse des risques, évaluation des alternatives et
éventuellement du prototypage
3. Développement et vérification de la solution
retenue(modèle cascade ou V)
4. Revue des résultats et planification du cycle suivant.
Le processus s’arrête lorsque toutes les fonctions (composants)
du logiciel sont réalisés.
Ce modèle utilise les prototypes pour guider la conception. Il est
adapté aux projets innovants et à risque.
Parmi les intérêts de ce modèle est l’étude des risques
encourus dans le développement. Parmi ces risques :
 Défaillance de personnel
 Calendre et budget irréaliste
 Interfaces utilisateurs inappropriées
 Problèmes de performances
 Technologies inadéquate.

Modèle par incréments: le logiciel noyau est développé


en premier temps, puis successivement, des
incréments sont développés et intégrés.
Avantages:
 Chaque développement est moins complexe.
 Les intégrations sont progressives.
 Il peut y avoir des livraisons et mises en œuvre après chaque incrément.
 L’effort est constant dans le temps par rapport au V
Les risques:
 Remise en cause du noyau de départ et celle
des incréments précédents
 Impossibilité d’integrer un nouvel élément.
Pour réduire ces risques il faut:
 Définir les incréments au début du projet de
façon globale.
 Les incréments doivent être indépendants
fonctionnellement et au niveau de la
séquence de développement.
I.6 Qualité des logiciels
Internes ( visibles au développeur) externes(visibles à
l’utilisateur)
Validité (complétude fonctionnelle)
fiabilité ( robustesse)
Extensibilité
Réutilisabilité
Efficacité
Portabilité
Vérifiabilité
Intégrité
Facilité d’emploi.

Vous aimerez peut-être aussi