Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
COURS Références
• Méthodes
• Tests
• Code/patrons
• Métriques
• Outils
L’ARCHITECTURE
… cela évolue lentement…
L’ARCHITECTURE
… cela grossit petit à petit…
L’ARCHITECTURE
…pour devenir dense…
L’ARCHITECTURE
… et complexe !!!
L’ARCHITECTURE
…voir fantastique !
DANS LE DOMAINE DU LOGICIEL...
ARCHITECTURE/
L’ENNEMI
Côté fiabilité: le
bug
Mars
1985–1987 1996
Plus récemment, Intel Sandy Bridge et les failles de sécurité Spectre et Meltdown
Le défaut affecte particulièrement les composants Cougar Point (Intel H67 et P67)
dédiés à Sandy Bridge. « Dans certains cas, explique Intel, les ports le Serial-ATA
(SATA) gérés par les chipsets peuvent se dégrader au fil du temps, ce qui pourrait
affecter les performances ou les fonctionnalités des périphériques SATA liés tels que
les disques durs et les lecteurs DVD. » Ennuyeux. Même si le processeur n’est pas
directement touché par ce défaut de fabrication, il n’en risque pas moins d’entraîner
une baisse des performances globale du système, freiné par la fluidité de circulation
des données. Un comble pour une plate-forme de dernière génération dont les hautes
performances sont mises en avant.
LES BUGS CÉLÈBRES(CONT.)
Airbus 320 (http://www.youtube.com/watch?v=2eQpUgHkBcg)
Collection de bugs
‣ http://www5.in.tum.de/~huckle/bugse.html
‣ http://en.wikipedia.org/wiki/Software_bug
‣ http://www.risks.org/
L’ENNEMI
Côté délais
LESDÉLAIS
FF4
Anthony
Laforge
LES DÉLAIS (CONT.)
« We market features, not releases.
»
IDÉESREÇUES
Idée grossière du logiciel à réaliser suffisant pour commencer le programme
‣ idée imprécise = source d’erreur
Programme terminé et fonctionne : travail terminé
‣ maintenance = travail important
« Le coût moyen d'une mise à jour technologique est de 18% du coût original
du projet » (CIO Magazine)
QUESTIONS QUE SEPOSE UN CHEF DE PROJET
• Taille en hausse
• Sous-traitance
SPÉCIFICATION DESBESOINS
Besoins fonctionnels
Spécifier :
‣ entrées, avec sources, précision, valeurs acceptées, format
‣ sorties, avec destination, précision, plage de valeur,
Spécifier
‣ un produit vérifiant tous les besoins (et que les besoins) sera-t-il acceptable ?
BESOINS
Liste des différents
Fonctions
profils de chaque Habilitations
acteur concerné
Fonctionnel
Contraintes Technique
identifiées dans les Réglementaire
Organisationnel
domaines suivants : …
CAS PRATIQUE
EXEMPLE DE MISE EN APPLICATION
Contexte du projet
• Vous êtes une entreprise de fabrication de vêtements de sport, ayant un site
de prod. et magasin d'usine
• L'entreprise compte 60 personnes, ayant un site de production et un magasin
d'usine (Nouveau site)
• Dernière modification du site vitrine réalisée il y a plus de 2 ans
• Information du Système d'Information interne :
• Catalogue produits (~ 80 000 articles)
• Tarification par famille de pdts (5)/ remise/famille/client ou / article
• 10 000 comptes client avec un besoin de vendre en ligne
• Relation B commerciale en BtoB (Relation difficile avec les revendeurs)
• Parc informatique géré en interne (système AS400)
• Informaticien dédié à l'ensemble des tâches (intéressé par les nouvelles
technologies Web)
Questions
• Que pouvez vous déduire du contexte et besoins exprimés par ce client ?
• Quels sont les services que vous pourriez proposer ?
• Quelles sont les difficultés de ce type de projet ?
• Quelle stratégie prendriez vous pour faire ce projet et éviter les
dépassements de temps et d’argent ?
ARCHITECTURE
• Organisation du programme, aperçu de l’architecture, avec justification
Passage à l’échelle
Internationalisation
• Cascade
• V
• Spirale
...ET LES PLUS RÉCENTES
• XP
• Scrum
CASCADE
Waterfall
Requirements
definition
software design
acteurs: client, analyste, chef de
projet
Implementation
system testing
Operation and
maintenance
CASCADE(CONT.)
Modèle orienté plan
Linéaire
‣ succession d’étapes
Projet monolithique
‣ produit global livré en une seule fois Phase d’intégration souvent problématique !
Spécification Validation
Conception
Intégration
architectural
e
Conception
détaillée Test unitaire
Programmation
MODÈLE ENV (CONT.)
Ne pas voir ce modèle comme un cycle de vie
• retour en arrière ?
Programmation
• pendant le test, on code ?
‣ les activités à gauche génèrent des entrées pour les activités à droite
Conception
Test unitaire
détaillée
MODÈLE ENV (CONT.)
Spécification Validation
Conception
Intégration
architectural
e
Conception
Test unitaire
détaillée
Programmation
SPIRALE
Le processus de développement est représenté grâce à une spirale
Determine objectives,
1 2
Evaluate alternatives,
alternatives and
identify, resolve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 tional
Prototype 2 protoype
Risk
analysis Proto-
REVIEW type 1
Requirements plan Simulations, models, benchmarks
Life-cycle plan Concept of
Operation S/W
requirements Product
design Detailed
Requirement design
Development
plan validation Code
Unit test
Integration Design
V&V Integration
and test plan
Plan next phase test
Acceptance
4 3
test Develop, verify
Service
next-level product
SPIRALE (CONT.)
Modèle itératif et évolutif
Establish Define
Develop Evaluate
prototype prototype
prototype prototype
objectives functionality
‣ e.g. MVC
communication métiers / IT
Démarche
‣ svn/Git
‣ intégration continue
‣ tests automatisés
‣ métriques
MÉTHODES AGILES
eXtreme Programming
Si vous voulez
‣ plus de ‣ moins de
logiciel personnes
‣ de qualité ‣ moins de
supérieure gestion
‣ avec des délais ‣ moins de
réduits complexité
‣ pour des budgets ‣ moins d’outils
moindres
‣ avec plus de ‣ engagement des
certitude développeurs
XP
CYCLE DE DÉVELOPPEMENT
Petites releases
Métaphore
Conception
simple Test
Refactoring
Stats. 2018
Pair programming
XP(CONT.)
Propriété collective
Intégration
continue
40h/semaine
Standard de
codage
IDENTIFIER LES FLUX D'INFORMATIONS
Objectifs
Identifier les points clés du projet,
Lever les difficultés ou problèmes techniques,
Accompagner le client dans la compréhension du
futur système
IDENTIFIER LES PROCESSUS
MAQUETTES FONCTIONNELLES
Objectifs Exigences