SlideShare una empresa de Scribd logo
1 de 49
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
7
Concepteurs
  Développeurs
    Outil focalisé avec
      des instructions
Les analystes d'affaires
        spécifiques
     ciblée à résoudre
    petite et Testeurs
              spécifique
  Chefs de projetde
       problèmes
        l'entreprise
              Architectes

                      8
COMMENT ÇA FONCTIONNE?
AD construit               70% de
   30% de                composants               Produit complet
   chaque                   prêts à                  ou partiel
 application               l'emploi


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


                                                                           10
COMPOSANTS
 Modèles and Patterns

 • Represents concepts within a software system

 Domain Specific Languages (DSL)
Design Patterns
  • Provides specialized languages for manipulating concepts within their
• Une solution générale réutilisables à des problèmes
     respective domain
    communs dans la conception de logiciels
• Software Product Lines
    Description du modèle ou de la résolution de problèmes
  • dans de of components situations différentes
     Subsets nombreuses that are configured, assembled, and packaged to
• N'est pas uncomplete productqui peut être transformé
     provide a fairly motif fini
  • directement en unof a Software Factory
     Largest component code



                                                                            11
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
14



         MODÈLE D'USINE LOGICIELLE
                              Product Line Analysis

                               - Product Line Definition

• Utilise un ensemble de    - Problem Domain Modeling
                             -Solution Domain Modeling
                                                                                                         Product Development

  modèles                      Product Line Design
  d'industrialisation qui       - Product Architecture
                                                                                                          Product Configuration

                            - Infrastructure Architecture
  accélère le                   -Architecture Feature
                                       Mapping                        Software                              Extensible Tools
  développement rapide                                                Schema


  de produits logiciels            Product Line
                                  Implementation                       Variable                             Customized Tools

  (MSDN, 2004).                 - Asset Provisioning
                                                                       Assets

                                 - Asset Packaging                                                        Product Development



                                                              Fixed 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                                 Inconvénients
•   Réduction des coûts                   • Considéré      comme      un
•   Gagne fidélisation de la clientèle      investissement cher en TIC
•   Avantage concurrentiel
•   Analyse approfondie des besoins       • Nécessite une formation
    du client                             • Risques probables d'échec
•   Des revenus plus élevés
•   Position concurrentielle
•   Processus       de      faisabilité
    technique
•   De fortes chances d'amélioration
    des affaires
•   Préparation de l'organisation                                  16
LE POINT DE VUE DU CLIENT
Avantages                         Inconvénients
• la commodité du client          • Prend plus de temps pour
• Les produits sont conçus en       être livré
  fonction des préférences du     • L'approvisionnement       est
  client                            beaucoup plus compliqué
• Les achats peuvent se faire       que ce que nous savons
  en dépit des différences de
  temps et de lieu entre le       • Difficulté de se procurer du
  fabricant et le client            produit final avant qu'il
• Personnalisés       selon les     arrive à être acheté
  besoins individuels d'un
                                                            17
  client
LE POINT DE VUE DU CLIENT
Avantages                         Inconvénients
• Les clients seront en mesure    • Des produits sur mesure sont
  de dire aux fabricant             généralement beaucoup plus
  exactement ce qu’ ils ont         cher que les habituelles
  besoin
• Encourage les clients à
  investir     une     quantité
  suffisante de temps pour
  concevoir leurs produits qui
  à son tour crée un
  atmosphère de loyauté                                    18
TROIS IDÉES CLÉS EN USINE
        LOGICIELLE
                            19
SCHEMA D’USINE LOGICIELLE

                       Ingrédients:
                           Projets
                 Répertoires de code source
                       Fichiers SQL
                 Fichiers de Configuration




                                       20
SCHEMA D’USINE LOGICIELLE
• 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
MODELE D’USINE LOGICIELLE


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




                                       22
MODELE D’USINE LOGICIELLE
• 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
ENVIRONNEMENT DE DÉVELOPPEMENT
          EXTENSIBLE



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



                                             24
25
26
27
28
29
EXAMPLES D’USINE
   LOGICIELLE
                   30
SMART CLIENT SOFTWARE FACTORY

• 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
WEB SERVICE SOFTWARE FACTORY




                          35
WEB SERVICE SOFTWARE FACTORY

• 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
MOBILE CLIENT SOFTWARE FACTORY




                            38
MOBILE CLIENT SOFTWARE FACTORY

• 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
WEB CLIENT SOFTWARE FACTORY




                          42
WEB CLIENT SOFTWARE FACTORY

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

Más contenido relacionado

La actualidad más candente

Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Hatim CHAHDI
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en JavaOussama BEN KHIROUN
 
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之Insight Technology, Inc.
 
