Correction BTS 2015 SIO SLAM Cas Trisel

La correction peut comporter des erreurs, vous pouvez les signaler en laissant un commentaire.

Mission 1 - Question 1

La méthode GetCout() de la classe Poubelle en C#

            public double GetCout(int an , int mois)
            {
                double cout = 0;
                foreach (Levee item in LesLevees)
                {
                    if (item.GetDate().Year == an && item.GetDate().Month == mois)
                    {
                        cout += Nature.GetTarif() * item.GetPoids();
                    }
                }
                return cout;
            }

La méthode GetCout() de la classe Habitation en C#

            public double GetCout(int an, int mois)
            {
                double cout = 0;
                foreach (var item in LesPoubelles)
                {
                    cout += item.GetCout(an, mois);
                }
                return cout;
            }

Mission 1 - Question 2

Beaucoup de solutions possibles pour cette question, tout dépend de ce que l'on désire réellement faire.

On peut créer une classe HabitationCollective qui contient une contient une collection d'UsagerCollectif. UsagerCollectif hérite d'Usager. On peut aussi faire un héritage entre Habitation et HabitationCollective.

UML cas Trisel

Mission 2 - Question 1

Réponses possibles :

Le mot de passe ne sera jamais transmis à l'usager.

La société ne vous demandera JAMAIS vos codes d'accès que ce soit par email, par courrier ou par téléphone, ils sont personnels gardez-les pour vous !

Choisir un mot de passe efficace, évitez les chiffres évidents comme votre date de naissance par exemple ou les codes secrets utilisés sur d’autres services. Il ne doit pas être définitif et être changé régulièrement (pensez à le faire plusieurs fois par an).

Mettre à jour le système d'exploitation et le navigateur de votre appareil: Effectuez rigoureusement toutes les mises à jour (de sécurité) du système d'exploitation (iOS, Android...). Utilisez toujours la version la plus récente du navigateur (Mobile Safari, Internet Explorer Mobile...). Effectuez systématiquement toutes les mises à jour de sécurité.

Prévoyez un verrouillage automatique du clavier si votre appareil reste inactif pendant quelques secondes, ainsi qu'un code PIN pour le déverrouiller par la suite.

Le mot de passe sera crypté dans la base de données avec le meilleur algorithme possible. La connexion entre le serveur et l'utilisateur sera cryptée avec SSL.

Mission 2 - Question 2

ConsulterFacture.php

         case 'affiFactures':
		{
			$idMaison = $_POST['laMaison'];
			//il fallait regarder la vue listeMaison.tpl pour trouver le formulaire qui est utilisé 
			//pour consulter les factures.
			$factures = $pdo->getFactureMaison($idMaison);
			$vue->assign('lesFactures', $factures);
			$vue->display('listeFacture.tpl');
			break;
			
		}

Méthode GetFactureMaison()

        public function getFacturesMaison($idMaison)
        {
	        $req = "select id, anMois, nomFichier from Facture where idHabitation = '$sidMaison' ";
	        $rs = PdoSemoctom::$monPdo->query($req);
	        $factures = $rs->fetchAll();
	        return $factures;
        }

Mission 3 - Question 1

Le solution est donnée avec MySQL Workbench. C'est un schéma très proche du schéma relationnel avec des notations UML.Il y a beaucoup d'identifiants relatifs ce qui entraîne de nombreuses clés primaires concaténées (cela alourdit le schéma). Tous les champs ne sont pas représentés. Si vous faites un MCD vous pouvez avoir une spécialisation (héritage) entre LevéeDecheterie et LevéePAV. On peut ainsi créer deux tables.

Tableau récapitulatif cas Trisel

Mission 4 - Question 1

Le recours à un prestataire informatique permet d’aller plus vite car on peut sélectionner un prestataire qui a déjà les compétences requises pour le développement du logiciel.

Il procure des avantages financiers puisqu’il permet dans un premier temps de ne pas effectuer d’investissement et de ne pas nécessiter une équipe en interne.

Il permet aussi la maitrise les coûts grâce à un contrat clair avec les prestataires.

L’entreprise évite aussi de gérer les carrières des informaticiens.

Si le prestataire est implémenté dans des pays à bas coûts, les prix peuvent être très attractifs par rapport à ceux de la France.

Mission 4 - Question 2

Tableau récapitulatif cas Trisel