SlideShare une entreprise Scribd logo
Architecture logicielle et
algorithmique
Benoit Lacherez
blacherez@gmail.com
Sauf indication contraire, tout le contenu de cette présentation est sous licence CC BY 4.0 France
Matériel (hardware) / logiciel (software)
Architecture matérielle
● Processeur (CPU)
● Mémoire vive (RAM) ⇒ volatile, accès rapide (mesuré en ns, 10-9
s)
● Entrées/Sorties (I/O)
○ Périphériques de saisie et d’affichage
○ Mémoire de masse ⇒ non volatile, accès moins rapide (mesuré en ms, 10-3
s)
○ Réseau
○ etc.
“Lois”
● Loi de Moore
● Loi de Kryder
● Loi de Nielsen
● Paradoxe de Jevons
Loi de Moore
By Wgsimon (Own work) [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0) or GFDL (http://www.gnu.org/copyleft/fdl.html)],
via Wikimedia Commons
Le nombre de transistors des
microprocesseurs sur une
puce de silicium double tous
les deux ans.
Loi de Kryder
La densité de stockage sur
les disques magnétiques
double tous les 13 mois.
By Acrider (Own work) [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
Loi de Nielsen
Image : https://www.nngroup.com/articles/law-of-bandwidth/
Le débit des connexions
grand public augmente de
50% par an.
“Paradoxe” de Jevons
À mesure que les améliorations
technologiques augmentent l'efficacité avec
laquelle une ressource est employée, la
consommation totale de cette ressource peut
augmenter au lieu de diminuer.
Couches logicielles
Langages
Langages compilés / interprétés
Algorithme
Algorithme
Al-Khwârizmî (v. 780 - v. 850)
Algorithme
“Un algorithme est une suite finie et non ambiguë d’opérations ou
d'instructions permettant de résoudre un problème ou d'obtenir un
résultat.”
« Algorithme ». 2017. Wikipédia. https://fr.wikipedia.org/w/index.php?title=Algorithme&oldid=141563577.
Algorithme
Éléments d’algorithmique
Analyse d’un algorithme
Éléments d’algorithmique
● Optimisation
● “Premature optimization is the root of all evil (or at least most of it) in
programming.” (cité par D. Knuth)
Données / présentation / logique
Interfaces
● Interfaces utilisateurs (UI / IHM) : GUI (interface graphique) / CLI (ligne de
commande)
● API (interface de programmation)
Modularité
Architecture client / serveur
The Software paradox
Source : http://redmonk.com/sogrady/2012/12/06/software-to-microsoft/

Contenu connexe

Similaire à 3. Architecture logicielle et algorithmique

ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfHoudaBezziane
 
Retour d'expérience : gérer des flux vidéos multiples de manière optimisée
Retour d'expérience :  gérer des flux vidéos multiples de manière optimiséeRetour d'expérience :  gérer des flux vidéos multiples de manière optimisée
Retour d'expérience : gérer des flux vidéos multiples de manière optimiséeSilicon Comté
 
BigData_Technologies_PL.pdf
BigData_Technologies_PL.pdfBigData_Technologies_PL.pdf
BigData_Technologies_PL.pdfAhmedToujani1
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhuiRomain Jouin
 
Logs serveurs : du terme barbare à la simplicité de la réalité
Logs serveurs :  du terme barbare à la simplicité de la réalitéLogs serveurs :  du terme barbare à la simplicité de la réalité
Logs serveurs : du terme barbare à la simplicité de la réalitéKarles Nine
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotiqueMicrosoft
 
1-12_Introduction_aux_reseaux_de_stockage_SAN.pdf
1-12_Introduction_aux_reseaux_de_stockage_SAN.pdf1-12_Introduction_aux_reseaux_de_stockage_SAN.pdf
1-12_Introduction_aux_reseaux_de_stockage_SAN.pdfDilanTiobou
 
Wrap up SSTIC 2013
Wrap up SSTIC 2013Wrap up SSTIC 2013
Wrap up SSTIC 2013quack1
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 
Presentation cours informtiqueTDA2.ppt
Presentation cours informtiqueTDA2.pptPresentation cours informtiqueTDA2.ppt
Presentation cours informtiqueTDA2.pptPrimaelBouazo
 
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAOsis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAPôle Systematic Paris-Region
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
Pérennité des outils et technologies
Pérennité des outils et technologiesPérennité des outils et technologies
Pérennité des outils et technologies2le
 

Similaire à 3. Architecture logicielle et algorithmique (20)

ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdf
 
Retour d'expérience : gérer des flux vidéos multiples de manière optimisée
Retour d'expérience :  gérer des flux vidéos multiples de manière optimiséeRetour d'expérience :  gérer des flux vidéos multiples de manière optimisée
Retour d'expérience : gérer des flux vidéos multiples de manière optimisée
 
BigData_Technologies_PL.pdf
BigData_Technologies_PL.pdfBigData_Technologies_PL.pdf
BigData_Technologies_PL.pdf
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Assemblage pc
Assemblage pcAssemblage pc
Assemblage pc
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui
 
Les composants de l'ordinateur
Les composants de l'ordinateurLes composants de l'ordinateur
Les composants de l'ordinateur
 
Logs serveurs : du terme barbare à la simplicité de la réalité
Logs serveurs :  du terme barbare à la simplicité de la réalitéLogs serveurs :  du terme barbare à la simplicité de la réalité
Logs serveurs : du terme barbare à la simplicité de la réalité
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique
 
Présentation1.pptx
Présentation1.pptxPrésentation1.pptx
Présentation1.pptx
 
1-12_Introduction_aux_reseaux_de_stockage_SAN.pdf
1-12_Introduction_aux_reseaux_de_stockage_SAN.pdf1-12_Introduction_aux_reseaux_de_stockage_SAN.pdf
1-12_Introduction_aux_reseaux_de_stockage_SAN.pdf
 
Wrap up SSTIC 2013
Wrap up SSTIC 2013Wrap up SSTIC 2013
Wrap up SSTIC 2013
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
Presentation cours informtiqueTDA2.ppt
Presentation cours informtiqueTDA2.pptPresentation cours informtiqueTDA2.ppt
Presentation cours informtiqueTDA2.ppt
 
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAOsis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
 
Datalogger finale
Datalogger finaleDatalogger finale
Datalogger finale
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
Pérennité des outils et technologies
Pérennité des outils et technologiesPérennité des outils et technologies
Pérennité des outils et technologies
 
Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques
 

Plus de Benoit Lacherez

Big data, algorithmes, quelques repères...
Big data, algorithmes, quelques repères...Big data, algorithmes, quelques repères...
Big data, algorithmes, quelques repères...Benoit Lacherez
 
Quantified self et biohacking
Quantified self et biohackingQuantified self et biohacking
Quantified self et biohackingBenoit Lacherez
 
Éducation et numérique : quelques étapes
Éducation et numérique : quelques étapesÉducation et numérique : quelques étapes
Éducation et numérique : quelques étapesBenoit Lacherez
 
Éducation et numérique : quelques étapes
Éducation et numérique : quelques étapesÉducation et numérique : quelques étapes
Éducation et numérique : quelques étapesBenoit Lacherez
 

Plus de Benoit Lacherez (8)

5. Data science
5. Data science5. Data science
5. Data science
 
4. Algorithmes
4. Algorithmes4. Algorithmes
4. Algorithmes
 
2. Big data
2. Big data2. Big data
2. Big data
 
1. Les données
1. Les données1. Les données
1. Les données
 
Big data, algorithmes, quelques repères...
Big data, algorithmes, quelques repères...Big data, algorithmes, quelques repères...
Big data, algorithmes, quelques repères...
 
Quantified self et biohacking
Quantified self et biohackingQuantified self et biohacking
Quantified self et biohacking
 
Éducation et numérique : quelques étapes
Éducation et numérique : quelques étapesÉducation et numérique : quelques étapes
Éducation et numérique : quelques étapes
 
Éducation et numérique : quelques étapes
Éducation et numérique : quelques étapesÉducation et numérique : quelques étapes
Éducation et numérique : quelques étapes
 

3. Architecture logicielle et algorithmique