SlideShare a Scribd company logo
1 of 30
Team CWA1
   Mattias Buelens   Karlijn Colson
     Arno Buttiens   Erik De Smedt
Sander Castermans    Thomas Goossens
Overzicht
•     inleiding
        –       probleemstelling
        –       brainstorm
        –       doelgroep
•     ontwerp
        –       iteratieve ontwikkeling
        –       ontwerpmethodologie
        –       uitvoering
•     interface
        –       functionaliteit
        –       aandachtspunten
        –       probleem en oplossingen
•     data
        –       entiteiten
        –       van query tot grafiek
        –       activity slices
        –       quota’s van App Engine
•     besluit


    Inleiding         Ontwerp             Interface   Data   Besluit
Probleemstelling




        Studeren                                  Beter
                            Analyseren
        opvolgen                                studeren




Inleiding   Ontwerp      Interface       Data              Besluit
Brainstorm




Inleiding   Ontwerp   Interface    Data   Besluit
Doelgroep
• studenten
    – persona’s → scenario’s
• professoren?
• monitoraat?




Inleiding   Ontwerp   Interface   Data   Besluit
Iteratieve ontwikkeling
• eerste iteratie                  Ontwerpen

     – aanmelden en registreren
     – activiteiten opvolgen                   Implementeren



                                   Evalueren

• tweede iteratie
     – milestones aanmaken en opvolgen
     – grafieken aanmaken en weergeven



 Inleiding   Ontwerp   Interface     Data           Besluit
Ontwerpmethodologie

                                   Klant      Ontwikkelaar


                      scenario’s
Functionaliteit                            use cases
                      interface mockup



                                           klassendiagram
Entiteiten            domeinmodel
                                           datamodel



Inleiding   Ontwerp    Interface           Data        Besluit
Uitvoering

                       Interface
            Use case controllers
                           Model
                      Persistentie
Inleiding   Ontwerp     Interface   Data   Besluit
Functionaliteit

                                     Klant      Ontwikkelaar


                        scenario’s
Functionaliteit                              use cases
                        interface mockup



                                             klassendiagram
Entiteiten              domeinmodel
                                             datamodel



Inleiding   Ontwerp      Interface           Data        Besluit
Aandachtspunten

                             Gebruiker




            Vrijheid in                  Gebruiks-
             gebruik                     vriendelijk


Inleiding    Ontwerp      Interface       Data         Besluit
Gebruiksvriendelijkheid
Klant                              Ontwikkelaar
Interface mockup                   Use cases
• ruwe voorstelling van            • beschrijving interacties
  gebruikersinterface                gebruiker ↔ systeem
                                      1.   Student indicates he wants to
                                           add a new milestone.
                                      2.   System asks the user to choose
                                           between a milestone about study
                                           or free time activities. It does
                                           select study activity as default.
                                      3.   Student agrees with this default.
                                      4.   System retrieves a list of all
                                           courses in which the user is
                                           enrolled.
                                      5.   User chooses a course from the
                                           list.
                                      6.   …




 Inleiding   Ontwerp   Interface                 Data                   Besluit
Vrijheid in gebruik

Milestones                         Grafieken




 Inleiding   Ontwerp   Interface           Data   Besluit
Probleem

      Vrijheid in                         Gebruiks-
       gebruik                            vriendelijk

• veel verschillende               • snelle invoer
  parameters
• veel mogelijke                   • eenvoudig te
  combinaties                        begrijpen



 Inleiding   Ontwerp   Interface           Data      Besluit
Oplossing

• automatisch
  uitgeschreven
  doelstelling
• adaptieve interface
• opties in lijstweergave




 Inleiding   Ontwerp   Interface   Data   Besluit
Oplossing
Grafische interactie
Mood square                        Grafieken




 Inleiding   Ontwerp   Interface           Data   Besluit
Entiteiten

                                   Klant      Ontwikkelaar


                      scenario’s
