Here is our Box and Line Diagram and explanations of each component and dependency.
The Box and Line Diagram is as follows or as a pdf here:
The Website Interface subsystem contains multiple components. These components are dependent on the Backend. The subsystem components and dependencies are further explained as follows:
The Login Interface prompts the user to enter their username and password. An error message will appear if the username or password are incorrect. The Login Interface is dependent on the Backend Communication component to respond to user interaction.
The Restaurant Profile Summary displays the restaurant’s goals and rewards. This component is dependent on the Backend Communication component to access restaurant profile information.
The Goals Editor allows the user to select a goal to update or delete. This component is dependent on the Backend Communication component to access restaurant goal information.
The Goals Editor allows the user to select a reward to update or delete. This component is dependent on the Backend Communication component to access restaurant reward information.
The Backend Communication allows the interface to interact with the Backend subsystem. This component is dependent on the Website Frontend Communication component to access information and allow response to user interaction.
The Application Interface subsystem contains multiple components. These components are dependent on the Backend. The subsystem components and dependencies are further explained as follows:
The Login Page prompts customers to enter their username and password. An error message will appear if the username or password is incorrect. This component is dependent on the Backend Communication component to respond to user interaction.
The List of Restaurant Boards Page shows the user a list of all the restaurant boards that are in progress. A restaurant board that is “in progress” has one or more goal completed. This component is dependent on the Backend Communication component to access user information.
The Board Page shows the user an individual restaurant game board. This component is dependent on the Backend Communication component to access game board information.
The Compete with Friends Page shows the user their ranking in comparison with their friends who use the application. This component is dependent on the Backend Communication component to access user information.
The List of Rewards Earned Page shows the user a list of all the rewards that they redeemed. This component is dependent on the Backend Communication component to access user reward information.
The Backend Communication allows the interfaces to interact with the Backend subsystem. This component is dependent on the Application Front End Communication component to access information and allow response to user interaction.
The Backend subsystem contains multiple components. These components are dependent on the Database. The subsystem components and dependencies are further explained as follows:
The Website Frontend Communication allows the Website Interface to interact with the Backend. This component is dependent on the User Authentication component and the Restaurant Profile Manager component.
The Application Frontend Communication allows the Application Interface to interact with the Backend. This component is dependent on the following components: User Authentication, Friend Reward Comparison, Goal Completion Modifier, and Reward Completion Modifier.
The User Authentication allows for the verification of inputted usernames and passwords. This component is dependent on the User Profile Management Component to access account information.
The User Profile Management component allows for users to modify their account information. This component is dependent on the Restaurant Profile Management component, so that if a restaurant owner changes their user profile, the corresponding fields in the restaurant profile are updated as well. This component is dependent on the Database Communication component so that the User Account and Restaurant Profile databases are updated based on these modifications.
The Restaurant Profile Management component allows for restaurant owner users to modify their restaurant profiles; these modifications include changes to the goals and rewards they want to offer. This component is dependent on the Database Communication component so that the Restaurant Profile Database is updated based on these modifications.
The Friend Reward Comparison ranks customer users based on the number of rewards earned compared to their friends. This component is dependent on the Database Communication component so that the Customer Profile Database is updated based on their rank.
The Goal Completion Modifier component allows for the goals field of the Customer Profile Database to be updated when a goal is completed. This component is dependent on the Goal Completion Verification component so that restaurant owner users verify that the goal is completed. This component is dependent on the Database Communication component so that the Customer Profile Database is updated when a goal is completed.
The Reward Completion Modifier component allows for the rewards field of the Customer Profile Database to be updated when a reward is redeemed. This component is dependent on the Reward Completion Verification component so that restaurant owner users verify that the reward is valid and redeemed. This component is dependent on the Database Communication component so that the Customer Profile Database is updated when a reward is redeemed.
The Goal Completion Verification component allows for restaurant owners to verify if a goal is completed by a customer.
The Reward Completion component allows for restaurant owners to verify if a reward is valid and redeemed by a customer.
The Database Communication allows for the Backend to communicate with the Databases. This component is dependent on the Database subsystem so that it can communicate with the database components.
The Database subsystem contains the following components:
The User Account Database stores user account information such as password and username.
The Restaurant Profile Database stores restaurant information such as name of the restaurant, the username associated with the restaurant, the restaurant goals, and the restaurant rewards.
The Game Goals Database stores the premade goals used for the bingo loyalty game.
The Games Rewards Database is used for storing rewards for the bingo loyalty game.
The Customer Profile Database is used for storing customer user information such as username, active game boards, goals completed, rewards earned, and friends’ usernames.