37
© Petko Valtchev Université de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

Embed Size (px)

Citation preview

Page 1: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 1

IFT 2251Génie Logiciel

Préambule

IFT 2251Génie Logiciel

Préambule

Hiver 2002 Petko Valtchev

Page 2: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 2

IntroIntro Le ProfLe Prof

Petko Valtchev Professeur Adjoint au DIRO bureau: AA-2373 téléphone: (514) 343-7599 courriel: [email protected] disponibilité:

Lundi de 14:00 à 16:00, bur. 2373 Pavillon André-Aisenstadt,

ou sur rendez-vous.

Page 3: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 3

IntroIntro Formule pédagogiqueFormule pédagogique

Cours magistraux (Salle 1360, A.A.) Lundi

07.01.2002 - 15.04.2002 08:30 - 09:30

Mercredi 09.01.2002 - 10.04.2002 (sauf 25.02 !) 08:30 - 10:30

Séances de démonstration (Salles Z-220 Z-230 Z-330, Pav. Pr.) Vendredi

10:30 - 12:30

Page 4: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 4

IntroIntro Good/Bad News?Good/Bad News?

Pas de démo la première semaine

Page 5: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 5

IntroIntro DémonstrateursDémonstrateurs

Idrissa Koncobo bureau: Labo Gélo téléphone: (514) 343-6111 # 3244 courriel: [email protected] disponibilité: à déterminer avec lui

Amyne M. Rouane Hacène bureau: Labo Gélo téléphone: (514) 343-6111 # 3244 courriel: [email protected] disponibilité: à déterminer avec lui

Page 6: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 6

IntroIntro Contenu du coursContenu du cours

Thèmes prévus:

Le logiciel, notions de base et rôle Processus de production et cycle de vie Étapes essentielles du cycle de vie (I):

Ingénierie des besoin et spécification (Analyse) Conception

Génie logiciel orienté-objet et UML Activités de vérification Outils et environnements de génie logiciel

Page 7: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 7

IntroIntro RéférencesRéférences

R.S. Pressman, Software Engineering A Practitioner's Approach, 5ème édition, McGraw Hill, 2001.

R. Pooley, P. Stevens, Using UML. Software Engineering with Objects and Components, Addison, Wesley, 1999.

G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1999.

E.J, Braude, Software Engineering: An Object-Oriented Perspective, Wiley, 2001.

S.R. Schach, Object-Oriented and Classical Software Engineering, 5ème édition, McGraw Hill, 2002.

Page 8: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 8

IntroIntro URL utilesURL utiles

La page du DIRO http://www.iro.umontreal.ca

La page de l’équipe GELO http://www.iro.umontreal.ca/labs/gelo/

La page d’accueil du prof http://www.iro.umontreal.ca/~valtchev/

Le site Web du cours http://www.iro.umontreal.ca/~pift2251/

Page 9: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 9

IntroIntro L’évaluationL’évaluation

Travaux pratiques 4 40%

Examen interne 1 30%

Examen final 1 30%

--------------------------------------------

Total 100%

Seuil aux examens de 40% TP : soumissions électroniques – OK

Seuls les documents PostScript/PDF admis Faire attention aux attachements

Page 10: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 10

IntroIntro Travail perso no 0Travail perso no 0

(Facile!)

M’envoyer un courriel qui spécifie: votre formation préalable

y compris vos compétences en OOP et OOA / OOD vos motivation pour suivre le IFT2251 (hors obligation!) vos attentes à l’égard du cours et du prof

“Extra miles” : Que pensez-vous de mes transparents?

Page 11: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 11

IFT 2251Génie LogicielIntroduction

IFT 2251Génie LogicielIntroduction

Hiver 2002 Petko Valtchev

Page 12: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 12

IntroIntro SommaireSommaire

Logiciel, tentative de définition

Génie logiciel, aspects historiques

La qualité des logiciels

Le processus de production

Page 13: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 13

IntroIntro Les QuestionsLes Questions

Qu’est-ce que le logiciel?

Pourquoi le génie logiciel?

Quelle portée de la discipline?

Quelles sont les activités-clés?

Qu’est-ce qu’on entend par qualité?

Page 14: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 14

IntroIntro Le logiciel comme produitLe logiciel comme produit

Rôle du logiciel :

exploiter le potentiel de calcul offert par le matériel informatique

Ex. plate-formes de calcul scientifique (MathLab, Maple),

produire, manipuler et transformer tout une gamme d’informations

(audio, graphique, etc.)

Ex. système d’édition de documents multimédia,

contrôler l’ordinateur effectuant les calculs

Ex. systèmes d’exploitation (Linux, XP),

