Les usines à logiciels

49
LES USINES À LOGICIELS

Transcript of Les usines à logiciels

Page 1: Les usines à logiciels

LES USINES À LOGICIELS

Page 2: Les usines à logiciels

PLAN• Historique• Définition• C’est quoi une usine logicielle

• Composants• Modèle d'usine logicielle• Personnalisation de masse• Point de vue du fabricant• Le point de vue du client

• Trois idées clés en usine logicielle• Schema d’usine logicielle• Modele d’usine logicielle• Environnement de développement extensible

2

Page 3: Les usines à logiciels

PLAN

• Examples d’usine logicielle• Smart Client Software Factory• Web Service Software Factory• Mobile Client Software Factory• Web Client Software Factory

• Ce qui nous attend dans les usines à logiciels

3

Page 4: Les usines à logiciels

HISTORIQUE

• Michael A. Cusumano –Institut des Technologies de Massachusetts – Historien principal des usines à logiciels.

• Fin 1960 – Le terme ‘usine’ est apparu dans l’ingénierie logicielle; associé aux outils assistés par ordinateurs, systèmes de contrôle de gestion, modularisation, et réutilisation.

• Hitachi – première compagnie au monde à adopter le terme ‘usine’ pour étiqueter une installation logicielle

• Steve Cook and Stuart Kent de Microsoft – proposer la méthode des usines à logiciels.

4

Page 5: Les usines à logiciels

DEFINITION

Jack Greenfield et Keith Short

Une ligne de produits logiciels qui configure des outils extensibles, des processus et de contenu en utilisant un

modèle d'usine logicielle basée sur un schéma de la fabrique des logiciels pour automatiser le développement et

la maintenance des variantes d'un produit archétype en adaptant, assemblant et en configurant des composants à

base de Framework.

5

Page 6: Les usines à logiciels

DEFINITION

Microsoft Patterns & Practices Team

Une usine logicielle est une collection structurée des logiciels connexes. Quand une usine logicielle est installée dans un environnement de développement, cela permet aux architectes et aux développeurs de créer efficacement de

certains types d'applications de haute qualité.

6

Page 7: Les usines à logiciels

C’EST QUOI ALORS UNE USINE LOGICIELLE?

7

Page 8: Les usines à logiciels

8Outils de développement logiciel

Développeurs

Architectes

Testeurs

Concepteurs

Chefs de projet

Les analystes d'affaires

Outil focalisé avecdes instructions

spécifiquesciblée à résoudre

petite et spécifiqueproblèmes de l'entreprise

Page 9: Les usines à logiciels

AD construit 30% de chaque

application

70% de composants prêts

à l'emploi

Produit

complet ou partiel

COMMENT ÇA FONCTIONNE?

• Développement - composant d'assemblage, impliquant la personnalisation, l'adaptation et l'extension

• Sorties instances de plusieurs produits différents - chacune est différente de la précédente en fonction de son unique configuration 9

Page 10: Les usines à logiciels

COMPOSANTSModèles et Patterns

• Représentent des concepts au sein d'un système logiciel

Langages spécifiques au domaine : Domain Specific Languages (DSL)

• Fournit des langages spécialisés pour la manipulation de concepts dans leur domaine respectif

Lignes de produits logiciels

• Sous-ensembles de composants qui sont configurés, assemblés et emballés afin de fournir un produit assez complet• Composante la plus importante d'une Software Factory

10

Page 11: Les usines à logiciels

COMPOSANTSModèles and Patterns

• Represents concepts within a software system

Domain Specific Languages (DSL)

• Provides specialized languages for manipulating concepts within their respective domain

Software Product Lines

• Subsets of components that are configured, assembled, and packaged to provide a fairly complete product• Largest component of a Software Factory

11

Design Patterns• Une solution générale réutilisables à des problèmes

communs dans la conception de logiciels• Description du modèle ou de la résolution de problèmes

dans de nombreuses situations différentes• N'est pas un motif fini qui peut être transformé

directement en un code

Page 12: Les usines à logiciels

COMPOSANTS

Modèles et Patterns

• Représentent des concepts au sein d'un système logiciel

Langages spécifiques au domaine : Domain Specific Languages (DSL)

• Fournit des langages spécialisés pour la manipulation de concepts dans leur domaine respectif

Lignes de produits logiciels

