Architecture logicielle #1 : introduction

763 vues

Publié le

Architecture logicielle #1 : introduction

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
763
Sur SlideShare
0
Issues des intégrations
0
Intégrations
53
Actions
Partages
0
Téléchargements
28
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Architecture logicielle #1 : introduction

  1. 1. Architecture logicielle : Introduction
  2. 2. 1. The Big Picture
  3. 3. Software architecture Software architecture is the high level structure of a software system, the discipline of creating such structures, and the documentation of these structures. It is the set of structures needed to reason about the software system, and comprises the software elements, the relations between them, and the properties of both elements and relations. Source : http://en.wikipedia.org
  4. 4. Architectural pattern An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. Architectural patterns are similar to software design patterns but have a broader scope. Source : http://en.wikipedia.org
  5. 5. Framework A software framework is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate development of software applications, products and solutions. Source : http://en.wikipedia.org
  6. 6. Software architecture & team (1) Software architect is a computer manager or expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms. Source : http://en.wikipedia.org
  7. 7. Software architecture & team (2) Product manager Software architect Engineering manager Programmer Lead engineer Stakeholders
  8. 8. Software architecture & team (3) *K€ brut/an – Source Urban Linker pour l’IDF
  9. 9. 2. Student to Architect
  10. 10. Etape 1 : Amateur Comment créer un site internet ? Comment apprendre à programmer ? CMS / Dreamweaver /Website builder / Korben / Codecademy
  11. 11. Etape 2 : Initié Comment écrire du code qui marche ? Comment travailler à plusieurs ? HTML / CSS / PHP / MYSQL Open Classroom /W3School
  12. 12. Etape 3 : Padawan Comment augmenter la qualité de mon code ? Comment mettre en production mon application ? OOP / GIT / PHP / Framework / UML developpez.com / Alsacréation / Blogs FR
  13. 13. Step 4 : Chevalier Jedi Comment produire du code réutilisable ? Comment m’assurer que mon code ne régresse pas ? Comment limiter les bugs liés à l'environnement ? Fullstack /TDD / Continuous integration / API Stack Overflow / Github
  14. 14. Step 5 : Maitre Jedi You have only begun to discover your power … Multi langage / Design Pattern / Open Source Hacker News / Books / Podcast
  15. 15. 3. Architecture logicielle & Gestion de projet
  16. 16. 1912 Diagramme de Gantt - 1970 Modèle en cascade - 1957 Cycle enV Une histoire de la gestion de projet informatique (1)
  17. 17. 1999 eXtreme Programming - 2001 Le manifeste agile - 2001 Scrum - 2003 Lean / Kanban - 2009 DevOps Une histoire de la gestion de projet informatique (2)
  18. 18. 2.1 Organisation du projet
  19. 19. 2.1 Méthodes linéaires
  20. 20. Axiomes et Prémisses (1) On ne peut pas construire la toiture avant les fondations. Les conséquences d'une modification en amont du cycle ont un impact majeur sur les coûts en aval.
  21. 21. Axiomes et Prémisses (2) Il est possible de totalement détacher la phase de conception d'un projet de sa phase de réalisation Pour une bonne communication entre les différents partenaires du projet, il est nécessaire d'établir des documents de référence.
  22. 22. Modèle en cascade Recueil des besoins Spécifications Conception Réalisation Tests Livraison
  23. 23. Cycle en V Analyse des besoins Spécifications Conception architecturale Conception détaillée Codage Tests unitaires Tests d’intégrations Tests de validation Recette
  24. 24. Functional Work Teams Design Development Operations Head of design Head of development Head of Operations
  25. 25. Méthode d’architecture Big Design Up Front
  26. 26. 2.2 Méthodes itératives
  27. 27. Les individus et leurs interactions plus que les processus et les outils -
 Des logiciels opérationnels plus qu’une documentation exhaustive -
 La collaboration avec les clients plus que la négociation contractuelle -
 L’adaptation au changement plus que le suivi d’un plan Manifeste pour le développement Agile de logiciels - Valeurs
  28. 28. Axiomes et Prémisses Les utilisateurs ne savent ce qu’ils veulent qu’après avoir vu une première version du logiciel. Les besoins changent souvent durant le processus de développement du logiciel. Spécifier intégralement un système interactif est impossible.
  29. 29. Modèle agile Recueil des besoins Réalisation Spécifications Conception
  30. 30. Cross-functional & self-directed Teams Feature 1 Feature 2 Feature 3
  31. 31. Méthode d’architecture Emergent Design
  32. 32. To be continued …

×