Introduction
Overall Description
Regterschot Racing expects an application where a user can obtain access to data from the already existing database of the racecar. Regterschot expects an API that lets the website communicate with the database. It is important that the communication provides fast and reliable data to the website. The system needs to be easily extendable, so that it may be able to add new features in the future.
User Classes and Characteristics
This product will be used by the Regterschot racingteam. In the future, users that are not part of the team, may be able to login to the website to view the race. The racingteam are able to see the statistics of the car during and after the race.
<Identify the various user classes (actors) that you anticipate will use this product. User classes may be differentiated based on the subset of product functions used. Describe the pertinent characteristics of each user class. Certain requirements may pertain only to certain user classes. >
Operating Environment
The software will operate on Java 17 and will use maven. The program will run in jboss/wildfly 25.0.0.final. The connection to the database and the execution of queries are done with JDBC. The data can be seen using a TCP connection, since the program needs a constant stream of data.
Design and Implementation Constraints
The product owner did not give many constraints for this project. There are still a few technical limitations that limits options. The car's data is being sent to the database twenty times per second. (insert database type). For constant streaming of data to the application, it is required to use TCP as a communication protocol.
<Describe any items or issues that will limit the options available to the developers. These might include: hardware (e.g. specific mobile platforms), specific technologies, tools, and databases to be used; interfaces to other applications; programming language required; or communications protocols>
Product Functions
<Summarize the major functions the product must perform or must let the user perform. Details will be provided in Section 3, so only a high level summary is needed here. In most cases, this section will primarily contain a use case diagram and brief use case descriptions >