• Sous-ensembles de composants qui sont configurés, assemblés et emballés afin de fournir un produit assez complet• Composante la plus importante d'une Software Factory

12

Page 13: Les usines à logiciels

COMPOSANTS

Modèles et Patterns

• Représentent des concepts au sein d'un système logiciel

Langages spécifiques au domaine : Domain Specific Languages (DSL)

• Fournit des langages spécialisés pour la manipulation de concepts dans leur domaine respectif

Lignes de produits logiciels

• Sous-ensembles de composants qui sont configurés, assemblés et emballés afin de fournir un produit assez complet• Composante la plus importante d'une Software Factory

13

Page 14: Les usines à logiciels

MODÈLE D'USINE LOGICIELLE

• Utilise un ensemble de modèles d'industrialisation qui accélère le développement rapide de produits logiciels (MSDN, 2004).

14

Product Line Analysis

Product Line Design

Product Line Implementation

Product Development

Product Configuration

Extensible Tools

Customized Tools

Product Development

Fixed Assets

- Product Line Definition- Problem Domain Modeling-Solution Domain Modeling

- Product Architecture- Infrastructure Architecture

-Architecture Feature Mapping

- Asset Provisioning- Asset Packaging

Software Schema

Variable Assets

Source: Software Factory Model, http://msdn2.microsoft.com/en-us/library/ms954811.aspx

14

Page 15: Les usines à logiciels

PERSONNALISATION DE MASSE

• Personnalisation modulaire- utilise le principe des "blocs de construction"

• Personnalisation ajustable- type réversible de personnalisation

• Personnalisation dimensionnelle- procédures de personnalisation permanents- par exemple mélange, adaptation ou encore de coupe à réparer.

15

Page 16: Les usines à logiciels

POINT DE VUE DU FABRICANT

Avantages• Réduction des coûts• Gagne fidélisation de la clientèle• Avantage concurrentiel• Analyse approfondie des besoins

du client• Des revenus plus élevés• Position concurrentielle• Processus de faisabilité technique• De fortes chances d'amélioration

des affaires• Préparation de l'organisation

Inconvénients• Considéré comme un

investissement cher en TIC• Nécessite une formation• Risques probables d'échec

16

Page 17: Les usines à logiciels

LE POINT DE VUE DU CLIENT

Avantages• la commodité du client• Les produits sont conçus en

fonction des préférences du client

• Les achats peuvent se faire en dépit des différences de temps et de lieu entre le fabricant et le client

• Personnalisés selon les besoins individuels d'un client

Inconvénients• Prend plus de temps pour

être livré• L'approvisionnement est

beaucoup plus compliqué que ce que nous savons

• Difficulté de se procurer du produit final avant qu'il arrive à être acheté

17

Page 18: Les usines à logiciels

LE POINT DE VUE DU CLIENT

Avantages• Les clients seront en mesure

de dire aux fabricant exactement ce qu’ ils ont besoin

• Encourage les clients à investir une quantité suffisante de temps pour concevoir leurs produits qui à son tour crée un atmosphère de loyauté

Inconvénients• Des produits sur mesure sont

généralement beaucoup plus cher que les habituelles

18

Page 19: Les usines à logiciels

TROIS IDÉES CLÉS EN USINE LOGICIELLE

19

Page 20: Les usines à logiciels

SCHEMA D’USINE LOGICIELLE

20

Recette

Ingrédients:Projets

Répertoires de code sourceFichiers SQL

Fichiers de Configuration

Page 21: Les usines à logiciels

• Explique comment elles doivent être combinées pour devenir un produit.

• Décrit l'architecture de la ligne de produits, et les relations clés entre les composants et les Frameworks dont elles sont composées.

21

SCHEMA D’USINE LOGICIELLE

Page 22: Les usines à logiciels

Sac d'épicerie

Contient des ingrédients énumérés dans la recette.

MODELE D’USINE LOGICIELLE

22

Page 23: Les usines à logiciels

• Fournit des patterns, des conseils, des modèles, des Frameworks, des échantillons, des outils personnalisés, des feuilles de style, et autres ingrédients utilisés pour construire des produits

23

MODELE D’USINE LOGICIELLE

Page 24: Les usines à logiciels

ENVIRONNEMENT DE DÉVELOPPEMENT EXTENSIBLE

24

Cuisine

C'est là où les produits sont développés

Page 25: Les usines à logiciels

