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

Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.

Présentations similaires


Présentation au sujet: "Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev."— Transcription de la présentation:

1 Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev - Génie logiciel1 Développement de logiciel

2 B.Shishedjiev - Génie logiciel2 Styles de développement Développement rapide –DR incrémental –DR par prototypes –Développement agile Développement extrémal Développement avec réutilisation –Composants

3 B.Shishedjiev - Génie logiciel3 Développement rapide Besoins –L’environnement n’est pas stabile et les sociétés doivent répondre aux nouvelles circumstances. –Ça exige un développement rapide. –Les clients peuvent accepter une qualité médiocre si la foncionalité de base est assurée vite. Particularités –Besoins instables –Processus itérative

4 B.Shishedjiev - Génie logiciel4 Développement itératif

5 B.Shishedjiev - Génie logiciel5 Développement rapide Avantages –Rapide –Participation des clients Désavantages –Gestion difficile –Contracte flou – il n’y a pas une spécification claire –Validation –Maintenance – les changement continus gâtent le système

6 B.Shishedjiev - Génie logiciel6 Prototypes Particularités –Utilisés quand on veut identifier les besoins. –Quand le besoin est spécifié le prototype est jeté et détruit Comparaison avec la méthode incrémentale –Incrémentale - on commence du besoin le plus claire –Prototype - on commence du besoin le plus flou Incremental development Throw-away prototyping Delivered system Executable prototype + System specification Outline requirements

7 B.Shishedjiev - Génie logiciel7 Les méthodes agiles

8 B.Shishedjiev - Génie logiciel8 Les méthodes agiles Principes –Participation des clients –Produit incrémental –Les gens sont importants, pas le processus – un peu discutable –Attends les changements –Maintiens simplicité

9 B.Shishedjiev - Génie logiciel9 Programmation extrémal C’est une approche extrémale –On paut faire des nouvelles versions plusieurs fois par jour –Les améliorations sont livrées aux clients chaque 2 semaines. –Chaque versions doit être testée. Elle n’est acceptée sauf tous les tests ont passé.

10 B.Shishedjiev - Génie logiciel10 Programmation extrémal Le cycle de la version

11 B.Shishedjiev - Génie logiciel11 Programmation extrémal Pratiques –Petits incréments –Petits version délivrées –Conception simple –Développement basé aux tests automatisés –Amélioration continue du code –Programmation en paires –Possession collective du code –Soutenable rythme de travail –Présence permanente du client

12 B.Shishedjiev - Génie logiciel12 Programmation extrémal Besoins –Histoires des utilisateurs –Scénarios –Tâches Changements –Les changements sont faits directement quand ils sont nécessaires

13 B.Shishedjiev - Génie logiciel13 Programmation extrémal Tests –Les tests d’abord Les tests sont écrits avant le code Ils sont écrits comme des programmes afin d’être exécutés automatiquement Tous les tests sont exécutés – les vieux et les nouveaux – quand on ajoute une nouvelle fonctionnalité. –Les tests sont dérivés depuis les scénarios –Les utilisateurs participent –On utilise des programmes de test automatiques

14 B.Shishedjiev - Génie logiciel14 Programmation extrémal Programmation en pairs –Un code est développer par paires de programmeurs ensemble –Le code est possédé par tout l’équipe –Ça propage le savoir dans l’équipe

15 B.Shishedjiev - Génie logiciel15 Développement appliqué rapide Plus traditionnelles Application d’accès aux bases de données Outils –Langage de programmation de BD –Générateur d’interface –Liaisons vers application de Bureautique –Générateurs de rapports

16 B.Shishedjiev - Génie logiciel16 Développement appliqué rapide Environnement de développement rapide DB programming language Interface generator Office systems Report generator Database management system Rapid application development environment

17 B.Shishedjiev - Génie logiciel17 Développement appliqué rapide Génération d’interface –Générer des formulaires complexes par des techniques visuelles –Assurer l’enchaînement des formulaires et la validation de la saisie Programmation visuelle –Problèmes Mauvaise structure Difficile de travailler en équipes Maintenance compliquée

18 B.Shishedjiev - Génie logiciel18 Réutilisation Applications Composants Objets et fonctions

19 B.Shishedjiev - Génie logiciel19 Réutilisation Avantages –Sécurité améliorée –Risque de processus diminué –Utilisation effective des spécialistes –Conformité aux standard –Développement plus rapide –Moins cher Problèmes –Maintenance plus difficile – quand le code source n’est pas disponible –Manque des outils de support –Jalousie –Création et maintenance d’une bibliothèque de composants –Comprendre et assembler les composants

