1 / 32

Ing énierie des systèmes Session #1

Ing énierie des systèmes Session #1. Les méthodologies de développement Cherifa Mansoura Liamani, PhD cliamani @ ca.ibm.com cherifa.mansoura@hec.ca. Plan de Cours. Introduction D éfinitions Les méthodes formelles vs non formelles Comment adapter un processus Conclusion. La Triade.

lori
Télécharger la présentation

Ing énierie des systèmes Session #1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ingénierie des systèmesSession #1 Les méthodologies de développement Cherifa Mansoura Liamani, PhD cliamani@ca.ibm.com cherifa.mansoura@hec.ca

  2. Plan de Cours • Introduction • Définitions • Les méthodes formelles vs non formelles • Comment adapter un processus • Conclusion

  3. La Triade Ressources • Equipe dédié d’utilisateurs • Ressources compétentes de projet • Un environnement de collaboration adéquat • Approche / méthodologie de développement • Planification de projet • Gestion des besoins • Ensemble de techniques • de modélisation • gestion de projets • Interview des utilisateurs • Critères de succès Qualité Technologie • Standards • Outils (terme CASE est souvent utilisé) • Architectures de référence Processus

  4. Glossaire • Une méthodologie fournit un ensemble de lignes directrices complètes pour la réalisation de chacune des activités du cycle de développement des systèmes. Inclut • Un processus d’encadrement de projet basé sur un cycle donné • Des livrables • Un modèle est une représentation d’un aspect important du monde réel. Un outil fournit du soutien logiciel pour créer des modèles. • Un système est ‘un tout organisé de composants en intéraction’ (E.Schwartz), doté d’une structure, évolue dans le temps et a une finalité… (J.L Lemoigne)

  5. Une Méthodologie? • Une methodology is a structured method for effective project management, including appropriate documentation and control mechanisms for the organisation and management of projects.

  6. Une Méthodologie? • Plusieurs types de projets mais tous passent par les mêmes étapes de développement: • Initiation • Quand le projet commence, objectives et portée définis • Planification • Lister qui fait quoi, quand • Exécution! • Identification des taches • Test • Assurance qualité • Critères d’acceptance • Lancement • livraison • Revue • Fermer le projet

  7. Les grandes familles de méthodes en Génie Logiciel • Méthodes formelles et semi-formelles • Approches structurées • Approches orientée objets • Méthodes non formelles • Toute méthode s’appuie sur un cycle de vie

  8. Cycle en cascade

  9. Cycle iterative

  10. Comparaison entre les cycles

  11. Les méthodes formelles… • Merise • Une approche systémique • Approche fonctionnelle • A une vision duale des données-traitements • A trois niveaux d’abstraction • Niveau conceptuel • Niveau logique • Niveau physique

  12. Methode Merise

  13. Merise en Détail • L'expression des besoins est une étape consistant à définir ce que l'on attend du système d'information automatisé: • faire l'inventaire des éléments nécessaires au système d'information • délimiter le système en s'informant auprès des futurs utilisateurs • Etape suivante est de créer le MCC (Modèle conceptuel de la communication) qui définit les flux d'informations à prendre en compte. • L‘autre étape consiste à mettre au point le MCD (Modèle conceptuel des données) et le MCT (Modèle conceptuel des traitements) décrivant les règles et les contraintes à prendre en compte. • Le modèle organisationnel consiste à définir le MOT (Modèle organisationnel des traitements) décrivant les contraintes dues à l'environnement (organisationnel, spatial et temporel). • Le modèle logique représente un choix logiciel pour le système d'information. • Le modèle physique reflète un choix matériel pour le système d'information

  14. Merise et terminologie • Un événement représente un changement dans l'univers extérieur au système d'information, ou dans le système d'information lui-même. • un événement externe est un changement de l'univers extérieur • un événement interne est un changement interne au système d'information • On représente un événement par une ellipse en trait plein pour les événements internes à l'organisation, en trait pointillé pour les événements externes.

  15. Merise: MCT

  16. Autres méthodes formelles… • Custom Development Method (CDM) d’Oracle • Une approche systémique • Approche globale du système d’information • A une vision duale des données - traitements • Éléments fondamentaux (livrable, processus, phase, tâche, dépendance) • Distingue trois niveaux d’abstraction • Niveau conceptuel • Niveau logique • Niveau physique

  17. Autres méthodes formelles… • P+ • Une approche dérivée de Macroscope/DMR • Approche orientée-objet • Itérative et incrémentale • Pilotée par les cas d’utilisation

  18. Les méthodes semi - formelles • Prince2 • UP • Une approche orientée objet, repose sur UML • Pilotées par les cas d’utilisation • Centré sur l’architecture • Pilotées par les risques • Itératif et incrémental • Méthodologies dérivées • RUP (www.rational.com/products/rup/indx.jsp) et BUP • Catalysis ( www.catalysis.org) • EUP ( site de Scott Ambler) • MSF_Microsoft Framework

  19. …RUP

  20. Les méthodes `Agiles’… • DSDM (Dynamic Softare Development Method)_1994 • Une approche globale dans un environnement de développement rapide (RAD) et basée sur la collaboration et la coopération entre toutes les personnes intéressées par le projet est essentielle • Les principes de base: • Implication active des utilisateurs • Pouvoir de décision des équipes DSDM • Livraison fréquente de produits • Développement itératif et incrémental pour obtenir une solution adaptée aux besoins • Les tests sont intégrés à toutes ls étapes du cycle de vie

  21. DSDM http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method

  22. Autres méthodes ‘Agiles’… • eXtreme programming _XP • SCRUM • Catalyst Customer Unit Testing Planning Team Coding Hacking out Manager Drive by Feedback

  23. Les Méthodes ‘Agiles’ • Points forts • Itératif à planification souple • Simple à mettre en œuvre • Fait une large place aux aspects techniques : prototypes, règles de développement, tests… • Innovant: programmation en duo, kick-off matinal meetings debout … • Points faibles • Ne couvre pas les phases en amont et en aval au développement : capture des besoins, support, maintenance, tests d’intégration… • Élude la phase d’analyse, si bien qu’on peut dépenser son énergie à faire et défaire • Assez flou dans sa mise en œuvre: quels intervenants, quels livrables ?

  24. Manifeste des méthodes`Agiles’ Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. www.agilemanifesto.org

  25. Technologies Besoins Réalisation Production Évolutions Les Enjeux Nouvelles Études métier maquettes , briser les rêves nouvelle méthode, prototypage, formation, risques modéliser, • Contraintes • Budget • Facteur temps • Qualité nombreux intervenants, nouvelle infrastructure, formation, Disponibilité, robustesse, Sécurité, performance transfert de compétences

  26. Comment répondre aux enjeux Il est nécessaire d’adapter son processus de développement pour répondre à ces enjeux technologiques et économiques

  27. Adapter son processus de développement… • Travailler de façon itérative et incrémentale • Que ce soit au niveau des plannings, des spécifications, ou des développements… • L’itératif permet une gestion efficace des risques, • Aborder dès les premières itérations, les points difficiles • Par exemple, les premières itérations de la phase technique aborderont les aspects sécurité et transaction. • L’itératif permet de présenter rapidement des éléments de validation aux utilisateurs • Réaliser des prototypes de validation

  28. Iterative Req. Comp. Arch Change Unit Testing Planning Coding Planning Manage risk Combiner les meilleures pratiques • Analyse Simple • Gérer par rétroaction • Planifier • Gérer les risques • Conception Simple • Tests • Refactoring • Pair Programming • Responsabilité collective du code • Règle de codage • Intégration continue • Livraison fréquentes • Planification itérative • Client sur site Product

  29. Comment mettre en oeuvre un processus adapté à vos besoins Waterfall Waterfall Adaptez via Votre liste de livrables!!! Few risk, sequential Late integration and testing Disciplined Relaxed Well documented Traceability Little documentation Light process UP processframework Large Config. Light Config. average Config. Outils Iterative Iterative Risk driven Continuous integration and testing

  30. Autres Orientations • La construction des systèmes s’appuie sur des modèles ou méta-modèles ( framework, design-patterns) • MDA_Model-Driven Architecture • MVC_ Model-View-Controller • Méthodologies de gestion de projets • Méthodologies d’organisation stratégique • Méthodologies d’assurance et de contrôle de la qualité • Modélisation des processus métier

  31. Autres défis • CMMI_ Capability Maturity Model Integrated • La maîtrise des coûts et des délais est devenue une priorité pour tous les acteurs de l’industrie. Des modèles existent pour rationaliser les processus de développement. CMMI en fait partie. • Ce Modèle d'évolution des capacités logiciel a vu le jour en 1991

  32. Merci

More Related