Ingénierie de méthodes - Method engineering

Image
Exemple de processus d'ingénierie de méthode. Cette figure fournit une vue orientée processus de l'approche utilisée pour développer des concepts de méthode prototype IDEF 9, une procédure et des éléments de langage graphique et textuel candidats.

L'ingénierie des méthodes dans le "domaine des systèmes d'information est la discipline pour construire de nouvelles méthodes à partir de méthodes existantes". Il se concentre sur "la conception, la construction et l'évaluation de méthodes, techniques et outils d'aide au développement des systèmes d'information ".

En outre, l'ingénierie des méthodes "veut améliorer l'utilité des méthodes de développement de systèmes en créant un cadre d'adaptation dans lequel des méthodes sont créées pour correspondre à des situations organisationnelles spécifiques".

Les types

Ingénierie de méthodes assistée par ordinateur

Le processus de modélisation de méta-processus est souvent pris en charge par des outils logiciels, appelés outils d'ingénierie de méthode assistée par ordinateur (CAME), ou outils MetaCASE (outils de génie logiciel assisté par ordinateur de méta-niveau). Souvent, la technique d'instanciation "a été utilisée pour construire le référentiel d'environnements d'ingénierie de méthode assistée par ordinateur". Il existe de nombreux outils de modélisation de méta-processus.

Personnalisation de la méthode

Dans la littérature, différents termes font référence à la notion d'adaptation de méthode, y compris «personnalisation de méthode», «adaptation de fragment de méthode» et «ingénierie de méthode situationnelle». La personnalisation des méthodes est définie comme suit:

Processus ou capacité dans lequel les agents humains, à travers des changements réactifs et des interactions dynamiques entre des contextes, des intentions et des fragments de méthode, déterminent une approche de développement de système pour une situation de projet spécifique.

Potentiellement, presque toutes les méthodes agiles conviennent à la personnalisation de méthodes. Même la méthode DSDM est utilisée à cette fin et a été adaptée avec succès dans un contexte CMM . L'adéquation à la situation peut être considérée comme une caractéristique distinctive entre les méthodes agiles et les méthodes traditionnelles de développement de logiciels, ces dernières étant relativement beaucoup plus rigides et prescriptives. L'implication pratique est que les méthodes agiles permettent aux équipes de projet d'adapter les pratiques de travail en fonction des besoins des projets individuels. Les pratiques sont des activités et des produits concrets qui s'inscrivent dans un cadre méthodologique. À un niveau plus extrême, la philosophie de la méthode, constituée d'un certain nombre de principes , pourrait être adaptée.

Ingénierie de la méthode situationnelle

L'ingénierie des méthodes situationnelles est la construction de méthodes adaptées aux situations spécifiques des projets de développement. Elle peut être décrite comme la création d'une nouvelle méthode par

  1. sélectionner des composants de méthode appropriés dans un référentiel de composants de méthode réutilisables,
  2. adapter ces composants de méthode, le cas échéant, et
  3. intégrer ces composants de méthode sur mesure pour former la nouvelle méthode spécifique à la situation.

Cela permet de créer des méthodes de développement adaptées à toute situation de développement. Chaque développement de système commence alors, par une phase de définition de méthode où la méthode de développement est construite sur place.

Dans le cas du développement des affaires mobiles, il existe des méthodes disponibles pour des parties spécifiques du processus de conception du modèle d'entreprise et du développement des TIC. L'ingénierie des méthodes situationnelles peut être utilisée pour combiner ces méthodes en une seule méthode unifiée qui adopte les caractéristiques des services TIC mobiles.

Processus d'ingénierie de méthode

Les développeurs des langages de modélisation IDEF , Richard J. Mayer et al. (1995), ont développé une première approche de l'ingénierie des méthodes à partir de l'étude de la pratique commune de l'ingénierie des méthodes et de l'expérience dans le développement d'autres méthodes d' analyse et de conception . La figure suivante présente une vue orientée processus de cette approche. Cette image utilise la méthode IDEF3 Process Description Capture pour décrire ce processus où les boîtes avec des phrases verbales représentent les activités, les flèches représentent les relations de précédence et les conditions «exclusives ou» parmi les chemins possibles sont représentées par les boîtes de jonction marquées d'un «X».