Functionaliteit                            use cases
                      interface mockup



                                           klassendiagram
Entiteiten            domeinmodel
                                           datamodel



Inleiding   Ontwerp    Interface           Data        Besluit
Entiteiten
Klant                                      Ontwikkelaar
Domeinmodel                                Klassendiagram en datamodel
• uit reële wereld                         • klassendiagram
                                              = weergave van
                                                implementatie
              Student
                                           • datamodel
               1                              = welke gegevens worden
                       volgt                    waar opgeslagen?
             0..*

                    Vak




 Inleiding   Ontwerp           Interface            Data          Besluit
Van query tot grafiek

Query met App Engine                Grafiek
• geeft lijst van activiteiten      • heeft nood aan
                                       – numerieke gegevens
                                       – groeperingen




 Inleiding   Ontwerp    Interface            Data             Besluit
Van query tot grafiek

            Welk pakket is verantwoordelijk?




Inleiding   Ontwerp    Interface       Data    Besluit
Van query tot grafiek
• groeperen d.m.v. stamboom

Alle activiteiten                               Query




      Per vak                       Analyse               Economie




      Per type            Theorie         Oefeningen      Oefeningen




Inleiding   Ontwerp   Interface                    Data                Besluit
Activity slices
• slechts één veld met ongelijkheden
  per query
• probleem: twee ongelijkheden nodig om
  tussen twee data te selecteren
• oplossing: discretiseren
    – opsplitsen in schijfjes van één uur (slices)
    – één datum toewijzen aan elke slice
• bonus: selecteren op weekdag of uur

Inleiding   Ontwerp     Interface    Data            Besluit
Activity slices
Wat is de totale studieduur?

                                           zoekinterval



            Activiteit 1                         Activiteit 2         Activiteit 3


Met slices

                      Activiteit 1               Activiteit 2   Activiteit 3




Inleiding   Ontwerp                  Interface                      Data             Besluit
Quota’s van App Engine
• quota’s per 24 uur
• quota overschreden
    – applicatie offline
    – boze klanten en boze baas
• oplossing?


                      Apply more caching!


Inleiding   Ontwerp      Interface    Data   Besluit
Eindresultaat




Inleiding   Ontwerp     Interface   Data   Besluit
Eindresultaat




Inleiding   Ontwerp     Interface   Data   Besluit
Eindresultaat
• Parameters




Inleiding   Ontwerp     Interface   Data   Besluit
Besluit
• resultaat: werkende applicatie
• lessons learned
    – technische kennis
    – soft skills
• verdere ontwikkeling
    – derde iteratie: statistieken vergelijken,
      notities toevoegen, sociaal netwerk
    – basisontwerp is algemeen: toepasbaar voor
      sport, gezondheid, management,…

Inleiding   Ontwerp   Interface    Data      Besluit
Vragen?




Inleiding   Ontwerp   Interface   Data   Besluit
Team CWA1
 http://projectatlast.appspot.com
http://projectatlast.wordpress.com

More Related Content

Similar to Project AtLast (CWA1-1112)

Profecto - REPAF
Profecto - REPAFProfecto - REPAF
Profecto - REPAFProfecto
 
Cloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdelingCloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdelingPascal van Eck
 
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerkingSE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerkingCROW
 
Meetup at SIG: Meten is weten
Meetup at SIG: Meten is wetenMeetup at SIG: Meten is weten
Meetup at SIG: Meten is wetenDevnology
 
0708 Ontwerpproces en beroepsproducten
0708 Ontwerpproces en beroepsproducten0708 Ontwerpproces en beroepsproducten
0708 Ontwerpproces en beroepsproductenHans Kemp
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatiemenfey
 
Moderne Software Engineering
Moderne Software EngineeringModerne Software Engineering
Moderne Software Engineeringguestf2fc08
 