contrôler la communication entre entités de traitement

d’informations

Ex. logiciels d’exploitation des réseaux

développer des nouveaux systèmes logiciels

Ex. outils de développement (Jbuilder, Rational Rose)

Page 15: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 15

IntroIntro Une définition…Une définition…

Un logiciel est un ensemble d’entités qui

forme une “configuration” incluant:

des programmes

des données

des documents

Un système logiciel est en général intégré au sein d’un système

plus grand qui comporte également des composantes matérielles

et peut inclure d’autres logiciels ainsi que des composantes

humaines.

Page 16: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 16

IntroIntro L’essence du logicielL’essence du logiciel

Par rapport aux produits traditionnels, le logiciel

possède des caractéristiques particulières qui le

rendent unique:

N’est pas manufacturé Ne s’use pas… mais peut devenir obsolète.

Trop souvent (encore) construit sur mesure, avec peu de

soucis de réutilisation.

Page 17: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 17

IntroIntro Le grand essor du logicielLe grand essor du logiciel

Depuis les années 80, on assiste à un formidable essor de

l’industrie du logiciel et de l’informatique en général.

Quels facteurs:

Amélioration exceptionnelle des performances du matériel

informatique.

Accroissement de la mémoire et des capacités de stockage.

Changements importants au niveau de l’architecture des

systèmes.

Diversification des types d’entrées/sorties accessibles.

Et on n’est pas prêt de s’arrêter …

Page 18: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 18

IntroIntro Classifier de l’existantClassifier de l’existant

Les systèmes logicielles peuvent être classifiés

selon différents critères dont :

