Chapitre 1: Software and Software Engineering

Slides:



Advertisements
Présentations similaires
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Advertisements

Eléments de Génie Logiciel
Processus d'expression du besoin
La Gestion de la Configuration
Les Evolutions et la Maintenance
Etablir des procédures de vérification (Etape 11 / Principe 6)
La politique de Sécurité
L’utilisation des Normes ISO 9001 et ISO 9004 dans la démarche qualité
Les Ateliers de Génie Logiciel
L’Ingénierie de la Formation Continue Session I : Méthodologie d’élaboration d’un plan de Formation
ACTUALITE Déjà plus de participants aux formations FEE Bat
La revue de projet.
MRP, MRP II, ERP : Finalités et particularités de chacun.
1- Accueil et introduction Cours MGP Accueil et introduction Gilles Corriveau Maîtrise en Gestion de Projet UQTR Automne 1998.
Introduction au Génie Logiciel
le profil UML en temps réel MARTE
Parcours de formation SIN-7
L‘analyse, la description et l’évaluation des emplois
Sommaire Objectif de Peakup Principes de fonctionnement
Sésame Conseils Bon sens et compétences
Etapes vers la Certification - Préparation de groupe –
Manuel de formation PNUE Thème 11 Diapo 1 Objectifs de la mise en œuvre et du suivi de lÉIE : F appliquer les conditions dapprobation F garantir leur efficacité
Techniques de test Boulanger Jean-Louis.
SCIENCES DE L ’INGENIEUR
Mesures de performance organisationnelle Cours ICO 810
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
SEG2505 – Introduction au Génie Logiciel Plan de cours – Automne 2012.
Les étapes du cycle de développement du génie logiciel
Portée, arrimages et intervenants Évolution des méthodes
SEMINAIRE DE CONTACT novembre 2008 Outils de gestion de projet.
Patrons de conceptions de créations
Projet de Développement: Planification et Mise en Œuvre
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Supports de formation au SQ Unifié
GENIE LOGICIEL
Compétences relatives à l’employabilité
INF8505: processeurs embarqués configurables
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le système informatique et le système d’information
Introduction au Génie Logiciel
Réalisé par: BOUMSISS Hassnae OUED Zahra TABIT Youssef EZZIANI Hamza
Formalisation de la politique qualité
Initiation à la conception des systèmes d'informations
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
Problèmes du génie logiciel. H. Lounis Les problèmes zTaille et complexité des logiciels ; zTaille croissante des équipes ; zSpécifications peu précises.
Année 2006 – 2007 ENSEA © Emeric Rollin
L’enseignement de spécialité SLAM
Principes et définitions
Problématique de la thèse Comment les outils provenant du management des connaissances peuvent ils être utilisés dans le cadre de la politique d'amélioration.
CSC Proprietary 6/20/2015 9:42:54 AM 008_5849_ER_Red 1 BPM - SOA Logo du client Synthèse de notions “fondamentales” par Guillaume Feutren, Stagiaire *
Principes de Management de la Qualité
L’enseignement de l’Analyse Fonctionnelle et Structurelle S 5 en S. T
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Martine Miny - MPInstitut - Référentiels et métiers de management de projet - Mastère IESTO - 9 février 2004 Référentiels et métiers de management de projet.
Système de Management Intégré
Conférence 2TUP Stéphane Barthon 03/12/
PROCESSUS D’AUDIT PLANIFICATION DES AUDITS
Document de spécification d’exigences Normes IEEE et 29148:2011
ISO 9001:2000 Interprétation Article 7 Réalisation du produit
Introduction aux Interfaces Homme-Machine
L’entreprise et sa gestion
Responsabilité en matière de sûreté radiologique
Chapitre 12 Surveillance des ressources et des performances Module S41.
CONTENU DE L ’ISO Définition métrologie.
Transcription de la présentation:

Chapitre 1: Software and Software Engineering Object-Oriented Software Engineering Practical Software Development using UML and Java Chapitre 1: Software and Software Engineering

Chapter 1: Software and Software Engineering 1.1 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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Chapter 1: Software and Software Engineering La nature du logiciel Même des informaticiens peu qualifié peuvent arriver à bricoler quelque chose qui semble fonctionner La qualité d’un logiciel n’est pas apparente Un logiciel est facile à modifier La tentation est forte d’effectuer des changements rapides sans vraiment en mesurer la portée Un logiciel ne s’use pas Il se détériore à mesure que des changements sont effectués en raison de l’introduction d’erreurs ou par une complexification indue Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Chapter 1: Software and Software Engineering La nature du logiciel Conclusions Beaucoup de logiciels sont mal conçus et se détériore rapidement La demande pour du logiciel est toujours croissante Le logiciel se trouve en perpétuel ‘état de crise’ L’ingénierie du logiciel est une nécessité Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

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é Effort global de développement Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Les différentes catégories de logiciel... Logiciels temps-réel e.g. systèmes de contrôle et de surveillance Réaction immédiate requise Environnement souvent très contraignant Logiciels de traitement de données Largement utilisés en administration des affaires Fiabilité des résultats Sécurité dans l’accès aux données Quelques fois les 2 aspects sont présents dans un logiciel Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

