Professional Documents
Culture Documents
Midterm
Midterm
Introduction
User part: Understand the needs and preferences of football fans and football tournament
organizers. Design the application for these needs and add the appropriate functionality.
Technical part: Design a database for our application, properly set up normalization and
relationships between entities. Design the REST API of our application using best
practices and based on the official thesis of the creator of REST and HTTP, Roy Fielding.
Literature Review
Data collection
Since our first task is to find out about the "mood" of our future users about our ideas and
solutions, we need to conduct research in this regard, and conduct it correctly. For this,
articles on the above topics were selected from the beginning.
Article 1:
https://www.researchgate.net/publication/11842651_Data_Collection_Techniques
What was understood and applied:
There are many data collection methods such as direct observation, standardized tests,
content analysis, surveys, interviews, and detailed information about each method has
been obtained. For example, participants' behavior was recorded through direct
observation rather than relying on other people's reports.
From this article, one of the methods, namely surveys, was chosen, and the data in the
study were collected by this method.
Article 2:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4601897/
What was understood and applied:
Polling can lead to many sources of error such as
+ coverage error - unknown or zero probability of including individuals in the population
in the sample
+ measurement error - questions do not accurately reflect the topic of interest
+ non-response error - no response
But there are several strategies to reduce the chance of errors. Strategies:
creating a multimode design
creation of preliminary questions, convenient graphics
creating a user-friendly survey design
From this article, a "sampling strategy" was applied in the survey, which means that a
sufficient sample was selected, in our case students, that is representative of the
population of interest.
After making sure that the idea finds support and is relevant at the moment, we moved on
to designing the system. The first step was the database.
Database
For the implementation of our database, we were helped by an article from Mike Hillyer,
Technical Writer for MySQL about Database normalization. This article provides
information about the first three normal (all we need) forms from six existing ones.
Let's start with the fact that normalization is a method of organizing data in a database.
Based on the article, we have brought our created tables to the first, second, and third
normal forms.
(ER-diagram of LiveScore Database)
As you can see above, each table contains no repeating groups and all attributes have a
unique value (1NF), all attributes depend on the primary key (2NF) and there are no
transitive functional dependencies of non-key attributes on key attributes (3NF).
After the issue with the databases was resolved, we set about designing the backend part
of our application. We had to determine on the basis of what style to build our web
service.
Types of web services
https://www.researchgate.net/publication/317604322_ANALYSIS_AND_SELECTION_
OF_WEB_SERVICE_TECHNOLOGIES
The article provides a brief description of what a web service is, what types of web
services exist, what their capabilities and limitations are, and what technologies they are
associated with.
Based on the data obtained from the article, we began an additional study of which web
services are currently relevant. This filter filtered out almost all options, leaving only
SOAP and REST.
Then we started looking at programming forums and articles to choose between these two
kinds of web service design. Here are simplified description of difference between REST
and SOAP based web application
Web service types: SOAP REST
Data format XML (only) XML, JSON, .txt (no
restrictions)
Security Secure No security
Speed Slow Fast
Service calling method RPC Simple call via URL
path
Returning format Does not return human Returns readable plain
readable format JSON or XML
JavaScript calling Available, but hard to Easy call
implement
Based on these data, we realized that SOAP is not suitable for our system, since our
application will publish data in real time (publication of match events at the time of their
occurrence, for example, a goal or a player receiving a red card). Therefore, the REST
architectural style was chosen.
Spring framework
Of the many possible technologies for building the logic of our web application, Spring
was chosen. The choice was made based on its functionality, a separate subframework
specifically for working with REST, and also because of the scarcity of alternatives (only
J2EE).
The application should be intuitive and user-friendly when used. To achieve these goals,
it was decided to use the ten general principles of interaction design by Jakob Nielsen:
Visibility of system status
Match between system and the real world
User control and freedom
Consistency and standards
Error prevention
Recognition rather than recall
Flexibility and efficiency of use
Aesthetic and minimalist design
Help users recognize, diagnose, and recover from errors
Help and documentation
Based on these principles and the above points about colors, templates for our future
mobile application were created.
References
Hillyer, M. (2005) An Introduction to Database Normalization [Preprint].
Morgan, G.A. and J. Harmon, R. (2001) “Data Collection Techniques” Journal of the
American Academy of Child and Adolescent Psychiatry [Preprint].
Ponto, J. (2015) “Understanding and Evaluating Survey Research” J Adv Pract Oncol
[Preprint].