Functional Architecture

Before any work can be done to come up with ideas for this Capture the Flag platform, we have to identify the key players. Not just the players in the game, but all the entities which make up the system and interact with it. 

The actors we identified for this step are as follows. Naturally, the user is a prime actor, as is the administrator of the CTF. The non-human actors include the database, web browser, operating system, and server. 

These actors work together in the system through various input-output interactions. One such interaction is a query, in which the database handles a request for pertinent information and returns that data to the requesting party, be it the user, an admin, or one of the other actors listed previously. Other input-output interactions include use of the mouse and keyboard, web browser events, and HTTP requests/responses.

After identifying all of these important functions and actors, a graphic was able to be generated which maps out the system to a pretty intricate level of detail. It’s included below, but beware! The complexity makes it a bit difficult to parse.

From this process, we were able to identify some critical sub-functions. Some of these include the ability of an administrator to add new challenges to the game, the ability of the system to display the gameboard and background graphics, as well as all other UI elements, and the ability of an admin to modify game settings. These critical sub-functions were used to help guide our concept generation process, focusing our ideation to meet specific goals and improve upon the most important features of the system.

In doing this, we have generated a functional architecture, which outlines all the interactions between various elements of the application and the people using it.

Leave a Reply

Your email address will not be published. Required fields are marked *