Image
Cette image donne un aperçu général de l'approche des processus d'ingénierie de la méthode IDEF.

Selon cette approche, il existe trois stratégies de base en ingénierie des méthodes:

  • Réutilisation : l'une des stratégies de base de l'ingénierie des méthodes est la réutilisation. Dans la mesure du possible, les méthodes existantes sont adoptées.
  • Sur mesure : trouvez des méthodes qui peuvent satisfaire les besoins identifiés avec des modifications mineures. Cette option est intéressante si la modification ne nécessite pas de changement fondamental des concepts de base ou des objectifs de conception de la méthode.
  • Nouveau développement : ce n'est que lorsqu'aucune de ces options n'est viable que les concepteurs de méthodes devraient chercher à développer une nouvelle méthode.

Ces stratégies de base peuvent être développées dans un processus similaire de développement de concept

Approche de l'ingénierie des connaissances

Une approche d' ingénierie des connaissances est le mécanisme prédominant pour l'amélioration des méthodes et le développement de nouvelles méthodes. En d'autres termes, à de très rares exceptions près, le développement de méthodes implique d'isoler, de documenter et de conditionner la pratique existante pour une tâche donnée sous une forme qui favorise un succès fiable parmi les praticiens. Les initiations d'experts sont d'abord caractérisées sous la forme d'intuitions de base et de concepts de méthodes. Ceux-ci sont souvent initialement identifiés par l'analyse des techniques, des diagrammes et des expressions utilisés par les experts. Ces découvertes aident à la recherche de méthodes existantes qui peuvent être utilisées pour aider les praticiens novices à acquérir les mêmes connaissances et compétences.

Le développement d'une nouvelle méthode est accompli en établissant la portée de la méthode, en affinant les caractérisations des concepts et intuitions de la méthode, en concevant une procédure qui fournit à la fois l'accomplissement des tâches et un soutien d'apprentissage de base aux praticiens novices, et en développant un ou des langages d'expression. Des techniques d'application des méthodes sont ensuite développées, décrivant des lignes directrices à utiliser en mode autonome et de concert avec d'autres méthodes. Chaque élément de la méthode subit ensuite un raffinement itératif au moyen d'essais en laboratoire et sur le terrain.

Processus de conception du langage de méthode

Le processus de conception du langage de méthode est de nature hautement itérative et expérimentale. Contrairement au développement de procédures, où un ensemble d'heuristiques et de techniques issues de la pratique existante peut être identifié, fusionné et affiné, les concepteurs de langage rencontrent rarement des mécanismes d'affichage graphique ou de capture d'informations textuelles bien développés. Lorsque des structures de langage potentiellement réutilisables peuvent être trouvées, elles sont souvent mal définies ou seulement partiellement adaptées aux besoins de la méthode.

Un facteur critique dans la conception d'un langage de méthode est d'établir clairement le but et la portée de la méthode. Le but de la méthode établit les besoins auxquels la méthode doit répondre. Ceci est utilisé pour déterminer la puissance expressive requise de la langue de support. La portée de la méthode établit la portée et la profondeur de la couverture qui doivent également être établies avant de pouvoir concevoir une stratégie de conception de langage appropriée. La détermination de la portée implique également de décider quelles activités cognitives seront soutenues par l'application de la méthode. Par exemple, la conception du langage peut se limiter à afficher uniquement les résultats finaux de l'application de la méthode (comme en fournissant à IDEF9 des fonctionnalités de langage graphique et textuel qui capturent la logique et la structure des contraintes). Alternativement, il peut être nécessaire de disposer d'un support linguistique en cours de processus facilitant la collecte et l'analyse des informations. Dans ces situations, des constructions de langage spécifiques peuvent être conçues pour aider les praticiens de la méthode à organiser, classer et représenter des informations qui seront ultérieurement synthétisées dans des structures de représentation supplémentaires destinées à être affichées.

