A requirements analyst will obtain information from interviews, “prototyping” and “use cases”. A ‘use case’ deals with functional requirements which describes the interaction between an actor (end user, hardware device) and the system to achieve a task but from the perspective of the actor so that the system itself remains a black box. This means that the end user of domain expert will not have to deal with technical terms and jargon. Use case diagrams are drawn using UML notation and several use cases are required to describe the entire scope of an ecommerce website. It will detail each part of the process of achieving a task without getting into the black box details of the system. Use cases are also ideal for ecommerce websites where the actor (customer) is well defined.
Non functional requirements are not easily measured and describe quality of systems such as the ease of use of the user interface. Such a requirement may be determined by presenting the end user with prototype software so that the actor can get an idea of the look and feel of the system and provide the necessary feedback.
It is also important when designing software to identify all the stakeholders of the system, because a new software system can have a knock on effect on other systems used in the company.
Author: Timothy Evan