Azure Log Analytics 概要
Azure Log Analytics 概要Azure Log Analytics 概要
Azure Log Analytics 概要喜智 大井
 
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Amazon Web Services
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!Etsuji Nakai
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm
 
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Amira Hakim
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MAClementine D.
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Faycel Chaoua
 
CRX: Container Runtime Executive 
CRX: Container Runtime Executive CRX: Container Runtime Executive 
CRX: Container Runtime Executive imurata8203
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésECAM Brussels Engineering School
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
何故 Okta を選んだか? 導入して体感したメリットとは?
何故 Okta を選んだか? 導入して体感したメリットとは?何故 Okta を選んだか? 導入して体感したメリットとは?
何故 Okta を選んだか? 導入して体感したメリットとは?Kyohei Komatsu
 
Présentation de Microsoft Azure
Présentation de Microsoft AzurePrésentation de Microsoft Azure
Présentation de Microsoft AzureChristophe Peugnet
 

La actualidad más candente (20)

Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
RabbitMQ can scale out!!(jp ops-workshop-3)
RabbitMQ can scale out!!(jp ops-workshop-3)RabbitMQ can scale out!!(jp ops-workshop-3)
RabbitMQ can scale out!!(jp ops-workshop-3)
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en Java
 
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
 
Azure Log Analytics 概要
Azure Log Analytics 概要Azure Log Analytics 概要
Azure Log Analytics 概要
 
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
 
Les web services
Les web servicesLes web services
Les web services
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
 
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MA
 
Embedded Hypervisor for ARM
Embedded Hypervisor for ARMEmbedded Hypervisor for ARM
Embedded Hypervisor for ARM
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
CRX: Container Runtime Executive 
CRX: Container Runtime Executive CRX: Container Runtime Executive 
CRX: Container Runtime Executive 
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
何故 Okta を選んだか? 導入して体感したメリットとは?
何故 Okta を選んだか? 導入して体感したメリットとは?何故 Okta を選んだか? 導入して体感したメリットとは?
何故 Okta を選んだか? 導入して体感したメリットとは?
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Présentation de Microsoft Azure
Présentation de Microsoft AzurePrésentation de Microsoft Azure
Présentation de Microsoft Azure
 
Cloud_2022.pdf
Cloud_2022.pdfCloud_2022.pdf
Cloud_2022.pdf
 

Similar a Les usines à logiciels

Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010MD DAY
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
La famille rational Rhapsody d'IBM
La famille rational Rhapsody d'IBMLa famille rational Rhapsody d'IBM
La famille rational Rhapsody d'IBMRational_France
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Jean-Marc Fontaine
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015Julien Vq
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines AosdCédric WILLIAMSON
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)Olivier Conq
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)Olivier Conq
 
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonitasoft
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction MansouriMansouri Khalifa
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011MDDAY11
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...Sébastien Levert
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Cast Consulting
Cast ConsultingCast Consulting
Cast ConsultingCAST
 
Presentation pfe 2012
Presentation pfe 2012Presentation pfe 2012
Presentation pfe 2012Sellami Ahmed
 
[DevTestday] Keynote
[DevTestday] Keynote [DevTestday] Keynote
[DevTestday] Keynote Cellenza
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupMichael Bertocchi
 
Mia software@md day2011
Mia software@md day2011Mia software@md day2011
Mia software@md day2011MDDAY11
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...Obeo
 
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hecPpt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hecYves LE CLEACH
 

Similar a Les usines à logiciels (20)

Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
La famille rational Rhapsody d'IBM
La famille rational Rhapsody d'IBMLa famille rational Rhapsody d'IBM
La famille rational Rhapsody d'IBM
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines Aosd
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
Patterns Agiles avec Visual Studio 2012 et TFS 2012 (ALM201)
 
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Cast Consulting
Cast ConsultingCast Consulting
Cast Consulting
 
Presentation pfe 2012
Presentation pfe 2012Presentation pfe 2012
Presentation pfe 2012
 
[DevTestday] Keynote
[DevTestday] Keynote [DevTestday] Keynote
[DevTestday] Keynote
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afup
 
Mia software@md day2011
Mia software@md day2011Mia software@md day2011
Mia software@md day2011
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
 
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hecPpt 2   a jeanpierre-yle-cleach-hec-05022015_sent2hec
Ppt 2 a jeanpierre-yle-cleach-hec-05022015_sent2hec
 