Processimulatie & Optimalisatie door inzet van Plant Simulation
Processimulatie & Optimalisatie door inzet van Plant SimulationProcessimulatie & Optimalisatie door inzet van Plant Simulation
Processimulatie & Optimalisatie door inzet van Plant Simulationguestac59ac6
 
Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!
Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!
Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!ICT-Partners
 
Moss Lessons Learned
Moss Lessons LearnedMoss Lessons Learned
Moss Lessons LearnedDanny Burlage
 
Hoe hangen de componenten van de digitale leeromgeving technisch samen?
Hoe hangen de componenten van de digitale leeromgeving technisch samen?Hoe hangen de componenten van de digitale leeromgeving technisch samen?
Hoe hangen de componenten van de digitale leeromgeving technisch samen?SURF Events
 
Creating sustainable solutions with SharePoint 2013 - Yuri Burger
Creating sustainable solutions with SharePoint 2013 - Yuri BurgerCreating sustainable solutions with SharePoint 2013 - Yuri Burger
Creating sustainable solutions with SharePoint 2013 - Yuri BurgerDelta-N
 
Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)Sander van der Kolk
 
Modelgedreven Ontwikkeling in de Praktijk
Modelgedreven Ontwikkeling in de PraktijkModelgedreven Ontwikkeling in de Praktijk
Modelgedreven Ontwikkeling in de PraktijkWerner Heijstek
 
xRM - CRM als platform | Rik Dubbink, CRM Partners
xRM - CRM als platform | Rik Dubbink, CRM PartnersxRM - CRM als platform | Rik Dubbink, CRM Partners
xRM - CRM als platform | Rik Dubbink, CRM PartnersExploreDynCRM
 
Crowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureCrowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureRubiX BV
 
Waarom 42windmills
Waarom 42windmillsWaarom 42windmills
Waarom 42windmills42windmills
 
Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)guest621f23
 

Similar to Project AtLast (CWA1-1112) (20)

Oracle Discoverer To OBIEE Migration By Aorta
Oracle Discoverer To OBIEE Migration By AortaOracle Discoverer To OBIEE Migration By Aorta
Oracle Discoverer To OBIEE Migration By Aorta
 
Profecto - REPAF
Profecto - REPAFProfecto - REPAF
Profecto - REPAF
 
Cloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdelingCloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdeling
 
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerkingSE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
 
Meetup at SIG: Meten is weten
Meetup at SIG: Meten is wetenMeetup at SIG: Meten is weten
Meetup at SIG: Meten is weten
 
0708 Ontwerpproces en beroepsproducten
0708 Ontwerpproces en beroepsproducten0708 Ontwerpproces en beroepsproducten
0708 Ontwerpproces en beroepsproducten
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
 
Moderne Software Engineering
Moderne Software EngineeringModerne Software Engineering
Moderne Software Engineering
 
Processimulatie & Optimalisatie door inzet van Plant Simulation
Processimulatie & Optimalisatie door inzet van Plant SimulationProcessimulatie & Optimalisatie door inzet van Plant Simulation
Processimulatie & Optimalisatie door inzet van Plant Simulation
 
Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!
Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!
Citrix Workspace Suite: De werkplekimplementatie die niet kan mislukken!
 
Moss Lessons Learned
Moss Lessons LearnedMoss Lessons Learned
Moss Lessons Learned
 
Hoe hangen de componenten van de digitale leeromgeving technisch samen?
Hoe hangen de componenten van de digitale leeromgeving technisch samen?Hoe hangen de componenten van de digitale leeromgeving technisch samen?
Hoe hangen de componenten van de digitale leeromgeving technisch samen?
 
Creating sustainable solutions with SharePoint 2013 - Yuri Burger
Creating sustainable solutions with SharePoint 2013 - Yuri BurgerCreating sustainable solutions with SharePoint 2013 - Yuri Burger
Creating sustainable solutions with SharePoint 2013 - Yuri Burger
 
Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)
 
Modelgedreven Ontwikkeling in de Praktijk
Modelgedreven Ontwikkeling in de PraktijkModelgedreven Ontwikkeling in de Praktijk
Modelgedreven Ontwikkeling in de Praktijk
 