1.2 Qu’est-ce que le génie du logiciel?... Le processus visant la résolution de problèmes posés par un client par le développement systématique et l’évolution de systèmes logiciels de grande taille et de haute qualité en respectant les contraintes de coûts , de temps, et autres. Autres définitions: IEEE: (1) l’application d’une approche de développement, d’utilisation et de maintenance logiciel systématique, discuplinée, quantifiable. (2) L’étude des approches concernant (1). Canadian Standards Association: Les activités systématiques impliquant le design, l’implantation et la vérification du logiciel de façcon à en optimiser sa production et son support. Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Qu’est-ce que le génie du logiciel?... …la résolution de problèmes posés par un client… Voilà le but essentiel du génie logiciel Dans certains cas, la solution peut être de ne rien développer, si un produit satisfaisant existe déjà Ajouter des options non requises par le client ne solutionne en rien le problème L’ingénieur logiciel doit établir une bonne communication afin de bien identifier et comprendre le problème à résoudre Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Qu’est-ce que le génie du logiciel?... …par le développement systématique et l’évolution… Tout processus d’ingénierie implique l’application de techniques bien maîtrisées de façon organisée et disciplinée Plusieurs pratiques reconnues ont maintenant été standardisées e.g. IEEE ou ISO La plupart des projets logiciels consiste à faire évoluer un logiciel existant Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Qu’est-ce que le génie du logiciel?... …systèmes logiciels de grande taille et de haute qualité… Un logiciel de grande taille est un logiciel qui ne peut être compris par une seule personne Le travail en équipe et une bonne coordination sont essentiels Un des défis principaux est d’arriver à subdiviser le travail à accomplir tout en s’assurant que chacune de ces parties fonctionneront harmonieusement ensemble Le produit final doit rencontrer des critères de qualité bien établis Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

1.3 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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

1.4 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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Chapter 1: Software and Software Engineering 1.5 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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Chapter 1: Software and Software Engineering La qualité du logiciel... Client: Utilisateur: Résoud le problème à un coût acceptable Facile à apprendre, utile et efficace Perception de La qualité du logiciel Gestionnaire: Développeur: Se vend bien, satisfait les clients, peu coûteux à développer Facile à concevoir, à maintenir, à réutiliser Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Chapter 1: Software and Software Engineering La qualité du logiciel... Ces différents attributs peuvent être en conflit Accroître l’efficacité peut rendre le logiciel plus difficile à maintenir et à réutiliser Définir des critères de qualité constitue un élément clé du génie du logiciel La conception a alors pour objectif de rencontrer ces critères Trop en faire est une perte de temps et de ressources L’optimisation du logiciel peut être nécessaire Il faut atteindre un niveau de performance optimal en fonction des coûts budgétés Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Critères de qualité internes Ce sont par exemple: le style de programmation la quantité et la qualité des commentaires, la complexité du programme produit Caractérise certains aspect de la conception du logiciel Ont un effet direct sur la qualité externe du produit Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Qualité à court terme vs Qualité à long terme Le logiciel répond-t-il aux besoins immédiats du client? Peut-il faire face aux exigences actuels? Long terme: Maintenance Évolution en fonction des besoins futurs Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

1.6 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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

Projets de génie logiciel Développement à partir de zéro Concevoir un nouveau produit Il s’agit là de la minorité des projets entrepris Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

1.7 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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

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 Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

1.8 Les huit termes abordés dans ce livre 1. Compréhension du client et de l’utilisateur 2. Développement fondé sur des principes solides et sur des technologies favorisant la réutilisation 3. Orientation objet 4. La modélisation basée sur UML 5. Évaluation des alternatives 6. Développement itératif 7. Communication reposant sur de la documentation 8. Gestion du risque dans chacune des activités Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001

1.9 Risques et difficultés en génie du logiciel • Complexité et quantité des éléments à tenir en compte • Incertitude concernant la technologie • Incertitude concernant les exigences • Incertitude concernant les compétences • Adaptation face aux changements • Détérioration du produit • Risques politiques Chapter 1: Software and Software Engineering © Lethbridge/Laganière 2001