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

Chapitre 1: Software and Software Engineering

Présentations similaires


Présentation au sujet: "Chapitre 1: Software and Software Engineering"— Transcription de la présentation:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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


Télécharger ppt "Chapitre 1: Software and Software Engineering"

Présentations similaires


Annonces Google