Qu'est-ce que le génie logiciel ?
Qu'est-ce que le logiciel ?
Le logiciel
Ensemble des programmes, procédés et règles, et éventuellement de la documentation, relatifs au fonctionnement d'un ensemble de traitement de l'information (selon le Larousse 96 et IEEE Std 729).- Le logiciel est différent des produits industriels classiques
- Il est invisible/intangible.
- Il ne vieillit pas.
- Il ne s'use pas, il n'est pas détérioré par le test.
- Il est fabriqué artisanalement.
- Il est très (trop ?) facile à modifier.
- Il coûte très (trop ?) cher.
- « programming in the large »
- Plusieurs gens.
- Systèmes complexes.
- Développement discipliné en équipe
- Définition des rôles spécifiques : analyste, concepteur, développeur, testeur, etc.
- Reconnaissance de qualifications.
- Formation complémentaire.
- Des processus « répétables »
- Par exemple, définis à l'ISO 9000, Capability Maturity Model (CMM), "maison", etc.
- Des cycles de vie
- Choix de méthodes rigoureuses.
- Choix de notations spécialisées selon la nature des problèmes.
- Utilisation d'environnements riches et d'outils supports.
Pourquoi étudier le génie logiciel ?
- Pourquoi le Génie Logiciel vous concerne ?
- Reconnaissance de la crise logiciel (OTAN, '68)
- Le logiciel est difficile à fabriquer !
- Problèmes budgétaires.
- Problèmes échéanciers.
- Problèmes de qualité de produit.
- Le logiciel est difficile à fabriquer !
- Le génie logiciel essaie d'appliquer les principes de l'ingénierie au développement du logiciel.
- On veut dépasser la simple fabrication artisanale de logiciels.
- Génie logiciel : une définition
- D'après la norme IEEE 610.12
(1) L'application d'une approche systématique, disciplinée et quantifiable au développement, à l'opération, et à la maintenance du logiciel. C'est-à- dire, l'application de l'ingénierie au logiciel. - (2) L'étude des approches telles que dans (1).
- (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
- (2) The study of approaches as in (1).
- D'après « Classical and Object-Oriented Software Engineering with UML and Java » de Schach
Le génie logiciel est une discipline qui a pour but : "La fabrication du logiciel qui est sans faute, qui est livré en respectant le délai et le budget prévus à l'avance, et qui satisfait aux besoins du client." - " Software engineering is a discipline whose aim is the production of fault-freesoftware, delivered on time and within budget, that satisfies the user's needs."
Deux perspectives
- Processus
- Comment le logiciel est fabriqué.
- Produit
- Ce qui est fabriqué.