Les usines à logiciels

Post on 20-Jun-2015

1.381 views 2 download

Transcript of Les usines à logiciels

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

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

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

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

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

C’EST QUOI ALORS UNE USINE LOGICIELLE?

7

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

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

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

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

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

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

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

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

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

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

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

TROIS IDÉES CLÉS EN USINE LOGICIELLE

19

SCHEMA D’USINE LOGICIELLE

20

Recette

Ingrédients:Projets

Répertoires de code sourceFichiers SQL

Fichiers de Configuration

• 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

Sac d'épicerie

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

MODELE D’USINE LOGICIELLE

22

• 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

ENVIRONNEMENT DE DÉVELOPPEMENT EXTENSIBLE

24

Cuisine

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

Produits Plat

25

Les intervenants La clientèle

26

Spécifications du produit

Repas spécifique

27

Développeurs du produit

Cuisiniers

28

Développeurs deslignes de produits

Chefs

29

EXAMPLES D’USINE

LOGICIELLE

30

• 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

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

32

SMART CLIENT SOFTWARE FACTORY

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

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

WEB SERVICE SOFTWARE FACTORY

35

• 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

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

37

WEB SERVICE SOFTWARE FACTORY

MOBILE CLIENT SOFTWARE FACTORY

38

• 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

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

40

MOBILE CLIENT SOFTWARE FACTORY

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

WEB CLIENT SOFTWARE FACTORY

42

• 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

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

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

CE QUI NOUS ATTEND DANS LES USINES A

LOGICIELS

46

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

48

MERCI POUR VOTRE ATTENTION