La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Object-Oriented Software Engineering Practical Software Development using UML and Java Chapitre 1: Software and Software Engineering."— Transcription de la présentation:

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

2 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering2 1.1 La Nature du Logiciel... Le logiciel est intangible Il est difficile de gérer leffort de développement Le logiciel est facile à reproduire Tout le coût se trouve dans son développement Pour dautres produits, la fabrication est souvent le processus le plus coûteux Lindustrie du logiciel exige beaucoup de main dœuvre Le processus de développement est difficile à automatiser

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

4 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering4 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 Lingénierie du logiciel est une nécessité

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

6 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering6 Les différentes catégories de logiciel... Différences entre les logiciels sur mesure, génériques et embarqués Sur mesureGénériqueEmbarqué Nombre de copies en circulation faiblemoyenélevé Effort de calcul total exigé faibleélevémoyen Effort global de développement élevémoyenfaible

7 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering7 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 laccès aux données Quelques fois les 2 aspects sont présents dans un logiciel

8 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering8 1.2 Quest-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) lapplication dune approche de développement, dutilisation 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, limplantation et la vérification du logiciel de façcon à en optimiser sa production et son support.

9 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering9 Quest-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 Lingénieur logiciel doit établir une bonne communication afin de bien identifier et comprendre le problème à résoudre

10 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering10 Quest-ce que le génie du logiciel?... …par le développement systématique et lévolution… Tout processus dingénierie implique lapplication 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

11 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering11 Quest-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 darriver à subdiviser le travail à accomplir tout en sassurant que chacune de ces parties fonctionneront harmonieusement ensemble Le produit final doit rencontrer des critères de qualité bien établis

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

13 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering La profession dingénieur logiciel Le terme Génie Logiciel a été introduit en 1968 Il sagissait de reconnaître le fait que les principes du génie peuvent sappliquer 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

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

15 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering La qualité du logiciel... Conviviabilité Apprentissage aisé, facilité dutilisation 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

16 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering16 La qualité du logiciel... Perception de La 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

17 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering17 La qualité du logiciel... Ces différents attributs peuvent être en conflit Accroître lefficacité 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 Loptimisation du logiciel peut être nécessaire Il faut atteindre un niveau de performance optimal en fonction des coûts budgétés

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

19 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering19 Qualité à court terme vs Qualité à long terme Court 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

20 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering 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 dopération Les données ou la base de données Les règles et procédures Projets damélioration: ajout de nouvelles options Projets perfectifs: changements apportés à la structure interne du programme

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

22 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering22 Projets de génie logiciel Certains projets consiste à concevoir un cadre dapplications Un cadre dapplications est un logiciel général dont certains éléments demeurent ouverts. Dautres projets sont des travaux dassemblage Ils impliques la mise ensemble de composantes fonctionnelles existantes

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

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

25 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering25 Activités communes aux projets de génie logiciel Modélisation Créer des représentation du logiciel et de son domaine dapplication 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

26 © Lethbridge/Laganière 2001 Chapter 1: Software and Software Engineering Les huit termes abordés dans ce livre 1. Compréhension du client et de lutilisateur 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

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


Télécharger ppt "Object-Oriented Software Engineering Practical Software Development using UML and Java Chapitre 1: Software and Software Engineering."

Présentations similaires


Annonces Google