32
Ingénierie des systèmes Session #1 Les méthodologies de développement Cherifa Mansoura Liamani, PhD cliamani @ ca.ibm.com [email protected]

Ingénierie des systèmes Session #1 Les méthodologies de développement Cherifa Mansoura Liamani, PhD [email protected] [email protected]

Embed Size (px)

Citation preview

Page 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

Ingénierie des systèmesSession #1

Les méthodologies de développement

Cherifa Mansoura Liamani, [email protected]

[email protected]

Page 2: 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

Page 3: 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

La Triade

Technologie

Ressources

Processus Standards Outils (terme CASE est souvent

utilisé) Architectures de référence

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élisationgestion de projetsInterview des utilisateurs

Critères de succès

Qualité

Page 4: 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

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)

Page 5: 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

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.

Page 6: 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

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

Page 7: 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

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

Page 8: 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

Cycle en cascade

Page 9: 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

Cycle iterative

Page 10: 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

Comparaison entre les cycles

Page 11: 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

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

Page 12: 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

Methode Merise

Page 13: 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

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

Page 14: 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

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.

Page 15: 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

Merise: MCT

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

…RUP

Page 20: 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

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

Page 21: 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

DSDM

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

Page 22: 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

Autres méthodes ‘Agiles’… eXtreme programming _XP SCRUM Catalyst

Unit Testing

Planning

Coding

Customer

Team

Manager

Hacking out

Page 23: 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

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 ?

Page 24: 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

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

Page 25: 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

Les Enjeux

Besoins

Réalisation

Production

Évolutions

Technologies

Nouvelles

, briser les rêves

modéliser,

nombreux intervenants,

Disponibilité, robustesse, Sécurité, performance

transfert de compétences

nouvelle infrastructure,formation,

nouvelle méthode, prototypage,formation, risques

Études métier maquettes

Contraintes

•Budget

•Facteur temps

•Qualité

Page 26: 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

Comment répondre aux enjeux

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

Page 27: 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

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

Page 28: 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

Combiner les meilleures pratiques

Unit Testing

Planning

CodingPlanningManage

risk

IterativeReq.

Comp. ArchChange

Product

•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

Page 29: 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

Comment mettre en oeuvre un processus adapté à vos besoins

Waterfall

Few risk, sequentialLate integration and testing

Iterative

Relaxed Disciplined

Risk drivenContinuous integration and testing

Little documentation

Light process

Well documentedTraceability

LightConfig.

averageConfig.

LargeConfig.

UP process framework

Adaptez viaVotre liste de

livrables!!!

Iterative

Waterfall

Outils

Page 30: 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

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

Page 31: 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

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

Page 32: 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

Merci