lunduniversity.lu.se

Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English

Exercise: Requirements Engineering

A Preparation

Read the following:

  • Chapter 3 in Jalote
  • The example requirements specification for Can machine in the course compendium

B General assignments

The intention is that the following assignments should be discussed in the project groups. You should discuss every question and write down answers on paper. The teacher will lead a discussion for every question, where all groups should be prepared to participate.

Assignment R.1
Suggest who might be stakeholders in a system for managing university courses (e.g. the ”KA-system”). Explain why it is possible that the requirements of different stakeholders will conflict in some ways.

Assignment R.2
Consider the following project:

The development of a bicycle computer with a clock, alarm clock and speedometer based on GPS technology. The GPS should be used to continuously monitor current position and use changes in position to derive distance, which together with the elapsed time can be used to determine the speed (max, mean, etc.).

Give two examples of well formulated and realistic functional requirements. Are they possible to verify? Keep these requirements for later assignments in the course.

Assignment R.3
Consider the example project in assignment R2. Give two examples of well formulated and realistic quality requirements. Are they possible to verify? Keep these requirements for later assignments in the course.

Assignment R.4
Why do you often define requirements on different levels of abstraction (e.g. user requirements and system requirements)?

Assignment R.5
Draw an ER-diagram for a system for managing university courses (e.g. the ”KA-system”)

Assignment R.6 In the example system (can-machine), assume that a maintenance service is added, which allows maintenance staff to put the machine in a maintenance mode before the machine is opened and new cans are added etc. This could, for example, be done by pressing a button on the back of the machine or by using a special key.

  1. What requirements would be introduced through this? 
  2. What requirements would you define with respect to interaction with already formulated requirements? (E.g. what would happen if the machine was put inmaintenance mode during a purchase?) 
  3. Suggest an approach for elicitation of this kind of requirement.

C Project related assignments

The intention of these assignments are that you should work with your own requirements specification during the exercise. You also have the possibility to discuss your requirements with the exercise leader.

Assignment R.7
Start out the requirements process, see chapter 3.2 in [Jalote], by reading the project description in Projektuppgift section 1-2 and draw a context diagram.

Assignment R.8
Suggest who the stakeholders of your system might be.

Assignment R.9
Perform a first iteration of your specification of requirements:

  1. Brainstorm about what the system should do.
  2. List suggested requirements.
  3. Organize them in a proper way.
  4. Are the requirements correct? 
  5. Is anything missing? 
  6. Are there redundant requirements? 
  7. Is the specification unambiguous?

After the exercise, continue to iterate over these steps until all problems are resolved and you have acquired a thorough and complete knowledge of your system.

Assignment R.10
Use cases describe the interaction between the user and the system. In this assignment you should identify and formulate use cases according to the text book. Follow the steps on p. 57 in [Jalote].

  1. Identify the actors of the system. Write down a list of actors.
  2. Identify all use cases. Write down a list of ”use case names” (such as ”Put an item for auction” and ”Make a bid” on p. 53 in the text book)
  3. Select three different use cases and produce ”main success scenarios” for them.
  4. Identify ”exception” scenarios for the three main success scenarios.
  5. Discuss whether all important use-cases of your system have been defined. If necessary, define additional use-cases after this exercise.