© Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver...
-
Upload
clemence-noel -
Category
Documents
-
view
112 -
download
2
Transcript of © Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel Préambule Hiver...
© 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
© 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.
© 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
© Petko Valtchev Université de Montréal Janvier 2002 4
IntroIntro Good/Bad News?Good/Bad News?
Pas de démo la première semaine
© 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
© 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
© 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.
© 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/
© 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
© 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?
© Petko Valtchev Université de Montréal Janvier 2002 11
IFT 2251Génie LogicielIntroduction
IFT 2251Génie LogicielIntroduction
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
© 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é?
© 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)
© 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.
© 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.
© 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 …
© 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?
© 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
© 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.
© 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.
© 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.
© 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.)
© 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.
© 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
© 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).
© 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é…
© 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!
© 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
© 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
© 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]
© 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
© 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
© 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
© 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
© 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.
© Petko Valtchev Université de Montréal Janvier 2002 37
IntroIntro “Quality is free”“Quality is free”
Qualité
Effort