Sur cette base, les concepteurs de langage entament le processus de décision de ce qui doit être exprimé dans la langue et de la manière dont il doit être exprimé. La conception du langage peut commencer par développer un langage textuel capable de représenter la gamme complète des informations à traiter. Des structures de langage graphique conçues pour afficher des parties sélectionnées du langage textuel peuvent ensuite être développées. Alternativement, les structures du langage graphique peuvent évoluer avant ou en parallèle avec le développement du langage textuel. La séquence de ces activités dépend en grande partie du degré de compréhension des exigences linguistiques des développeurs linguistiques. Ceux-ci peuvent devenir clairs seulement après plusieurs itérations de conception de langage graphique et textuel.

Conception de langage graphique

La conception du langage graphique commence par identifier un ensemble préliminaire de schémas et le but ou les objectifs de chacun en termes de lieu et comment ils soutiendront le processus d'application de la méthode. L'élément central de l'attention est déterminé pour chaque schéma. Par exemple, en expérimentant d'autres conceptions de langage graphique pour IDEF9, un schéma de contexte a été envisagé comme un mécanisme permettant de classer les différents contextes environnementaux dans lesquels des contraintes peuvent s'appliquer. Le point central de ce schéma était le contexte. Après avoir décidé de l'objectif central du schéma, des informations supplémentaires (concepts et relations) qui doivent être capturées ou transmises sont identifiées.

Jusqu'à ce stade du processus de conception du langage, l'accent a été mis principalement sur les informations qui devraient être affichées dans un schéma donné pour atteindre les objectifs du schéma. C'est là que le concepteur de langage doit déterminer quels éléments identifiés pour une éventuelle inclusion dans le schéma se prêtent à une représentation graphique et serviront à garder l'utilisateur concentré sur le contenu d'information souhaité. Avec cette compréhension générale, les structures de langage graphique précédemment développées sont explorées pour identifier les opportunités potentielles de réutilisation. Tout en explorant les conceptions de langage graphique candidats pour les méthodes IDEF émergentes, un large éventail de diagrammes a été identifié et exploré. Assez souvent, même certains des concepts centraux d'une méthode n'auront aucun élément de langage graphique dans la méthode.

Par exemple, la méthode de modélisation de l'information IDEF1 inclut la notion d'entité mais n'a pas d'élément syntaxique pour une entité dans le langage graphique. Lorsque le concepteur du langage décide qu'un élément syntaxique doit être inclus pour un concept de méthode, les symboles candidats sont conçus et évalués. Tout au long du processus de conception du langage graphique, le concepteur de langage applique un certain nombre de principes directeurs pour aider à développer des conceptions de haute qualité. Parmi ceux-ci, le concepteur de langage évite les classes de concepts qui se chevauchent ou qui sont mal définies. Ils cherchent également à établir des mécanismes intuitifs pour donner le sens de lecture des schémas.

Par exemple, les schémas peuvent être conçus pour être lus de gauche à droite, de manière ascendante ou centrée. Le potentiel d'encombrement ou de quantités extrêmement importantes d'informations sur un schéma unique est également pris en compte, car l'une ou l'autre condition rend la lecture et la compréhension du schéma extrêmement difficiles.

Test de méthode

Chaque conception candidate est ensuite testée en développant une large gamme d'exemples pour explorer l'utilité des conceptions par rapport à l'objectif de chaque schéma. Les tentatives initiales de développement de méthodes, et le développement de structures de langage de support en particulier, sont généralement compliquées. Avec des itérations successives sur la conception, les structures de langage inutiles et complexes sont éliminées.