Les usines à logiciels

  • 1. LES USINES À LOGICIELS
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 7
  • 8. Concepteurs Développeurs Outil focalisé avec des instructions Les analystes d'affaires spécifiques ciblée à résoudre petite et Testeurs spécifique Chefs de projetde problèmes l'entreprise Architectes 8
  • 9. COMMENT ÇA FONCTIONNE? AD construit 70% de 30% de composants Produit complet chaque prêts à ou partiel application l'emploi • 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
  • 10. 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 10
  • 11. COMPOSANTS Modèles and Patterns • Represents concepts within a software system Domain Specific Languages (DSL) Design Patterns • Provides specialized languages for manipulating concepts within their • Une solution générale réutilisables à des problèmes respective domain communs dans la conception de logiciels • Software Product Lines Description du modèle ou de la résolution de problèmes • dans de of components situations différentes Subsets nombreuses that are configured, assembled, and packaged to • N'est pas uncomplete productqui peut être transformé provide a fairly motif fini • directement en unof a Software Factory Largest component code 11
  • 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 12
  • 13. 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
  • 14. 14 MODÈLE D'USINE LOGICIELLE Product Line Analysis - Product Line Definition • Utilise un ensemble de - Problem Domain Modeling -Solution Domain Modeling Product Development modèles Product Line Design d'industrialisation qui - Product Architecture Product Configuration - Infrastructure Architecture accélère le -Architecture Feature Mapping Software Extensible Tools développement rapide Schema de produits logiciels Product Line Implementation Variable Customized Tools (MSDN, 2004). - Asset Provisioning Assets - Asset Packaging Product Development Fixed Assets Source: Software Factory Model, http://msdn2.microsoft.com/en-us/library/ms954811.aspx 14
  • 15. 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
  • 16. POINT DE VUE DU FABRICANT Avantages Inconvénients • Réduction des coûts • Considéré comme un • Gagne fidélisation de la clientèle investissement cher en TIC • Avantage concurrentiel • Analyse approfondie des besoins • Nécessite une formation du client • Risques probables d'échec • Des revenus plus élevés • Position concurrentielle • Processus de faisabilité technique • De fortes chances d'amélioration des affaires • Préparation de l'organisation 16
  • 17. LE POINT DE VUE DU CLIENT Avantages Inconvénients • la commodité du client • Prend plus de temps pour • Les produits sont conçus en être livré fonction des préférences du • L'approvisionnement est client beaucoup plus compliqué • Les achats peuvent se faire que ce que nous savons en dépit des différences de temps et de lieu entre le • Difficulté de se procurer du fabricant et le client produit final avant qu'il • Personnalisés selon les arrive à être acheté besoins individuels d'un 17 client
  • 18. LE POINT DE VUE DU CLIENT Avantages Inconvénients • Les clients seront en mesure • Des produits sur mesure sont de dire aux fabricant généralement beaucoup plus exactement ce qu’ ils ont cher que les habituelles besoin • Encourage les clients à investir une quantité suffisante de temps pour concevoir leurs produits qui à son tour crée un atmosphère de loyauté 18
  • 19. TROIS IDÉES CLÉS EN USINE LOGICIELLE 19
  • 20. SCHEMA D’USINE LOGICIELLE Ingrédients: Projets Répertoires de code source Fichiers SQL Fichiers de Configuration 20
  • 21. SCHEMA D’USINE LOGICIELLE • 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
  • 22. MODELE D’USINE LOGICIELLE Contient des ingrédients énumérés dans la recette. 22
  • 23. MODELE D’USINE LOGICIELLE • 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
  • 24. ENVIRONNEMENT DE DÉVELOPPEMENT EXTENSIBLE C'est là où les produits sont développés 24
  • 25. 25
  • 26. 26
  • 27. 27
  • 28. 28
  • 29. 29
  • 30. EXAMPLES D’USINE LOGICIELLE 30
  • 31. SMART CLIENT SOFTWARE FACTORY • Fournit un ensemble intégré de lignes directrices qui aide les architectes et les développeurs à créer des applications client intelligentes composites 31
  • 32. SMART CLIENT SOFTWARE FACTORY Contenu: • Modèles • Patterns • Démarrages rapides • Rubriques de procédures • Les implémentations de référence 32
  • 33. 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
  • 34. 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
  • 35. WEB SERVICE SOFTWARE FACTORY 35
  • 36. WEB SERVICE SOFTWARE FACTORY • 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
  • 37. WEB SERVICE SOFTWARE FACTORY Avantages: • Amélioration de la qualité • Prévisibilité accrue • Augmentation de la productivité • Une flexibilité accrue 37
  • 39. MOBILE CLIENT SOFTWARE FACTORY • 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
  • 40. MOBILE CLIENT SOFTWARE FACTORY Contenu: • Orientation / Patterns • Rubriques de procédures • Les implémentations de référence • Guidance Automation Toolkit 40
  • 41. 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
  • 42. WEB CLIENT SOFTWARE FACTORY 42
  • 43. WEB CLIENT SOFTWARE FACTORY • 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
  • 44. 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
  • 45. 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
  • 46. CE QUI NOUS ATTEND DANS LES USINES A LOGICIELS 46
  • 47. 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. 48
  • 49. MERCI POUR VOTRE ATTENTION