Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Detailed Design Description

Deployment Diagram

figure 2: deployment diagram

Design Decisions related to Deployment Diagram

BrokerServerThe brokerserver will run with a brokerservice on it. This brokerservice will allow us to create large data-streams. This will in turn allow us to create dynamic graphs on our webpage without having to consult a database. This brokerservice is connected via a broker connection to the Java application API.
DatabaseServerThe database will contain all data that is not required to be updated to show real-time data. This will thus include all sensor-data of past races, as well as all data required for logging in and creating race-views. The database system we use is MySQL, because of it's accessibility and relative ease to use. MySQL runs on a databaseServer, that is connected to the Java Application API with the use of a JDBC (Java Database Connectivity) Database Connection.
ApplicationServerThe ApplicationServer will contain the API itself. This API will use Jakarta EE and Wildfly 25.0, which allows us to run an API with ease in a web environment. Using the REST API, this Java Application will connect to a webserver and deploy its .war artifact there.
WebserverThe webserver is the link between user and API and is the part of our API that the user can interact with. This webserver could also be described as a simple website.

User PC

The user PC is the eventual device on which the API and webpage will be run. This is the user end of our application.

table 3: glossary of deployment diagram

Class Diagram

We made three different class diagrams to make the visual side of our program more understandable. The first one is for all our back-end code, the second one is our data acces object and data transfer object diagram and the last one is our front-end class diagram. 

Class Diagram Backend  

figure 3: class diagram back-end

Class Diagram DAO-DTO-generalisation

figure 4: class diagram DAO and DTO

For every resource we have made, there's a few extra classes that we have generalised here. The DTO classes are being used to model the data in a single format for easier use, this way we only need to edit data in one place. In the DAO classes we put all the logic that is needed to get the data from the database. Here we will process the data from a query result into the DTO and pass it back to the services.  This way we create a layer pattern in our application which gives better readability and clarity for the next team that wants to alter our code after us.

Class Diagram Front-end

figure 5: class diagram front-end