20 B.Shishedjiev - Génie logiciel20 Différents types de réutilisation Design patterns Component-based development Component frameworks Service-oriented systems COTS integration Application product lines Legacy system wrapping Program libraries Program generators Aspect-oriented software development Configurable vertical applications

21 B.Shishedjiev - Génie logiciel21 Approches Modèles de conception (Design patterns) Basé aux Composants Structure appliquée (Application framework) Enveloppe d’un système hérédité Système orienté service Intégration COTS (Commercial off the Shelf System) Ligne de production Application configurable verticalement Bibliothèques de programmes Générateur de programmes Aspect orienté

22 B.Shishedjiev - Génie logiciel22 Design paterns Il présente la description du problème et sa solution Eléments –Nom –Description du problème –Description de la solution – modèle qui peut être implémenté de façons différentes –Conséquences – les résultats et les compromis qu’on doit faire en utilisant le modèle

23 B.Shishedjiev - Génie logiciel23 L’observateur Nom –Observer. Description –Sépare la présentation d’état d’objet de l’objet lui-même Description du problème –On l’utilise quand on a besoin de nombreux présentations. Description de la solution –Vois le diagramme UML. Conséquences –Optimiser pour améliorer les présentation à l’écran ne sont pas utiles

24 B.Shishedjiev - Génie logiciel24 Nombreux écrans A: 40 B: 25 C: 15 D: 20 Observer 1 A B C D Observer 2 Subject 0 50 25 ABCD

25 B.Shishedjiev - Génie logiciel25 Le modèle observateur Subject Observer Attach (Observer) Detach (Observer) Notify () Update () ConcreteSubject GetState () subjectState ConcreteObserver Update () observerState observerState = subject -> GetState () return subjectState for all o in observers o -> Update ()

26 B.Shishedjiev - Génie logiciel26 Réutilisation de modèle Le plus abstrait et le plus générale Types –Générateurs du programmes –Modèles de conception

27 B.Shishedjiev - Génie logiciel27 Générateurs de programmes Types –Pour application de traitements de données –Pour analyseur lexique et analyseur syntactique des processeurs de langages – yacc, JavaCC –Les générateurs de code dans les outils CASE

28 B.Shishedjiev - Génie logiciel28 Générateurs de programmes

29 B.Shishedjiev - Génie logiciel29 Développement aspect orienté On utilise des tisserands d’aspect Generated code Aspect 1Aspect 2 Aspect Weaver Aspect 1 Aspect 2 Input source code join point 1 join point 2

30 B.Shishedjiev - Génie logiciel30 Structures appliquées (Frameworks ) Ce sont des collections de classes abstraites et concrètes et les interfaces entre eux. Types –Infrastructure système (communication, compilateurs, UI) –Intégration – communication entre composants et échange de données –Application d’entreprise Extension Problèmes –Très complexes

31 B.Shishedjiev - Génie logiciel31 Model-view controller Modèle de GUI Nombreux présentation d’un objet et interraction avec les présentations individuellement

32 B.Shishedjiev - Génie logiciel32 Réutilisation des systèmes d’application Types –COTS –Ligne de production

33 B.Shishedjiev - Génie logiciel33 COTS Système d’acquisition Client Web browser E-mail system Server E-commerce system Ordering and invoicing system E-mail system Adaptor

34 B.Shishedjiev - Génie logiciel34 COTS Problèmes d’intégration –Manque de contrôle sur l’effectivité et fonctionnalité –Manque de contrôle d’évolution –Manque de support –Difficultés avec l’interopérabilité

35 B.Shishedjiev - Génie logiciel35 Ligne de production Ce sont application d’une fonctionnalité générique qui peut être configurée pour les besoins du client Adaptation –Configuration du système ou de composants –Ajouter des nouveaux composants –Sélectionner d’une bibliothèque de composants –Modifier des composants

36 B.Shishedjiev - Génie logiciel36 ERP Enterprise Ressource Planning System Configuration database System database Generic ERP system Configuration planning tool

37 B.Shishedjiev - Génie logiciel37 Architecture Architecture de Ressource management System User interface Resource management Resource policy control Resource allocation User authentication Query management Resource database Resource delivery Transaction management

38 Développement d’un produit B.Shishedjiev - Génie logiciel38


Télécharger ppt "Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev."

Présentations similaires


Annonces Google