Le type des informations traitées (sémantique et

structure des éléments d'information)

Ex. Image, son, texte …. Dans quel format?

La prévisibilité des informations et de leur traitement

dans le temps

Quand les données arrivent-elles?

Dans quel ordre?

Quand doivent-elles être traitées?

L'ordonnancement des opérations est-il prévisible?

Page 19: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 19

IntroIntro Quelques grandes classesQuelques grandes classes

Logiciels système

Logiciels temps-réel

Logiciels d’affaires

Logiciels scientifiques et logiciels d’ingénierie

Logiciels embarqués

Logiciels pour ordinateur personnel

Logiciels d’intelligence artificielle

Logiciels d’applications Web

Page 20: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 20

IntroIntro Les classes de prèsLes classes de près

Logiciels systèmes

Logiciel au service d’autres applications Interactions avec les composants matériels informatiques Ordonnancement des opérations concurrentes Partage des ressources Gestion d'interface avec périphérique externe, etc.

Ex.: systèmes d'exploitation, pilotes de périphériques, etc.

Page 21: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 21

IntroIntro Les classes (2)Les classes (2)

Logiciels temps réel

Logiciel qui surveille, contrôle, analyse et traite les événements au moment où ils surviennent (i.e. temps de réaction entre 1ms et 1s).

Evénement: clic de souris, arrivée d'une donnée, levée d'un signal, etc.

Traitement: transmission de données, calcul, activation de processus, etc.

Ex.: Logiciels utilisés pour le pilotage des avions, des trains. Systèmes d'analyse de données en temps réel. Systèmes de décompression de données en temps réel. Systèmes d'échographie en temps réel, etc.

Page 22: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 22

IntroIntro Les classes (3)Les classes (3)

Logiciels d’affaires

Logiciel qui réalise les opérations courantes de gestion dans une entreprise (inventaire, liste des paies, gestion des comptes, historique des transactions, etc.).

Facilite les opérations d'affaires et peuvent servir d'outil d'aide à la décision (analyse des données, gestion de placements)

Gestion interactive possible grâce aux logiciels de transaction directement installés aux points de vente.

Ex.: Logiciels utilisés dans les banques, les super-marchés, les pharmacies, etc.

Page 23: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 23

IntroIntro Les classes (4)Les classes (4)

Logiciels scientifiques et logiciels d’ingénierie

Logiciel développé pour résoudre des problèmes de nature scientifique ou des problèmes de conception technique à partir d'algorithmes et de modèle mathématiques.

Ex.: Logiciels de simulation (pour réseaux de Petri, systèmes de

transition, etc) Logiciels de calcul, d'analyse et de modélisation mathématique

(ex. Maple, Mathematica, MathLab) Ateliers de génie logiciel (Rational Rose, TogetherJ, etc.)

Page 24: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 24

IntroIntro Les classes (5)Les classes (5)

Logiciels embarqués

Logiciel "intelligent" qui est intégré à un dispositif, une machine ou un autre système (ex. : appareils ménagers, machines industrielles, avions, automobiles, missiles, montres, gicleurs, caméscopes, stimulateurs cardiaques, etc.) et qui sert à le piloter.

Ex. le clavier d'un four à micro-onde, le système de freinage d'une automobile.

Page 25: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 25

IntroIntro SommaireSommaire

Logiciel, tentative de définition

Génie logiciel, aspects historiques

La qualité des logiciels

Le processus de production

Page 26: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 26

IntroIntro Les ratés célèbresLes ratés célèbres

Durant la courte histoire de l’informatique, les constructeurs de logiciel ont eu à rougir plus qu’une fois :-(

La sonde Mariner vers Vénus s’est perdue dans l’espace à cause

d’une erreur dans un programme FORTRAN.

En 1981, le premier lancement de la navette spatiale a été retardé de

deux jours à cause d'un problème logiciel.

L'explosion d'Ariane 5, le 4 juin 1996, qui a coûté un demi milliard de

dollars (non assuré !), est due à une faute logicielle d'une composante

dont le fonctionnement n'était pas indispensable durant le vol.

Et on se souvient certainement du bug de l’an 2000 (Y2K).

Page 27: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 27

IntroIntro Le début…Le début…

Aspects historiques 1968 Conference d’ OTAN, Garmisch (DE) But: résoudre la “Software Crisis”

Le logiciel avait tendance d’être délivré: En retard A des coûts exorbitants Avec des erreurs

Quant il était délivré…

Page 28: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 28

IntroIntro Les pièges du logicielLes pièges du logiciel

Pourquoi est-ce que les systèmes d’exploitation ne peuvent-ils être construits comme on construit les ponts?

Tendance à s’effondrer (“crash”) Ingénierie imparfaite Complexité Difficultés de maintenance

Le Génie Logiciel n’est donc pas un Génie ordinaire!

Page 29: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 29

IntroIntro DéfinitionsDéfinitions

Mais qu’est-ce que c’est alors?

« Ensemble des connaissances, des procédés et des acquis scientifiques et techniques mis en application pour la conception, le développement,

la vérification et la documentation de logiciels, dans le but d'en optimaliser la production, le support et la qualité. »

Office de la langue française, 2000

« (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). »

IEEE Standards Collection: Software Engineering

Page 30: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 30

IntroIntro TerminologieTerminologie

Qualité 

Méthodologie, paradigme, processus

Méthode, technique

Programme, système, produit 

Client, développeur, usager

Page 31: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 31

IntroIntro

Software Engineering

Technologie par couches

Génie Logiciel

orienté-“qualité”orienté-“qualité”

processus (modèle)processus (modèle)

méthodesméthodes

outilsoutils

[Pressman 2001]

Page 32: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 32

IntroIntro Aspects ÉconomiquesAspects Économiques

Portée du produit: Types de logiciel:

système, temps-réel, embarqué, etc.

Temps de production Qualité du logiciel Effort investi

Variables dans le développement

Page 33: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 33

IntroIntro Les défis du GLLes défis du GL

Minimiser les coûts de développement tout en répondant aux exigences croissantes

Réduire les temps de développement. Assurer la qualité des logiciels produits. Instituer l’usage des nouvelles technologies (méthodes et

outils) du génie logiciel.

Assurer la maintenance du nombre croissant de logiciels (vieillissants!!)?

Conserver un rythme de production logicielle qui puisse réponde à la demande

Page 34: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 34

IntroIntro SommaireSommaire

Logiciel, tentative de définition

Génie logiciel, aspects historiques

La qualité des logiciels

Le processus de production

Page 35: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 35

IntroIntro QualitéQualité

Qu’est-ce que c’est? (Question ouverte) Types de facteurs:

internes (visibles par les développeurs), externes (visibles par les utilisateurs)

Quelques critères : Validité, Fiabilité (ou robustesse), Efficacité Extensibilité, Réutilisabilité, Compatibilité, Portabilité Vérifiabilité, Intégrité Facilité d'emploi

Page 36: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 36

IntroIntro Qualité (suite)Qualité (suite)

Validité : aptitude d'un produit logiciel à remplir exactement ses

fonctions, définies par le cahier des charges et les spécifications.

Extensibilité : facilité avec laquelle un logiciel se prête à une

modification ou à une extension des fonctions qui lui sont

demandées.

Réutilisabilité : aptitude d'un logiciel à être réutilisé, en tout ou en

partie, dans de nouvelles applications.

Vérifiabilité : facilité de préparation des procédures de test.

Intégrité : aptitude d'un logiciel à protéger son code et ses données

contre des accès non autorisés.

Page 37: © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 37

IntroIntro “Quality is free”“Quality is free”

Qualité

Effort