× Home About Requirements Architecture Method selection and planning Risk assessment and mitigation Implementation Javadocs GitHub project

York Dragon Boat Race

ENG1 Team 11 project

Requirements


Single Statement of Need

Aim of our project is to create a Dragon Boat racing game, based on the real Dragon Boat Challenge held in York. The game shall be enjoyable and playable on a low spec computer.

How the requirement were elicited

In order to elicit requirements, we first researched how best to go about doing and presenting these as well as the point of requirements engineering in a project. Requirements engineering is the process of discerning what the stakeholders want from the product, then presenting it in a way which is readable and makes the set of requirements processable [1]. According to Sommerville [2], open interviews are often not an ideal way to conduct research, so we elected to use a mostly closed-format interview in order to gather our initial set of user requirements. Our initial interview was with our main stakeholder, Dr. Javier Cámara, and was used to gather basic information about the system we were to implement.

Our other stakeholder, the Communications Office at the University of York, was also represented by our main stakeholder in this specific instance as they are in contact with them. We had to do very little negotiation between stakeholders to decide on final requirements because of a clean overlap in stakeholder interests. Both stakeholders want a product that will be playable and enjoyable, with the main stakeholder wanting it marketable additionally and the other stakeholder wanting it to be usable in promotional activities. The majority of negotiation was between our team and the stakeholder to reach a compromise between what is possible given the allotted resources and what the desired product is.

Presentation format

After completing the interview, we had to find a way to present them that would be understandable and concise. There are four main ways to present requirements - using natural language sentences, structured natural language, graphically using UML or diagrams, or mathematically [3]. User requirements should be written in a way that describes what the functional and non-functional requirements mean in an understandable way, so we wrote our requirements in a structured natural language format. This format involves writing the requirements using a standardised template so that each requirement is unambiguous and clear, one of the main advantages of this format over natural language sentences. Whilst it is less unambiguous than pure mathematical notation, it is often far easier for a customer to understand and means they are more likely to accept the set of requirements.



User Requirements

Our client has asked us to produce a game about Dragon Boat racing. The player will control a boat over three heats and a final race, using the keyboard and mouse to dodge obstacles which may slow them down or damage their craft. Between these races, the player can upgrade their boat if they have the required currency to do so, which will give them a competitive advantage. The player will win if they have the fastest time, place if they are second or third fastest, or lose otherwise.

Functional Requirements

Non-Functional Requirements


View as a pdf file >>