16.04.2014 Views

Designing a persistent online strategy game - Department of ...

Designing a persistent online strategy game - Department of ...

Designing a persistent online strategy game - Department of ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

12 Chapter 3. Requirements engineering with non-functional requirements<br />

[46] states the following as the main activities that RE consists <strong>of</strong>:<br />

– Eliciting requirements This activity focuses on finding, preferably a complete<br />

set <strong>of</strong>, requirements. This is however a complex task and not just a matter <strong>of</strong> going<br />

out and finding requirements that are already defined and articulated. Therefore<br />

the word “eliciting” is preferred instead <strong>of</strong> “finding”.<br />

– Modelling requirements Modelling or “the construction <strong>of</strong> abstract descriptions<br />

that are amenable to interpretation” can be used both to elicit requirements, where<br />

it prompts to gather more information, and to analyse systems.<br />

– Communicating requirements The ability to communicate (and document)<br />

requirements so they can be read, analysed, (re)-written and validated is very important.<br />

Since there has to be a communication with the stakeholders in these<br />

processes an understandable documentation <strong>of</strong> the requirements becomes vital.<br />

Communication is especially important for validation since it is the process <strong>of</strong><br />

making sure that the elicited requirements actually match up with the requirements<br />

<strong>of</strong> the stakeholders.<br />

– Agreeing requirements Managing the sometimes conflicting requirements <strong>of</strong><br />

different stakeholders is another part <strong>of</strong> the process. Negotiating and resolving<br />

these conflicts thus becomes very important.<br />

– Evolving requirements As the environment in which the system operates changes,<br />

so do the requirements. It is therefore important to be able to handle these changes.<br />

This typically means that it has to be possible to add, remove and correct requirements.<br />

The reasons for having to do this can vary, but changes in the stakeholders<br />

needs or simply that a requirement has been overlooked are some examples.<br />

Each <strong>of</strong> these activities is comprised <strong>of</strong> numerous <strong>of</strong> methods and techniques, some <strong>of</strong><br />

which will be discussed later.<br />

3.2 Non-functional requirements<br />

There are essentially two types <strong>of</strong> requirements, functional requirements and non-functional<br />

requirements. Functional requirements states what the system should do while the nonfunctional<br />

requirements states constraints on how the system, or the development <strong>of</strong><br />

the system, should do things [52]. A functional requirement could for example be that<br />

a system should support input <strong>of</strong> user information while a non-functional requirement<br />

could be that the inputted information cannot exceed a certain amount <strong>of</strong> storage space.<br />

These requirements can then be refined into lower levels <strong>of</strong> requirements specifying the<br />

requirement in greater detail. The non-functional requirements will be the focus <strong>of</strong> the<br />

report from here on.<br />

Because non-functional requirements can be a vast amount <strong>of</strong> different things there is<br />

a need to explain this in greater detail. Below follows some <strong>of</strong> the different things that<br />

can be seen as non-functional requirements (even though they might actually become<br />

functional through refinement) [52, 47]. This is however not in any way a complete list,<br />

since such a list does not exist:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!