---
title: "rapport_analyse_andjembe_taniel"
author: "ANDJEMBE_TANIEL"
date: "5 juin 2019"
output: html_document
---
> # ** RAPPORT ANALYSE ET CONCEPTION **

> ANDJEMBE Maksoudath, TANIEL Rémi

# SCHEMA UML

# PSEUDO-JAVA CREATION GRILLE,CASES

Pour créer une grille avec des cases on fera :

```java

Grille g= new Grille();

g.addCase("b",1); //Ajout case vide

g.addCase("a",1,100.0); //Ajout case avec valeur
g.addCase("a",2,50.0); //Ajout case avec valeur
g.addCase("a",3,new Addition(g.get("a2"),g.get("a1"))); //Ajout case avec operation binaire

ArrayList<Case> plageCase1 = new ArrayList<Case>(); // Crée une liste de case
plageCase1.add(g.get("a1"));
plageCase1.add(g.get("a2"));
plageCase1.add(g.get("a3"));

g.addCase("a",4,new Somme(plageCase1)); //Ajout case avec fonctions

g.setValeur("b",1,100); //Met la valeur de b1 à 100

ArrayList<Case> plageCase2 = new ArrayList<Case>(); // Crée une liste de case
plageCase1.add(g.get("a4"));
plageCase1.add(g.get("a2"));
plageCase1.add(g.get("a3"));

g.setFormule("b",2,new Moyenne(plageCase2)); //Met la formule dans b2 

g.getValeur("a",1); //Affichera 100.0
g.getValeur("a",4); //Affichera (100+50+150)=100
g.getFormule("b",2) //Affichera MOYENNE(a4,a2,a3)
g.getFormuleDeveloppe("b",2) //Affichera MOYENNE(Somme(a1,a2,a3),a2,(a1+a2))

```



# CHOIX STRUCTURE DE DONNÉES

Une collection peut etre:
  * des tableaux,
  * des listes,
  * des maps
  * ou des Sets.
  
D'après le schéma UML ci-dessus:

* Une grille peut contenir plusieurs cases,nous avons effectuer le choix des Maps car, pour rechercher une case et, effectuer des opérations dessus ce sera plus   facile (son nom c'est-à-dire concaténation du nom de ligne et colonne sera la clé de notre map).

* Une case peut etre utilisée dans plusieurs cases, on ne sait pas le nombre d'autres cases où il sera utilisé, il n'y a pas necessité d'avoir un indice, on le stockera dans une liste.

* Une fonction est utilisé à partir de plusieurs cases aussi, en utilisant la meme raison ci-dessus, on stockera dans une liste de cases.


# METHODES ESSENTIELLES EN PSEUDO-JAVA

# LISTE DE TESTS

PLusieurs tests sont possibles
## Including Plots

You can also embed plots, for example:

```{r pressure, echo=FALSE}
plot(pressure)
```

