SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessZakaria Bouazza
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)Heithem Abbes
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성CURVC Corp
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)safwenbenfredj
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
BEBUTANT JAVA
BEBUTANT  JAVABEBUTANT  JAVA
BEBUTANT JAVAviolonjo
 
Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...VMware Tanzu
 
Inyección de dependencias en Node.js con InversifyJS & TypeScript
Inyección de dependencias en Node.js con  InversifyJS & TypeScriptInyección de dependencias en Node.js con  InversifyJS & TypeScript
Inyección de dependencias en Node.js con InversifyJS & TypeScriptRemo Jansen
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiDonia Hammami
 
Presentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskPresentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskRaef Ghribi
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
A la découverte de vue.js
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.jsBruno Bonnin
 

Tendances (20)

Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
 
Api pour les nuls
Api pour les nulsApi pour les nuls
Api pour les nuls
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
2 TUP
2 TUP2 TUP
2 TUP
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
BEBUTANT JAVA
BEBUTANT  JAVABEBUTANT  JAVA
BEBUTANT JAVA
 
Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...
 
Inyección de dependencias en Node.js con InversifyJS & TypeScript
Inyección de dependencias en Node.js con  InversifyJS & TypeScriptInyección de dependencias en Node.js con  InversifyJS & TypeScript
Inyección de dependencias en Node.js con InversifyJS & TypeScript
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Présentation pfe finale
Présentation pfe finalePrésentation pfe finale
Présentation pfe finale
 
Presentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskPresentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help desk
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
A la découverte de vue.js
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.js
 

Similaire à 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
 

Similaire à 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