I wrote my master thesis at TNO ICT in Groningen. Download the thesis here or read the abstract below.
L. van Achteren, April 2006
At TNO ICT in Groningen I investigated how useful context aware functional requirements can be found in a structured way. As no method to support this process already exists, I developed a method myself. In order to be able to do that I looked at what context awareness is and developed the method from there. Almost everything can be seen as context, but not everything is relevant context. Dey therefore refers to context as any information relevant to a user. Context aware applications use this relevant context information to support the user in his task.
The method
Because something is relevant to a user depending on the user’s task, the method starts with a user definition, followed by a task analysis. Such a task analysis is called a scenario. In order to find functional requirements that are useful in different contexts, and in order to determine whether found functional requirements are useful in different contexts, not one but more scenarios are defined.
The advantage of context awareness can be classified in three groups. The primary functionality of such a context aware application, the (primary) functional requirement, can be found using these three classifications.
1. Context awareness can help information and services to be presented to the user according to the current context.
2. Context awareness can trigger automatic execution of a service when in a certain context.
3. Tagging of context to information can support later retrieval of this information.
The functional requirements are found by looking at the scenarios with theses advantages in mind. Afterwards, functional requirements are compared to find functional requirements that are aware of generic contexts.
Conclusion
The proposed method for finding context aware functional requirements supports a developer to find context aware functional requirements for a certain user. The method supports him by helping to define the user in a way that functional requirements can be found, and supporting him with the search for these functional requirements.