Ingénierie des systèmes Session #1 Les méthodologies de développement Cherifa Mansoura Liamani, PhD cliamani @ ca.ibm.com [email protected]
Apr 04, 2015
Ingénierie des systèmesSession #1
Les méthodologies de développement
Cherifa Mansoura Liamani, [email protected]
Plan de Cours Introduction Définitions Les méthodes formelles vs non
formelles Comment adapter un processus Conclusion
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é
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
Cycle en cascade
Cycle iterative
Comparaison entre les cycles
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
Methode Merise
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.
Merise: MCT
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
…RUP
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
Unit Testing
Planning
Coding
Customer
Team
Manager
Hacking out
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
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é
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
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
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
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
Merci