Conception D. Revuz Génie Logiciel Art et Science de la

Transcription

Conception D. Revuz Génie Logiciel Art et Science de la
Génie Logiciel
Art et Science de la
construction de logiciel
Conception
D. Revuz
Université de Marne la Vallée
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Organisation
Conception
– Techniques, langages, Design Patterns
– Méthodes I Diagrammes UML
– outils I eclipse
Méthode
–
–
–
–
Méthode II Itérations, UML, Qualité
Gestion de Projet, Gestion d'équipes
Outils II CVS, ganttproject
Architecture
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Génie Logiciel Introduction
•
•
•
•
•
Définition
Importance
Historique
Les axes du Génie Logiciel
Évolution
• Mythes et Légendes
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Définition
Le génie logiciel est une science de l'ingénieur
dont le champ d'application est le
développement de programmes pour
ordinateurs.
Il consiste en un ensemble de techniques qui
organise le travail de façon a assurer la qualité
des produits construits.
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Définition
Il existe des écoles différentes qui donne des
définitions très différentes du génie logiciel.
Cinq approches du Génie Logiciel :
1 Technique – P.O.O.
2 Outils – ECLIPSE.org
3 Méthode – objecteering
4 Processus – le travail à la chaîne
5 Management – Gestion des processus
(et une bonne étique :)
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Le génie logiciel est « le Management d'un
Processus de mise en oeuvre de Techniques
structurées par une Méthode soutenu par des
Outils ».
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Importance
La difficulté est sous-estimée !
Les grands logiciels critiques sont aussi
difficiles a construire que les grandes
constructions (adp).
C'est un travail d'équipe
l'organisation de l'équipe est un point clef
de la réussite.
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Importance (2)
• Les systèmes informatique deviennent de plus en plus
présent dans la vie quotidienne et dans l'entreprise.
• Les tâches confiés au logiciels deviennent de plus en
plus complexe, risquées et critiques.
• Les airbus sont pilotés par des commandes
« électriques » avec un contrôle de validité fait par un
logiciel.
• Le matériel médical moderne est fait à 50% de logiciels.
• Les machines-outils sont programmés.
• Toute la gestion, les communications, etc
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Historique
Les premiers programmes sont très cours et très bien
définis mathématiquement. Écrits par de très petites
équipes très compétentes.
Progressivement les programmes se sont complexifiés et
les besoins fonctionnels (en particulier l'ergonomie)
sont devenus de plus en plus importants.
L'augmentation exponentiel de la taille des programmes
et de leur coût a forcé la communauté des
programmeurs a formaliser leurs méthodes de
production. C'est la naissance du Génie Logiciel.
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Historique (2) Langages
Les langages de programmation évoluent.
– Écriture de circuits (aucune adaptation)
– Des instructions (possibilité de plusieurs programmes sur une
même machine)
– Langages compilés (Fortran,...) avec des éléments syntaxiques
plus évolués
– Intégrations de concepts algorithmiques comme les piles et le
tas, et de la notion de fonction.
– langages Objets
– ?
–
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Approche Objet
• Une évolution importante des méthodes de
développement ou l'on cherche plus a
structurer les logiciel qu'a chercher des
solutions algorithmiques optimales.
• L'approche objet est une écriture des logiciel
qui aide les développeurs a les comprendre et
donc a les construire.
•
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Une technologie jeune et
dynamique
• Une puissance de calcul en constante évolution
• Des évolutions permanentes des langages de
développement
• De nouvelles techniques a intégrer régulièrement
(base de données, interfaces graphiques, réseaux,
internet)
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Loi de Moore
“ Multiplication par 2 de la
Puissance tout les 18 mois ”
Une multiplication par 1000 tout les 15ans.
Copyright, 2000 -2004© Dominique Revuz
[email protected]
un coût relatif croissant du
logiciel
Avec le salaire d ’un mois d ’un ingénieur
informaticien on achète un ordinateur très puissant.
Il devient difficile d’écrire des logiciels grand public
qui utilise pleinement la puissance des ordinateurs
de bureau.
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Un travail d’équipe
Comme pour les autres branches du Génie
(Militaire -> armes, civil -> cibles)
La complexité des objectifs devient telle que seule
des équipes fournies d’ingénieurs sont capable de
répondre aux exigences.
Équipe => organisation, communication
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Organisation
• Rôle de chacun
– On ne peut être juge et partie
– Spécialisation
• Planification
– Dans quel ordre
– Qui
Copyright, 2000 -2004© Dominique Revuz
[email protected]
Communication
• Un langage commun
– UML
– DP
– Commentaires (in English please)
• Organisé
– Template de documents
– A des moments précisé
• Équipe de FOOT !!! (3-0)
Copyright, 2000 -2004© Dominique Revuz
[email protected]
18
Rappel
les PID sont toujours positifs.
Copyright, 2000 -2004© Dominique Revuz
[email protected]