Architecture logicielle #1 : introduction
-
Upload
jean-michel -
Category
Software
-
view
216 -
download
9
Transcript of Architecture logicielle #1 : introduction
![Page 1: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/1.jpg)
Architecture logicielle : Introduction
![Page 2: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/2.jpg)
1. The Big Picture
![Page 3: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/3.jpg)
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
![Page 4: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/4.jpg)
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
![Page 5: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/5.jpg)
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
![Page 6: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/6.jpg)
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
![Page 7: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/7.jpg)
Software architecture & team (2)
Product manager Software architect
Engineering manager Programmer
Lead engineer
Stakeholders
![Page 8: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/8.jpg)
Software architecture & team (3)
*K€ brut/an – Source Urban Linker pour l’IDF
![Page 9: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/9.jpg)
2. Student to Architect
![Page 10: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/10.jpg)
Etape 1 : Amateur
Comment créer un site internet ?Comment apprendre à programmer ?
CMS / Dreamweaver / Website builder / Korben / Codecademy
![Page 11: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/11.jpg)
Etape 2 : Initié
Comment écrire du code qui marche ?Comment travailler à plusieurs ?
HTML / CSS / PHP / MYSQLOpen Classroom / W3School
![Page 12: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/12.jpg)
Etape 3 : Padawan
Comment augmenter la qualité de mon code ?Comment mettre en production mon application ?
OOP / GIT / PHP / Framework / UMLdeveloppez.com / Alsacréation / Blogs FR
![Page 13: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/13.jpg)
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 / APIStack Overflow / Github
![Page 14: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/14.jpg)
Step 5 : Maitre Jedi
You have only begun to discover your power …
Multi langage / Design Pattern / Open SourceHacker News / Books / Podcast
![Page 15: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/15.jpg)
3. Architecture logicielle & Gestion de projet
![Page 16: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/16.jpg)
1912 Diagramme de Gantt
-
1970 Modèle en cascade
-
1957Cycle en V
Une histoire de la gestion de projet informatique (1)
![Page 17: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/17.jpg)
1999eXtreme Programming
-
2001Le manifeste agile
-
2001Scrum
-
2003Lean / Kanban
-
2009DevOps
Une histoire de la gestion de projet informatique (2)
![Page 18: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/18.jpg)
2.1 Organisation du projet
![Page 19: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/19.jpg)
2.1 Méthodes linéaires
![Page 20: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/20.jpg)
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.
![Page 21: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/21.jpg)
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.
![Page 22: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/22.jpg)
Modèle en cascade
Recueil des besoins
Spécifications
Conception
Réalisation
Tests
Livraison
![Page 23: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/23.jpg)
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
![Page 24: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/24.jpg)
Functional Work Teams
Design Development Operations
Head of design Head of development Head of Operations
![Page 25: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/25.jpg)
Méthode d’architecture
Big Design Up Front
![Page 26: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/26.jpg)
2.2 Méthodes itératives
![Page 27: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/27.jpg)
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
![Page 28: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/28.jpg)
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.
![Page 29: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/29.jpg)
Modèle agile
Recueil des besoins
Réalisation Spécifications
Conception
![Page 30: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/30.jpg)
Cross-functional & self-directed Teams
Feature 1 Feature 2 Feature 3
![Page 31: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/31.jpg)
Méthode d’architecture
Emergent Design
![Page 32: Architecture logicielle #1 : introduction](https://reader034.fdocuments.in/reader034/viewer/2022052214/55a5b9b01a28ab5a0e8b4615/html5/thumbnails/32.jpg)
To be continued …