350 likes | 505 Views
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.
E N D
Ingénierie des systèmesSession #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 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
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)
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.
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
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
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
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
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.
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
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
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
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
DSDM http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method
Autres méthodes ‘Agiles’… • eXtreme programming _XP • SCRUM • Catalyst Customer Unit Testing Planning Team Coding Hacking out Manager Drive by Feedback
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 ?
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
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
Comment répondre aux enjeux Il est nécessaire d’adapter son processus de développement pour répondre à ces enjeux technologiques et économiques
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
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
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
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
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