Linking User Needs and Use Case-Driven Requirements Engineering

Requirements engineering is the first and the most critical step in software development. One of the basic questions in requirements engineering is how to find out what customers and users really need. In addition, user needs must be expressed by structured, formal user requirements. Use cases are often seen as supporting the process of capturing requirements from the user’s point of view. In addition, there is increasing evidence that involving users as the main source of information in requirements engineering is a vital prerequisite in successful projects. The human-computer interaction community has developed a variety of methods for understanding the context of use and eliciting user needs directly from the users themselves. The challenge has been to bridge the gap between informal user need descriptions and formal user requirements. This chapter presents an approach that shows how user-centered requirements analysis can be effectively integrated to use case-driven requirements engineering. Firstly, user needs are gathered directly from users using semi-structured, small-scale field studies. Secondly, the results are summarized in user need tables to ease their utilization and their linking to use case descriptions. Thirdly, the user need tables are transformed into use case descriptions. The approach has been validated by several industrial cases in real development contexts.