Tiende Meetup: Microservices
Tiende Meetup: MicroservicesTiende Meetup: Microservices
Tiende Meetup: Microservices
 
xRM - CRM als platform | Rik Dubbink, CRM Partners
xRM - CRM als platform | Rik Dubbink, CRM PartnersxRM - CRM als platform | Rik Dubbink, CRM Partners
xRM - CRM als platform | Rik Dubbink, CRM Partners
 
Crowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureCrowd Designing Microservices Architecture
Crowd Designing Microservices Architecture
 
Waarom 42windmills
Waarom 42windmillsWaarom 42windmills
Waarom 42windmills
 
Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)Business Mashups - Building on the Shoulders of Giants (Dutch)
Business Mashups - Building on the Shoulders of Giants (Dutch)
 

Project AtLast (CWA1-1112)

  • 1.
  • 2. Team CWA1 Mattias Buelens Karlijn Colson Arno Buttiens Erik De Smedt Sander Castermans Thomas Goossens
  • 3. Overzicht • inleiding – probleemstelling – brainstorm – doelgroep • ontwerp – iteratieve ontwikkeling – ontwerpmethodologie – uitvoering • interface – functionaliteit – aandachtspunten – probleem en oplossingen • data – entiteiten – van query tot grafiek – activity slices – quota’s van App Engine • besluit Inleiding Ontwerp Interface Data Besluit
  • 4. Probleemstelling Studeren Beter Analyseren opvolgen studeren Inleiding Ontwerp Interface Data Besluit
  • 5. Brainstorm Inleiding Ontwerp Interface Data Besluit
  • 6. Doelgroep • studenten – persona’s → scenario’s • professoren? • monitoraat? Inleiding Ontwerp Interface Data Besluit
  • 7. Iteratieve ontwikkeling • eerste iteratie Ontwerpen – aanmelden en registreren – activiteiten opvolgen Implementeren Evalueren • tweede iteratie – milestones aanmaken en opvolgen – grafieken aanmaken en weergeven Inleiding Ontwerp Interface Data Besluit
  • 8. Ontwerpmethodologie Klant Ontwikkelaar scenario’s Functionaliteit use cases interface mockup klassendiagram Entiteiten domeinmodel datamodel Inleiding Ontwerp Interface Data Besluit
  • 9. Uitvoering Interface Use case controllers Model Persistentie Inleiding Ontwerp Interface Data Besluit
  • 10. Functionaliteit Klant Ontwikkelaar scenario’s Functionaliteit use cases interface mockup klassendiagram Entiteiten domeinmodel datamodel Inleiding Ontwerp Interface Data Besluit
  • 11. Aandachtspunten Gebruiker Vrijheid in Gebruiks- gebruik vriendelijk Inleiding Ontwerp Interface Data Besluit
  • 12. Gebruiksvriendelijkheid Klant Ontwikkelaar Interface mockup Use cases • ruwe voorstelling van • beschrijving interacties gebruikersinterface gebruiker ↔ systeem 1. Student indicates he wants to add a new milestone. 2. System asks the user to choose between a milestone about study or free time activities. It does select study activity as default. 3. Student agrees with this default. 4. System retrieves a list of all courses in which the user is enrolled. 5. User chooses a course from the list. 6. … Inleiding Ontwerp Interface Data Besluit
  • 13. Vrijheid in gebruik Milestones Grafieken Inleiding Ontwerp Interface Data Besluit
  • 14. Probleem Vrijheid in Gebruiks- gebruik vriendelijk • veel verschillende • snelle invoer parameters • veel mogelijke • eenvoudig te combinaties begrijpen Inleiding Ontwerp Interface Data Besluit
  • 15. Oplossing • automatisch uitgeschreven doelstelling • adaptieve interface • opties in lijstweergave Inleiding Ontwerp Interface Data Besluit
  • 16. Oplossing Grafische interactie Mood square Grafieken Inleiding Ontwerp Interface Data Besluit
  • 17. Entiteiten Klant Ontwikkelaar scenario’s Functionaliteit use cases interface mockup klassendiagram Entiteiten domeinmodel datamodel Inleiding Ontwerp Interface Data Besluit
  • 18. Entiteiten Klant Ontwikkelaar Domeinmodel Klassendiagram en datamodel • uit reële wereld • klassendiagram = weergave van implementatie Student • datamodel 1 = welke gegevens worden volgt waar opgeslagen? 0..* Vak Inleiding Ontwerp Interface Data Besluit
  • 19. Van query tot grafiek Query met App Engine Grafiek • geeft lijst van activiteiten • heeft nood aan – numerieke gegevens – groeperingen Inleiding Ontwerp Interface Data Besluit
  • 20. Van query tot grafiek Welk pakket is verantwoordelijk? Inleiding Ontwerp Interface Data Besluit
  • 21. Van query tot grafiek • groeperen d.m.v. stamboom Alle activiteiten Query Per vak Analyse Economie Per type Theorie Oefeningen Oefeningen Inleiding Ontwerp Interface Data Besluit
  • 22. Activity slices • slechts één veld met ongelijkheden per query • probleem: twee ongelijkheden nodig om tussen twee data te selecteren • oplossing: discretiseren – opsplitsen in schijfjes van één uur (slices) – één datum toewijzen aan elke slice • bonus: selecteren op weekdag of uur Inleiding Ontwerp Interface Data Besluit
  • 23. Activity slices Wat is de totale studieduur? zoekinterval Activiteit 1 Activiteit 2 Activiteit 3 Met slices Activiteit 1 Activiteit 2 Activiteit 3 Inleiding Ontwerp Interface Data Besluit
  • 24. Quota’s van App Engine • quota’s per 24 uur • quota overschreden – applicatie offline – boze klanten en boze baas • oplossing? Apply more caching! Inleiding Ontwerp Interface Data Besluit
  • 25. Eindresultaat Inleiding Ontwerp Interface Data Besluit
  • 26. Eindresultaat Inleiding Ontwerp Interface Data Besluit
  • 27. Eindresultaat • Parameters Inleiding Ontwerp Interface Data Besluit
  • 28. Besluit • resultaat: werkende applicatie • lessons learned – technische kennis – soft skills • verdere ontwikkeling – derde iteratie: statistieken vergelijken, notities toevoegen, sociaal netwerk – basisontwerp is algemeen: toepasbaar voor sport, gezondheid, management,… Inleiding Ontwerp Interface Data Besluit
  • 29. Vragen? Inleiding Ontwerp Interface Data Besluit

Editor's Notes

  1. Quantified Learning
  2. Beide functionaliteiten horen thuis bij het query pakket.Groeperen is sorteren van data en hoort thuis bij query, niet bij grafiek.Data omzetten naar numerieke resultatenQuery is verantwoordelijk voor het verwerken van data.Numerieke resultaten zijn ook nodig voor milestonen (mocht dit niet in query gebeuren)Graph en milestone zouden twee keer hetzelfde moeten doen (code duplicatie)Graph zou dan methoden voor milestones moeten aanroepen of omgekeerd (logisch incoherent)De berekeningen gebeuren met een Parser.Relaties:Grafieken laten Query gegevens opvragen en verwerken, grafieken halen resultaten op uit de boom.Milestones laten Query gegevens opvragen en numeriek resultaat berekenen, milestones vergelijken resultaat met doel.
  3. Standaard App Engine query geeft een lijst terug.Onze query geeft een boom terug.Ieder element in de boomHeeft een sleutelnaam gekregen van groeperingKan verder gegroepeerd wordenBladBevat lijst van activiteitenTakBevat andere takken of bladenGeen limiet op aantal subgroepenEnkel gelimiteerd door weergavemogelijkheden van grafieken