Produits Plat

25

Page 26: Les usines à logiciels

Les intervenants La clientèle

26

Page 27: Les usines à logiciels

Spécifications du produit

Repas spécifique

27

Page 28: Les usines à logiciels

Développeurs du produit

Cuisiniers

28

Page 29: Les usines à logiciels

Développeurs deslignes de produits

Chefs

29

Page 30: Les usines à logiciels

EXAMPLES D’USINE

LOGICIELLE

30

Page 31: Les usines à logiciels

• Fournit un ensemble intégré de lignes directrices qui aide les architectes et les développeurs à créer des applications client intelligentes composites

31

SMART CLIENT SOFTWARE FACTORY

Page 32: Les usines à logiciels

Contenu:• Modèles• Patterns• Démarrages rapides• Rubriques de procédures• Les implémentations de référence

32

SMART CLIENT SOFTWARE FACTORY

Page 33: Les usines à logiciels

Scénario:• Architectes - utiliser usine logicielle pour créer leurs propres

architectures de référence client et les distribuer aux développeurs

• Développeurs - l'utiliser pour créer des applications client intelligent, compte tenu des pratiques éprouvées

33

SMART CLIENT SOFTWARE FACTORY

Page 34: Les usines à logiciels

Avantages:• Entreprises - productivité accrue des utilisateurs et la

simplification des tâches d'affaires• Architectes - amélioration de la qualité et de la cohérence• Développeurs - une productivité accrue et un temps de montée

en puissance plus rapide• Opérations de consolidation - des efforts opérationnels

34

SMART CLIENT SOFTWARE FACTORY

Page 35: Les usines à logiciels

WEB SERVICE SOFTWARE FACTORY

35

Page 36: Les usines à logiciels

• Permet aux développeurs et aux architectes de créer des applications de service Web

• Ensemble intégré d'outils, les modèles, le code source et des conseils normatifs

36

WEB SERVICE SOFTWARE FACTORY

Page 37: Les usines à logiciels

Avantages:• Amélioration de la qualité• Prévisibilité accrue• Augmentation de la productivité• Une flexibilité accrue

37

WEB SERVICE SOFTWARE FACTORY

Page 38: Les usines à logiciels

MOBILE CLIENT SOFTWARE FACTORY

38

Page 39: Les usines à logiciels

• Fournit des lignes directrices pour aider les architectes et les développeurs de créer des applications mobiles qui interagissent avec les systèmes dorsaux sur les réseaux comme le WiFi et GPRS

39

MOBILE CLIENT SOFTWARE FACTORY

Page 40: Les usines à logiciels

Contenu:• Orientation / Patterns• Rubriques de procédures• Les implémentations de référence• Guidance Automation Toolkit

40

MOBILE CLIENT SOFTWARE FACTORY

Page 41: Les usines à logiciels

Avantages:• Démarrage accéléré• Réduction des risques• Amélioration de la qualité• Augmentation de la productivité• Facilité d'adoption

41

MOBILE CLIENT SOFTWARE FACTORY

Page 42: Les usines à logiciels

WEB CLIENT SOFTWARE FACTORY

42

Page 43: Les usines à logiciels

• Fournit des solutions éprouvées aux défis communs trouvés lors de la construction et de l'exploitation de grands sites de traitement des transactions de l'entreprise sur le Web

43

WEB CLIENT SOFTWARE FACTORY

Page 44: Les usines à logiciels

Contenu:• Collection de composants réutilisables et de bibliothèque• Modèles de solutions de Visual Studio 2005, des assistants et

des extensions• Rubriques de procédures

44

WEB CLIENT SOFTWARE FACTORY

Page 45: Les usines à logiciels

Avantages:• Business - la simplification des tâches professionnelles• Architecture - architecture de développement commun• Les équipes de développement - accélérer la production

45

WEB CLIENT SOFTWARE FACTORY

Page 46: Les usines à logiciels

CE QUI NOUS ATTEND DANS LES USINES A

LOGICIELS

46

Page 47: Les usines à logiciels

ACROPOLE

• Définissez votre application entière dans un design moderne très riche

• Construire des pièces, des comportements, de navigation, et même la logique métier tout dans un design

• Avenir de l'usine du client logiciel intelligent

47

Page 48: Les usines à logiciels

48

Page 49: Les usines à logiciels

MERCI POUR VOTRE ATTENTION