Download - 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