Dates corrections
This commit is contained in:
parent
30ef89f6f2
commit
6b13b3cdb4
4 changed files with 60 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
title: "PdP: Analyse des besoins"
|
title: "PdP: Analyse des besoins"
|
||||||
date: 2024-01-24
|
date: 2024-01-31
|
||||||
tags: ["besoins", "analyse", "developpement logiciel"]
|
tags: ["besoins", "analyse", "developpement logiciel"]
|
||||||
categories: ["Projet de programmation", "Cours"]
|
categories: ["Projet de programmation", "Cours"]
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
title: "PdP: Représentations et présentations"
|
title: "PdP: Représentations et présentations"
|
||||||
date: 2024-01-24
|
date: 2024-01-31
|
||||||
tags: ["besoins", "UML", "developpement logiciel"]
|
tags: ["besoins", "UML", "developpement logiciel"]
|
||||||
categories: ["Projet de programmation", "Cours"]
|
categories: ["Projet de programmation", "Cours"]
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
title: "PdP: les tests"
|
title: "PdP: les tests"
|
||||||
date: 2024-01-31
|
date: 2024-02-14
|
||||||
tags: ["tests", "spécification", "validation"]
|
tags: ["tests", "spécification", "validation"]
|
||||||
categories: ["Projet de programmation", "Cours"]
|
categories: ["Projet de programmation", "Cours"]
|
||||||
---
|
---
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
---
|
||||||
|
title: "PdP: Architecture loficielle"
|
||||||
|
date: 2024-03-14
|
||||||
|
tags: ["besoins", "UML", "developpement logiciel"]
|
||||||
|
categories: ["Projet de programmation", "Cours"]
|
||||||
|
---
|
||||||
|
|
||||||
|
### Dépendances et utilisation des interfaces
|
||||||
|
|
||||||
|
spécification d'un composant -> description abstraite et rigoureuse de ses
|
||||||
|
qualités, de sa manière de se comporter, des services qu'il est censé rendre.
|
||||||
|
Un composant qui satisfait une spécification S est dit réaliser S
|
||||||
|
|
||||||
|
Utilisation de l'interface au lieu d'une classe
|
||||||
|
|
||||||
|
```c++
|
||||||
|
class C2 {
|
||||||
|
IC1 obj;
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
|
||||||
|
interface IC1 {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class C1 implement IC1 {
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Ainsi `C2` ne dépends pas de `C1` mais de l'interface `IC1`. En plus de décrire
|
||||||
|
abstraitement les composants à implémenter, elles servent d'intermédiaire dans
|
||||||
|
les dépendances.
|
||||||
|
|
||||||
|
> Dans une architecture logicielle, il est préférable de faire dépendre les
|
||||||
|
> ocmposants d'interfaces et non les composants implémentés.
|
||||||
|
|
||||||
|
Principe d'inversion des dépendances.
|
||||||
|
|
||||||
|
Une dependance implicite -> qui ne se voit pas directement dans le source d;un
|
||||||
|
programme pas ses appels et ses annotations. Elle est toujours forte par rapport
|
||||||
|
au chamgement qui la détermine.
|
||||||
|
|
||||||
|
Elles peuvent prendre des formes très différentes des dépendances explicite par
|
||||||
|
|
||||||
|
* la duplication de code
|
||||||
|
* les similarité de services
|
||||||
|
* <cf slide>
|
||||||
|
|
||||||
|
LEs archilogicielles sont généralement des structures hiérarchisées.
|
||||||
|
|
||||||
|
## Granularité de structure, cohésion et couplage
|
||||||
|
|
||||||
|
niveau de granularité défini par
|
||||||
|
|
||||||
|
Gq et G2 deux niveau de granilarité alirs couplage : ensemble des dépendances
|
||||||
|
entre les composants de G2
|
Loading…
Add table
Add a link
Reference in a new issue