présentation - université de montréallafontle/projet-ift3150/presentation.pdf · framework:...

14
Projet IFT3150 Scoti Développé par : Louis-Edouard LAFONTANT Présentation

Upload: others

Post on 16-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

Projet IFT3150

Scoti

Développé par : Louis-Edouard LAFONTANT

Présentation

Page 2: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

▪ Conception d’une plateforme de communication et collaboration pour étudiant avec des outils d’organisation.

▪ Besoins

▪ Poser et répondre à des questions

▪ Rester informer des annonces et nouvelles

▪ Organiser et planifier son travail

▪ Collaborer et partager avec d’autres étudiants

Introduction

Page 3: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

1. Analyse des besoins

2. Conception et modélisation

3. Implémentation

4. Tests et documentation

5. Démonstration de l’application

6. Conclusion et perspectives

7. Période de questions

Plan de la présentation

Page 4: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

✓Application mobile (app.)

✓Section Journal de l’app.

✓Section Fichiers de l’app.

✓Section Questions de l’app.

✓Suivre les bonnes pratiques de design et faire des tests.

✓Conception d’un RESTful API

✓Utiliser la base de données de l’app. comme cache

Solutions

Faire plus d’activités à partir de son téléphone

Centraliser l’information

Mieux organiser son travail

Trouver plus facilement des réponses et explications

Utilisable par tout étudiant

Ouvert à l’ajout d’autres app.

Fonctionner hors-ligne

Besoins

Analyse des besoins

Page 5: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

Cas d’utilisations

Page 6: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

Conception

▪Modèle relationnel robuste, normalisé et flexible.

▪API suivant l’architecture REST RESTful API

▪ Support de HATEOAS

▪Authentification avec JWT

▪Conception par patrons

Page 7: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

Stabilité et abstraction des paquetsDiagrammes de paquets UML

Modélisation

Page 8: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

Visual Studio 2017

ASP.NET Core + Xamarin

Implémentation

Page 9: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

▪ SGBD : SQL Server

▪ Framework: ASP.NET Core

▪ Multiplateforme, Modularité

▪ Dependency injection

▪ Routage

▪ORM : Entity Framework (EF) Core – Code first

▪ Repository pattern – communication avec la base de données

▪ Utilisation de DTO pour le transfert de données

▪ Patrons: Constructeurs, Singleton, Adapteur, Observateur, MVC

Implémentation du backend

Page 10: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

▪ Plateforme: Xamarin + MVVM Light Toolkit

▪ Réutilisation de 70% du code

▪ Performance proche du natif

▪ UI natif

▪ Architecture Model-View-ViewModel (MVVM)

▪ Implémentation du patron Model-View-Controller (MVC)

▪ Model: données de l’application; communique avec VM

▪ View: informe VM des actions de l’utilisateur

▪ ViewModel: expose les données de M et commandes possibles à V

▪ Application du Material Design et des principes de design

Implémentation du frontend

Page 11: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

▪ Tests unitaires avec xUnit

▪ Tester tous les endpoints de l’API

▪ Tester les Helpers

▪ Style Arrange-Act-Assert (AAA)

▪ Utilisation de Mock object

Tests structurels

▪ Utilisation de Postman

▪ Simuler un client

▪ Valider le Content-type

▪ Valider le contenu

▪ Tests de performance (<200ms)

▪ Tests à la fumée

▪ Programme compile et s’exécute

▪ API répond aux requêtes

▪ Base de données créée

▪ Application mobile roule

Tests fonctionnels

Tests

Page 12: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

• Créer un compte

• Connexion

• Section Journal

• Section Questions• Voir les questions et réponses

• Ajouter une question

• Voter une réponse

• Sections Fichiers• Lier un compte Dropbox

• Naviguer dans un dossier

• Partager un fichier

Démonstration

Page 13: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

▪ Base de données complété

▪API complété, testé et documenté

▪App. mobile incomplète mais fonctionnel et utilisable

▪ Bonne expérience de ASP.NET Core, Xamarin et Postman

▪ Roadmap:

▪ Compléter l’application mobile

▪ Ajouter les fonctionnalités de Requête

▪ Faire les tests d’intégration et d’utilisabilité

Conclusion

Page 14: Présentation - Université de Montréallafontle/projet-ift3150/presentation.pdf · Framework: ASP.NET Core Multiplateforme, Modularité Dependency injection Routage ORM : Entity

Questions