Projekt

Obecné

Profil

Product Vision Statement » Historie » Verze 29

Alex Konig, 2021-04-28 17:57

1 1 Roman Kalivoda
h1. Product Vision Statement (WIP)
2
3
h2. Project Goals
4
5 11 Zuzana Káčereková
Creating an application that will based on weather input, predict the attendance in class. User will be able to input their own weather information or choose a prediction based on current weather information or prediction for future days.
6 5 Roman Kalivoda
7 10 Alex Konig
h3. Customers and benefits
8
9 11 Zuzana Káčereková
Can be useful for teachers when planning for activities that require higher attendance. For example, if the teacher wants to give their students a pop quiz about their current knowledge from lectures, to get a better idea of the class's general understanding it would be good to have as many answers as possible. This app would enable to predict the attendance for a class, and therefore to decide if it is worth it to plan a 30min window in the lecture for a quiz or to rather plan something else.
10 6 Alex Konig
11 11 Zuzana Káčereková
It could also be useful for students to decide how early to get to class to get the best seats. Many classrooms only have a limited number of plugs, and since a lot of students write notes on their laptops, the seats near these plugs are highly valuable. This app would enable the students to look how at how populated the building will be and decide if coming early to the lecture will be necessary to get those good seats.
12 6 Alex Konig
13 12 Zuzana Káčereková
h3. User input
14 1 Roman Kalivoda
15 12 Zuzana Káčereková
- Date (or system date)
16 25 Alex Konig
- Weather (predictions from official weather server prediction with possibility to manually input custom values)
17 12 Zuzana Káčereková
- Building or classroom number (however, classroom number retrieves building data due to spacial granularity)
18
- Time? (TBD based on the achieved model accuracy)
19 6 Alex Konig
20 13 Zuzana Káčereková
h3. Output
21 8 Alex Konig
22 13 Zuzana Káčereková
- Rush level (very calm, calm, average, busy, very busy)
23
- Based on achieved model quality, visualization may be extended to a "heatmap" showing rush across the campus (TBD later in the process)
24 1 Roman Kalivoda
25 25 Alex Konig
h3. Happy Day use-case
26
27 28 Alex Konig
The user will specify a date and classroom (e.g. UC-336) for which they wish to get the prediction of attendance. It will be possible to choose to have the weather forecast data for the given day downloaded automatically or input manually. The output of the app will be a text field and a heatmap saying how high the attendance the model predicts (e.g. very high and a brightly lit up building).
28 25 Alex Konig
29 14 Zuzana Káčereková
h3. Key factors to judge application quality
30 1 Roman Kalivoda
31 14 Zuzana Káčereková
* Application response time
32
* UI design appeal to the customer
33
* Maintainability (as a measure of effort required to update the model with new data)
34 10 Alex Konig
35 1 Roman Kalivoda
Prediction quality is not guaranteed at this stage as data quality is out of our control and hugely impacts the output. Quality should also improve over time as more data is collected by UWB.
36
37 25 Alex Konig
h3. Key product features
38 17 Zuzana Káčereková
39 25 Alex Konig
Server - administrative part
40 17 Zuzana Káčereková
* Capable of being updated at admin request
41
* Capable of extending the model/updating it with new data/changing the model entirely (software designed to support smooth model transition)
42 1 Roman Kalivoda
43 25 Alex Konig
Client - end user part
44 17 Zuzana Káčereková
* Able to access prediction using the earlier specified input parameters
45
* Able to specify input parameters
46 25 Alex Konig
* Heat map type visualisation
47 17 Zuzana Káčereková
* Able to easily browse prediction across a greater range of time
48 25 Alex Konig
* Has a web interface and/or mobile interface
49 5 Roman Kalivoda
50
h3. System parts & technologies
51
52
h4. Server (backend) part
53
54 16 Zuzana Káčereková
There will be a server application which:
55 5 Roman Kalivoda
* will retrain prediction model when new data is available (or when a new model is defined by an administrator/maintainer),
56
* will run predictions based on client app requests and send the response once it is ready.
57
58
We decided that the backend will be developed in C# and .NET platform.
59
60
h4. Web frontend app
61
62
There will be a WebGL application:
63
* user will be able to specify arbitrary weather conditions (e.g. temperature, precipitation) or use an automatic weather forecast,
64
* user will be able to specify an arbitrary classroom at UWB,
65
* these input data will be made into a web request and sent to the server,
66
* The prediction result will be shown to the user when the response is received.
67
68 18 Zuzana Káčereková
The app will be written in C# and Unity framework.
69 1 Roman Kalivoda
70 3 Eliška Mourycová
h4. Android app
71
72
There will be an android app with functionality similar to the web frontend. The app will also be developed with C# and Unity.
73
74 1 Roman Kalivoda
75
h2. Project Plan
76
77
78
h2. Stakeholders
79
80
* Development Team
81
* Project Sponsor
82 24 Alex Konig
* Project Mentor
83
* Users: lecturers teaching classes at ZČU
84 1 Roman Kalivoda
* Users: students attending classes at ZČU
85
86
h2. Risks
87 22 Zuzana Káčereková
88 4 Roman Kalivoda
h3. Available data is too crude
89 23 Zuzana Káčereková
90 4 Roman Kalivoda
Chances are that the data is not specific enough to make proper predictions for some buildings, much less single classrooms. Hopefully, the model could be improved gradually when there is more data available. In the meantime, the granularity will be selected based on the model quality we achieve.
91 21 Zuzana Káčereková
92 4 Roman Kalivoda
h3. Our effort estimation may be grossly underestimated
93
94
We should define/negotiate a minimum viable product and prioritize individual features.
95
96
h3. We proposed an unsuitable technological stack
97 21 Zuzana Káčereková
98 1 Roman Kalivoda
Due to our unfamiliarity with web programming we've chosen to use technologies closer to our previous experience. These limit us in that the web application will not be easily compatible with mobile platforms. However, in turn, we can easily implement more complex UI and visualizations, and with some extra effort produce both a web and a mobile application using the same components.
99 26 Alex Konig
100
h2. Solution
101
102 27 Alex Konig
[[Minimum viable product]]
103 29 Alex Konig
104
h2. Details
105
106
For more details about implementation and processed data consult [[Product details]]