Click here to load reader
Upload
orianne-petit
View
106
Download
0
Embed Size (px)
Citation preview
Introduction au Génie LogicielMiguel GarzonUniversité d’Ottawa
La Nature du logiciel•Le logiciel est intangible
▫Il est difficile de gérer l’effort de développement
•Le logiciel est facile à reproduire▫Tout le coût se trouve dans son développement
Pour d’autres produits, la fabrication est souvent le processus le plus coûteux
•L’industrie du logiciel exige beaucoup de main d’œuvre▫Le processus de développement est difficile à
automatiser
Les différentes catégories de logiciel...•Sur mesure
▫Pour un client spécifique•Générique
▫Vendu sur le marché•Embarqués
▫Scellé dans du matériel électronique▫Difficile à modifier
Les différentes catégories de logiciel...•Différences entre les logiciels •sur mesure, génériques et embarqués
Sur mesure Générique Embarqué
Nombre de copies en circulation
faible moyen élevé
Effort de calcul total exigé
faible élevé moyen
Effort global de développement
élevé moyen faible
Qu’est-ce que le génie du logiciel?...
•…en respectant les contraintes de coûts , de temps, et autres.▫Les ressources sont limitées▫Le bénéfice résultant doit être supérieur
aux coûts ▫La productivité de l’équipe doit demeurer
concurrentielle▫Une mauvaise estimation des coûts et de la
durée du projet peut mener à l’échec du projet
La profession d’ingénieur logiciel
• Le terme Génie Logiciel a été introduit en 1968▫ Il s’agissait de reconnaître le fait que les
principes du génie peuvent s’appliquer au développement du logiciel
• Le génie est une pratique régulée par une corporation professionnel▫Protection du public▫Application de principes scientifiques et
économiques▫Pratiques conformes à une éthique établie
Les parties impliquées dans le génie du logiciel
• 1. Utilisateurs▫Ceux qui se servent du logiciel
• 2. Clients▫Ceux qui paient pour le logiciel
• 3. Développeurs▫Ceux qui conçoivent le logiciel
• 4. Gestionnaires▫Ceux qui supervise la production du logiciel
• Tous ces rôle peuvent être remplis par la même personne
La qualité du logiciel...•Conviviabilité
▫Apprentissage aisé, facilité d’utilisation•Efficacité
▫Aucun gaspillage de ressources (mémoire, temps de calcul, …)
•Fiabilité▫Les tâches sont effectués sans problèmes
•Facilité de maintenance▫Aisé à modifier, à faire évoluer
•Réutilisabilité▫Ses parties peuvent être réutilisés
facilement
La qualité du logiciel...
Perception deLa qualité du logiciel
Développeur: Facile à concevoir,à maintenir, à réutiliser
Utilisateur: Facile à apprendre,utile et efficace
Client: Résoud le problèmeà un coût acceptable
Gestionnaire: Se vend bien,satisfait les clients,peu coûteux à développer
Projets de génie logiciel
• La plupart des projets consiste à faire évoluer ou à maintenir un logiciel existant dont on a hérité de la responsabilité▫Projets correctifs: corriger des défauts▫Projets adaptatifs: modifications à apporter au
système de façon à tenir compte de changement dans Le système d’opération Les données ou la base de données Les règles et procédures
▫Projets d’amélioration: ajout de nouvelles options▫Projets perfectifs: changements apportés à la
structure interne du programme
Projets de génie logiciel
•Certains projets consiste à concevoir un cadre d’applications▫Un cadre d’applications est un logiciel
général dont certains éléments demeurent ouverts.
•D’autres projets sont des travaux d’assemblage▫Ils impliques la mise ensemble de
composantes fonctionnelles existantes
Activités communes aux projets de génie logiciel•Définition et spécification des exigences
▫Ce qui inclut Analyse de domaine Définition du problème Cueillette des besoins Analyse des besoins Spécification formelle des exigences
Activités communes aux projets de génie logiciel•Conception
▫Décider comment la technologie disponible sera utilisée pour réponde aux besoins
▫Ce qui inclut: Déterminer ce qui sera réalisé par le logiciel et
par le matériel Mettre au point l’architecture du système, la
définition des sous-systèmes et de leurs interactions
Élaboration des éléments internes de chaque sous-système
Conception des interfaces usagers et des bases de données
Activités communes aux projets de génie logiciel• Modélisation
▫ Créer des représentation du logiciel et de son domaine d’application Modélisation de son utilisation Modélisation de sa structure Modélisation de sa dynamique et de son
comportement• Programmation• Assurance de qualité
▫ Révision et inspections▫ Mise à l’épreuve
• Déploiement• Gestion du processus