E N D
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
Les
Comment adapter un processus
Conclusion
3. La Triade
4. Définition 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. 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
6. Cycle en cascade
7. Cycle iterative
8. Comparaison entre les cycles
9. 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
10. Les 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
11. Les 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
Exemple de Compagnies utilisant P+
Hydro-Quebec
12. Les méthodes semi - formelles 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 et de IJC ( Ivar Jacobson Compagny)
MSF_Microsoft Framework
13. Les méthodes `Agiles’… DSDM (Dynamic Software 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 les étapes du cycle de vie
XP, Scrum et autres
Site agile manifesto
http://www.agilealliance.org/
Manifesto
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Manifesto
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
14. …RUP
15. DSDM
16. Autres méthodes ‘Agiles’… eXtreme programming _XP
SCRUM
Catalyst
17. 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 ?
18. 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
19. Les Enjeux
20. Comment répondre aux enjeux Il est nécessaire d’adapter son processus de développement pour répondre à ces enjeux technologiques
économiques
21. 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
22. Combiner les meilleures pratiques
23. Comment mettre en oeuvre un processus adapté à vos besoins
24. 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
25. 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
26. Merci
27. Projet: Sélectionner une méthodologie
Faire des recherches (internet, organisations, livres..)
Soumettre un rapport au prof à remettre le 12 Mars_ revue de littérature
Préparer une présentation (pwt)
Présenter à la classe
Le travail sera noté et comptera 30%
28. Sujets P+ /DMR
Merise
CDM/Oracle
Catalysis
XP + Scrum
DSDM (dérivé: Excite de Bell)
MSF
CMMI/ITIL
Méthodes de gestions des projets dans RUP et comparer avec Oracle / P+