Au fur et à mesure que la conception graphique du langage approche un niveau de maturité, l'attention se tourne vers le langage textuel. Les objectifs poursuivis par les langages textuels vont de la fourniture d'un mécanisme pour exprimer des informations qui ont été explicitement exclues du langage graphique à la fourniture d'un mécanisme d'échange de données standard et d'interprétation automatisée des modèles. Ainsi, le langage textuel supportant la méthode peut être simple et non structuré (en termes d'interprétabilité informatique), ou il peut émerger comme un langage hautement structuré et complexe. Le but de la méthode détermine en grande partie le niveau de structure requis de la langue textuelle.

Techniques de formalisation et d'application

Au fur et à mesure que le langage de la méthode approche de la maturité, des techniques de formalisation mathématique sont utilisées afin que le langage émergent ait une syntaxe et une sémantique claires. Le processus de formalisation de la méthode aide souvent à déceler les ambiguïtés, à identifier les structures linguistiques maladroites et à rationaliser le langage.

Ces activités générales aboutissent à un langage qui aide à attirer l'attention de l'utilisateur sur les informations qui doivent être découvertes, analysées, transformées ou communiquées au cours de l'accomplissement de la tâche pour laquelle la méthode a été conçue. La procédure et les composants linguistiques de la méthode aident également les utilisateurs à développer les compétences et les harmonisations nécessaires pour obtenir des résultats de haute qualité constante pour la tâche ciblée.

Une fois la méthode développée, les techniques d'application seront conçues pour appliquer avec succès la méthode en mode autonome ainsi qu'avec d'autres méthodes. Les techniques d'application constituent la composante «utilisation» de la méthode qui continue d'évoluer et de croître tout au long de la vie de la méthode. La procédure de la méthode, les constructions de langage et les techniques d'application sont examinées et testées pour affiner de manière itérative la méthode.

Voir également

Les références

Attribution

Cet article incorpore le texte de l' US Air Force , Compendium d'Information Integration for Concurrent Engineering (IICE) Compendium of methods report de Richard J. Mayer et al., 1995, une publication maintenant dans le domaine public.

Lectures complémentaires

  • Sjaak Brinkkemper , Kalle Lyytinen, Richard J. Welke (1996). Ingénierie des méthodes: principes de construction de méthodes et support d'outils: actes de l'IFIP TC8, WG8.1 / 8.2 Conférence de travail sur l'ingénierie des méthodes 26-28 août 1996, Atlanta, États-Unis . Springer. ISBN   041279750X doi : 10.1007 / 978-0-387-35080-6
  • Sjaak Brinkkemper , Saeki et Harmsen (1998). Techniques d'assemblage pour l'ingénierie des méthodes. Advanced Information Systems Engineering, Actes de CaiSE'98 . New York: Springer. doi : 10.1007 / BFb0054236
  • Ajantha Dahanayake (2001). Ingénierie de méthodes assistée par ordinateur: conception de référentiels CASE pour le 21e siècle . Hershey, PA: Idea Group Inc (IGI), 2001. ISBN   1878289942
  • Brian Henderson-Sellers , Jolita Ralyté, Pär J. Ågerfalk et Matti Rossi (2014). Ingénierie de la méthode situationnelle . Berlin: Springer. ISBN   9783642414664 doi : 10.1007 / 978-3-642-41467-1
  • Brian Henderson-Sellers , Jolita Ralyté et Sjaak Brinkkemper , éds. (2008). Ingénierie de la méthode situationnelle: principes fondamentaux et expériences: actes de la conférence de travail IFIP WG 8.1, 12-14 septembre 2007, Genève, Suisse . New York: Springer. ISBN   0387739467 doi : 10.1007 / 978-0-387-73947-2
  • Brian Henderson-Sellers , C. Gonzalez-Perez et Donald Firesmith (2004) Ingénierie de méthodes et évaluation COTS dans: ACM SIGSOFT Software Engineering Notes archive . Vol 30, numéro 4 (juillet 2005).
  • Manfred A. Jeusfeld, Matthias Jarke et John Mylopoulos , éds. (2009). Métamodélisation pour l'ingénierie des méthodes . Cambridge, MA: MIT Press. ISBN   0262101084

Liens externes